:root{color:#273b31;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#235c46;--green-light:#eaf0e5;--ink:#273b31;--muted:#738077;--border:#e3e7dd;--paper:#fffef9;background:#faf9f4;font-family:Pretendard,SUIT,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif}button:disabled{cursor:not-allowed;opacity:.55}button,input,select,textarea{border-radius:8px}button{color:inherit}input,textarea,select{min-width:0}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-weight:750}p{line-height:1.8}fieldset{border:0;min-width:0;margin:0;padding:0}strong{font-weight:700}::selection{background:#d9e8bd}.container{width:min(1120px,100% - 80px);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--green);color:#fff;padding:12px;position:fixed;top:-100px;left:16px}.site-header{border-bottom:1px solid var(--border);background:#faf9f4f7;height:94px}.header-inner{align-items:center;gap:40px;height:100%;display:flex}.brand{flex:1;align-items:center;gap:11px;line-height:1.1;display:flex}.brand>span{letter-spacing:-1.2px;font-size:24px;font-weight:800}.brand-home{margin-left:5px;font-weight:500}.brand small{letter-spacing:.7px;color:var(--muted);margin-top:7px;font-size:10px;font-weight:500;display:block}.main-nav{align-items:center;gap:35px;height:100%;font-size:14px;font-weight:650;display:flex}.main-nav a{color:#778178;align-items:center;height:100%;display:grid;position:relative}.main-nav a.active{color:var(--green)}.main-nav a.active:after{content:"";background:var(--green);height:3px;position:absolute;bottom:-1px;left:0;right:0}.admin-nav{border-left:1px solid var(--border);color:#657569;padding-left:30px;font-size:12px}.admin-nav a,.admin-nav button{align-items:center;gap:6px;display:flex}.text-button{color:var(--green);text-align:left;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 19px;font-size:14px;font-weight:650;line-height:1.3;transition:background .15s;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover{background:#194b38}.secondary{background:var(--paper);color:var(--green);border-color:#d9e0d4}.secondary:hover{background:#f0f3e9}.destructive{color:#fff;background:#a43e37}.small{font-size:12px}.button.small{min-height:37px;padding:9px 13px}.icon-button{color:#6f7e73;background:0 0;border:0;place-items:center;width:32px;height:34px;padding:5px;display:inline-grid}.icon-button:hover{background:#edf1e8}.icon-button.danger{color:#a05248}.eyebrow{letter-spacing:2px;color:#6b8369;font-size:10px;font-weight:750;line-height:1.5;display:block}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:35px;min-height:492px;padding:50px 0 45px;display:grid}.hero-copy .eyebrow{align-items:center;gap:8px;font-size:10px;display:flex}.tiny-star{color:#6c8d51;font-size:20px}.hero h1{letter-spacing:-3.5px;margin-top:21px;font-size:59px;line-height:1.25}.hero h1>span{color:var(--green)}.hero p{color:#778276;letter-spacing:-.3px;margin:22px 0 26px;font-size:14px;line-height:1.95}.hero .button{gap:12px;min-height:50px;padding:15px 19px}.hero .button svg:last-child{margin-left:15px}.hero-footnote{color:#819077;align-items:center;gap:7px;margin-top:17px;font-size:11px;display:flex}.green-dot{background:#8da763;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.hero-art{isolation:isolate;background:radial-gradient(#e9edd7 0 62%,#0000 63%);border-radius:48% 48% 44% 44%;height:368px;position:relative;overflow:hidden}.art-label{letter-spacing:3px;color:#849371;white-space:nowrap;font-size:9px;position:absolute;top:19px;left:50%;transform:translate(-50%)}.art-orbit{z-index:-1;border:1px dashed #b9c5a6;border-radius:50%;position:absolute}.orbit-one{inset:35px 10px 20px;transform:rotate(-15deg)}.orbit-two{inset:15px 30px 40px;transform:rotate(20deg)}.panda-wrap{width:245px;position:absolute;bottom:29px;left:50%;transform:translate(-43%)}.panda{width:100%;display:block}.record{background:repeating-radial-gradient(circle,#344c3b 0 1px,#263d30 2px 5px);border-radius:50%;width:148px;height:148px;position:absolute;top:80px;left:21px;transform:rotate(-18deg);box-shadow:0 8px 12px #233a2220}.record-center{color:#4f5633;background:#d6b666;border-radius:50%;place-items:center;display:grid;position:absolute;inset:48px}.music-note{color:#69855c;font-family:Georgia,serif;font-size:53px;position:absolute}.note-one{bottom:64px;left:50px;transform:rotate(-14deg)}.note-two{top:70px;right:36px;transform:rotate(14deg)}.art-spark{color:#a5ad73;font-size:30px;position:absolute}.spark-one{bottom:92px;right:44px}.spark-two{font-size:20px;top:49px;left:168px}.art-ticket{color:#6d805d;white-space:nowrap;background:#fffdf5;border:1px solid #e2e5d5;align-items:center;gap:8px;padding:10px 18px;font-family:Georgia,serif;font-size:11px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 5px 15px #36532a0d}.art-leaf{color:#769263;position:absolute}.leaf-one{bottom:35px;right:1px;transform:rotate(12deg)}.leaf-two{top:27px;left:16px;transform:rotate(-32deg)}.home-songbook-banner{background:#f0f3e7;border:1px solid #e0e5d4;border-radius:12px;align-items:center;gap:20px;padding:24px 29px;display:flex}.banner-icon{color:#5c7842;background:#e3eace;border-radius:12px;place-items:center;width:49px;height:49px;display:grid}.home-songbook-banner strong{letter-spacing:-.5px;font-size:15px}.home-songbook-banner p{color:#7c8973;margin-top:5px;font-size:12px}.home-songbook-banner>.text-button{flex-shrink:0;margin-left:auto}.recent-section{padding:55px 0 48px}.section-heading h2{align-items:center;gap:10px;margin-top:8px;font-size:25px;display:flex}.count-chip{color:#6c825c;letter-spacing:0;background:#e8edde;border-radius:20px;padding:4px 8px;font-size:11px}.section-heading>.text-button{margin-bottom:5px}.recent-content{border-top:1px solid #d8dfd2;border-bottom:1px solid var(--border);min-height:206px}.notice{text-align:center;min-height:240px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 22px;display:flex}.notice h3{color:#4e6351;font-size:17px}.notice p{max-width:500px;font-size:13px;line-height:1.8}.empty-icon{color:#91a07d;background:#eef1e7;border-radius:17px;place-items:center;width:52px;height:52px;margin-bottom:3px;display:grid}.recent-content .notice{min-height:218px}.error-notice{color:#97564e}.spinner{border:2px solid #dde5d5;border-top-color:#3f7853;border-radius:50%;width:25px;height:25px;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.home-guide{grid-template-columns:1.05fr 1fr 1fr;align-items:start;gap:25px;margin-bottom:62px;display:grid}.home-guide>div:first-child{padding-top:12px}.home-guide h2{margin:10px 0 12px;font-size:22px;line-height:1.45}.home-guide p{color:#7b8778;font-size:12px}.guide-card{border:1px solid var(--border);background:#fffef9;border-radius:12px;min-height:204px;padding:23px 24px}.guide-number{color:#a7b095;letter-spacing:1px;margin-bottom:14px;font-family:Georgia,serif;font-size:12px;display:block}.guide-card h3{margin-bottom:8px;font-size:15px}.guide-card p{font-size:11px;line-height:1.9}.guide-levels{flex-wrap:wrap;align-items:center;gap:4px;margin-top:17px;display:flex}.guide-levels>span{color:#7b8c69;border:1px solid #d9e2cd;border-radius:4px;place-items:center;width:20px;height:21px;font-size:10px;display:grid}.guide-levels>span:nth-child(4),.guide-levels>span:nth-child(5){color:#fff;background:#74905b;border-color:#74905b}.guide-levels small{color:#94a085;margin-left:3px;font-size:9px}.guide-balloon{color:#7a8e60;background:#f1f4e9;border-radius:5px;align-items:center;gap:6px;margin-top:16px;padding:6px 8px;font-size:11px;display:inline-flex}.site-footer{border-top:1px solid var(--border);background:#f3f4ec}.footer-inner{justify-content:space-between;gap:20px;padding:30px 0 35px;display:flex}.footer-brand{letter-spacing:-.4px;font-size:14px;font-weight:750}.footer-brand span{color:#7f8978;margin-left:12px;font-size:11px;font-weight:400}.footer-inner p{color:#939c89;margin-top:10px;font-size:10px}.footer-right{color:#929c88;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10px;display:flex}.footer-right a{color:#7a8874;font-size:11px}.page{min-height:calc(100vh - 230px);padding:30px 0 55px}.breadcrumb{color:#89927f;gap:10px;margin-bottom:36px;font-size:11px;display:flex}.breadcrumb a:hover{text-decoration:underline}.breadcrumb>span{color:#bec5b5}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px;display:flex}.page-heading h1{margin:9px 0 10px;font-size:34px;line-height:1.5}.page-heading p{color:#7f8b7b;font-size:13px}.green-period{color:#78905c}.heading-art{color:#8a9f6e;background:#edf1e2;border-radius:26px;place-items:center;width:83px;height:83px;display:grid;transform:rotate(-8deg)}.filters-panel{background:var(--paper);border:1px solid #dfe5d8;border-radius:12px;padding:21px 24px 18px;box-shadow:0 3px 12px #233c2403}.search-box{color:#839272;border-bottom:1px solid #e9ece2;align-items:center;gap:13px;padding:1px 0 18px;display:flex}.search-box input{color:var(--ink);background:0 0;border:0;width:100%;padding:7px 0;font-size:14px}.search-box input:focus{outline-offset:5px}.filter-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:17px;display:flex}.filter-caption{color:#909d83;align-items:center;gap:5px;margin-right:5px;font-size:11px;display:flex}.filter-row select,.results-toolbar select{color:#66795c;cursor:pointer;background-color:#fafbf6;border:1px solid #e0e6d6;max-width:100%;min-height:35px;padding:8px 28px 8px 11px;font-size:11px}.reset{color:#87947b;margin-left:auto;padding:8px;font-size:11px}.results-toolbar{justify-content:space-between;align-items:center;gap:15px;margin:26px 0 14px;display:flex}.results-toolbar p{color:#8a9580;font-size:12px}.results-toolbar strong{color:var(--green);margin:0 2px;font-size:14px}.results-toolbar>div{gap:8px;display:flex}.results-toolbar select{background:0 0;border:0;padding:8px 20px 8px 5px}.muted{color:#829079}.results-panel{border:1px solid var(--border);background:var(--paper);border-radius:10px;min-height:240px;overflow:hidden}.song-table-head,.song-row{grid-template-columns:minmax(0,1.7fr) minmax(120px,.9fr) minmax(100px,.75fr) minmax(80px,.65fr) 30px;align-items:center;gap:16px;padding:15px 22px;display:grid}.song-table-head{color:#8c9982;letter-spacing:.4px;border-bottom:1px solid var(--border);background:#f3f5ed;font-size:10px}.song-row{border-bottom:1px solid #edf0e7;padding-top:21px;padding-bottom:21px}.song-row:last-child{border-bottom:0}.song-row:hover{background:#fbfcf7}.song-title-cell{align-items:center;gap:13px;min-width:0;display:flex}.song-title-cell>div{min-width:0}.song-art{color:#8e9b76;background:#eef1e5;border-radius:7px;flex-shrink:0;place-items:center;width:43px;height:46px;display:grid}.song-title{color:#344c38;overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.6;display:block}.song-title:hover{color:var(--green);text-decoration:underline}.artist{color:#8d9783;overflow-wrap:anywhere;margin-top:3px;font-size:11px}.song-badges{display:contents}.proficiency{color:#7d8c72;white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:inline-flex}.level-bars{align-items:flex-end;gap:2px;height:14px;display:flex}.level-bars i{background:#dfe5d5;border-radius:1px;width:3px;height:5px}.level-bars i:nth-child(2){height:7px}.level-bars i:nth-child(3){height:9px}.level-bars i:nth-child(4){height:11px}.level-bars i:nth-child(5){height:13px}.level-bars i.filled{background:#759060}.badge{white-space:nowrap;color:#8a9483;background:#eff1eb;border-radius:4px;justify-self:start;align-items:center;gap:5px;padding:5px 8px;font-size:10px;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:4px;height:4px}.status-practicing{color:#987b35;background:#f6efd9}.status-completed{color:#65834d;background:#eaf1e1}.status-on_hold{color:#8c7388;background:#f0ebef}.balloon-cost{color:#8a997c;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.balloon-cost strong{color:#59734a;font-size:14px}.row-link{color:#a8b19d;place-items:center;padding:6px;display:grid}.pagination{color:#94a087;justify-content:center;align-items:center;gap:22px;margin:25px 0 28px;font-size:11px;display:flex}.pagination strong{color:#56734a}.pagination .button{min-width:57px;font-size:11px}.info-note{color:#82936f;background:#f0f3e7;border-radius:8px;align-items:center;gap:9px;padding:15px 20px;display:flex}.info-note p{color:#849279;font-size:11px}.detail-page{padding-top:38px}.back-link{margin:0 0 28px;font-size:12px}.detail-card{background:var(--paper);border:1px solid var(--border);border-radius:17px;grid-template-columns:.85fr 1.4fr;display:grid;overflow:hidden}.detail-art{background:#e7ecdc;place-items:center;min-height:480px;display:grid;position:relative}.mini-record{color:#dcc782;background:repeating-radial-gradient(circle,#324a38 0 2px,#263d2f 3px 5px);border-radius:50%;place-items:center;width:230px;height:230px;display:grid;box-shadow:0 12px 28px #1d3a2920}.mini-record svg{color:#5e6e41;background:#dfc47d;border-radius:50%;width:95px;height:95px;padding:18px}.detail-content{min-width:0;padding:43px}.detail-content h1{overflow-wrap:anywhere;margin-top:13px;font-size:35px}.detail-artist{color:#89967e;margin:9px 0 23px;font-size:16px}.detail-badges{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.detail-meta{border-top:1px solid var(--border);gap:40px;margin-top:25px;padding-top:22px;display:flex}.detail-meta>div{min-width:70px}.detail-meta dt{color:#98a08e;font-size:10px}.detail-meta dd{overflow-wrap:anywhere;margin:8px 0 0;font-size:13px}.detail-description{margin:28px 0}.detail-description h2{margin-bottom:12px;font-size:14px}.detail-description p{white-space:pre-wrap;overflow-wrap:anywhere;color:#7d8d74;font-size:13px}.detail-cost{background:#f0f4e7;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 12px;padding:17px;display:flex}.detail-cost>span{color:#6b805b;align-items:center;gap:8px;font-size:12px;display:flex}.detail-cost strong{color:#587541;font-size:25px}.detail-cost small{margin-left:5px;font-size:12px;font-weight:400}.login-page{place-items:center;min-height:calc(100vh - 223px);padding:55px 0 65px;display:grid}.login-card{background:var(--paper);border:1px solid var(--border);text-align:center;border-radius:15px;width:min(425px,100%);padding:35px 36px;box-shadow:0 10px 40px #233a2405}.login-icon{color:#708c54;background:#edf2e3;border-radius:18px;place-items:center;width:57px;height:57px;margin:0 auto 21px;display:grid}.login-card h1{margin:11px 0;font-size:25px}.login-card>p{color:#89947c;font-size:12px}.login-card form{text-align:left;margin-top:28px}.field{text-align:left;color:#5c7053;margin:0 0 18px;font-size:12px;font-weight:650;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fffefb;border:1px solid #dce3d3;margin-top:8px;padding:11px 12px;font-size:13px;font-weight:400;line-height:1.5;display:block}.field textarea{resize:vertical;min-height:65px}.field small{color:#8c9980;margin-top:5px;font-size:10px;font-weight:400;display:block}.full-width{width:100%}.login-card .login-note{color:#97a18b;margin:22px 0;font-size:10px;line-height:1.8}.login-card>.text-button{font-size:11px}.form-error{color:#a25748;overflow-wrap:anywhere;background:#fcf0eb;border:1px solid #eed4c8;border-radius:7px;margin:15px 0;padding:13px 15px;font-size:12px}.form-error p{line-height:1.7}.form-error ul{margin:8px 0;padding-left:19px}.form-hint{color:#8c9a80;margin:12px 0 18px;font-size:11px;line-height:1.8}.admin-tools{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.admin-tools>span{color:#8a977e;align-items:center;gap:6px;font-size:11px;display:flex}.admin-tools>div{gap:8px;display:flex}.admin-page .song-table-head,.admin-row{grid-template-columns:minmax(0,1.6fr) minmax(115px,.9fr) minmax(85px,.7fr) minmax(75px,.65fr) 107px;gap:12px;padding-left:17px;padding-right:17px}.admin-row .song-art{width:35px;height:40px}.row-actions{justify-content:flex-end;align-items:center;gap:0;display:flex}.row-actions>.text-button{min-width:36px;min-height:34px;font-size:10px}.private-label{color:#9a8a7c;letter-spacing:0;vertical-align:middle;background:#eee9e5;border-radius:3px;margin-left:5px;padding:1px 5px;font-size:9px;font-weight:400;display:inline-block}.toast{color:#5f8148;background:#edf5e6;border:1px solid #d3e2c5;border-radius:8px;align-items:center;gap:9px;margin-bottom:20px;padding:10px 14px;font-size:12px;display:flex}.toast .icon-button{margin-left:auto}.modal{background:var(--paper);width:min(440px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);overscroll-behavior:contain;border:1px solid #dbe3d0;border-radius:15px;padding:27px;box-shadow:0 20px 80px #172a2930}.modal.wide{width:min(700px,100% - 32px)}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#152c256b}body:has(dialog[open]){overflow:hidden}.modal-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:19px;display:flex}.modal-heading h2{font-size:22px}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:10px;padding-top:20px;display:flex}.modal-intro{color:#7a8c71;margin-bottom:20px;font-size:12px;line-height:1.9}.song-form .field{margin-bottom:16px}.song-form .form-hint{margin:0 0 18px}.required{color:#a47e4f}.checkbox-label{align-items:center;gap:8px;margin-top:13px;font-size:11px;line-height:1.8;display:flex}.checkbox-label input{accent-color:var(--green);flex-shrink:0;width:16px;height:16px}.csv-upload{color:#82966d;background:#f5f7ed;border:1px dashed #bccbab;border-radius:10px;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;padding:23px;display:flex}.csv-upload .field{width:100%;margin:0}.csv-upload input{background:var(--paper);padding:11px}.csv-preview{margin-top:18px}.csv-preview h3{margin-bottom:17px;font-size:14px}.csv-warnings{color:#9b7b39;background:#faf4e3;border:1px solid #eadcb5;border-radius:7px;margin-bottom:18px;padding:14px;font-size:11px}.csv-warnings ul{max-height:180px;padding-left:18px;line-height:1.9;overflow:auto}.csv-warnings p{font-size:10px}.csv-table-wrap{border:1px solid var(--border);border-radius:6px;max-height:290px;overflow:auto}.csv-table-wrap table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}.csv-table-wrap th{color:#6d825b;white-space:nowrap;background:#edf2e3;padding:9px;position:sticky;top:0}.csv-table-wrap td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:48px;max-width:180px;padding:9px}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:25px;padding:100px 0;display:flex}.not-found h1{font-size:32px}.not-found p{color:#869779;font-size:14px}@media (width>=1400px){.container{width:min(1160px,100% - 120px)}.hero{min-height:520px}.hero-art{height:385px;margin-right:25px}.hero h1{font-size:64px}}@media (width<=1000px){.container{width:calc(100% - 56px)}.hero{gap:12px;min-height:465px}.hero h1{letter-spacing:-2.8px;font-size:49px}.hero-art{height:325px}.panda-wrap{width:215px}.record{width:120px;height:120px;left:5px}.record-center{inset:38px}.art-label{letter-spacing:2px;font-size:8px}.note-two{right:9px}.home-guide{gap:16px}.guide-card{padding:20px 18px}.home-guide h2{font-size:20px}.guide-levels small{display:none}.song-table-head,.song-row{grid-template-columns:minmax(0,1.55fr) 120px 90px 76px 23px;gap:10px;padding-left:16px;padding-right:16px}.song-art{width:34px;height:38px}.proficiency{gap:5px;font-size:9px}.song-title{font-size:13px}.admin-page .song-table-head{display:none}.admin-row{grid-template-columns:minmax(0,1fr) auto auto!important;gap:13px!important}.admin-row .song-title-cell{grid-area:1/1/3}.admin-row .song-badges{grid-area:1/2;gap:10px;display:flex}.admin-row .balloon-cost{grid-area:2/2}.admin-row .row-actions{grid-area:1/3/3}.page-heading h1{font-size:30px}.detail-content{padding:30px}.mini-record{width:190px;height:190px}.footer-brand span{display:none}}@media (width<=767px){.container{width:calc(100% - 40px)}.site-header{height:78px}.header-inner{gap:20px}.brand{gap:8px}.brand img{width:31px;height:31px}.brand>span{font-size:20px}.brand small{letter-spacing:0;margin-top:5px;font-size:8px}.main-nav{gap:22px;font-size:12px}.admin-nav{padding-left:16px;font-size:10px}.admin-nav svg{display:none}.hero{gap:0;padding-top:40px;padding-bottom:30px}.hero h1{letter-spacing:-2.5px;font-size:42px}.hero p{margin:19px 0 22px;font-size:12px}.hero-copy .eyebrow{letter-spacing:1.4px;font-size:8px}.hero-art{height:295px}.panda-wrap{width:183px;bottom:36px}.record{width:105px;height:105px;top:83px;left:1px}.record-center{inset:33px}.art-label{letter-spacing:1.5px;font-size:7px;top:31px}.music-note{font-size:40px}.note-one{bottom:46px;left:17px}.note-two{top:78px;right:4px}.art-ticket{padding:9px 12px;font-size:9px;bottom:17px}.leaf-one{bottom:30px;right:-12px}.leaf-one svg{width:39px}.leaf-two{top:42px;left:15px}.spark-one{bottom:98px;right:10px}.spark-two{top:53px;left:95px}.hero .button{gap:8px;min-height:45px;padding:12px 14px;font-size:12px}.hero .button svg:last-child{margin-left:3px}.home-songbook-banner{gap:14px;padding:20px}.home-songbook-banner strong{font-size:13px}.home-songbook-banner p,.home-songbook-banner>.text-button{font-size:11px}.banner-icon{width:40px;height:40px}.recent-section{padding:38px 0}.section-heading h2{font-size:22px}.home-guide{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px}.home-guide>div:first-child{grid-column:1/-1;padding-bottom:5px}.home-guide h2{margin-bottom:7px;font-size:23px;display:inline-block}.guide-card{min-height:200px;padding:20px}.guide-levels small{display:inline}.song-table-head{display:none}.song-row{grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:18px 19px}.song-title-cell{grid-area:1/1}.song-art{width:39px;height:43px}.song-title{font-size:14px}.song-badges{grid-area:2/1;align-items:center;gap:10px;padding-left:52px;display:flex}.proficiency{font-size:10px}.balloon-cost{grid-area:1/2;justify-content:flex-end;font-size:11px}.balloon-cost strong{font-size:14px}.row-link{grid-area:2/2;justify-self:end}.page-heading h1{font-size:29px;line-height:1.55}.page-heading p{font-size:12px}.heading-art{border-radius:20px;width:64px;height:64px}.heading-art svg{width:34px}.filters-panel{padding:17px}.filter-caption{display:none}.filter-row{gap:7px}.filter-row select{max-width:150px;font-size:10px}.search-box input{font-size:12px}.search-box{gap:10px}.results-toolbar{margin-top:23px}.results-toolbar select{padding-right:10px;font-size:10px}.results-toolbar>div{gap:0}.results-toolbar p{font-size:11px}.info-note{align-items:flex-start;gap:10px;padding:15px}.info-note p{font-size:10px}.admin-page .page-heading{align-items:flex-start}.admin-page .page-heading h1{font-size:29px}.admin-page .page-heading .button{white-space:nowrap;min-height:38px;margin-top:21px;padding:10px 12px;font-size:11px}.admin-tools>span{display:none}.admin-tools{justify-content:flex-end}.admin-row{grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;padding:17px!important}.admin-row .song-title-cell{grid-area:1/1}.admin-row .song-badges{flex-wrap:wrap;grid-area:2/1;gap:8px;padding-left:47px}.admin-row .balloon-cost{grid-area:1/2}.admin-row .row-actions{flex-wrap:wrap;grid-area:2/2;max-width:100px}.admin-row .icon-button{width:28px}.admin-row .song-art{width:34px}.detail-card{grid-template-columns:1fr}.detail-art{min-height:210px}.mini-record{width:160px;height:160px}.mini-record svg{width:70px;height:70px;padding:12px}.detail-content{padding:27px}.detail-content h1{font-size:30px}.detail-page .back-link{margin-bottom:22px}.footer-inner{gap:15px;padding:25px 0}.footer-inner p,.footer-right{font-size:9px}.footer-brand{font-size:13px}.form-grid{gap:0 13px}.modal{padding:22px}.modal-heading h2{font-size:21px}}@media (width<=540px){.container{width:calc(100% - 36px)}.header-inner{gap:16px}.brand small{display:none}.brand>span{font-size:18px}.brand-home{margin-left:3px}.brand img{width:28px;height:28px}.main-nav{gap:18px;font-size:11px}.admin-nav{padding-left:12px;font-size:10px}.site-header.is-admin{height:auto}.is-admin .header-inner{flex-wrap:wrap;row-gap:8px;padding-top:16px}.is-admin .main-nav{order:3;justify-content:center;gap:28px;width:100%;height:44px;font-size:12px}.hero{grid-template-columns:1fr;min-height:0;padding:38px 0 30px;position:relative}.hero-copy{z-index:1;position:relative}.hero h1{margin-top:18px;font-size:46px;line-height:1.25}.hero p{margin:18px 0 21px;font-size:12px}.hero-footnote{margin-top:14px;font-size:10px}.hero-art{background:radial-gradient(at 50% 55%,#e9edd7 0 68%,#0000 69%);border-radius:28px;width:100%;height:215px;margin-top:18px}.panda-wrap{width:176px;bottom:16px;transform:translate(-35%)}.record{width:111px;height:111px;top:65px;left:calc(50% - 131px)}.record-center{inset:35px}.art-label{letter-spacing:1.5px;font-size:7px;top:13px;left:25%}.art-ticket{padding:8px;font-size:8px;bottom:25px;left:77%;transform:translate(-50%)rotate(-5deg)}.note-one{font-size:35px;bottom:6px;left:calc(50% - 132px)}.note-two{font-size:38px;top:19px;right:37px}.leaf-one{bottom:34px;right:2px}.leaf-two{top:29px;left:27px}.spark-one{font-size:23px;bottom:89px;right:30px}.spark-two{font-size:17px;top:8px;left:50%}.orbit-one{inset:14px 4px 8px}.orbit-two{inset:3px 35px 11px}.home-songbook-banner{grid-template-columns:34px 1fr;gap:11px;padding:17px;display:grid}.banner-icon{grid-area:1/1;width:34px;height:38px}.banner-icon svg{width:23px}.home-songbook-banner strong{font-size:12px}.home-songbook-banner p{margin-top:4px;font-size:10px;line-height:1.7}.home-songbook-banner>.text-button{grid-column:2;justify-content:flex-start;margin:0;font-size:10px}.recent-section{padding:33px 0}.section-heading .eyebrow{letter-spacing:1.4px;font-size:8px}.section-heading h2{font-size:21px}.section-heading>.text-button{gap:5px;font-size:10px}.recent-content .notice{min-height:210px;padding:28px 13px}.notice h3{font-size:15px}.notice p{font-size:11px}.home-guide{gap:12px}.home-guide h2{font-size:22px}.home-guide>div:first-child p{font-size:11px}.guide-card{min-height:210px;padding:18px 14px}.guide-card h3{letter-spacing:-.5px;font-size:12px}.guide-card p{font-size:10px;line-height:1.9}.guide-number{margin-bottom:12px;font-size:11px}.guide-levels{gap:3px}.guide-levels>span{width:18px;height:19px;font-size:9px}.guide-levels small{width:100%;margin:3px 0 0;font-size:8px}.guide-balloon{gap:3px;padding:5px;font-size:9px}.guide-balloon svg{width:15px}.page{padding-top:24px}.breadcrumb{margin-bottom:27px}.page-heading{gap:10px;margin-bottom:25px}.page-heading h1{margin:10px 0 9px;font-size:25px}.page-heading p{font-size:11px;line-height:1.9}.heading-art{display:none}.filters-panel{padding:14px}.search-box{padding-bottom:11px}.search-box input{font-size:11px}.search-box svg{width:18px}.filter-row{gap:7px;margin-top:13px}.filter-row select{max-width:144px;padding:8px 20px 8px 8px;font-size:10px}.filter-row label{max-width:calc(50% - 4px)}.reset,.results-toolbar p{font-size:10px}.results-toolbar strong{font-size:12px}.results-toolbar select{max-width:119px;padding:6px 1px;font-size:9px}.results-toolbar>div{gap:3px}.song-row{gap:10px;padding:16px 13px}.song-title-cell{gap:10px}.song-art{width:35px;height:40px}.song-badges{flex-wrap:wrap;gap:8px;padding-left:45px}.song-title{font-size:12px}.artist{font-size:10px}.proficiency{font-size:9px}.badge{padding:4px 6px;font-size:9px}.balloon-cost{gap:3px;font-size:10px}.balloon-cost strong{font-size:12px}.balloon-cost svg{width:13px}.pagination{gap:19px;font-size:10px}.info-note{padding:13px}.info-note svg{width:17px}.info-note p{font-size:9px}.admin-page .page-heading h1{font-size:25px}.admin-page .page-heading .button{gap:5px;margin-top:24px;padding:9px;font-size:10px}.admin-tools .button{padding:9px 10px;font-size:10px}.admin-row .song-badges{gap:7px;padding-left:0}.admin-row .song-title-cell{gap:9px}.admin-row .song-art{width:31px;height:36px}.admin-row .song-title{font-size:12px}.row-actions .icon-button{width:25px}.row-actions>.text-button{min-width:32px;font-size:9px}.admin-page .song-row{gap:11px!important}.login-page{padding:35px 0 45px}.login-card{padding:29px 23px}.login-card h1{font-size:23px}.login-card>p{font-size:11px}.modal.wide,.modal{width:calc(100% - 24px);max-height:calc(100dvh - 28px);padding:18px}.modal-heading{margin-bottom:20px;padding-bottom:14px}.modal-heading h2{font-size:19px}.form-grid{grid-template-columns:1fr}.field{font-size:11px}.field input,.field select,.field textarea{font-size:12px}.modal-actions .button{padding:11px 14px;font-size:12px}.detail-content{padding:23px}.detail-content h1{font-size:27px}.detail-artist{font-size:14px}.detail-description p{font-size:12px}.detail-cost>span{font-size:11px}.detail-cost strong{font-size:22px}.footer-inner{flex-direction:column;gap:17px;padding:22px 0}.footer-inner p{font-size:9px}.footer-right{flex-direction:row;align-items:center;gap:10px}.footer-right a{font-size:10px}.not-found h1{font-size:25px}}.hero p,.hero-footnote,.home-songbook-banner p,.home-guide p,.guide-card p,.eyebrow,.art-label,.footer-brand span,.footer-inner p,.footer-right,.footer-right a,.breadcrumb,.page-heading p,.filter-caption,.filter-row select,.results-toolbar select,.reset,.results-toolbar p,.muted,.song-table-head,.artist,.proficiency,.detail-artist,.detail-meta dt,.detail-description p,.login-card>p,.login-card .login-note,.form-hint,.field small,.admin-tools>span,.modal-intro,.pagination,.info-note p,.guide-levels small{color:#5f7056}.badge.status-not_started{color:#626e5b}.badge.status-practicing{color:#806224}.badge.status-completed{color:#506c39}.badge.status-on_hold{color:#796076}.search-box input::placeholder{color:#6b7c61}.private-label{color:#776559}@media (width<=540px){.home-guide{grid-template-columns:1fr}.guide-card{min-height:0;padding:21px}.guide-card h3{font-size:15px}.guide-card p{font-size:12px}.guide-levels small{width:auto;margin-left:7px;font-size:10px}.guide-balloon{padding:6px 9px;font-size:11px}.guide-number,.notice p{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-subnav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:0 0 24px;padding-bottom:16px;display:flex}.admin-subnav a{color:#63785b;border-radius:7px;padding:9px 13px;font-size:12px}.admin-subnav a.router-link-exact-active{color:var(--green);background:#e8efde;font-weight:700}.admin-subnav a:hover{background:#f0f3e9}.admin-tools>div{flex-wrap:wrap;justify-content:flex-end}.password-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;max-width:520px;margin:22px auto 0;padding:29px}.password-required{color:#526d40;background:#eef3e4;border-radius:7px;align-items:center;gap:9px;margin-bottom:20px;padding:13px;font-size:12px;display:flex}.admin-account{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:23px;display:flex}.admin-account:last-child{border-bottom:0}.account-info{min-width:0}.account-info h2{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:9px;font-size:16px;display:flex}.account-info p{color:#637558;overflow-wrap:anywhere;margin-top:6px;font-size:12px}.account-status{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.admin-account>.button{flex-shrink:0}@media (width<=540px){.admin-subnav{gap:4px}.admin-subnav a{padding:9px 10px;font-size:11px}.password-card{padding:21px}.admin-account{flex-direction:column;align-items:flex-start;gap:14px;padding:19px}.admin-account>.button{align-self:flex-end}.admin-users-page .page-heading .button{white-space:nowrap;gap:5px;padding:10px;font-size:10px}.admin-users-page .page-heading h1{font-size:25px}.admin-users-page .page-heading p{font-size:11px}.account-info h2{font-size:15px}}.admin-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-menu-card{border:1px solid var(--border);background:var(--paper);border-radius:14px;align-items:center;gap:18px;padding:28px;display:flex}.admin-menu-card:hover{background:#f3f6ed;border-color:#92ad7e}.admin-menu-icon{background:var(--green-light);width:48px;height:48px;color:var(--green);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.admin-menu-card>div{flex:1;min-width:0}.admin-menu-card h2{font-size:18px}.admin-menu-card p{color:#5f7056;margin-top:7px;font-size:12px}@media (width<=767px){.admin-menu-grid{grid-template-columns:1fr;gap:12px}.admin-menu-card{gap:13px;padding:20px}}@media (width<=540px){.admin-menu-icon{width:38px;height:38px}.admin-menu-card h2{font-size:15px}.admin-menu-card p{font-size:11px}.admin-password-page .page-heading h1{font-size:25px}}:root{color:#21382c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green-900:#113726;--green-800:#1d4d33;--green-700:#276443;--green-500:#8fc36a;--lime-300:#ccebaa;--lime-100:#edf7e4;--canvas:#f7f8f4;--ink:#1d3126;--muted:#788379;--border:#e5eae3;--white:#fff;--shadow:0 10px 36px #1d3a230b;background:#f7f8f4;font-family:DM Sans,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #a1d472}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:60;background:linear-gradient(155deg,#153f2c,#0d2b1d 75%);flex-direction:column;flex:0 0 244px;align-self:flex-start;width:244px;height:100vh;padding:41px 19px 26px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{text-align:left;color:#fff;background:0 0;border:0;padding:4px 14px 0}.sidebar-brand-title{letter-spacing:-1.3px;font-size:30px;font-weight:800;line-height:1.02;display:block}.sidebar-brand-title span{letter-spacing:-.5px;margin-top:4px;font-size:24px;font-weight:600;display:block}.sidebar-brand-desc{color:#d0e5d2;letter-spacing:-.3px;margin-top:16px;font-size:11px;display:block}.sidebar-nav{gap:8px;margin-top:55px;display:grid}.sidebar-item{color:#f3f8f2;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;height:45px;padding:0 15px;font-size:14px;font-weight:600;display:flex}.sidebar-item:hover{background:#ffffff1a}.sidebar-item.active{color:#d5f4bd;background:#9dda7338}.sidebar-item-icon{text-align:center;width:19px;font-size:20px;font-weight:500}.sidebar-divider{background:#ffffff29;height:1px;margin:26px 12px 20px}.sidebar-soop{color:#f1f6f0;padding:2px 13px;font-size:13px}.sidebar-soop:hover{color:#bce999}.sidebar-bottom{text-align:center;color:#d8ecda;margin-top:auto;padding-top:30px;font-size:12px;line-height:1.7}.sidebar-bottom p{margin:5px 0 0}.sidebar-bottom small{color:#afd5b5}.sidebar-mascot{filter:drop-shadow(0 5px 12px #0b2319);font-size:56px}.sidebar-sprout{color:#bde09c}.sidebar-close,.sidebar-backdrop{display:none}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:#ffffffd1;border-bottom:1px solid #e9ede6;flex:0 0 76px;justify-content:space-between;align-items:center;min-height:76px;padding:0 39px;display:flex}.topbar-breadcrumb{color:#708273;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.topbar-dot{background:#92c96e;border-radius:99px;width:7px;height:7px;display:inline-block}.topbar-right{align-items:center;gap:17px;display:flex}.demo-label{color:#799b75;letter-spacing:1.3px;font-size:10px;font-weight:800}.avatar-button{background:#eef5e7;border:2px solid #d1e9ca;border-radius:50%;width:38px;height:38px;padding:0;overflow:hidden}.avatar-button img{object-fit:cover;object-position:50% 26%;width:100%;height:100%;transform:scale(1.65)}.preview-banner{color:#4c6c43;background:#edf6e7;border-bottom:1px solid #dcebd4;align-items:center;gap:9px;padding:10px 40px;font-size:12px;display:flex}.preview-banner strong{font-size:12px}.preview-banner-dot{background:#90c674;border-radius:50%;width:7px;height:7px}.page-content{flex:1;width:100%;max-width:1690px;margin:0 auto;padding:34px 40px 66px}.site-footer{color:#9aa69b;border-top:1px solid #e6ebe3;justify-content:space-between;padding:19px 41px 28px;font-size:11px;display:flex}.eyebrow{color:#799e6a;letter-spacing:2px;margin-bottom:12px;font-size:11px;font-weight:800;display:block}.heading-sprout{color:#8cbb65;font-weight:500}.card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:17px}.btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:12px;min-height:45px;padding:0 21px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:#1b4b32;border-color:#1b4b32}.btn-primary:hover{background:#276544}.btn-outline{color:#28563b;background:#fff;border-color:#cfddd0}.btn-outline:hover{background:#f4f8f1}.btn-danger-ghost{color:#b95752;background:#fff;border-color:#edd5d2}.btn-danger-ghost:hover{background:#fff3f1}.text-link{color:#286c40;background:0 0;border:0;padding:7px 0;font-size:13px;font-weight:700}.text-link:hover{color:#449052}.muted,.help-text{color:var(--muted);font-size:12px;line-height:1.8}.home-hero{color:#fff;background:radial-gradient(circle at 74% 31%,#3e8246,#0000 47%),linear-gradient(115deg,#133f2c 10%,#296b3e 100%);border-radius:21px;min-height:355px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #254b2f12}.home-hero-copy{z-index:2;width:62%;padding:51px 20px 50px 57px;position:relative}.hero-eyebrow{color:#b9e38e;letter-spacing:2.4px;margin-bottom:22px}.home-hero h1{letter-spacing:-2.8px;margin-bottom:19px;font-size:clamp(36px,3.7vw,64px);font-weight:800;line-height:1.18}.home-hero h1 em{color:#c6ef9e;font-style:normal}.home-hero p{color:#e1efe1;margin-bottom:24px;font-size:14px;line-height:1.85}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.home-hero .btn-primary{color:#1b462f;background:#d0efa9;border-color:#d0efa9}.home-hero .btn-primary:hover{background:#e2ffbe}.btn-hero-outline{color:#fff;background:#0000001f;border-color:#a1cea3}.hero-image-wrap{width:46%;height:100%;position:absolute;bottom:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24%);mask-image:linear-gradient(90deg,#0000,#000 24%)}.hero-image-wrap img{object-fit:cover;object-position:center 30%;filter:saturate(.92);width:100%;height:100%}.hero-glint{color:#d6f4b3;z-index:2;font-size:36px;position:absolute;top:36px;right:46%}.home-section{margin-top:36px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:19px;display:flex}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{letter-spacing:-.9px;margin-bottom:6px;font-size:25px}.section-heading p{color:#7a867e;margin-bottom:0;font-size:13px}.home-song-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.home-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.home-soft-card{border:1px solid var(--border);background:#fff;border-radius:17px;min-height:194px;padding:27px 30px}.home-soft-card h2{margin-bottom:11px;font-size:21px}.home-soft-card p{color:#708072;max-width:460px;font-size:13px;line-height:1.75}.home-soft-card-green{background:#e9f5e2;border-color:#e0eeda}.page-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px;display:flex}.page-intro h1{letter-spacing:-1.2px;margin-bottom:9px;font-size:32px;font-weight:800}.page-intro p{color:#748177;margin-bottom:0;font-size:13px}.page-intro p strong{color:#286b42}.songbook-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:27px}.filter-topline{align-items:center;gap:13px;display:flex}.searchbox{background:#f8faf6;border:1px solid #e1e8df;border-radius:11px;align-items:center;gap:11px;width:min(620px,100%);min-width:0;height:48px;padding:0 16px;display:flex}.searchbox span{color:#6b816c;font-size:26px;line-height:1}.searchbox:focus-within{border-color:#a6d186;box-shadow:0 0 0 3px #b5df892e}.searchbox input{color:#26382e;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13px}.searchbox input::placeholder{color:#a4aba4}.sort-label{margin-left:auto}.sort-label select{color:#425c46;background:#fff;border:1px solid #dfe8dc;border-radius:9px;min-width:103px;height:45px;padding:0 33px 0 15px}.genre-tabs{flex-wrap:wrap;gap:8px;margin:21px 0 24px;display:flex}.genre-tab{color:#6a786e;background:#f4f6f2;border:1px solid #edf1ec;border-radius:9px;min-height:34px;padding:0 16px;font-size:12px;font-weight:700}.genre-tab.active{color:#1f5834;background:#d7efc2;border-color:#cce8ba}.song-results-caption{color:#86928a;margin-bottom:13px;font-size:12px}.song-results-caption strong{color:#397f4c}.song-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.song-card{text-align:left;min-width:0;min-height:267px;color:var(--ink);background:#fff;border:1px solid #e9eee6;border-radius:13px;flex-direction:column;gap:13px;padding:13px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.song-card:hover{border-color:#b9dab0;transform:translateY(-2px);box-shadow:0 10px 22px #2c5c301c}.song-card-art-wrap{background:#e6f2e4;border-radius:9px;width:100%;height:116px;display:block;overflow:hidden}.song-card-art{object-fit:cover;width:100%;height:100%}.song-card-main{flex-direction:column;flex:1;min-width:0;display:flex}.song-card-title{white-space:nowrap;text-overflow:ellipsis;padding-right:9px;font-size:14px;font-weight:800;overflow:hidden}.song-card-artist{color:#889189;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;overflow:hidden}.song-card-tags{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.genre-chip{color:#507455;background:#eef4e8;border-radius:6px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pill{color:#737d73;background:#f1f2f0;border-radius:7px;align-items:center;width:max-content;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-연습중{color:#a8791f;background:#fff2d7}.status-완료{color:#397e3f;background:#dff2d4}.song-card-bottom{flex-wrap:wrap;align-items:center;gap:9px;margin-top:auto;padding-top:12px;display:flex}.leaf-rating{align-items:center;gap:3px;display:inline-flex}.leaf-rating-item{color:#e0e5de;background:0 0;border:0;place-items:center;padding:0;line-height:1;display:inline-grid}.leaf-rating-item.is-filled{color:#85bc5a}.leaf-rating.is-editable .leaf-rating-item{border-radius:7px;padding:3px}.leaf-rating.is-editable .leaf-rating-item:hover,.leaf-rating.is-editable .leaf-rating-item:focus-visible{color:#52943f;background:#edf6e5}.leaf-rating svg{width:18px;height:18px}.rating-count{color:#687f67;white-space:nowrap;margin-left:7px;font-size:12px;font-weight:700}.song-wind{color:#536e50;margin-left:auto;font-size:12px;font-weight:700}.song-card-arrow{display:none}.song-card-compact{flex-direction:row;gap:15px;min-height:117px;padding:12px;display:flex}.song-card-compact .song-card-art-wrap{flex:0 0 93px;width:93px;height:93px}.song-card-compact .song-card-main{justify-content:center}.song-card-compact .song-card-tags{margin-top:7px}.song-card-compact .song-card-bottom{margin-top:0;padding-top:6px}.song-card-compact .song-card-arrow{color:#8aaa8a;font-size:19px;display:block;position:absolute;top:12px;right:17px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:35px;display:flex}.empty-state>span{color:#94bb7d;font-size:34px}.empty-state h3,.empty-state h1{margin:8px 0;font-size:20px}.empty-state p{color:#829087;font-size:13px}.empty-state .btn{margin-top:12px}.page-toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.back-link{color:#477450;background:0 0;border:0;padding:7px 0;font-size:13px;font-weight:700}.back-link:hover{color:#1a4e30}.toolbar-trail{color:#a0aca3;font-size:12px}.detail-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);align-items:start;gap:23px;display:grid}.detail-main,.detail-side{gap:18px;min-width:0;display:grid}.detail-top{align-items:center;gap:26px;padding:26px;display:flex}.detail-cover{object-fit:cover;border-radius:13px;flex:0 0 185px;width:185px;height:185px}.detail-title-area{min-width:0}.detail-title-area .eyebrow{margin-bottom:10px}.detail-title-area h1{word-break:keep-all;letter-spacing:-1.4px;margin-bottom:8px;font-size:clamp(23px,2.3vw,33px);line-height:1.3}.detail-artist{color:#78857b;margin-bottom:17px;font-size:16px}.detail-chips{flex-wrap:wrap;gap:8px;display:flex}.detail-stats{padding:5px 28px}.stat-row{border-bottom:1px solid #edf0e9;justify-content:space-between;align-items:center;gap:15px;padding:21px 0;display:flex}.stat-row:last-child{border-bottom:0}.stat-label{color:#4c5d51;font-size:13px;font-weight:700}.stat-count{color:#4f7d47;font-size:16px}.detail-section{padding:27px 29px}.detail-section h2{margin-bottom:17px;font-size:16px}.detail-description{white-space:pre-wrap;color:#566b5a;overflow-wrap:anywhere;background:#f7f9f5;border-radius:12px;min-height:92px;margin-bottom:0;padding:21px;font-size:13px;line-height:2}.detail-links{flex-wrap:wrap;gap:9px;display:flex}.detail-link{color:#377145;background:#f5f9f3;border:1px solid #dfe9dc;border-radius:10px;align-items:center;min-height:43px;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex}.detail-link:hover{background:#eaf5e4}.aside-card{padding:24px;overflow:hidden}.aside-card h2{margin-bottom:17px;font-size:19px}.aside-zio{object-fit:cover;object-position:50% 24%;border-radius:12px;width:100%;height:224px;margin-bottom:17px}.aside-card>p{color:#768476;margin-bottom:0;font-size:12px;line-height:1.8}.aside-info h3{margin-bottom:15px;font-size:15px}.aside-info>div{justify-content:space-between;gap:10px;margin:13px 0;font-size:12px;display:flex}.aside-info>div span{color:#8d9b8f}.aside-info>div strong{color:#627465}.aside-info .help-text{border-top:1px solid var(--border);margin:15px 0 0;padding-top:14px}.aside-actions{gap:8px;display:flex}.aside-actions>*{flex:1}.form-intro{margin-bottom:20px}.form-layout{grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);align-items:start;gap:22px;display:grid}.song-form{min-width:0;padding:29px}.form-section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.form-section-heading h2{margin:0;font-size:18px}.form-section-heading span{color:#8b988e;font-size:11px}.field b,.form-section-heading b{color:#d96d6f}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;display:grid}.field{border:0;flex-direction:column;gap:9px;min-width:0;margin:0;padding:0;display:flex;position:relative}.field>span,.field>legend,.field-heading>span{color:#4b5c50;font-size:12px;font-weight:800}.field>legend{margin-bottom:9px}.field input:not([type=radio]):not([type=file]),.field select,.field textarea,.link-input-row input,.link-input-row select{color:#374a3c;background:#fbfcfa;border:1px solid #dfe7dd;border-radius:9px;width:100%;min-height:45px;padding:0 14px;font-size:13px}.field textarea{resize:vertical;min-height:90px;padding:14px;line-height:1.8}.field input::placeholder,.field textarea::placeholder{color:#aab4a9}.form-divider{background:#edf1e9;height:1px;margin:24px 0}.rating-input{padding:9px 0}.rating-input .leaf-rating svg{width:24px;height:24px}.rating-input p{color:#a3aea2;margin:9px 0 0;font-size:11px}.segment-group{flex-wrap:wrap;gap:6px;display:flex}.segment-group label{cursor:pointer;position:relative}.segment-group input{opacity:0;width:1px;height:1px;position:absolute}.segment-group span{color:#879187;background:#fff;border:1px solid #e2e7de;border-radius:9px;justify-content:center;align-items:center;height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.segment-group label.selected span{color:#397a41;background:#e3f3d7;border-color:#cbe8b8}.segment-group input:focus-visible+span{outline:3px solid #a1d472}.full-width{margin-top:19px}.full-width:first-of-type{margin-top:0}.field-count{text-align:right;color:#a4aea5;font-size:10px}.private-indicator{color:#7b917b;background:#f1f4ed;border-radius:5px;margin-left:3px;padding:3px 7px;font-size:10px;font-weight:600}.upload-box{cursor:pointer;color:#70876e;text-align:center;background:#f8fbf6;border:1px dashed #bad5b2;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:130px;position:relative;display:flex!important}.upload-box:hover{background:#f0f8eb}.upload-box .upload-icon{font-size:30px;font-weight:400}.upload-box strong{color:#577f52;font-size:12px}.upload-box small{color:#98a998;font-size:10px}.upload-box input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.field-heading{justify-content:space-between;align-items:center;display:flex}.small-add-button{color:#468441;background:#e9f4e0;border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:700}.link-input-row{align-items:center;gap:6px;display:flex}.link-input-row label{flex:0 0 110px}.link-input-row .link-grow{flex:1;min-width:0}.remove-link{color:#9f6565;background:#fff;border:1px solid #e4e9e0;border-radius:9px;width:42px;height:44px;font-size:19px}.form-error{color:#aa4d3f;background:#fff2ef;border:1px solid #f2cdc6;border-radius:9px;margin-top:21px;padding:12px 14px;font-size:12px}.form-actions{border-top:1px solid #eef1e8;justify-content:flex-end;gap:9px;margin-top:25px;padding-top:25px;display:flex}.form-actions .btn{min-width:118px}.form-aside{gap:19px;min-width:0;display:grid}.preview-panel{padding:25px}.preview-panel h2{margin-bottom:19px;font-size:19px}.preview-cover-row{border-bottom:1px solid #edf1e8;align-items:center;gap:16px;padding-bottom:21px;display:flex}.preview-cover-row img{object-fit:cover;border-radius:11px;flex:0 0 92px;width:92px;height:92px}.preview-cover-row>div{min-width:0}.preview-cover-row h3{word-break:keep-all;overflow-wrap:anywhere;margin-bottom:5px;font-size:15px;line-height:1.5}.preview-cover-row p{color:#8a968b;margin-bottom:10px;font-size:12px}.preview-stat{border-bottom:1px solid #edf1e8;justify-content:space-between;align-items:center;gap:9px;padding:15px 0;font-size:12px;display:flex}.preview-stat>span{color:#718173;font-weight:700}.preview-stat>strong{color:#4c7844}.preview-desc{white-space:pre-wrap;overflow-wrap:anywhere;color:#7b8a7c;background:#f8faf6;border-radius:10px;margin:19px 0 0;padding:15px;font-size:12px;line-height:1.9}.form-tip{background:#e8f5dd;border:1px solid #d5ebc8;border-radius:16px;min-height:188px;padding:24px 28px;position:relative;overflow:hidden}.form-tip>span{color:#488f3f;letter-spacing:1px;font-size:12px;font-weight:800}.form-tip p{color:#658360;z-index:2;max-width:60%;margin:15px 0 0;font-size:12px;line-height:1.85;position:relative}.form-tip img{object-fit:cover;object-position:center 20%;border-radius:80px 80px 0 0;width:140px;height:190px;position:absolute;bottom:-36px;right:-9px;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.placeholder-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;padding:65px 25px;display:flex}.placeholder-icon{color:#96be85;margin-bottom:10px;font-size:56px}.placeholder-page h1{margin-bottom:10px;font-size:30px}.placeholder-page p{color:#768779;margin:5px 0 22px;font-size:13px;line-height:2}.about-layout{grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);align-items:center;gap:40px;padding:37px;display:grid;overflow:hidden}.about-photo{background:#2e6838;border-radius:16px;height:450px;overflow:hidden}.about-photo img{object-fit:cover;width:100%;height:100%}.about-copy h1{letter-spacing:-1.5px;font-size:39px}.about-copy p{color:#718072;max-width:470px;margin-bottom:28px;font-size:14px;line-height:2}.toast{z-index:101;color:#fff;background:#183f2b;border-radius:13px;align-items:center;gap:13px;max-width:350px;padding:15px 17px;font-size:12px;line-height:1.5;display:flex;position:fixed;bottom:27px;right:30px;box-shadow:0 14px 28px #0a321436}.toast button{color:#fff;background:0 0;border:0;margin-left:auto;font-size:19px}.mobile-menu-button{display:none}@media (width>=1600px){.home-hero{min-height:395px}.song-grid{gap:20px}.song-card-art-wrap{height:151px}.song-card{min-height:304px}.song-card-compact{min-height:126px}.song-card-compact .song-card-art-wrap{height:101px}}@media (width<=1250px){.sidebar{flex-basis:210px;width:210px}.page-content{padding:28px 26px 50px}.topbar{padding:0 26px}.preview-banner{padding-left:26px;padding-right:26px}.song-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1.5fr) minmax(245px,.8fr)}.form-layout{grid-template-columns:minmax(0,1.4fr) minmax(245px,.75fr)}.song-form{padding:22px}}@media (width<=920px){.sidebar{z-index:90;width:255px;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:80;background:#081b13b3;display:block;position:fixed;inset:0}.sidebar-close{color:#eaf5e9;background:0 0;border:0;font-size:24px;display:block;position:absolute;top:23px;right:18px}.mobile-menu-button{color:#285d3c;background:0 0;border:0;justify-content:center;align-items:center;width:35px;height:37px;margin-right:13px;font-size:21px;display:inline-flex}.topbar{justify-content:flex-start}.topbar-right{margin-left:auto}.home-hero-copy{padding-left:36px}.home-hero h1{font-size:45px}.form-layout,.detail-layout{grid-template-columns:minmax(0,1fr)}.form-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.detail-side .aside-actions{grid-column:1/-1}.detail-side .aside-zio{height:160px}}@media (width<=640px){.topbar{flex-basis:62px;min-height:62px;padding:0 17px}.demo-label{display:none}.avatar-button{width:33px;height:33px}.preview-banner{align-items:flex-start;gap:6px;padding:10px 17px;font-size:10px;line-height:1.5}.preview-banner-dot{flex:0 0 7px;margin-top:5px}.page-content{padding:18px 15px 40px}.site-footer{padding:15px;font-size:10px}.home-hero{border-radius:16px;min-height:315px}.home-hero-copy{width:100%;padding:28px 16px 25px 24px}.home-hero h1{letter-spacing:-1.8px;max-width:260px;margin-bottom:11px;font-size:35px}.home-hero p{max-width:250px;margin-bottom:16px;font-size:11px}.hero-eyebrow{margin-bottom:15px;font-size:9px}.hero-actions{flex-direction:column;align-items:flex-start;gap:7px}.hero-actions .btn{min-height:37px;padding:0 13px;font-size:11px}.hero-image-wrap{opacity:.54;width:53%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 32%);mask-image:linear-gradient(90deg,#0000,#000 32%)}.hero-image-wrap img{object-position:40% 20%}.hero-glint{display:none}.home-section{margin-top:27px}.section-heading h2{font-size:21px}.section-heading p{font-size:11px}.home-song-list,.home-two-col{grid-template-columns:1fr;gap:10px}.home-soft-card{min-height:0;padding:21px}.home-soft-card h2{font-size:18px}.page-intro{flex-direction:column;align-items:flex-start;gap:16px}.page-intro h1{font-size:28px}.songbook-panel{border-radius:13px;padding:15px}.filter-topline{gap:8px}.searchbox{height:43px;padding:0 11px}.searchbox input{font-size:11px}.sort-label select{min-width:91px;height:42px;padding:0 21px 0 8px;font-size:11px}.genre-tabs{gap:5px;margin:15px 0 18px}.genre-tab{min-height:31px;padding:0 10px;font-size:11px}.song-grid{grid-template-columns:1fr;gap:9px}.song-card,.song-card-compact{flex-direction:row;gap:12px;min-height:101px;padding:10px;display:flex}.song-card-art-wrap,.song-card-compact .song-card-art-wrap{flex:0 0 84px;width:84px;height:84px}.song-card-main{justify-content:center}.song-card-title{font-size:13px}.song-card-bottom{padding-top:7px}.song-card-tags{margin-top:7px}.song-card .leaf-rating svg{width:15px;height:15px}.song-card-arrow{display:block}.page-toolbar{margin-bottom:15px}.detail-main,.detail-side{gap:11px}.detail-top{align-items:flex-start;gap:15px;padding:17px}.detail-cover{flex-basis:105px;width:105px;height:105px}.detail-title-area h1{letter-spacing:-.5px;font-size:19px}.detail-title-area .eyebrow{margin-bottom:5px;font-size:9px}.detail-artist{margin-bottom:12px;font-size:12px}.detail-stats{padding:0 18px}.stat-row{padding:16px 0}.detail-section{padding:20px}.detail-section h2{margin-bottom:12px}.detail-description{padding:15px}.detail-side{grid-template-columns:1fr}.aside-card{padding:18px}.aside-card h2{font-size:17px}.aside-zio{display:none}.detail-side .aside-actions{grid-column:auto}.form-intro{margin-bottom:15px}.form-intro h1{font-size:25px}.song-form{padding:19px}.form-grid{grid-template-columns:1fr;gap:18px}.form-aside{grid-template-columns:1fr}.form-divider{margin:20px 0}.form-actions{z-index:4;background:#fff;margin-bottom:-19px;margin-left:-19px;margin-right:-19px;padding:13px 19px;position:sticky;bottom:0;box-shadow:0 -6px 18px #123b2610}.form-actions .btn{flex:1}.form-tip{min-height:162px}.placeholder-page{min-height:350px}.about-layout{grid-template-columns:1fr;gap:25px;padding:18px}.about-photo{height:230px}.about-copy h1{font-size:29px}.toast{max-width:none;bottom:12px;left:14px;right:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.skip-link{z-index:200;color:#fff;background:#113726;border-radius:8px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.sidebar-unavailable{opacity:.6;cursor:default}.sidebar-unavailable small{margin-top:2px;font-size:10px;font-weight:400;display:block}.form-extra{margin-top:19px}.status-잠시{color:#73567d;background:#f0eaf4}.genre-chip,.status-pill{white-space:nowrap}.eyebrow,.home-soft-card p,.section-heading p,.page-intro p,.song-card-artist,.help-text,.field-count,.toolbar-trail,.site-footer,.rating-input p,.field input::placeholder,.field textarea::placeholder,.form-section-heading span,.upload-box small,.private-indicator{color:#627460}.field:has(.upload-box){margin-top:24px}.preview-banner>strong{white-space:nowrap}@media (width<=640px){.preview-banner{flex-wrap:wrap}.preview-banner>span:last-child{flex-basis:100%;padding-left:13px}.topbar-breadcrumb{font-size:12px}.song-card-title{overflow-wrap:anywhere}.form-section-heading{align-items:flex-start}.site-footer{gap:12px}.form-actions .btn{min-width:0}.link-input-row label{flex-basis:82px}.link-input-row .link-grow{flex-basis:0}}.home-hero .hero-eyebrow{color:var(--lime-300)}.hero-image-wrap img{object-fit:contain;object-position:right bottom}@media (width<=640px){.form-actions{box-shadow:none;margin-bottom:0;margin-left:0;margin-right:0;padding:18px 0 0;position:static}.hero-image-wrap img{object-fit:cover;object-position:center 30%}}.hero-image-wrap{justify-content:flex-end;display:flex;-webkit-mask-image:none;mask-image:none}.hero-image-wrap img{width:auto;max-width:100%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 22%);mask-image:linear-gradient(90deg,#0000,#000 22%)}@media (width<=640px){.hero-image-wrap img{width:100%}}.integrated-app{color:#21382c;background:#f7f8f4}.integrated-app .container{width:100%;max-width:none;margin:0;padding-left:0;padding-right:0}.integrated-app .page{padding-top:0;padding-bottom:0}.integrated-app .site-footer{background:0 0;gap:16px;display:flex}.integrated-app .sidebar .sidebar-item.router-link-active:not(.active){color:#f3f8f2;background:0 0}.integrated-app .sidebar .sidebar-item.active{color:#d5f4bd;background:#9dda7338}.integrated-app .page-heading{gap:20px;margin-bottom:25px}.integrated-app .page-heading h1{letter-spacing:-1.2px;font-size:32px}.integrated-app .page-heading p{color:#627460;font-size:13px}.integrated-app .heading-art{display:none}.integrated-app .breadcrumb{margin-bottom:22px;font-size:12px}.integrated-app .filters-panel,.integrated-app .admin-tools{background:#fff;border-color:#e5eae3;border-radius:14px}.integrated-app .filter-row{flex-wrap:wrap;gap:9px}.integrated-app .filter-row select{max-width:100%}.integrated-app .results-panel{background:0 0;border:0;overflow:visible}.integrated-app .results-toolbar{flex-wrap:wrap;gap:12px}.integrated-app .results-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.integrated-app .button{border-radius:10px;min-height:44px}.integrated-app .button.primary{color:#fff;background:#1b4b32;border-color:#1b4b32}.integrated-app .login-page{min-height:0;padding:15px 0 45px}.integrated-app .login-card{border-color:#e5eae3;border-radius:20px;max-width:480px;margin:auto}.integrated-app .field{margin-bottom:18px;font-size:13px;font-weight:600}.integrated-app .song-form .field{margin-bottom:0}.integrated-app .field input:not([type=radio]):not([type=file]):not([type=checkbox]),.integrated-app .field select,.integrated-app .field textarea{background:#fbfcfa;border:1px solid #dfe7dd;border-radius:9px;width:100%;min-height:45px;padding:10px 14px}.integrated-app .song-form .field textarea{padding:14px}.integrated-app .editor-fields{border:0;min-width:0;margin:0;padding:0}.integrated-app .editor-fields:disabled{opacity:.72}.integrated-app .form-error{overflow-wrap:anywhere;margin-top:16px}.integrated-app .form-actions{justify-content:flex-end}.integrated-app .toast{z-index:100;color:#244d2b;background:#edf7e4;border:1px solid #c4dcb6;border-radius:12px;align-items:center;gap:14px;max-width:min(480px,100vw - 32px);padding:14px 18px;display:flex;position:fixed;bottom:24px;left:auto;right:24px;box-shadow:0 6px 24px #11372620}.integrated-app .toast .icon-button{flex:0 0 30px}.integrated-app .modal{color:#21382c}.integrated-app .admin-menu-card{border-color:#e5eae3;border-radius:16px}.integrated-app .admin-menu-icon,.integrated-app .admin-tabs a.active{color:#276443;background:#edf7e4}.integrated-app .song-grid{margin-top:16px}.integrated-app .song-card{width:100%}.integrated-app .song-card-title,.integrated-app .detail-title-area h1,.integrated-app .detail-artist{overflow-wrap:anywhere}.integrated-app .detail-description{margin:0}.integrated-app .detail-cover{aspect-ratio:1}.integrated-app .detail-top{border:1px solid #e5eae3}.integrated-app .detail-stats{background:#fff;display:block}.managed-song{background:#fff;border:1px solid #e5eae3;border-radius:14px;min-width:0;overflow:hidden}.managed-song .song-card{box-shadow:none;border:0;border-radius:0}.song-management-actions{border-top:1px solid #edf1e9;flex-wrap:wrap;align-items:center;gap:4px;padding:10px;font-size:12px;display:flex}.song-management-actions button{color:#355b3b;background:#fff;border:1px solid #dfe7dd;border-radius:6px;min-height:36px;padding:7px 8px}.song-management-actions button:hover{background:#edf7e4}.song-management-actions .delete-song{color:#a34740}.visibility-label{color:#477b3f;margin-right:auto;padding:4px;font-size:11px}.visibility-label.is-private{color:#8b625d}.session-name{color:#627460;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.integrated-app .home-hero{min-height:300px}.integrated-app .home-hero-copy{padding:30px 20px 30px 40px}.integrated-app .hero-eyebrow{margin-bottom:14px}.integrated-app .home-hero h1{margin-bottom:12px;font-size:clamp(36px,3vw,48px)}.integrated-app .home-hero p{margin-bottom:18px;font-size:13px}.integrated-app .home-hero .hero-image-wrap img{height:100%}.integrated-app .home-section{margin-top:28px}.integrated-app .topbar .text-button{white-space:nowrap;font-size:12px}.integrated-app .sidebar-brand{text-decoration:none}@media (width>=1251px){.integrated-app .page-content{padding-top:26px}}@media (width<=1250px) and (width>=921px){.integrated-app .song-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=920px){.integrated-app .song-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.integrated-app .page-heading h1{font-size:28px}.session-name{display:none}}@media (width<=640px){.integrated-app .page-content{padding:18px 15px 40px}.integrated-app .song-grid{grid-template-columns:1fr}.integrated-app .home-hero{min-height:300px}.integrated-app .home-hero-copy{padding:27px 18px 25px 23px}.integrated-app .home-hero h1{font-size:34px}.integrated-app .home-hero p{font-size:11px}.integrated-app .hero-actions .btn{white-space:normal}.integrated-app .topbar{gap:0;padding:0 12px}.integrated-app .topbar-right{gap:10px}.integrated-app .topbar-breadcrumb{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;display:block;overflow:hidden}.integrated-app .topbar-dot{display:none}.integrated-app .mobile-menu-button{flex-shrink:0;margin-right:7px}.integrated-app .page-heading h1{font-size:27px}.integrated-app .filter-row label{flex:125px;min-width:0}.integrated-app .filter-row select{width:100%;font-size:12px}.integrated-app .filter-caption{display:none}.integrated-app .results-toolbar,.integrated-app .results-toolbar select{font-size:12px}.integrated-app .login-card{padding:25px 20px}.integrated-app .login-card h1{font-size:25px}.integrated-app .song-form{padding:19px}.integrated-app .form-actions{box-shadow:none;margin:20px 0 0;padding:16px 0 0;position:static}.integrated-app .toast{max-width:none;bottom:16px;left:16px;right:16px}.integrated-app .admin-tools{align-items:flex-start;gap:12px}.integrated-app .admin-tools>div{flex-wrap:wrap;gap:8px;display:flex}.integrated-app .detail-title-area h1{word-break:normal}.song-management-actions{padding:8px 10px}}.integrated-app .field .private-indicator{align-self:flex-start;width:auto;display:inline-block}.integrated-app .form-aside.connected{grid-template-columns:1fr}.integrated-app .song-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.integrated-app .song-heading-actions .button{min-height:44px}@media (width<=700px){.integrated-app .song-heading{flex-wrap:wrap;align-items:flex-start}.integrated-app .song-heading-actions{justify-content:flex-start;width:100%}}.schedule-page{min-width:0}.schedule-tabs{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.schedule-tabs a{color:#476648;background:#fff;border:1px solid #dfe7dd;border-radius:10px;padding:11px 18px;font-size:13px;font-weight:700}.schedule-tabs a.active{color:#275e38;background:#e3f3d7;border-color:#cbe8b8}.calendar-panel{padding:24px}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.calendar-toolbar h2{margin:0;font-size:24px}.calendar-toolbar>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-toolbar input,.schedule-week-picker input{color:#35573c;background:#fff;border:1px solid #dfe7dd;border-radius:9px;max-width:100%;min-height:44px;padding:8px}.calendar-toolbar .btn{padding:0 14px}.calendar-grid{background:#e5eae3;border:1px solid #e5eae3;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday{text-align:center;color:#627460;background:#f3f7ef;padding:12px 0;font-size:12px;font-weight:700}.calendar-day{text-align:left;color:#2b4232;background:#fff;border:0;flex-direction:column;gap:8px;min-width:0;min-height:118px;padding:12px;display:flex}.calendar-day:hover{background:#edf7e4}.calendar-day.other-month{color:#929c92;background:#f9faf7}.calendar-day.is-today{box-shadow:inset 0 0 0 2px #8fc36a}.calendar-date{align-items:center;gap:6px;font-size:13px;display:flex}.calendar-date small{color:#315d35;background:#def1d0;border-radius:4px;padding:2px 4px;font-size:9px}.calendar-grid>:nth-child(7n),.calendar-grid>:nth-child(7n+6){color:#947064}.calendar-entry{flex-direction:column;gap:5px;min-width:0;max-width:100%;font-size:12px;line-height:1.5;display:flex}.calendar-entry strong{color:#4b7a3f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-entry>span{-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-empty{color:#d8e0d3;opacity:0;margin:auto;font-size:18px}.calendar-day:hover .calendar-empty{opacity:1}.schedule-help{color:#627460;margin:16px 0;font-size:12px;line-height:1.8}.calendar-dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.editor-fields{border:0;min-width:0;margin:0;padding:0}.schedule-week-picker{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:18px;display:flex}.schedule-week-picker>label{align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.schedule-week-picker>strong{color:#4b6c46;font-size:13px}.schedule-save-state{color:#6a7c60;margin-left:auto;font-size:12px}.schedule-export-notice{color:#35632a;overflow-wrap:anywhere;min-height:25px;margin:10px 0 16px;font-size:13px}.schedule-day-inputs{margin:0 0 22px;padding:16px 20px}.schedule-day-inputs summary{color:#355d3a;cursor:pointer;font-size:14px;font-weight:700}.schedule-day-inputs summary>span{color:#627460;margin-left:12px;font-size:11px;font-weight:400}.schedule-days-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px;display:grid}.schedule-days-form>section{border:1px solid #e5eae3;border-radius:12px;min-width:0;padding:16px}.schedule-days-form h2{margin-bottom:16px;font-size:15px}.schedule-days-form .field:last-child,.schedule-page .preview-tools p{margin-bottom:0}.schedule-page .preview-wrap{min-width:0}.schedule-page .preview-viewport{border-radius:14px;max-width:100%}@media (width<=640px){.calendar-panel{padding:12px}.calendar-toolbar{gap:12px;margin-bottom:15px}.calendar-toolbar h2{font-size:22px}.calendar-toolbar>div{gap:6px;width:100%}.calendar-toolbar .btn{min-height:40px;padding:0 11px}.calendar-toolbar input{width:128px;min-height:40px;font-size:12px}.calendar-grid{border-radius:9px}.calendar-weekday{padding:9px 0;font-size:11px}.calendar-day{gap:6px;min-height:95px;padding:6px 3px}.calendar-date{font-size:12px;display:block}.calendar-date small{display:none}.calendar-entry{font-size:10px;line-height:1.4}.calendar-entry strong{font-size:9px}.calendar-entry>span{-webkit-line-clamp:3}.calendar-day.has-schedule{background:#f4faee}.schedule-tabs a{text-align:center;flex:1;padding:10px 12px}.calendar-dialog-actions{flex-direction:column;align-items:stretch}.calendar-dialog-actions .text-button{text-align:center}.schedule-week-picker{gap:8px;padding:12px}.schedule-week-picker>.btn{padding:0 12px}.schedule-week-picker>label{gap:7px;font-size:12px}.schedule-week-picker input{width:137px;min-width:0}.schedule-week-picker>strong{width:100%;font-size:12px}.schedule-save-state{margin:0}.schedule-days-form{grid-template-columns:1fr;gap:14px}.schedule-day-inputs{padding:15px}.schedule-day-inputs summary>span{margin:6px 0 0;display:block}.schedule-page .preview-tools p{font-size:11px}.schedule-page .preview-tools button{font-size:12px}.schedule-help{font-size:11px}}.draft-recovery{background:#f0f8e9;border:1px solid #b2cf94;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:16px;display:flex}.draft-recovery p{width:100%;margin:0;font-size:13px}.draft-recovery .btn{min-height:38px;font-size:12px}.schedule-action-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-image-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.btn-lime{color:#24472c;background:#ccebaa;border:1px solid #c4e69f}.schedule-save-state small{margin-top:5px;font-size:10px;display:block}.schedule-workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.schedule-input-column,.schedule-preview-column{min-width:0}.schedule-preview-column{position:sticky;top:20px}.schedule-preview-column>h2{margin:0 0 18px;font-size:18px}.schedule-input-panel{padding:20px}.schedule-input-panel h2{margin:0 0 18px;font-size:19px}.schedule-input-panel h3{margin:18px 0;font-size:14px}.schedule-input-panel textarea{resize:vertical;min-height:110px}.schedule-day-tabs{gap:5px;display:flex}.schedule-day-tabs button{color:#4a654b;background:#fff;border:1px solid #dde5d8;border-radius:8px;flex:1;min-width:0;min-height:39px;font-size:12px}.schedule-day-tabs button[aria-pressed=true]{color:#fff;background:#113726;border-color:#113726}.schedule-quick-actions{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.schedule-quick-actions .btn{min-height:36px;padding:0 10px;font-size:11px}.schedule-week-overview{border-top:1px solid #e1e8dc;margin-top:20px}.schedule-week-overview button{text-align:left;color:#53654f;background:0 0;border:0;border-bottom:1px solid #e8ede4;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 0;font-size:12px;display:flex}.schedule-week-overview span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.schedule-week-overview small{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.schedule-design-details{margin-top:16px}.schedule-design-details>summary,.schedule-backup-panel>summary{cursor:pointer;color:#3a5b38;padding:16px;font-size:13px;font-weight:700}.schedule-design-details>summary{background:#fff;border:1px solid #e0e7db;border-radius:12px}.schedule-design-details[open]>summary{margin-bottom:10px}.schedule-design-details .editor-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-design-details .template-field{grid-column:1/-1}.schedule-design-details .schedule-editor-tools{padding:18px}.schedule-backup-panel{margin-top:16px}.schedule-backup-actions{flex-wrap:wrap;gap:8px;padding:0 16px;display:flex}.schedule-backup-actions .btn{min-height:38px;padding:8px 12px;font-size:11px}.schedule-backup-panel .schedule-help{margin-bottom:0;padding:0 16px 16px}.backup-upload{cursor:pointer;position:relative;overflow:hidden}.backup-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.backup-upload:focus-within{outline-offset:3px;outline:3px solid #8fc36a}.schedule-copy-options{flex-wrap:wrap;gap:16px;margin:18px 0;display:flex}.schedule-copy-options label{align-items:center;gap:7px;font-size:13px;display:flex}.schedule-copy-preview{overflow-wrap:anywhere;background:#f5f8f0;border-radius:10px;max-height:220px;padding:12px 20px;font-size:12px;overflow:auto}.schedule-copy-preview li{white-space:pre-wrap;margin:7px 0}.schedule-action-error{margin:14px 0}.schedule-workspace .preview-tools{align-items:flex-start;gap:10px}.schedule-workspace .preview-tools p{font-size:11px}.schedule-workspace .preview-tools button{padding:7px;font-size:11px}.schedule-workspace .preview-frame{border-radius:10px}@media (width<=1100px){.schedule-workspace{grid-template-columns:1fr}.schedule-preview-column{position:static}.schedule-input-panel .field{margin-bottom:14px}.schedule-week-overview{display:none}.schedule-image-actions{margin-left:0}.schedule-action-bar>.btn,.schedule-image-actions>.btn{min-height:40px;padding:0 12px;font-size:12px}}@media (width<=640px){.schedule-workspace{gap:20px}.schedule-input-panel{padding:16px}.schedule-action-bar{gap:6px}.schedule-image-actions{gap:6px;width:100%}.schedule-image-actions>.btn{flex:1;padding:0 8px;font-size:11px}.schedule-input-panel h2{font-size:18px}.schedule-week-picker .btn{font-size:11px}.schedule-preview-column>h2{font-size:17px}.schedule-save-state{width:100%}.schedule-copy-options{gap:12px}}.event-view-toolbar{flex-wrap:wrap;align-items:center;gap:15px;margin:0 0 20px;display:flex}.event-view-switch{gap:6px;display:flex}.event-view-switch .btn{min-height:40px;font-size:12px}.event-view-switch [aria-pressed=true]{color:#fff;background:#113726;border-color:#113726}.event-kind-filter{align-items:center;gap:8px;font-size:12px;display:flex}.event-kind-filter select{color:#31583b;background:#fff;border:1px solid #dfe7dd;border-radius:8px;min-height:40px;padding:7px 10px}.event-view-toolbar>span{color:#6a7c60;margin-left:auto;font-size:11px}.event-calendar-day{background:#fff;flex-direction:column;gap:5px;min-width:0;min-height:155px;padding:7px;display:flex}.event-calendar-day.other-month{background:#f9faf7}.event-calendar-day.is-today{box-shadow:inset 0 0 0 2px #8fc36a}.event-date-add{color:#345139;text-align:left;background:0 0;border:0;align-items:center;gap:5px;width:100%;padding:4px 3px;font-size:12px;display:flex}.event-date-add>span:last-child{color:#84917c;margin-left:auto}.event-date-add small{background:#e4f2d8;border-radius:3px;padding:2px;font-size:9px}.event-chip{color:#375c37;text-align:left;background:#edf7e4;border:0;border-left:3px solid #77a263;border-radius:5px;flex-direction:column;gap:3px;min-width:0;max-width:100%;padding:5px 6px;display:flex}.event-chip strong{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.event-chip small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.event-span-label{opacity:.8;font-size:9px}.event-kind-collab{color:#415985;background:#ecf0fa;border-color:#819bcc}.event-kind-off{color:#8b6040;background:#fbf1e8;border-color:#cf9d72}.event-kind-personal{color:#765b94;background:#f4eff9;border-color:#b09dc9}.event-kind-other{color:#626e5f;background:#f0f2ee;border-color:#a4aaa1}.event-more{color:#5c7b51;text-align:left;background:0 0;border:0;padding:4px;font-size:10px}.schedule-event-card{background:#fff;border:1px solid #e1e8dc;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-width:0;margin:12px 0;padding:18px;display:flex}.schedule-event-card>div{min-width:0}.schedule-event-card h3{overflow-wrap:anywhere;margin:9px 0;font-size:17px}.schedule-event-card p{color:#5d7059;overflow-wrap:anywhere;margin:7px 0;font-size:12px;line-height:1.6}.schedule-event-card small{color:#6f8366;font-size:11px}.schedule-event-card .btn{flex-shrink:0;min-height:39px;font-size:12px}.event-kind-badge{color:#375c37;background:#edf7e4;border-radius:6px;padding:4px 8px;font-size:10px}.event-description{white-space:pre-wrap}.schedule-event-empty{color:#718466;text-align:center;padding:30px 10px;font-size:13px}.event-day-filter{color:#4a6943;justify-content:space-between;align-items:center;gap:15px;font-size:13px;display:flex}.event-backup-tools{margin-top:20px;padding:17px}.event-backup-tools summary{cursor:pointer;color:#3a5c38;font-size:13px;font-weight:700}.event-backup-tools>div{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.event-backup-tools .btn{min-height:40px;font-size:12px}.event-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.event-date-grid .field{min-width:0}.event-date-grid input{min-width:0;max-width:100%}.event-time-modes{border:1px solid #e2e9dc;border-radius:9px;flex-wrap:wrap;gap:18px;margin:10px 0 20px;padding:12px 14px;display:flex}.event-time-modes legend{color:#55704b;padding:0 5px;font-size:12px;font-weight:600}.event-time-modes label{align-items:center;gap:7px;font-size:13px;display:flex}.event-time-modes input{accent-color:#639747;width:16px;height:16px;margin:0}.event-dialog-secondary{flex-wrap:wrap;gap:14px;margin:20px 0;display:flex}.event-dialog-secondary .text-button{font-size:11px}.event-dialog-secondary>button:first-child{color:#9a5c4a}.event-import-options{border-top:1px solid #e1e8dc;max-height:280px;margin:17px 0;overflow:auto}.event-import-options>label{cursor:pointer;border-bottom:1px solid #e1e8dc;align-items:flex-start;gap:12px;padding:12px 0;font-size:13px;display:flex}.event-import-options input,.event-include-empty input{accent-color:#639747;flex:0 0 16px;width:16px;height:16px;margin:1px 0}.event-import-options span{overflow-wrap:anywhere;flex-direction:column;gap:6px;min-width:0;display:flex}.event-import-options small{color:#6a7c60;font-size:11px}.event-include-empty{align-items:center;gap:8px;font-size:12px;display:flex}.schedule-tabs a{min-width:0}@media (width<=640px){.event-view-toolbar{gap:12px}.event-kind-filter{width:100%}.event-kind-filter select{flex:1;min-width:0}.event-view-toolbar>span{margin-left:0}.event-calendar-day{gap:4px;min-height:105px;padding:4px 2px}.event-date-add{padding:3px;font-size:11px}.event-date-add small{display:none}.event-chip{border-left-width:2px;padding:4px 3px}.event-chip strong{font-size:10px}.event-chip small{font-size:9px}.event-span-label{display:none}.event-calendar-page .schedule-tabs{gap:6px}.event-calendar-page .schedule-tabs a{padding:10px 7px;font-size:12px}.schedule-event-card{align-items:flex-start;gap:10px;padding:14px}.schedule-event-card h3{font-size:16px}.schedule-event-card p{font-size:11px}.schedule-event-card .btn{min-height:36px;padding:0 10px}.event-date-grid{grid-template-columns:1fr;gap:0}.schedule-event-form .modal-actions{flex-wrap:wrap;gap:8px}.schedule-event-form .modal-actions .button{min-height:40px;padding:8px 12px;font-size:12px}.schedule-event-form .modal-actions .button:nth-child(2){order:3;width:100%}.event-time-modes{gap:14px 12px;padding:12px}.event-time-modes label{font-size:12px}.event-backup-tools>div{flex-direction:column;align-items:stretch}.event-backup-tools .btn{justify-content:center}.event-date-grid input[type=date],.event-date-grid input[type=time]{width:100%;min-width:0}}.modal.event-editor-modal[open]{background:#fff;flex-direction:column;max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}.event-editor-modal .modal-heading{background:#fff;flex-shrink:0;margin:0;padding:18px 22px}.event-editor-modal .modal-heading .icon-button{flex-shrink:0;width:44px;height:44px}.event-editor-modal .schedule-event-form{flex-direction:column;min-height:0;display:flex;overflow:hidden}.event-form-body{overscroll-behavior:contain;min-height:0;padding:20px 22px 12px;scroll-padding:16px;overflow:auto}.event-basics-grid{grid-template-columns:minmax(0,1fr) 150px;gap:16px;display:grid}.event-editor-modal .field{margin-bottom:14px;font-size:13px}.event-editor-modal .field input,.event-editor-modal .field select,.event-editor-modal .field textarea{font-size:16px}.event-editor-modal .field [aria-invalid=true]{background:#fff9f8;border-color:#b6453f;box-shadow:0 0 0 1px #b6453f}.event-editor-modal .event-time-modes{background:#f7f8f4;border:1px solid #dbe5d5;gap:4px;margin:0 0 16px;padding:8px}.event-time-modes label{cursor:pointer;border-radius:7px;min-height:44px;padding:0 12px}.event-time-modes label.selected{color:#113726;background:#fff;box-shadow:0 1px 4px #11372619}.event-endpoint{background:#fbfcfa;border:1px solid #dfe7dd;border-radius:10px;min-width:0;padding:14px}.event-endpoint h3{color:#113726;margin:0 0 12px;font-size:14px}.event-endpoint .field:last-child{margin-bottom:0}.event-editor-modal .event-date-grid{gap:12px}.event-editor-modal .event-date-grid input{padding:10px}.event-duration-summary{color:#113726;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.event-duration-summary strong{font-size:14px}.event-duration-summary span,.event-optional{color:#54694f;font-size:12px;font-weight:400}.event-optional{margin-left:6px}.event-overnight-help{background:#fff7e8;border:1px solid #ecd5ac;border-radius:9px;margin-bottom:12px;padding:12px}.event-overnight-help p{color:#74551b;margin:0 0 4px;font-size:13px;line-height:1.6}.event-overnight-help .text-button{min-height:44px}.event-editor-tools{border-top:1px solid #e5eae3;padding-top:4px}.event-editor-tools summary{cursor:pointer;color:#52664e;min-height:44px;padding:12px 0;font-size:13px;font-weight:600}.event-editor-tools .event-dialog-secondary{gap:4px 16px;margin:0 0 8px}.event-editor-tools .text-button{color:#315c3c;text-align:left;min-height:44px;font-size:13px}.event-form-footer{padding:12px 22px max(14px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe7dd;flex-shrink:0;box-shadow:0 -4px 14px #11372608}.event-form-footer .modal-actions{border:0;margin:0;padding:0}.event-editor-modal .event-form-footer .form-error{max-height:20dvh;margin:0 0 10px;font-size:13px;overflow:auto}.event-calendar-page .event-view-switch{background:#eef3e9;border-radius:10px;gap:4px;padding:4px}.event-calendar-page .event-view-switch .btn{color:#31543a;background:0 0;border-color:#0000;min-height:44px;transition:none}.event-calendar-page .event-view-switch .btn[aria-pressed=true]{color:#fff;background:#113726;box-shadow:0 1px 4px #11372619}.event-calendar-page .event-view-switch .btn:hover{transform:none}.event-calendar-page .event-kind-filter select{min-height:44px;font-size:14px}.event-calendar-page .event-filter-clear{min-height:44px;font-size:13px}.event-calendar-page .event-view-toolbar>span{color:#50634a;font-size:13px}.event-calendar-page .event-date-add{min-height:36px;font-size:13px}.event-calendar-page .event-more{min-height:36px;font-size:12px}.event-calendar-page .calendar-weekday.is-weekend,.event-calendar-page .event-calendar-day.is-weekend .event-date-add{color:#87504a}.event-date-group{margin-top:22px}.event-group-heading{color:#113726;border-bottom:1px solid #dfe7dd;justify-content:space-between;align-items:center;gap:12px;padding:0 2px 8px;display:flex}.event-group-heading h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.event-group-heading h3 small{background:#e3f3d7;border-radius:5px;padding:3px 6px;font-size:12px}.event-group-heading>span{color:#586e50;font-size:13px}.event-calendar-page .schedule-event-card{margin:10px 0}.event-calendar-page .schedule-event-card h4{overflow-wrap:anywhere;margin:8px 0;font-size:18px}.event-calendar-page .schedule-event-card .event-readable-period{color:#36563c;font-size:14px;line-height:1.65}.event-calendar-page .schedule-event-card .event-description{color:#53664e;font-size:14px}.event-card-labels{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-calendar-page .event-kind-badge{font-size:12px}.event-continuing{color:#52694b;font-size:12px}.event-calendar-page .schedule-event-card .btn{min-height:44px}.event-calendar-page .event-day-filter{background:#f1f7eb;border-radius:8px;flex-wrap:wrap;padding:12px;font-size:14px}.event-day-filter .text-button{min-height:44px}.event-calendar-page .schedule-event-empty{padding:32px 8px}.schedule-event-empty h3{color:#264c33;margin-bottom:10px;font-size:18px}.schedule-event-empty p{margin-bottom:18px;font-size:14px;line-height:1.7}.schedule-event-empty .text-button{min-height:44px;margin:10px auto 0;font-size:14px;display:block}.schedule-context-note{color:#415c39;background:#eef5e8;border:1px solid #dce9d2;border-radius:10px;margin:-6px 0 20px;padding:12px 16px;font-size:13px;line-height:1.7}.schedule-context-note a{text-underline-offset:3px;font-weight:700;text-decoration:underline}.schedule-page :is(button,a,input,select,textarea,summary):focus-visible,.event-editor-modal :is(button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:3px solid #527f32}@media (width<=640px){.event-editor-modal .modal-heading{padding:10px 16px}.event-form-body{padding:16px 16px 8px}.event-form-footer{padding:12px 16px max(12px, env(safe-area-inset-bottom))}.event-basics-grid{grid-template-columns:minmax(0,1fr);gap:0}.event-editor-modal .event-time-modes{flex-wrap:nowrap;gap:0}.event-editor-modal .event-time-modes label{white-space:nowrap;flex:1;justify-content:center;gap:5px;padding:0 8px;font-size:13px}.event-editor-modal .event-date-grid{grid-template-columns:minmax(0,1fr);gap:12px}.event-endpoint{padding:12px}.event-endpoint>div{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;display:grid}.event-endpoint>div:not(:has(input[type=time])){grid-template-columns:minmax(0,1fr)}.event-endpoint .field{margin-bottom:0;font-size:13px}.event-editor-modal .event-date-grid input{padding:9px 6px;font-size:16px}.event-endpoint h3{margin-bottom:10px}.event-duration-summary{flex-direction:column;align-items:flex-start;gap:6px}.event-editor-modal .event-form-footer .modal-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:8px;display:grid}.event-editor-modal .event-form-footer .button{min-height:44px;padding:10px;font-size:14px}.event-editor-modal .event-form-footer .event-save-image{grid-area:2/1/auto/-1;width:100%;font-size:13px}.event-calendar-page .event-view-switch{width:100%}.event-calendar-page .event-view-switch .btn{flex:1}.event-calendar-page .event-view-toolbar{gap:10px}.event-calendar-page .event-kind-filter{flex:1;width:auto;min-width:0}.event-calendar-page .event-kind-filter select{font-size:16px}.event-calendar-page .event-view-toolbar>span{width:100%}.event-calendar-page .schedule-event-card{flex-direction:column;align-items:stretch;gap:8px}.event-calendar-page .schedule-event-card h4{font-size:17px}.event-calendar-page .schedule-event-card .btn{align-self:flex-end;min-width:72px}.event-calendar-page .event-date-add{min-height:36px;padding:2px;font-size:12px}.event-calendar-page .event-more{overflow-wrap:anywhere;min-height:40px;font-size:11px}.schedule-page .schedule-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.schedule-page .schedule-tabs a{text-align:center;justify-content:center;align-items:center;min-height:44px;padding:10px 5px;font-size:12px;line-height:1.5;display:flex}}@media (prefers-reduced-motion:reduce){.event-calendar-page .btn,.event-editor-modal .button{transition:none;transform:none}}@media (width<=640px){.event-endpoint>div{grid-template-columns:minmax(0,1fr)}}.saved-week-panel,.week-delete-tools{margin-top:20px;padding:20px}.saved-week-panel h2,.week-delete-tools h2{color:#113726;margin:0 0 10px;font-size:18px}.saved-week-panel h2 small{color:#637659;margin-left:6px;font-size:13px}.saved-week-panel>p,.week-delete-tools p{color:#53674b;font-size:14px;line-height:1.7}.saved-week-list{margin:16px 0 0;padding:0;list-style:none}.saved-week-list li{border-top:1px solid #e1e8dc;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.saved-week-list strong{color:#315639;font-size:14px}.saved-week-list li>div{gap:8px;display:flex}.saved-week-list .btn,.week-delete-tools .btn{min-height:44px;font-size:13px}.week-delete-period{color:#113726;margin:0 0 14px;font-size:15px}.week-delete-warning{color:#735540;background:#fff6ed;border-radius:8px;margin-bottom:12px;padding:12px;font-size:14px;line-height:1.7}.week-delete-preview{overscroll-behavior:contain;border-top:1px solid #dfe7dd;max-height:250px;margin:16px 0;padding:0;list-style:none;overflow:auto}.week-delete-preview li{border-bottom:1px solid #dfe7dd;padding:10px 0}.week-delete-preview strong{color:#315639;font-size:13px}.week-delete-preview span{color:#627757;margin-left:12px;font-size:12px}.week-delete-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;font-size:14px;line-height:1.6}.week-delete-dialog .text-button{min-height:44px;font-size:13px}.week-delete-dialog .week-delete-confirm{color:#fff;background:#a84438;border-color:#a84438}.week-delete-dialog .week-delete-confirm:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.saved-week-list li{flex-direction:column;align-items:flex-start}.saved-week-list li>div{width:100%}.saved-week-list li .btn{flex:1}.saved-week-panel,.week-delete-tools{padding:16px}.week-delete-dialog .modal-actions{flex-wrap:wrap}.week-delete-dialog .modal-actions .button{flex:1;min-height:44px}}.event-list-register{background:#f1f7eb;border:1px solid #d9e8cf;border-radius:12px;margin:0 0 20px;padding:18px}.event-list-register-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.event-list-register-controls .field{flex:0 230px;min-width:0;margin:0}.integrated-app .event-list-register input{background:#fff;min-width:0;max-width:100%;font-size:16px}.event-list-register-controls .btn{min-height:45px}.event-list-register>p{color:#415f37;margin:10px 0 0;font-size:13px;line-height:1.7}.event-list-register .event-registration-month-hint{font-weight:600}.event-list-register input[aria-invalid=true]{border-color:#b6453f}.event-group-actions{color:#526b49;align-items:center;gap:14px;font-size:13px;display:flex}.event-group-actions .text-button{min-height:44px;font-size:13px}.schedule-guide-page{max-width:1160px;margin:0 auto}.guide-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.guide-summary article{background:#fff;border:1px solid #dfe7dd;border-radius:12px;min-width:0;padding:20px}.guide-summary h2{color:#113726;margin:0 0 10px;font-size:17px}.guide-summary p,.guide-section p,.guide-section li{color:#456040;font-size:15px;line-height:1.85}.guide-summary p{margin:0}.guide-contents{margin-bottom:22px;padding:18px 22px}.guide-contents h2{color:#113726;margin:0 0 12px;font-size:16px}.guide-contents>div{flex-wrap:wrap;gap:8px;display:flex}.guide-contents a{color:#315c3c;text-underline-offset:3px;background:#f1f7eb;border-radius:8px;min-height:44px;padding:10px 12px;font-size:14px;text-decoration:underline}.guide-section{margin-bottom:18px;padding:24px;scroll-margin-top:90px}.guide-section h2{color:#113726;margin:0 0 15px;font-size:21px}.guide-section h3{color:#234c31;margin:20px 0 10px;font-size:17px}.guide-section ol,.guide-section ul{margin:12px 0;padding-left:22px}.guide-section li{margin:8px 0;padding-left:3px}.guide-section strong{color:#1f4930}.guide-example{background:#f1f7eb;border-left:3px solid #8fc36a;border-radius:6px;margin:14px 0;padding:14px 16px}.guide-section .btn{white-space:normal;text-align:center;max-width:100%;min-height:44px;margin-top:10px;line-height:1.6}.guide-faq details{border-top:1px solid #dfe7dd;padding:12px 0}.guide-faq summary{cursor:pointer;color:#31593b;min-height:44px;padding:10px 0;font-size:15px;font-weight:700;line-height:1.6}.guide-back-top{color:#31593b;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}@media (width<=768px){.guide-summary{grid-template-columns:minmax(0,1fr);gap:10px}.guide-summary article{padding:18px}.guide-section{padding:20px}}@media (width<=640px){.event-list-register{padding:14px}.event-list-register-controls{flex-direction:column;align-items:stretch;gap:12px}.event-list-register-controls .field{flex:auto;width:100%}.event-list-register-controls .btn{width:100%}.event-group-heading{flex-wrap:wrap}.event-group-actions{margin-left:auto}.guide-section{padding:18px}.guide-section h2{font-size:19px}.guide-contents{padding:16px}.guide-contents>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guide-contents a{text-align:center;justify-content:center;align-items:center;display:flex}}.guide-contents button{color:#315c3c;text-underline-offset:3px;background:#f1f7eb;border:1px solid #0000;border-radius:8px;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5;text-decoration:underline}.guide-contents button:hover{background:#e3f0d8}.guide-contents button:focus-visible{outline-offset:3px;outline:3px solid #527f32}.guide-section h2,.schedule-guide-page #guide-top{scroll-margin-top:90px}.event-editor-modal .event-form-footer .event-delete-action{color:#9b4035;background:#fff7f3;border:1px solid #e6cfc7;justify-content:center;align-items:center;gap:6px;min-height:44px;margin-right:auto;display:inline-flex}.event-editor-modal .event-form-footer .event-delete-action:hover:not(:disabled){background:#fbece6}.event-delete-action svg{flex-shrink:0}@media (width<=640px){.event-editor-modal .event-form-footer .modal-actions.has-delete{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.event-editor-modal .event-form-footer .has-delete .event-delete-action{grid-area:2/1;width:100%;margin-right:0;font-size:12px}.event-editor-modal .event-form-footer .has-delete .event-save-image{white-space:normal;grid-area:2/2;font-size:12px}}.integrated-app .sidebar{background:#153b29;padding:28px 17px 20px}.integrated-app .sidebar-brand{padding:4px 13px}.integrated-app .sidebar-brand-title{font-size:28px}.integrated-app .sidebar-brand-title span{color:#d1e7bb;margin:0 0 0 5px;font-size:19px;display:inline}.integrated-app .sidebar-brand-desc{color:#a7c1a9;margin-top:10px;font-size:10px}.integrated-app .sidebar-nav{flex-direction:column;gap:18px;margin-top:31px;display:flex}.sidebar-group{gap:4px;display:grid}.sidebar-group-title{color:#9ab79a;letter-spacing:.02em;margin:0 0 5px;padding:0 14px;font-size:10px;font-weight:600}.sidebar-group-title a{justify-content:space-between;align-items:center;min-height:25px;display:flex}.sidebar-group-title a:hover{color:#d5efbf}.integrated-app .sidebar-item{gap:10px;height:41px;min-height:41px;padding:0 13px;font-size:13px}.sidebar-item svg{color:#a7c5a6;flex-shrink:0}.sidebar-item.active svg{color:#d5efbd}.sidebar-item>span:not(.sr-only):not(.menu-external-mark),.sidebar-shortcut>span:not(.sr-only):not(.menu-external-mark){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-external-mark{color:inherit;opacity:.65;margin-left:auto;font-size:12px}.sidebar-management-children{border-left:1px solid #ffffff24;gap:4px;margin-left:19px;padding-left:8px;display:grid}.sidebar-management-children .sidebar-item{height:39px;min-height:39px;padding:0 12px;font-size:12px}.integrated-app .sidebar-divider{margin:21px 11px 13px}.sidebar-shortcuts{gap:5px;display:grid}.integrated-app .sidebar-soop,.sidebar-shortcut{color:#d4e5cd;border-radius:9px;align-items:center;gap:9px;min-height:39px;padding:8px 14px;font-size:12px;display:flex}.sidebar-shortcut:hover{background:#ffffff0b}.integrated-app .sidebar-bottom{color:#a9c0a8;padding-top:25px;font-size:10px}.sidebar-bottom-image{object-fit:cover;opacity:.9;border:2px solid #d5ebc12e;border-radius:50%;width:46px;height:46px;margin:0 auto 10px}.sidebar-footer-copy{margin:0}.integrated-app .topbar{background:#ffffffc9}.sidebar-shortcut svg{flex-shrink:0}@media (width<=920px){.integrated-app .sidebar-item,.sidebar-management-children .sidebar-item,.sidebar-shortcut{min-height:44px}}.sidebar-group,.sidebar-shortcuts{grid-template-columns:minmax(0,1fr);min-width:0}.sidebar-item,.sidebar-shortcut,.sidebar-shortcut>span:not(.sr-only):not(.menu-external-mark){min-width:0}
