:root{--ink:#293735;--muted:#687570;--teal:#146c63;--teal-soft:#e7f2ef;--gold:#b39250;--line:#e2e8e3;--surface:#fff;--bg:#f7f8f5;--radius:15px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;color:var(--ink);background:var(--bg);line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:43px;padding:10px 19px;border:1px solid transparent;border-radius:9px;background:var(--teal);color:white;font-weight:650;cursor:pointer;text-align:center;text-decoration:none;line-height:1.4}button:hover,.button:hover{filter:brightness(.95);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.plain{background:none;border:0;color:var(--teal);padding:6px 0;min-height:36px;font-weight:500}.danger{color:#a13e39}.full{width:100%;margin-top:12px}input:not([type=checkbox]):not([type=range]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #ccd8d0;border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--ink);min-height:43px}textarea{resize:vertical}label{display:block;font-size:.88rem;font-weight:600;margin-bottom:15px;min-width:0}label input,label select,label textarea{margin-top:6px}input[type=checkbox]{accent-color:var(--teal);width:18px;height:18px;flex-shrink:0}input[type=range]{max-width:110px}fieldset{border:0;padding:0;min-width:0;margin:0 0 20px}legend{font-size:1.12rem;font-weight:700;padding:0 0 16px}fieldset fieldset{border:1px solid var(--line);padding:18px;border-radius:10px}small{display:block;font-size:.79rem;color:var(--muted);font-weight:400;overflow-wrap:anywhere}h1,h2,h3{line-height:1.18;letter-spacing:-.025em;margin:0 0 15px;overflow-wrap:anywhere}h1{font-size:2.4rem;font-weight:720}h2{font-size:1.3rem}h3{font-size:1.07rem}p{margin:8px 0 18px;overflow-wrap:anywhere}em{font-style:normal;color:var(--teal)}.muted{color:var(--muted)}.strong,strong{font-weight:650}.eyebrow{font-size:.68rem;font-weight:750;letter-spacing:.16em;color:var(--teal);margin:0 0 16px}.pre-wrap{white-space:pre-wrap}.mono{font-family:ui-monospace,monospace}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:1.4rem;font-weight:800;letter-spacing:-.05em;line-height:1.1;text-decoration:none}.brand small{font-size:.79rem;font-weight:650;letter-spacing:.02em;color:var(--teal);line-height:1.4}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white;border-radius:13px;width:45px;height:48px;font-size:2rem}.organization{font-size:.88rem;font-weight:650;overflow-wrap:anywhere}.organization small{margin-top:6px}.navigation summary{display:none}.navigation nav{display:flex;flex-direction:column;gap:5px}.navigation a{color:var(--muted);padding:11px 14px;border-radius:8px;font-size:.91rem}.navigation a.active,.navigation a:hover{background:var(--teal-soft);color:var(--teal);text-decoration:none}.sidebar-bottom{display:flex;flex-direction:column;gap:10px;margin-top:auto;font-size:.82rem}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:16px 36px;background:#ffffffb3;color:var(--muted);font-size:.8rem}.content{padding:36px;max-width:1540px;margin:auto;min-height:calc(100vh - 150px);min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 28px;flex-wrap:wrap}.page-heading h1{margin:6px 0 12px}.page-heading p{margin-bottom:0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:0 0 23px;min-width:0;box-shadow:0 4px 20px #133d2b03}.grid,.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 22px}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}.event-card{position:relative;border-top:3px solid var(--teal);padding:23px}.event-date strong{font-size:2.5rem;line-height:1;display:block;font-weight:400;letter-spacing:-.05em}.event-date span{font-size:.8rem;color:var(--muted);text-transform:capitalize}.event-card>.event-time{position:absolute;top:24px;right:22px}.event-card h3{margin-top:24px}.event-card ol{padding-left:20px;font-size:.88rem}.event-card small{font-size:.67rem;letter-spacing:.07em}.badge{display:inline-block;background:var(--teal-soft);color:var(--teal);border-radius:6px;padding:4px 9px;font-size:.72rem;font-weight:600;overflow-wrap:anywhere}.gold{color:#8e6c27;background:#f6efde}.divider{height:1px;background:var(--line);margin:20px 0}.ranking{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.ranking>span{color:var(--muted);font-size:.8rem}.ranking>strong{font-size:.91rem;overflow-wrap:anywhere}.empty{color:var(--muted);text-align:center;padding:30px 15px;font-weight:400}.empty h3{color:var(--ink)}.notice,.error{border:1px solid #c4ded1;background:#edf6ef;padding:18px 22px;border-radius:10px;margin-bottom:24px;overflow-wrap:anywhere}.error{border-color:#ebc7c2;background:#fff2ef;color:#873a32}.error ul{padding-left:22px;margin-bottom:0}.notice a{overflow-wrap:anywhere}.filters{display:flex;flex-wrap:wrap;gap:15px;align-items:end;margin-bottom:23px;background:#edf1eb;padding:19px;border-radius:12px}.filters label{flex:1 1 150px;margin:0}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.88rem}th{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-weight:650;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;white-space:nowrap}td{border-bottom:1px solid var(--line);padding:17px 14px;vertical-align:top;min-width:60px;overflow-wrap:anywhere}td:first-child{min-width:190px}td small{margin-top:5px}tbody tr:last-child td{border-bottom:0}.pagination{padding:10px 0 20px}.check{display:flex;gap:10px;align-items:center;font-size:.87rem;font-weight:400;margin:10px 0 18px}.check input{margin:0}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks .check{margin:10px 0}.list-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.list-row:last-child{border-bottom:0}.list-row>form{min-width:min(100%,270px)}.inline{display:flex;align-items:end;gap:12px}.inline label{margin:0}.playlist-slot{display:flex;gap:18px;border-top:1px solid var(--line);padding:23px 0}.slot-number{flex:0 0 35px;height:35px;border-radius:50%;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-weight:700}.slot-body{min-width:0;flex:1}.slot-body h3{margin-bottom:8px}.slot-body h3 .badge{margin-left:8px}.slot-body p{margin:10px 0}.copy-field{display:flex;gap:12px}.copy-field input{flex:1}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.status-grid strong{display:block;margin-bottom:8px}details>summary{cursor:pointer;font-weight:650;padding:8px 0}details>form{margin:20px 0}details.card>summary{font-size:1.1rem}footer{font-size:.73rem;color:var(--muted);text-align:center;padding:25px}footer span{padding:0 10px}.public-shell{max-width:1240px;margin:auto;padding:0 40px}.public-header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line)}.public-content{min-height:calc(100vh - 190px);padding:40px 0}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:35px 0 70px}.hero h1{font-size:3.25rem;line-height:1.13;letter-spacing:-.05em}.lead{font-size:1.05rem;color:var(--muted);max-width:550px;margin:24px 0 30px;line-height:1.8}.hero .button{padding:15px 23px}.hero .muted{font-size:.78rem;margin-top:20px}.hero-card{background:#e6eee7;border:1px solid #d6e0d6;border-radius:130px 130px 18px 18px;padding:55px 35px 40px;text-align:center;position:relative}.hero-card h2{font-size:2.3rem;font-weight:500;margin-top:15px}.hero-card p:not(.eyebrow){font-size:.84rem}.hero-note{font-size:6rem;font-weight:300;color:var(--gold);line-height:1.3}.hero-card .eyebrow{font-size:.59rem}.feature-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--teal-soft);color:var(--teal);border-radius:10px;font-size:.8rem;margin-bottom:24px}.feature-grid .card{padding:30px}.feature-grid p{color:var(--muted);font-size:.91rem;margin:0}.auth{max-width:480px;margin:10px auto;padding:35px}.auth h1{font-size:1.8rem}.auth form button{width:100%}.auth>p{font-size:.85rem}.auth form{margin-top:25px}.auth label{font-size:.83rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:-999px;top:10px;padding:10px;background:white;z-index:99}.skip:focus{left:10px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}progress{width:100%;accent-color:var(--teal)}.reader{--reader-font:24px;background:var(--surface);min-height:100vh}.reader.dark{--ink:#edf2ed;--muted:#b1beb7;--teal:#8cd6c5;--teal-soft:#263f36;--line:#3f4d47;--surface:#18241e;--bg:#18241e;color:var(--ink);background:var(--surface)}.reader-header{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:20px 30px;border-bottom:1px solid var(--line)}.reader-header strong{display:block}.reader-header>div{text-align:right}.reader-layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1500px;margin:auto}.reader-layout aside{padding:25px;border-right:1px solid var(--line)}.reader-layout main{padding:25px 40px;min-width:0}.reader-layout nav{display:flex;flex-direction:column;gap:10px}.track-link{justify-content:start;text-align:left;width:100%;font-size:.87rem}.track-link[aria-current=true]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.reader-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}.reader-tools button{min-height:38px;padding:8px 12px;font-size:.8rem}.reader-tools label{font-size:.72rem;margin:0}.reader-tools select,.reader-tools input:not([type=checkbox]):not([type=range]){min-height:36px;padding:6px 8px;max-width:170px}.reader-tools .check{margin:0}.song-content{font-size:var(--reader-font);line-height:1.8;overflow-wrap:anywhere}.song-line{min-height:1.8em;white-space:pre-wrap}.song-piece{display:inline-flex;flex-direction:column;vertical-align:bottom;white-space:pre-wrap}.chord{display:block;background:none;border:0;color:var(--teal);font-size:.74em;line-height:1.2;font-weight:700;min-height:1.35em;padding:0;text-align:left;white-space:pre}.chord:hover{background:var(--teal-soft)}.reader-track h1{font-size:2rem}.reader-track{padding-bottom:35px}.reader[data-font-size="14"]{--reader-font:14px}.reader[data-font-size="16"]{--reader-font:16px}.reader[data-font-size="18"]{--reader-font:18px}.reader[data-font-size="20"]{--reader-font:20px}.reader[data-font-size="22"]{--reader-font:22px}.reader[data-font-size="26"]{--reader-font:26px}.reader[data-font-size="28"]{--reader-font:28px}.reader[data-font-size="30"]{--reader-font:30px}.reader[data-font-size="32"]{--reader-font:32px}.reader[data-font-size="34"]{--reader-font:34px}.reader[data-font-size="36"]{--reader-font:36px}.reader[data-font-size="38"]{--reader-font:38px}.reader[data-font-size="40"]{--reader-font:40px}dialog{max-width:min(480px,95vw);border:1px solid var(--line);border-radius:16px;padding:25px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#16251c88}dialog svg{width:100%;height:auto;max-height:300px}dialog form{text-align:right}.reader.dark .brand-mark{background:#3a7562}.reader.dark .brand small{color:var(--teal)}[hidden]{display:none!important}
@media(min-width:1400px){.hero{padding-top:65px}}@media(max-width:1050px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:25px 15px}.content{padding:26px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:35px}.hero h1{font-size:2.7rem}.reader-layout{grid-template-columns:210px minmax(0,1fr)}.reader-layout main{padding:25px}.reader-tools{gap:7px}}@media(max-width:760px){.shell{display:block}.sidebar{padding:15px 20px;display:grid;grid-template-columns:1fr auto;gap:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:1.17rem}.brand-mark{width:36px;height:40px;font-size:1.5rem;border-radius:10px}.organization{font-size:.75rem;text-align:right;max-width:160px}.organization small{font-size:.69rem}.navigation{grid-column:1/-1}.navigation summary{display:block;background:var(--teal-soft);border-radius:8px;padding:9px 12px;font-size:.84rem}.navigation nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:8px}.navigation a{font-size:.82rem;padding:9px 12px}.sidebar-bottom{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:15px;font-size:.73rem}.sidebar-bottom form{margin-left:auto}.sidebar-bottom button{font-size:.75rem;min-height:25px}.topbar{padding:12px 20px;min-height:50px;font-size:.7rem}.content{padding:25px 18px}.page-heading{gap:16px;margin-bottom:22px}.page-heading h1{font-size:2rem}.page-heading .actions{width:100%}.actions{gap:8px}.actions .button,.actions button{font-size:.8rem;padding:9px 12px;min-height:39px}.card{padding:20px}.grid.two{grid-template-columns:1fr}.filters{padding:16px;gap:12px}.filters label{flex-basis:calc(50% - 12px)}.filters button{width:100%}.event-grid{gap:13px}.event-card{padding:18px}.event-card>.event-time{top:18px;right:16px}.event-card h3{font-size:1rem}.event-date strong{font-size:2.1rem}.table-wrap.card{padding:12px}td,th{padding:12px 10px}.public-shell{padding:0 22px}.public-header{padding:20px 0}.public-content{padding:30px 0}.hero{grid-template-columns:1fr;gap:35px;padding:15px 0 35px}.hero h1{font-size:2.65rem}.hero-card{max-width:400px;width:100%;justify-self:center;padding:35px 25px}.hero-card h2{font-size:2rem}.hero-note{font-size:4.5rem}.lead{font-size:1rem}.auth{padding:25px}.auth h1{font-size:1.7rem}.copy-field{flex-direction:column}.copy-field button{align-self:start}.reader-header{padding:15px 18px;gap:12px;align-items:start}.reader-header .brand{font-size:1.1rem;flex-shrink:0}.reader-header>div{font-size:.77rem;min-width:0;overflow-wrap:anywhere}.reader-layout{display:block}.reader-layout aside{padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.reader-layout nav{max-height:240px;overflow-y:auto}.reader-layout main{padding:20px 18px}.reader-track h1{font-size:1.65rem}.reader-tools{margin-bottom:22px}.playlist-slot{gap:12px}.slot-number{flex-basis:29px;height:29px}.slot-body h3 .badge{margin-left:0}.inline{flex-wrap:wrap}.list-row>form{width:100%}}@media(max-width:400px){.event-grid{grid-template-columns:1fr}.hero h1{font-size:2.2rem}.brand{font-size:1.15rem}.public-header a:not(.brand){font-size:.85rem}}
.brand-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}.reader.dark .brand-logo{background:#eef4e9;border-radius:9px;padding:3px}@media(max-width:760px){.brand-logo{width:40px;height:40px}}
.table-wrap{position:relative;min-width:0;width:100%}

.password-requirements{padding-left:1.3rem;font-size:.86rem;color:#64746e}.password-requirements li{margin:.2rem 0}.password-requirements .requirement-met{color:#166534}.password-requirements .requirement-met::marker{content:"✓  "}.account-menu{display:flex;align-items:center;gap:1rem}.account-menu details{position:relative}.account-menu summary{display:flex;flex-direction:column;align-items:center;cursor:pointer;font-size:.78rem;list-style:none}.account-avatar{width:44px;height:44px;object-fit:cover;border-radius:50%}.logout-button{white-space:nowrap}

.topbar{gap:.8rem;flex-wrap:wrap}.topbar>span:first-child{flex:1 1 150px}.account-menu-panel{position:absolute;right:0;top:100%;min-width:180px;background:white;border:1px solid var(--line);box-shadow:0 8px 24px #17382c20;z-index:30;padding:.5rem;border-radius:12px}.account-menu-panel>a,.account-menu-panel>form{display:block;padding:.4rem}.account-menu-panel form button{width:100%;text-align:left}@media(max-width:760px){.topbar>span:first-child{display:none}.account-menu{margin-left:auto;gap:.6rem}.account-menu summary{font-size:.7rem}.account-menu-panel{min-width:170px}}
