.rol{max-width:960px;margin:0 auto;padding:0 0 24px}.rol-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.rol-heading .text-button{padding-left:0}.rol-private{font-size:.75rem;letter-spacing:.12em;color:#675f58}.rol>h2{font-size:clamp(2rem,6vw,3.1rem);line-height:1.1;margin:8px 0 12px;color:#242320}.rol-intro{max-width:660px;line-height:1.6;color:#645e58}.rol-preview{padding:12px 16px;border-left:3px solid #b65332;background:#f1e6dc;border-radius:0 12px 12px 0;font-size:.875rem;color:#63331e}.rol-season{display:block;max-width:440px;margin:24px 0}.rol-season span{font-weight:400;color:#6b655e}.rol-season input{margin-top:8px;background:#fffdf8;border-radius:12px}.rol-chart{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'prayer rest' 'center center' 'relationships work';gap:18px;position:relative}.rol-center{grid-area:center;justify-self:center;min-width:220px;text-align:center;background:#b65332;color:#fff;border-radius:55px;padding:18px 35px;position:relative;margin:3px 0;box-shadow:0 8px 24px #74351c18}.rol-center:before,.rol-center:after{content:'';position:absolute;left:50%;width:2px;height:21px;background:#b65332;opacity:.6}.rol-center:before{bottom:100%}.rol-center:after{top:100%}.rol-center>span{display:block;font:600 .75rem/1.6 system-ui;letter-spacing:.13em}.rol-center strong{display:block;font:600 1.65rem/1.3 Georgia,serif}.rol-center small{display:block;margin-top:5px;font-size:.875rem}.rol-card{background:#242320;color:#fffaf2;padding:24px;border-radius:24px;min-width:0}.rol-prayer{grid-area:prayer}.rol-rest{grid-area:rest}.rol-relationships{grid-area:relationships}.rol-work{grid-area:work}.rol-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.rol-card-heading>span{color:#efac80;font-size:1.6rem}.rol-card h3{margin:0;font-size:1.45rem;color:#efac80}.rol-card h3 label{margin:0;color:inherit;font:inherit}.rol-card p{font-size:.875rem;line-height:1.5;min-height:21px;margin:9px 0 16px;color:#e0d8cd}.rol-card textarea{box-sizing:border-box;display:block;width:100%;min-height:155px;resize:vertical;border:1px solid #6d665e;border-radius:14px;background:#fffaf20c;color:#fffaf2;font:400 1rem/1.6 system-ui;padding:14px;margin:0}.rol-card textarea::placeholder{color:#bcb3a7;opacity:1}.rol-card textarea:focus{outline:2px solid #efac80;outline-offset:3px;border-color:transparent}.rol-save{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:24px}.rol-save button{border-radius:30px}.rol-save p{font-size:.875rem;max-width:480px;margin:0;color:#645e58}.rol-credit{font-size:.8rem;color:#756c64;margin-top:26px;line-height:1.5}.rol-entry{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:#242320;color:#fffaf2;border:0;border-radius:22px;padding:20px;margin:20px 0}.rol-entry:hover{background:#34312d}.rol-entry>span:nth-child(2){flex:1}.rol-entry strong{font:600 1.35rem/1.4 Georgia,serif;display:block}.rol-entry small{display:block;color:#e5bfaa;font-size:.875rem;font-weight:400;margin-top:4px}.rol-entry-icon{color:#efac80;border:1px solid #aa7159;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.7rem;flex:none}.rol-entry>span:last-child{color:#efac80;font-size:1.5rem}
@media(max-width:600px){.rol-chart{grid-template-columns:1fr;grid-template-areas:'center' 'prayer' 'rest' 'relationships' 'work';gap:14px}.rol-center{margin:2px 0 8px;min-width:195px;padding:15px 25px}.rol-center:before,.rol-center:after{display:none}.rol-card{padding:20px;border-radius:22px}.rol-card textarea{min-height:132px}.rol-save{align-items:stretch;flex-direction:column}.rol-save button{width:100%}.rol-private{font-size:.75rem}.rol-entry{padding:18px 16px;gap:12px}.rol-entry-icon{width:34px;height:34px}}

.rol-leave{max-width:420px;width:calc(100% - 40px);border:1px solid #bfb6ab;border-radius:24px;background:#faf8f2;padding:24px;box-sizing:border-box}.rol-leave::backdrop{background:#19171377;backdrop-filter:blur(5px)}.rol-leave h2{font-size:1.6rem;margin-top:0}.rol-leave button{margin:8px 8px 0 0}
