:root{--bg: #f3f6f2;--surface: #ffffff;--surface-2: #eaf0eb;--ink: #1b2420;--muted: #5b6862;--line: #d6dfd9;--brand: #1f6b52;--on-brand: #ffffff;--chalk: #f0bf45;--ok: #1e7346;--warn: #8a5700;--danger: #b3261e;--danger-bg: #fde8e6;--shadow: 0 1px 2px rgba(20, 40, 30, .06), 0 6px 18px rgba(20, 40, 30, .06);--paper: #ffffff;--paper-ink: #1d2421;--paper-muted: #66716c;--paper-line: #9ea9a3;--paper-soft: #f2f5f3;--f-display: "Jua", "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--f-body: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--r: 12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #111714;--surface: #19211d;--surface-2: #212b26;--ink: #e6ede8;--muted: #9caaa3;--line: #2d3a33;--chalk: #e8b740;--ok: #5fc48d;--warn: #e3ac4a;--danger: #f08a80;--danger-bg: #3a1d1a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 22px rgba(0, 0, 0, .25);color-scheme:dark}}:root[data-theme=dark]{--bg: #111714;--surface: #19211d;--surface-2: #212b26;--ink: #e6ede8;--muted: #9caaa3;--line: #2d3a33;--chalk: #e8b740;--ok: #5fc48d;--warn: #e3ac4a;--danger: #f08a80;--danger-bg: #3a1d1a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 22px rgba(0, 0, 0, .25);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}body.no-scroll{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance;margin:0}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em;background:var(--surface-2);padding:1px 6px;border-radius:6px}small{font-size:.82em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}.wrap{max-width:980px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.main{padding-block:20px 120px;display:flex;flex-direction:column;gap:16px}.loading{padding:60px 16px;text-align:center;color:var(--muted)}.eyebrow{margin:0;font-size:12px;letter-spacing:.06em;opacity:.85}.h2{font-family:var(--f-display);font-weight:400;font-size:1.45rem;line-height:1.3}.h3{font-size:1.05rem;font-weight:700}.muted{color:var(--muted);margin:0}.label{font-weight:600;margin:8px 0 0}.lead{font-size:1.02rem;color:var(--muted);margin:0;max-width:34em}.note{margin:0;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:.92rem}.empty{color:var(--muted);padding:24px 0;margin:0;text-align:center}.empty.sm{padding:8px 0 4px;text-align:left}.error-text{color:var(--danger)}.num{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--brand)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{background:transparent}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.sm{min-height:34px;padding:0 12px;font-size:.88rem;border-radius:8px}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:inline-grid;place-items:center;flex:none}.icon-btn:disabled{opacity:.35;cursor:default}.link-btn{background:none;border:0;padding:4px 0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.92rem}.btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-between{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.row-end{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.back{background:none;border:0;padding:6px 0;cursor:pointer;color:var(--muted);font-weight:600;align-self:flex-start}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-weight:600;font-size:.92rem}.field>span small{font-weight:400;color:var(--muted)}.field.inline{flex-direction:row;align-items:center;gap:8px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=time],input[type=date],input:not([type]),select,textarea{width:100%;min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}textarea{min-height:110px;resize:vertical;line-height:1.6}input[type=color]{width:64px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:4px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.check{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--brand);flex:none}.stack{display:flex;flex-direction:column;gap:14px}.grid-form{display:grid;gap:14px}.grid-form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span2{grid-column:1 / -1}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.inline-form input{flex:1 1 200px}.inline-form select{flex:0 1 180px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}.chip span{display:inline-block;min-width:40px;text-align:center;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.9rem}.chip input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}.chip input:focus-visible+span{outline:3px solid var(--chalk);outline-offset:1px}fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 14px;margin:0;min-width:0;display:flex;flex-direction:column;gap:12px}legend{font-weight:700;padding:0 6px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.panel.narrow{max-width:520px;width:100%;margin:0 auto}.error-panel{border-color:var(--danger)}.danger-zone{border-style:dashed}.school-bar{background:var(--brand);color:var(--on-brand);padding-top:env(safe-area-inset-top,0px)}.school-bar-in{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-block:22px 18px}.school-name{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,4.5vw,2.1rem);line-height:1.2}.school-bar .link-btn{color:var(--on-brand);opacity:.85}.steps{display:flex;gap:6px;padding-block:14px 0;flex-wrap:wrap}.step{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;color:var(--muted)}.step em{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:.78rem;font-weight:700}.step.on{color:var(--ink);border-color:var(--brand);font-weight:600}.step.on em{background:var(--chalk);color:#2b2100}.step.done em{background:var(--brand);color:var(--on-brand)}.grade-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:620px}.grade-btn{aspect-ratio:1 / 1;max-width:100%;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.9rem;color:var(--muted)}.grade-btn b{font-family:var(--f-display);font-weight:400;font-size:2.2rem;line-height:1;color:var(--ink)}.grade-btn:hover{border-color:var(--brand)}.grade-btn.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.grade-btn.on b{color:var(--on-brand)}.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cat-card{position:relative;display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:0}.cat-card:hover{border-color:var(--c-line);box-shadow:var(--shadow)}.cat-swatch{flex:none;width:40px;height:40px;border-radius:10px;background:var(--c-bg);border:2px solid var(--c-line)}.cat-text{display:flex;flex-direction:column;gap:3px;min-width:0}.cat-text b{font-size:1.05rem}.cat-text small{color:var(--muted)}.cat-text em{font-style:normal;font-size:.85rem;color:var(--muted)}.badge{position:absolute;top:12px;right:12px;background:var(--chalk);color:#2b2100;font-size:.78rem;font-weight:700;padding:2px 9px;border-radius:999px}.picked{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}.picked ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.picked li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.picked small{color:var(--muted)}.cat-title{padding-left:14px;border-left:6px solid var(--c-line)}.prog-list{display:flex;flex-direction:column;gap:12px}.prog{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.prog.picked{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.prog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.prog .meta,.prog .desc,.fee-parts{margin:0;color:var(--muted);font-size:.9rem}.prog .desc{color:var(--ink)}.fee-tag{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;flex-direction:column}.fee-tag small{font-weight:400;color:var(--muted)}.fee-tag.free{color:var(--ok)}.sec-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.sec{text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0}.sec b{font-size:1rem}.sec span{font-variant-numeric:tabular-nums;font-size:.9rem}.sec small{color:var(--muted)}.sec:hover{border-color:var(--brand)}.sec.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.sec.on small{color:var(--on-brand);opacity:.85}.sec.on b:after{content:" ✓"}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 20px #0000000f;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px}.bottom-in .sep{color:var(--muted)}.sheet-actions{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding-block:8px}.paper{background:var(--paper);color:var(--paper-ink);border-radius:14px;border:1px solid var(--line);padding:4px;overflow:hidden}.sheet{background:var(--paper);color:var(--paper-ink);padding:22px 22px 26px;display:flex;flex-direction:column;gap:14px;font-family:var(--f-body)}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--paper-ink);padding-bottom:12px}.sheet-kicker{margin:0;font-size:12px;color:var(--paper-muted);letter-spacing:.04em}.sheet-title{font-family:var(--f-display);font-weight:400;font-size:1.8rem;line-height:1.2}.sheet-school{margin:2px 0 0;font-weight:600}.sheet-id{border-collapse:collapse;font-size:13px;min-width:210px}.sheet-id th,.sheet-id td{border:1px solid var(--paper-line);padding:4px 10px;text-align:left}.sheet-id th{background:var(--paper-soft);font-weight:600;width:64px;white-space:nowrap}.sheet-sub{font-size:1rem;font-weight:700;margin-top:4px}.sheet-sub small{font-weight:400;color:var(--paper-muted)}.sheet-empty{color:var(--paper-muted);margin:0}.tt-scroll{overflow-x:auto}.swipe-hint{display:none;margin:-6px 0 0;font-size:12px;color:var(--paper-muted)}@media (max-width: 760px){.swipe-hint{display:block}}.tt{display:grid;grid-template-columns:54px repeat(var(--days),minmax(0,1fr));min-width:720px;border:1px solid var(--paper-line);border-radius:8px;overflow:hidden}.tt-corner,.tt-day{background:var(--paper-soft);border-bottom:1px solid var(--paper-line);height:34px;display:grid;place-items:center;font-weight:700;font-size:14px}.tt-corner{font-size:11px;color:var(--paper-muted);font-weight:600}.tt-day{border-left:1px solid var(--paper-line)}.tt-times{position:relative}.tt-tick{position:absolute;right:7px;transform:translateY(-50%);font-size:11px;color:var(--paper-muted);font-variant-numeric:tabular-nums;line-height:1}.tt-tick.first{transform:translateY(3px)}.tt-tick.last{transform:translateY(calc(-100% - 3px))}.tt-gaplabel{position:absolute;left:0;right:0;display:grid;place-items:center;color:var(--paper-muted);background:var(--paper-soft)}.tt-col{position:relative;border-left:1px solid var(--paper-line)}.tt-line{position:absolute;left:0;right:0;border-top:1px solid var(--paper-line)}.tt-line.half{border-top:1px dashed #bcc5c0}.tt-gap{position:absolute;left:0;right:0;background:var(--paper-soft);border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}.tt-gaptext{position:absolute;left:8px;display:flex;align-items:center;font-size:11px;color:var(--paper-muted);white-space:nowrap;z-index:2}.tt-block{position:absolute;z-index:3;overflow:hidden;background:var(--b-bg);color:var(--b-ink);border:1px solid var(--b-line);border-left-width:4px;border-radius:6px;padding:4px 6px;display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.3}.tt-block>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-block b{font-size:12.5px}.tt-block b small{font-weight:600;opacity:.85}.tt-block span{font-variant-numeric:tabular-nums}.tt-block .room{opacity:.8}.tt-block.short{flex-direction:row;flex-wrap:wrap;column-gap:6px;align-items:center;padding-block:2px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--paper-muted)}.legend .lg{display:inline-flex;align-items:center;gap:6px}.legend i{width:14px;height:14px;border-radius:4px;border:2px solid;display:inline-block}.fee-wrap{overflow-x:auto}.fee{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.fee th,.fee td{border:1px solid var(--paper-line);padding:6px 8px;text-align:center}.fee th{background:var(--paper-soft);font-weight:600;white-space:nowrap}.fee td.l{text-align:left}.fee td.when{font-size:12px;color:var(--paper-muted)}.fee td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fee td.strong{font-weight:700}.fee tfoot td{background:var(--paper-soft);font-weight:700}.fee tfoot small{font-weight:400;color:var(--paper-muted)}.fee td.total{font-size:15px;color:var(--paper-ink)}.sheet-notice{border:1px solid var(--paper-line);border-radius:8px;padding:10px 14px;font-size:13px;background:var(--paper-soft)}.sheet-notice p{margin:4px 0 0;line-height:1.6}.sheet-export{width:1120px;padding:34px 36px 38px}.sheet-export .tt,.sheet-export .fee{min-width:0}.landing{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-block:40px;gap:16px}.landing-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,5vw,44px);display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.landing-card:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--brand)}.landing-card .eyebrow{color:var(--brand);font-weight:700}.landing-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,7vw,3.2rem);line-height:1.15}.demo-cta{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px dashed var(--line);color:var(--muted)}.landing-foot{text-align:center;margin:0;color:var(--muted)}.admin-bar{background:var(--ink);color:var(--bg);padding-top:env(safe-area-inset-top,0px)}.admin-bar-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px}.admin-title{font-family:var(--f-display);font-weight:400;font-size:1.35rem}.admin-user{display:flex;align-items:center;gap:10px;font-size:.88rem;flex-wrap:wrap}.admin-user .btn{color:var(--bg);border-color:color-mix(in srgb,var(--bg) 40%,transparent)}.demo-banner{background:var(--chalk);color:#2b2100;font-size:.88rem;padding-block:8px}.admin-sub{margin-bottom:-4px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}.tab{border:0;background:none;padding:10px 14px;cursor:pointer;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}.tab.on{color:var(--ink);border-bottom-color:var(--brand)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.row:first-child{border-top:0}.row.off .row-main>b{color:var(--muted);text-decoration:line-through}.row-main{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.row-main>.muted{display:inline}.row-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.dot{width:18px;height:18px;border-radius:6px;border:2px solid;flex:none;display:inline-block;margin-top:3px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:.78rem;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.tag.ok{color:var(--ok)}.tag.warn{color:var(--warn)}.sec-sum{list-style:none;margin:0;padding:0;font-size:.86rem;color:var(--muted);font-variant-numeric:tabular-nums}.sec-sum b{color:var(--ink)}.group-title{display:flex;align-items:center;gap:8px;font-size:1rem;margin-top:8px;padding-top:12px;border-top:2px solid var(--line)}.group-title .dot{margin-top:0}.table-wrap{overflow-x:auto}.list{width:100%;border-collapse:collapse}.list th,.list td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.list th{font-size:.85rem;color:var(--muted);font-weight:600}.list .actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.url-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.url-row code{flex:1 1 260px;padding:10px 12px;overflow-wrap:anywhere}.qr-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.qr{width:148px;height:148px;display:grid;place-items:center;background:#fff;border-radius:10px;border:1px solid var(--line);flex:none}.qr img{width:136px;height:136px;image-rendering:pixelated}.qr-row .muted{flex:1 1 220px}.code-area{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line);cursor:pointer;font-size:.86rem}.swatch input{position:absolute;opacity:0}.swatch i{width:22px;height:22px;border-radius:50%;border:2px solid}.swatch:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);font-weight:700}.fee-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}.fee-sum{display:flex;flex-direction:column;gap:6px}.fee-sum span{font-weight:600;font-size:.92rem}.fee-sum b{min-height:42px;display:flex;align-items:center;font-variant-numeric:tabular-nums}.sec-edit{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}.sec-edit+.sec-edit{margin-top:10px}.sec-edit-head{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sec-edit-head .field input{width:110px}.sec-edit-head .btn{margin-left:auto}.slots{display:flex;flex-direction:column;gap:8px}.slot{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.time-pair{display:inline-flex;align-items:center;gap:6px}.time-pair input{width:150px}.errs{background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:10px 14px;font-size:.9rem}.errs ul{margin:6px 0 0;padding-left:18px}.back-line{margin:0}.modal-back{position:fixed;inset:0;z-index:50;background:#0a140f73;display:flex;align-items:flex-start;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 24px max(12px,env(safe-area-inset-left,0px));overflow-y:auto}.modal{background:var(--surface);color:var(--ink);width:100%;max-width:560px;border-radius:18px;box-shadow:0 20px 60px #0000004d}.modal-wide{max-width:880px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.1rem}.modal-body{padding:18px;display:flex;flex-direction:column;gap:14px}.confirm-text{margin:0}.hint{margin:0;color:var(--muted);font-size:.92rem}.preview-img{width:100%;border:1px solid var(--line);border-radius:8px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;max-width:min(92vw,560px);background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:.92rem}.toast-error{background:var(--danger);color:#fff}@media (max-width: 720px){.cat-grid{grid-template-columns:minmax(0,1fr)}.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-form.two{grid-template-columns:minmax(0,1fr)}.fee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-in{font-size:.9rem}.sheet{padding:14px 12px 18px}.sheet-title{font-size:1.45rem}.sheet-actions .btn-row{width:100%}.sheet-actions .btn-row .btn{flex:1 1 0}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff}body *{visibility:hidden}.paper,.paper *{visibility:visible}.paper{position:absolute;left:0;top:0;width:100%;border:0;padding:0}.tt,.fee{min-width:0}.bottom-bar,.toast{display:none}}:root{--shade: rgba(60, 70, 65, .07)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--shade: rgba(255, 255, 255, .05)}}:root[data-theme=dark]{--shade: rgba(255, 255, 255, .05)}.sec.blocked{cursor:not-allowed;color:var(--muted);border-style:dashed;background:repeating-linear-gradient(135deg,var(--shade) 0 6px,transparent 6px 12px),var(--surface-2)}.sec.blocked:hover{border-color:var(--line)}.sec.blocked b,.sec.blocked span{opacity:.6}.sec .why,.cat-card .why{color:var(--warn);font-weight:600;font-size:.8rem}.prog.blocked{background:var(--surface-2)}.prog.blocked .prog-head,.prog.blocked .desc,.prog.blocked .fee-parts{opacity:.55}.cat-card.blocked{background:repeating-linear-gradient(135deg,var(--shade) 0 6px,transparent 6px 12px),var(--surface-2)}.cat-card.blocked .cat-swatch,.cat-card.blocked b{opacity:.55}.warn-note{color:var(--warn);border:1px solid currentColor;background:transparent}.fee-tag.tbd{color:var(--warn)}.rule-card{border-color:var(--brand)}.big-check{font-size:1rem}.big-check input{width:22px;height:22px;margin-top:2px}.rule-state{margin:0;font-size:.86rem;font-weight:700;color:var(--muted)}.rule-state.on{color:var(--ok)}.q-bar{display:flex;flex-direction:column;gap:6px;padding-top:14px}.q-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.q-tab{flex:none;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer}.q-tab:hover{border-color:var(--brand)}.q-tab.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.q-tab.now{border-style:dashed}.q-tab.now.on{border-style:solid}.q-range{margin:0;font-size:.86rem;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.q-note{margin-top:14px}.q-table td{vertical-align:middle}.q-table input[data-q=name]{width:96px}.q-table input[type=date]{width:150px}.small-check{font-size:.8rem;margin-top:4px;white-space:nowrap}.small-check input{width:15px;height:15px;margin-top:1px}.q-unit-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.q-unit-form .field{flex:0 1 230px}.tt-block.tt-regular{--b-line: #9aa59f;--b-bg: #eef1ef;--b-ink: #4f5a55;background:#f3f5f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M-1 1l2-2M0 10L10 0M9 11l2-2' stroke='%23dfe4e1' stroke-width='3.6'/%3E%3C/svg%3E") repeat;background-size:10px 10px;border:3px dashed #9aa59f;color:#4f5a55}.legend i.lg-regular{background:#f3f5f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M-1 1l2-2M0 10L10 0M9 11l2-2' stroke='%23dfe4e1' stroke-width='3.6'/%3E%3C/svg%3E") repeat;background-size:6px 6px;border:2px dashed #b9c2bd}.sheet-notice.top{background:transparent;border-left:4px solid var(--paper-ink);border-radius:0 8px 8px 0}.sheet-notice.top p{margin:0}.sheet-contacts{margin:6px 0 0}.sheet a{color:inherit;text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums}.notice-banner{border:1px solid var(--line);border-left:4px solid var(--chalk);background:var(--surface);border-radius:0 12px 12px 0;padding:12px 16px;line-height:1.65}.contact-box{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}.contact-box ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.contact-box li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.contact-box li span{color:var(--muted);font-size:.9rem}.tel{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums}.tel:before{content:"☎";font-weight:400}.fee-toggle{align-items:center;padding:0 12px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600}.fee-toggle input{margin-top:0}.q-tab.temp{border-color:var(--warn)}.q-tab.temp small{color:var(--warn);font-weight:700}.q-tab.temp.on small{color:var(--on-brand)}.ct-list{display:flex;flex-direction:column;gap:8px}.ct-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ct-row input[data-c=label],.ct-row input[data-c=phone]{flex:1 1 160px}input[type=tel]{width:100%;min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.notice-field .check{font-weight:400}.reg-table th,.reg-table td{padding:6px;white-space:nowrap}.reg-table input[type=time]{width:116px;padding-inline:8px}.fill-all{display:inline-flex;gap:6px;align-items:center}.radio-row{display:flex;gap:8px 18px;flex-wrap:wrap}.temp-card{border-left:4px solid var(--warn)}.ext-link{color:var(--brand);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;font-weight:600}.sheet .ext-link{color:var(--paper-ink);text-decoration:underline}.exclusive-check{padding:10px 12px;border:1px dashed var(--warn);border-radius:10px}.transfer-in{border:2px solid var(--chalk)}.transfer-card{border-left:4px solid var(--brand)}.steps-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.narrow-wrap{max-width:560px;width:100%;margin:0 auto}.invite-card{border-left:4px solid var(--chalk)}.invite-intro{margin-top:16px}.adm-cell{min-width:220px}.adm-list{display:flex;flex-direction:column;gap:4px;font-size:.88rem}.adm-line{display:inline-flex;align-items:center;gap:6px;overflow-wrap:anywhere}.inv-school{margin-top:6px;padding:8px 12px;border-radius:10px;background:var(--surface-2);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.9rem}.inv-school .inv-k{font-size:.78rem;color:var(--muted)}.inv-school .inv-sep{color:var(--muted)}.inv-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.log-card{border-left:4px solid var(--ink)}.log-sum{display:flex;flex-wrap:wrap;gap:8px}.sum-chip{padding:6px 12px;border-radius:999px;background:var(--surface-2);font-size:.88rem}.sum-chip b{font-size:1.05rem;font-variant-numeric:tabular-nums;margin-right:2px}.sum-chip.k-create b,.kind-tag.k-create{color:var(--ok)}.sum-chip.k-transfer b,.kind-tag.k-transfer{color:var(--warn)}.sum-chip.k-remove b,.kind-tag.k-remove{color:var(--danger)}.log-filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.log-filters select{width:auto}.log-q input{width:200px}.log-wrap{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px}.log-table{font-size:.86rem}.log-table thead th{position:sticky;top:0;background:var(--surface)}.log-table td{white-space:nowrap}.log-table td.muted{white-space:normal;min-width:180px}.kind-tag{font-weight:700;font-size:.8rem}input[type=search]{min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.show-toggle{display:inline-flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-size:.75rem;font-weight:700;color:var(--ok)}.show-toggle input{width:20px;height:20px;accent-color:var(--brand)}.q-off td,.q-off .show-toggle{color:var(--muted)}.q-off input[type=date],.q-off input[data-q=name]{opacity:.6}@keyframes autoFill{0%{background:color-mix(in srgb,var(--chalk) 55%,var(--surface))}to{background:var(--surface)}}input.auto-filled{animation:autoFill 1.6s ease-out;border-color:var(--chalk)}@media (prefers-reduced-motion: reduce){input.auto-filled{animation:none}}.btn.needs-save{box-shadow:0 0 0 3px var(--chalk)}.staff-field input#pg-staff-etc{max-width:360px}.import-box{border-style:dashed}.file-btn{position:relative;align-self:flex-start;cursor:pointer}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-btn:focus-within{outline:3px solid var(--chalk);outline-offset:2px}.cmp-table{font-size:.88rem}.cmp-table td{vertical-align:top}.cmp-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;background:var(--surface-2)}.cmp-tag.ok{color:var(--ok)}.cmp-tag.warn{color:var(--warn)}.cmp-tag.bad{color:var(--danger)}.cmp-changed td,.cmp-missing td,.cmp-blocked td{background:color-mix(in srgb,var(--danger-bg) 45%,transparent)}.tel.url:before{content:"↗";margin-right:6px}.tel.url{max-width:min(70vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;line-height:36px}.sheet-contacts a.url{overflow-wrap:anywhere}.tt-gap.reg{background:repeating-linear-gradient(135deg,#e9ecea 0 5px,#f4f6f5 5px 10px);border-top:1px dashed #b9c2bd;border-bottom:1px dashed #b9c2bd}.tt-gapreg{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11.5px;font-weight:700;color:#4f5a55;z-index:2;white-space:nowrap;overflow:hidden}.tt-gapreg em{font-style:normal;font-weight:400;font-size:10.5px;opacity:.8}.tt-gaplabel.reg{background:repeating-linear-gradient(135deg,#e9ecea 0 5px,#f4f6f5 5px 10px);color:#4f5a55;font-weight:700}.back{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;padding:0 18px 0 14px;border-radius:999px;border:1.5px solid var(--brand);background:var(--surface);color:var(--ink);font-size:1rem;font-weight:700;cursor:pointer}.back span{color:var(--brand);font-size:1.15rem;line-height:1}.back:hover{background:var(--surface-2)}.bottom-in{flex-wrap:wrap}.bottom-btns{display:flex;gap:8px}.bottom-btns .btn{min-height:46px}@media (max-width: 720px){body{font-size:16px}input,select,textarea,input[type=search]{font-size:16px!important}.main{padding-block:16px 140px;gap:14px}.panel{padding:16px;border-radius:14px}.h2{font-size:1.3rem}.school-bar-in{padding-block:16px 14px;align-items:center}.school-name{font-size:1.45rem}.school-bar .link-btn{font-size:.85rem;padding:8px 0 8px 8px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-top:12px}.step{justify-content:center;padding:8px 2px;gap:4px;font-size:.78rem;border-radius:10px;white-space:nowrap;min-width:0;letter-spacing:-.02em}.step em{width:18px;height:18px;font-size:.7rem}.q-bar{padding-top:10px}.q-tabs{margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));scrollbar-width:none}.q-tabs::-webkit-scrollbar{display:none}.q-tab{min-height:40px;padding:0 14px;font-size:.95rem}.grade-btn{aspect-ratio:auto;min-height:76px}.grade-btn b{font-size:1.9rem}.cat-card{padding:14px;gap:12px}.cat-swatch{width:32px;height:32px}.badge{position:static;align-self:center;margin-left:auto;flex:none}.prog{padding:14px;border-radius:14px}.prog-head{flex-wrap:wrap}.fee-tag{text-align:left;flex-direction:row;gap:6px;align-items:baseline}.sec-list{grid-template-columns:minmax(0,1fr)}.sec{padding:12px 14px;min-height:64px}.sec span{font-size:.95rem}.sec small,.sec .why{font-size:.82rem}.bottom-in{flex-direction:column;align-items:stretch;gap:8px;padding-block:10px 12px}.bottom-sum{font-size:.92rem}.bottom-btns .btn{flex:1 1 0;font-size:1rem}.bottom-btns .btn.ghost{flex:0 0 auto;padding:0 16px}.toast{bottom:calc(128px + env(safe-area-inset-bottom,0px))}.sheet-actions{position:static;flex-direction:column;align-items:stretch;gap:10px;padding-block:0}.sheet-actions .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.sheet-actions .btn-row .btn,.sheet-actions .fee-toggle{width:100%;justify-content:center;min-height:46px}.sheet-actions .fee-toggle{padding:0 10px;font-size:.95rem}.sheet-actions .btn-row>:last-child:nth-child(odd){grid-column:1 / -1}.paper{border-radius:12px;padding:0}.sheet-head{gap:10px}.sheet-id{min-width:0;width:100%}.swipe-hint{font-size:13px}.contact-box ul{flex-direction:column}.contact-box li{justify-content:space-between}.tel{min-height:42px;font-size:1rem}.modal-back{padding:12px 0 0;align-items:flex-end}.modal{border-radius:18px 18px 0 0;max-height:calc(100dvh - 12px);overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.modal-head{position:sticky;top:0;background:var(--surface);z-index:1}.admin-bar-in{padding-block:12px}.admin-title{font-size:1.15rem}.tabs{margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 12px}.row-btns{width:100%}.row-btns .btn{flex:1 1 auto}}.imp-box-modal{display:flex;flex-direction:column;gap:14px}.imp-warn{border:2px solid var(--danger);background:var(--danger-bg);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.imp-warn-title{margin:0;font-weight:800;font-size:1.05rem;color:var(--danger)}.imp-warn ul{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:10px}.imp-warn li{line-height:1.6}.imp-warn li .btn{margin-top:6px;display:flex;width:fit-content}.imp-warn .hint{margin:0}.imp-per{display:inline-block;font-size:.78rem;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.cmp-overlap td,.cmp-regular td{background:color-mix(in srgb,var(--danger-bg) 45%,transparent)}@media (max-width: 720px){.cmp-table thead{display:none}.cmp-table,.cmp-table tbody{display:block}.cmp-table tr{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px 4px;border-bottom:1px solid var(--line)}.cmp-table td{display:block;padding:0;border:0;background:none!important}.cmp-table td:nth-child(2){align-self:center;color:var(--muted);font-size:.85rem}.cmp-table td:nth-child(n+3){grid-column:1 / -1}.cmp-table td.cmp-none{display:none}.cmp-table tr.cmp-changed,.cmp-table tr.cmp-missing,.cmp-table tr.cmp-blocked,.cmp-table tr.cmp-overlap,.cmp-table tr.cmp-regular{background:color-mix(in srgb,var(--danger-bg) 45%,transparent);border-radius:10px;padding-inline:10px}.imp-box-modal .row-end{position:sticky;bottom:0;background:var(--surface);padding-block:10px;margin-bottom:-10px}.imp-box-modal .row-end .btn{flex:1 1 auto}}.google-btn{width:100%;min-height:48px;font-size:1rem;font-weight:700;background:var(--surface);border:1.5px solid var(--ink);color:var(--ink)}.google-btn:hover:not(:disabled){background:var(--surface-2)}.or-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--line)}.warn-note .btn{margin-top:8px}.modal.nudge{animation:modal-nudge .32s ease}@keyframes modal-nudge{0%,to{transform:none}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion: reduce){.modal.nudge{animation:none;box-shadow:0 0 0 3px var(--chalk)}}.cat-card.cat-custom{border-style:dashed;border-width:1.5px;border-color:var(--muted);background:transparent;--c-line: var(--brand)}.cat-card.cat-custom .cat-swatch{display:grid;place-items:center;background:var(--surface-2);border:2px dashed var(--muted);color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1}.custom-list li{padding-block:6px}.custom-list .cu-btns{display:flex;align-items:center;gap:4px;flex:none}.cu-dot{display:inline-block;width:12px;height:12px;border-radius:3px;border:2px solid;margin-right:6px;vertical-align:-1px}.custom-list .hint{margin:0}.tt-block.custom{border-style:dashed;border-left-style:solid}.legend i.lg-custom{background:#f4f6f5;border:2px dashed #7d8584}.fee.custom-table td.l{text-align:left}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;font-weight:700;white-space:nowrap}.switch input{appearance:none;-webkit-appearance:none;width:40px;height:24px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.switch input:checked{background:var(--brand)}.switch input:checked:after{transform:translate(16px)}.switch input:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}tr.row-off td{opacity:.55}tr.row-off td:first-child{opacity:1}.home-link,.school-home{font-size:.82rem;font-weight:600;white-space:nowrap}.school-home{color:inherit;opacity:.85;display:inline-block;margin-top:4px}.tel-mini{font-size:.85rem;white-space:nowrap}.code-mode{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:6px}input.code-auto{background:var(--surface-2);color:var(--ink)}.code-hint{display:block;min-height:1.2em;color:var(--muted);font-size:.82rem;margin-top:4px;word-break:break-all}.code-hint.bad{color:var(--danger)}.off-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.off-banner .btn{margin-left:auto}.code-zone .inline-form{margin-top:8px}.tt-block b{white-space:normal;text-overflow:clip;word-break:keep-all;overflow-wrap:anywhere;line-height:1.25;flex:none}.tt-block>span{flex:none}.tt-block.short b{flex:0 1 auto}.sheet-export .tt-block b{word-break:break-all}.btn.backup{background:#fff3c4;border-color:#c99a06;color:#5c4300;font-weight:800}.btn.backup:hover:not(:disabled){background:#ffe991}.btn.backup:disabled{opacity:.5}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn.backup{background:#4a3a06;border-color:#e8b740;color:#ffe7a0}}:root[data-theme=dark] .btn.backup{background:#4a3a06;border-color:#e8b740;color:#ffe7a0}.import-box .file-btn.backup{align-self:flex-start}.imp-info{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2)}.imp-info ul,.clash-note ul{margin:6px 0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.imp-info-title{margin:0;font-weight:700}.clash-note{color:var(--danger);border-color:var(--danger)}.clash-note li{color:var(--ink)}.tt-block.fit1 .room{display:none}.tt-block.fit2>span{display:none}.tt-block.fit3 b{font-size:11px;line-height:1.2}.tt-block.fit4 b{font-size:10px;line-height:1.15}.tt-block.fit4 b small{display:none}.adm-cell{min-width:240px}.adm-line{display:flex;align-items:flex-start;gap:8px}.adm-line .tag{flex:none;white-space:nowrap}.adm-who{display:flex;flex-direction:column;min-width:0;line-height:1.35}.adm-mail{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}table.list code{white-space:nowrap}.fee-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 720px){.fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.swatch{position:relative;min-width:0;padding:6px 8px 6px 6px;border-radius:12px}.swatch span{display:flex;flex-direction:column;min-width:0;line-height:1.2}.swatch span small{font-size:.7rem;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch i{flex:none}.swatch.used{border:2px dashed var(--sw-line);padding:5px 7px 5px 5px}.swatch.used:after{content:"사용 중";position:absolute;top:-8px;right:6px;font-size:.62rem;font-weight:800;color:#fff;background:var(--sw-line);padding:1px 6px;border-radius:999px}.swatch:has(input:checked){border:2px solid var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent);padding:5px 7px 5px 5px}.swatch:has(input:focus-visible){outline:3px solid var(--chalk);outline-offset:2px}@media (max-width: 480px){.swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}.swatches{padding-top:8px;row-gap:14px}.layout-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.layout-label{font-size:.85rem;font-weight:700;color:var(--muted);margin-right:2px}.layout-opt{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-size:.9rem;font-weight:600}.layout-opt input{position:absolute;opacity:0;pointer-events:none}.layout-opt i{display:inline-block;border:2px solid currentColor;border-radius:2px;opacity:.7}.layout-opt .lo-landscape{width:20px;height:14px}.layout-opt .lo-portrait{width:14px;height:20px}.layout-opt .lo-square{width:16px;height:16px}.layout-opt:has(input:checked){border:2px solid var(--brand);color:var(--brand);padding:0 11px;background:color-mix(in srgb,var(--brand) 8%,var(--surface))}.layout-opt:has(input:checked) i{opacity:1}.layout-opt:has(input:focus-visible){outline:3px solid var(--chalk);outline-offset:2px}@media (max-width: 720px){.layout-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.layout-label{grid-column:1 / -1}.layout-opt{justify-content:center;min-height:44px}}.tt{--tt-in: 5px}.tt-col{border-left-color:var(--paper-line)}.sheet{padding-inline:28px}.sheet-export{padding:36px 52px 40px}.sheet-export .tt{--tt-in: 7px}.sheet-export .tt-block{padding:5px 8px}@media (max-width: 720px){.sheet{padding-inline:16px}}.free-check{margin-bottom:8px}fieldset.is-free .fee-grid input{background:var(--surface-2);color:var(--muted)}fieldset.is-free .fee-sum b{color:var(--ok)}.fee td .dash{color:var(--paper-muted, #888)}.xl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:12px 0 4px;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2)}.xl-bar small{display:block}.xl-preview{display:flex;flex-direction:column;gap:14px}.xl-sum{display:flex;flex-wrap:wrap;gap:6px;margin:0}.xl-table td{vertical-align:top;font-size:.88rem}.xl-table td div+div{margin-top:2px}.xl-mode{display:flex;flex-direction:column;gap:8px}.xl-mode .check{align-items:flex-start}@media (max-width: 720px){.xl-bar .btn-row{width:100%;display:grid;grid-template-columns:1fr 1fr}.xl-bar .file-btn{grid-column:1 / -1}}.xl-table th,.xl-table td:nth-child(1),.xl-table td:nth-child(3),.xl-table td:nth-child(6),.xl-table td:nth-child(7){white-space:nowrap}.landing-form{display:flex;flex-direction:column;gap:8px}.landing-form .field input{font-size:1.1rem;min-height:52px}.landing-form .hint{margin:0}.landing-form .btn{min-height:52px;font-size:1.05rem;margin-top:6px}@media (min-width: 640px){.landing-form{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:end}.landing-form .field{grid-column:1}.landing-form .btn{grid-column:2;grid-row:1;margin-top:0}.landing-form .hint{grid-column:1 / -1}}.demo-cta code{font-size:1rem;font-weight:700;color:var(--ink);background:var(--surface-2);padding:1px 8px;border-radius:6px}.example-note{border-left:4px solid var(--chalk)}.landing-card{padding:0;gap:0}.landing-card:before{display:none}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:24px;padding:clamp(26px,6vw,46px) clamp(22px,5vw,44px) clamp(24px,5vw,38px);background:var(--brand);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.hero>*{position:relative}.hero-kicker{margin:0 0 14px;font-size:.95rem;font-weight:700;color:#ffffffc7;letter-spacing:-.01em}.landing-title{font-family:var(--f-body);font-weight:700;font-size:clamp(2.15rem,8.4vw,3.5rem);line-height:1.12;letter-spacing:-.045em;margin:0;word-break:keep-all;text-wrap:balance}.hero-week{position:relative;height:150px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:22px 1fr;column-gap:6px}.hw-day{grid-row:1;text-align:center;font-size:.78rem;font-weight:700;color:#ffffffb3}.hw-col{grid-row:2;border-radius:8px;background:#ffffff14}.hw-b{position:absolute;z-index:1;top:calc(22px + (100% - 22px) * var(--top));height:calc((100% - 22px) * var(--h));left:calc((100% + 6px) / 5 * (var(--col) - 1));width:calc((100% - 24px)/5);border-radius:6px;border-left:4px solid var(--l);background:var(--b);box-shadow:0 4px 10px #0000002e}.hw-b{display:flex;flex-direction:column;gap:1px;padding:4px 3px 0 4px;overflow:hidden;font-style:normal;line-height:1.15;color:color-mix(in srgb,var(--l) 72%,#000)}.hw-b b{font-size:11.5px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.hw-b small{font-size:9px;font-weight:600;opacity:.8;font-variant-numeric:tabular-nums;white-space:nowrap}.hw-b.c1{--b: #ffe5ee;--l: #d4497a}.hw-b.c2{--b: #e4eeff;--l: #3b6fd4}.hw-b.c3{--b: #ffeedd;--l: #e07a1f}.hw-b.c4{--b: #e0f4ff;--l: #1e90c8}@media (prefers-reduced-motion: no-preference){.hw-b{animation:hw-in .5s cubic-bezier(.2,.8,.3,1.2) both}.hw-b:nth-of-type(2){animation-delay:.08s}.hw-b:nth-of-type(3){animation-delay:.16s}.hw-b:nth-of-type(4){animation-delay:.24s}.hw-b:nth-of-type(5){animation-delay:.32s}.hw-b:nth-of-type(6){animation-delay:.4s}.hw-b:nth-of-type(7){animation-delay:.48s}.hw-b:nth-of-type(8){animation-delay:.56s}@keyframes hw-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}}.landing-body{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,5vw,38px) clamp(22px,5vw,44px) clamp(22px,5vw,40px)}@media (max-width: 560px){.hero{grid-template-columns:1fr;gap:22px}.hero-week{height:140px}.hw-b{padding:4px 4px 0 6px}}.code-hint.warn{color:var(--warn)}.try-banner{background:var(--chalk);color:#3b2f00}.try-banner .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}.try-banner .btn{background:#fff;border-color:#0003;color:#3b2f00;flex:none}.try-line{margin:4px 0 0;color:var(--muted);font-size:.92rem}.try-banner .wrap>span{flex:1 1 420px}.field.inline>span{white-space:nowrap}.sheet-personal .tt-block.custom{border-style:solid}.no-code{margin:-4px 0 0;color:var(--muted);font-size:.95rem}.no-code .link-btn{font-weight:700;color:var(--brand)}.ok-note{border-left:4px solid var(--ok);color:var(--ink)}.site-foot{padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:.82rem;text-align:center;border-top:1px solid var(--line);margin-top:24px}.site-foot p{margin:2px 0}.site-foot .ver{display:inline-block;margin-left:4px;padding:0 7px;border-radius:999px;background:var(--surface-2);font-variant-numeric:tabular-nums;font-weight:600}.has-bottom-bar .site-foot{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}.landing+.site-foot,#app:has(.landing)+.site-foot{border-top:0;margin-top:0}.sponsor{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--pink, #d4497a) 55%,var(--line));background:color-mix(in srgb,#ffe5ee 55%,var(--surface))}.sponsor p{margin:0;flex:1 1 240px;font-size:.95rem;line-height:1.5;color:var(--ink)}.sponsor-heart{color:#d4497a;font-size:1.2rem;line-height:1}.sponsor .btn{flex:none}.user-sponsor{margin-top:4px}.admin-sponsor{margin-top:8px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .sponsor{background:color-mix(in srgb,#5a1f33 45%,var(--surface))}}:root[data-theme=dark] .sponsor{background:color-mix(in srgb,#5a1f33 45%,var(--surface))}.site-card .sponsor-set{display:flex;flex-direction:column;gap:10px}.site-card .sponsor-set legend{font-weight:700}.site-preview{display:flex;flex-direction:column;gap:6px}.site-preview:empty{display:none}.site-preview p{margin:0}.ver-badge{font-size:.82rem;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--surface-2);color:var(--muted)}[hidden]{display:none!important}.admin-tools{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}.theme-pick{display:inline-flex;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--bg) 14%,transparent);border:1px solid color-mix(in srgb,var(--bg) 30%,transparent)}.theme-pick button{appearance:none;border:0;background:transparent;color:color-mix(in srgb,var(--bg) 80%,transparent);font:inherit;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;cursor:pointer;min-height:30px}.theme-pick button span[aria-hidden]{font-size:.95rem;line-height:1}.theme-pick button[aria-pressed=true]{background:var(--bg);color:var(--ink)}.theme-pick button:focus-visible{outline:3px solid var(--chalk);outline-offset:1px}@media (max-width: 480px){.theme-pick .tp-l{display:none}.theme-pick button{padding:5px 10px}}:root{--bar-bg: #1b2420;--bar-ink: #f3f6f2}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bar-bg: #070b09;--bar-ink: #e6ede8}}:root[data-theme=dark]{--bar-bg: #070b09;--bar-ink: #e6ede8}.admin-bar{background:var(--bar-bg);color:var(--bar-ink);border-bottom:1px solid color-mix(in srgb,var(--bar-ink) 10%,transparent)}.admin-user .btn{color:var(--bar-ink);border-color:color-mix(in srgb,var(--bar-ink) 40%,transparent)}.theme-pick{background:color-mix(in srgb,var(--bar-ink) 10%,transparent);border-color:color-mix(in srgb,var(--bar-ink) 28%,transparent)}.theme-pick button{color:color-mix(in srgb,var(--bar-ink) 78%,transparent)}.theme-pick button[aria-pressed=true]{background:var(--bar-ink);color:var(--bar-bg)}:root[data-theme=light]{color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .admin-bar~main a:not(.btn):not(.sponsor-link){color:#8fd4b4}}:root[data-theme=dark] .admin-bar~main a:not(.btn):not(.sponsor-link){color:#8fd4b4}.unsaved-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:2px solid var(--chalk);box-shadow:0 -6px 18px #0000001f;padding:10px 0 calc(10px + env(safe-area-inset-bottom));animation:unsaved-in .18s ease-out}.unsaved-in{display:flex;align-items:center;gap:10px}.unsaved-in>span:nth-child(2){flex:1;min-width:0;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsaved-dot{width:10px;height:10px;border-radius:50%;background:var(--chalk);flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--chalk) 30%,transparent)}@keyframes unsaved-in{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion: reduce){.unsaved-bar{animation:none}}body:has(.unsaved-bar) .main{padding-bottom:80px}.consent{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--surface-2);display:grid;gap:8px}.consent-title{margin:0;font-weight:700}.consent .req{color:var(--danger);font-weight:600;font-size:.9em}.consent-table,.policy-table{width:100%;border-collapse:collapse;font-size:.92rem}.consent-table th,.consent-table td,.policy-table th,.policy-table td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top;background:var(--surface)}.consent-table th{width:6.5em;white-space:nowrap;font-weight:600;color:var(--muted)}.policy-table thead th{background:var(--surface-2);font-weight:700}.consent .hint{margin:0}.consent-check{font-weight:600}.policy{line-height:1.7}.policy h3{font-size:1.02rem;margin:20px 0 6px}.policy p{margin:6px 0}.policy-table td:first-child{white-space:nowrap}.privacy-page .panel{max-width:860px}.foot-links{margin-top:6px!important}.foot-links .link-btn{color:var(--muted);font-size:.82rem}.policy,.consent{word-break:keep-all;overflow-wrap:anywhere}.policy-table th:first-child{white-space:nowrap}@media (max-width: 560px){.policy-table{font-size:.85rem}.policy-table th,.policy-table td{padding:6px 7px}}.view-switch{display:none;gap:4px;padding:4px;margin:0 0 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}.view-switch button{flex:1;min-height:40px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.95rem;cursor:pointer}.view-switch button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow)}.dl-wrap{display:none}@media screen and (max-width: 699px){.view-switch{display:flex}.show-list .dl-wrap{display:block}.show-list .paper{display:none}}.day-list{display:grid;gap:10px}.dl-day,.dl-fee{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.dl-day.today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.dl-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1.05rem}.dl-head small{margin-left:auto;color:var(--muted);font-weight:600;font-size:.85rem}.dl-reg{margin:0 0 8px;padding:6px 10px;border-radius:8px;font-size:.88rem;color:var(--muted);background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,transparent 6px 12px);border:1px dashed var(--line)}.dl-reg b{color:var(--ink)}.dl-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dl-item{display:flex;gap:12px;align-items:flex-start;padding:9px 12px;border-radius:10px;background:var(--b-bg);border-left:5px solid var(--b-line);color:var(--b-ink)}.dl-item.clash{outline:2px solid var(--danger);outline-offset:-2px}.dl-time{display:grid;flex:none;min-width:3.6em;font-variant-numeric:tabular-nums;line-height:1.25}.dl-time b{font-size:1rem}.dl-time small{font-size:.82rem;opacity:.8}.dl-body{display:grid;gap:2px;min-width:0;line-height:1.35}.dl-body>b{font-size:1rem;word-break:keep-all;overflow-wrap:anywhere}.dl-body>b small{font-weight:600;opacity:.8}.dl-meta{font-size:.82rem;opacity:.85}.dl-warn{font-size:.82rem;font-weight:700;color:#9b1c14}.dl-empty{margin:0;color:var(--muted);font-size:.9rem}.dl-fees{list-style:none;margin:0;padding:0}.dl-fees li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.95rem}.dl-fees li span{min-width:0;word-break:keep-all}.dl-fees li b{flex:none;font-variant-numeric:tabular-nums}.dl-fees.custom{margin-top:10px}.dl-total{display:flex;justify-content:space-between;margin:10px 0 0;font-size:1.05rem}.dl-total b{color:var(--brand);font-size:1.15rem;font-variant-numeric:tabular-nums}.dl-note{margin:4px 0 0;font-size:.82rem;color:var(--muted)}.dl-foot{margin:10px 2px 0;font-size:.85rem}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .dl-total b{color:var(--ok)}}:root[data-theme=dark] .dl-total b{color:var(--ok)}.kid-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.kid-label{font-size:.85rem;font-weight:700;color:var(--muted);margin-right:2px}.kid-chip{min-height:36px;padding:4px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:.92rem;cursor:pointer}.kid-chip small{font-weight:600;opacity:.75}.kid-chip.on{background:var(--chalk);border-color:var(--chalk);color:#2a2104}.kid-add{min-height:36px;padding:4px 12px;border-radius:999px;border:1.5px dashed var(--line);background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}.kid-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.kid-tools .hint{flex-basis:100%;margin:0}.danger-text{color:var(--danger)!important}.qr-side{flex:1 1 260px;display:grid;gap:8px}.qr-side .muted,.qr-side .hint{margin:0}.flyer-maker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start}@media (max-width: 760px){.flyer-maker{grid-template-columns:1fr}}.fl-preview-wrap{background:#e9ece9;border-radius:12px;padding:10px;overflow:hidden}.fl-preview{zoom:var(--fl-zoom, .4);width:860px;box-shadow:0 4px 18px #0000002e}.flyer{--fl-ink: #1d2421;--fl-muted: #5d6863;width:860px;min-height:1180px;background:#fff;color:var(--fl-ink);font-family:var(--f-body);padding:0 0 36px;box-sizing:border-box;display:flex;flex-direction:column}.fl-head{background:var(--fl-brand);color:#fff;padding:44px 56px 38px}.fl-kicker{margin:0 0 10px;font-size:20px;font-weight:700;opacity:.9}.fl-title{margin:0;font-family:var(--f-display);font-weight:400;font-size:50px;line-height:1.22;letter-spacing:-.5px;word-break:keep-all}.fl-school{margin:18px 0 0;display:inline-block;padding:6px 16px;border-radius:999px;background:#ffffff2e;font-size:22px;font-weight:700}.fl-intro{margin:30px 56px 0;font-size:21px;line-height:1.65;color:var(--fl-ink);word-break:keep-all}.fl-qr{margin:28px 56px 0;display:flex;gap:34px;align-items:center;padding:26px 30px;border:3px solid var(--fl-brand);border-radius:22px}.fl-qr img{width:250px;height:250px;flex:none;image-rendering:pixelated}.fl-qr-text{min-width:0}.fl-qr-lead{margin:0 0 18px;font-size:26px;line-height:1.35}.fl-qr-lead b{color:var(--fl-brand)}.fl-url-label{margin:0;font-size:16px;color:var(--fl-muted)}.fl-url{margin:4px 0 14px;font-size:19px;font-weight:700;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.fl-code{margin:0;display:inline-block;padding:8px 16px;border-radius:10px;background:#f1f4f2;font-size:18px}.fl-code b{font-size:22px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--fl-brand)}.fl-steps{list-style:none;counter-reset:fl;margin:30px 56px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fl-steps li{counter-increment:fl;position:relative;padding:52px 18px 20px;border-radius:18px;background:#f4f6f4;display:grid;gap:6px;align-content:start}.fl-steps li:before{content:counter(fl);position:absolute;left:18px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--fl-brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px}.fl-steps b{font-size:21px}.fl-steps span{font-size:16px;line-height:1.55;color:var(--fl-muted);word-break:keep-all}.fl-extra{margin:24px 56px 0;padding:18px 22px;border-left:6px solid var(--fl-brand);background:#fbf7e9;border-radius:0 14px 14px 0}.fl-extra p{margin:0;font-size:19px;line-height:1.6;font-weight:600;word-break:keep-all}.fl-notes{margin:24px 56px 28px;padding:0 0 0 22px;font-size:16.5px;line-height:1.7;color:var(--fl-muted)}.fl-notes b{color:var(--fl-ink)}.fl-contacts{margin:auto 56px 0;padding-top:22px;border-top:2px solid #e3e8e5;font-size:17px;display:flex;flex-wrap:wrap;gap:6px 18px}.fl-contacts b{color:var(--fl-brand);margin-right:4px}.q-tab .q-now{font-style:normal;font-size:.75rem;font-weight:700;margin-left:4px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.q-tab.on .q-now{background:#fff;color:var(--brand)}.q-tab.now{border-style:solid}.prog-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 14px;padding:10px 12px;border-radius:var(--r);background:var(--surface-2)}.pf-days{display:flex;flex-wrap:wrap;gap:6px}.pf-chip{min-height:36px;min-width:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}.pf-chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.pf-ok{font-weight:600}.pf-count{flex-basis:100%;margin:0;font-size:.88rem;color:var(--muted)}.resume{display:grid;gap:6px;margin:4px 0 18px;padding:12px 14px;border-radius:var(--r);background:var(--surface-2)}.resume>span{font-size:.85rem;font-weight:700;color:var(--muted)}.resume .btn{justify-self:start}.audit{margin:4px 0 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface)}.audit>summary,.audit.ok{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 14px;font-size:.95rem;cursor:pointer;list-style:none}.audit.ok{cursor:default;color:var(--muted)}.audit>summary::-webkit-details-marker{display:none}.audit-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none}.audit.warn{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.audit.warn .audit-dot{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 18%,transparent)}.audit.info .audit-dot{background:var(--chalk)}.audit-more{margin-left:auto;font-size:.85rem;color:var(--muted)}.audit-more:after{content:" ▾"}.audit[open] .audit-more:after{content:" ▴"}.audit-body{display:grid;gap:10px;padding:0 14px 14px}.audit-g{padding:10px 12px;border-radius:10px;background:var(--surface-2)}.audit-g.warn{background:var(--danger-bg)}.audit-t{margin:0;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-t .lv{font-size:.75rem;padding:1px 7px;border-radius:999px;background:var(--surface);color:var(--muted)}.audit-g.warn .lv{color:var(--danger)}.audit-g .hint{margin:4px 0 0}.audit-items{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.9rem}.audit-items .link-btn{font-size:.9rem;padding:2px 0}.pgroup>summary{list-style:none;cursor:pointer}.pgroup>summary::-webkit-details-marker{display:none}.pgroup>summary .group-title:before{content:"▾";display:inline-block;width:1em;color:var(--muted);font-size:.85em;transition:transform .15s}.pgroup:not([open])>summary .group-title:before{transform:rotate(-90deg)}.pgroup>summary .group-title .btn{margin-left:auto}.p-search input{min-width:180px}.p-count{margin:6px 0 0}.row-sel{display:flex;align-items:center;padding-right:4px}.row-sel input{width:20px;height:20px;accent-color:var(--brand)}.row.selected{background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.bulk-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:2px solid var(--brand);box-shadow:0 -6px 18px #0000001f;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}.bulk-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.bulk-n{margin-right:4px}.bulk-sep{width:1px;height:24px;background:var(--line);margin:0 4px}body:has(.bulk-bar) .main{padding-bottom:120px}.grid-form.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width: 560px){.grid-form.three{grid-template-columns:1fr}.bulk-sep{display:none}}.bulk-names{margin:0 0 12px}.tag{display:inline-block;width:max-content;max-width:100%}.newyear{border-style:dashed}@media (max-width: 640px){.admin-bar~main .tabs,.main .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible;border-bottom:0;margin-inline:0;padding-inline:0}.main .tab{white-space:normal;word-break:keep-all;text-align:center;line-height:1.25;padding:8px 4px;min-height:48px;font-size:.85rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.main .tab.on{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}}.sc-tools{margin-bottom:10px}.tab .t-short{display:none}@media (max-width: 640px){.main .tab .t-long{display:none}.main .tab .t-short{display:inline}}.list th{white-space:nowrap}.btn.kakao-btn{background:#fee500;border-color:#fee500;color:#191600;font-weight:700}.btn.kakao-btn:hover{background:#f5dc00}.kk-ic{display:inline-block;width:18px;height:16px;margin-right:6px;vertical-align:-2px;background:#191600;border-radius:50%/46%;position:relative}.kk-ic:after{content:"";position:absolute;left:4px;bottom:-3px;border:4px solid transparent;border-top-color:#191600;border-left-width:2px;transform:rotate(18deg)}.share-box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 640px){.share-box{grid-template-columns:1fr}}.share-thumb{width:100%;border-radius:10px;border:1px solid var(--line);background:#fff}.share-side{display:grid;gap:12px}.share-title{margin:0;line-height:1.5}.share-go{width:100%;min-height:52px;font-size:1.05rem}.share-side .hint{margin:0}.shared-banner{display:grid;gap:10px;margin:0 0 14px;padding:14px 16px;border-radius:var(--r);background:#fff8c7;border:1px solid #f0d64a;color:#2a2504}.shared-banner p{margin:0;line-height:1.55}.shared-banner .btn.ghost{color:#2a2504;border-color:#2a250459}.sync-box{border:1.5px dashed color-mix(in srgb,var(--brand) 55%,var(--line));border-radius:var(--r);padding:10px 14px 12px;background:color-mix(in srgb,var(--brand) 5%,var(--surface))}.sync-box legend{padding:0 6px}.sync-box .hint{margin:2px 0 8px}.sync-detail{display:grid;gap:8px}.sync-what{margin:0;font-size:.92rem}.q-table tr.q-picked td{background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.q-table th:first-child,.q-table td:first-child{width:36px;text-align:center}.q-table [data-qsel],#q-selall{width:18px;height:18px;accent-color:var(--danger)}.q-del-opts .check{align-items:flex-start}.req-card{display:grid;gap:4px;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);margin:8px 0}.req-card.pending{border-color:color-mix(in srgb,var(--chalk) 70%,var(--line));background:color-mix(in srgb,var(--chalk) 12%,var(--surface))}.req-card.rejected{background:var(--danger-bg)}.req-card p{margin:0}.req-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:1rem}.req-line code.to{font-weight:700;color:var(--brand)}.req-note{font-size:.92rem;color:var(--danger)}.req-card .btn-row{margin-top:4px}.req-panel{border:2px solid color-mix(in srgb,var(--chalk) 70%,var(--line))}.req-list{display:grid;gap:6px}.base-panel{border:1.5px solid color-mix(in srgb,var(--chalk) 70%,var(--line));background:color-mix(in srgb,var(--chalk) 7%,var(--surface))}.base-star{color:var(--chalk)}.base-panel .btn-row small{align-self:center}.drag-handle{flex:none;align-self:center;width:28px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:grab;touch-action:none;user-select:none}.drag-handle:hover{background:var(--surface-2);color:var(--ink)}.row.dragging{background:color-mix(in srgb,var(--brand) 10%,var(--surface));box-shadow:0 10px 26px #00000029;border-radius:10px;position:relative;z-index:2}.row.dragging .drag-handle{cursor:grabbing;color:var(--brand)}body.is-dragging,body.is-dragging *{cursor:grabbing!important;user-select:none}.sort-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0}.drag-hint{margin:8px 0 0}.switch-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:1rem}.switch-row input[role=switch]{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:46px;height:26px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 45%,var(--surface));transition:background .15s;cursor:pointer}.switch-row input[role=switch]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s}.switch-row input[role=switch]:checked{background:var(--brand)}.switch-row input[role=switch]:checked:after{transform:translate(20px)}.switch-row input[role=switch]:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}.try-set .hint{margin:6px 0 0}.try-closed{margin-top:24px}.try-closed p{line-height:1.6}.try-st{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:.8rem;font-weight:700;background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand)}.try-st.off{background:color-mix(in srgb,var(--muted) 16%,var(--surface));color:var(--muted)}.find-school{margin:-4px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.find-school>summary{cursor:pointer;padding:12px 14px;color:var(--muted);font-size:.95rem;list-style:none}.find-school>summary::-webkit-details-marker{display:none}.find-school>summary:after{content:"▾";float:right;color:var(--muted);transition:transform .15s}.find-school[open]>summary:after{transform:rotate(180deg)}.find-school>summary b{color:var(--brand)}.find-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;padding:0 14px 12px}.find-form .field input,.find-form .btn{min-height:46px}.find-result{padding:0 14px}.find-result:empty{display:none}.find-result>:last-child{margin-bottom:14px}.find-count{margin:0 0 8px;color:var(--muted);font-size:.9rem}.find-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.find-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--brand) 4%,var(--surface))}.find-item.closed{background:var(--surface)}.find-main{display:flex;flex-direction:column;gap:2px;min-width:0}.find-code code{font-size:1rem;font-weight:700;color:var(--brand)}.find-wait{color:var(--muted);font-size:.88rem}.find-home{overflow-wrap:anywhere}.find-item .btn{flex:none}.find-none{padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--warn, #b7791f) 10%,var(--surface))}.find-none p{margin:0 0 4px;line-height:1.55}.find-none p:last-child{margin:0}@media (max-width: 480px){.find-item{flex-direction:column;align-items:stretch}.find-item .btn{width:100%}}.row:has(>.drag-handle) .row-main{flex-basis:170px}.row[data-crow]>.dot{align-self:center}.tbv-check{margin-top:8px}.tb-vary{display:inline-block;padding:0 6px;border-radius:6px;font-size:.78em;font-weight:700;color:var(--warn-ink, #8a5a00);background:color-mix(in srgb,#e0a100 16%,transparent);vertical-align:1px}.tb-mark{margin-left:1px;font-weight:700}.fee-foot{margin:6px 0 0;font-size:12px;color:var(--paper-muted)}.try-set .switch-row+.hint{margin:4px 0 10px 56px}@media (max-width: 560px){.try-set .switch-row+.hint{margin-left:0}}.tt-block{padding:3px 6px;gap:0;line-height:1.22}.tt-block b{line-height:1.18}.tt-block b small{white-space:nowrap}.tt-block>span{line-height:1.25}.tt-block .room{font-size:11px}.sheet-export .tt-block{padding:4px 7px}.sheet-export .tt-block b{word-break:keep-all;overflow-wrap:anywhere}.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sheet-main{display:flex;gap:8px;flex-wrap:wrap}.sheet-main .btn{min-height:46px;padding-inline:20px;font-size:1rem}.sheet-opts{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.sheet-opts>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px;min-height:46px}.sheet-opts>summary::-webkit-details-marker{display:none}.sheet-opts>summary:after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}.sheet-opts[open]>summary:after{transform:rotate(180deg)}.so-title{font-weight:700;flex:none}.so-sum{color:var(--muted);font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line)}.so-row{display:flex;flex-wrap:wrap;gap:8px}.so-body .hint{margin:0}@media (max-width: 720px){.sheet-actions{flex-direction:column;align-items:stretch}.sheet-main{display:grid;grid-template-columns:1fr 1fr}.sheet-main .btn{width:100%;justify-content:center}.so-row{display:grid;grid-template-columns:1fr 1fr}.so-row .btn,.so-row .fee-toggle{width:100%;justify-content:center;min-height:44px}.so-row>:last-child:nth-child(odd){grid-column:1 / -1}}.btn.backup,:root[data-theme=dark] .btn.backup{background:var(--surface);border-color:var(--line);color:var(--ink);font-weight:700}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn.backup{background:var(--surface);border-color:var(--line);color:var(--ink)}}.btn.backup:hover:not(:disabled){background:var(--surface-2)}.step.on em{background:var(--brand);color:var(--on-brand)}.example-note,.notice-banner{border-left-color:var(--brand)}.ex-badge{display:inline-block;margin-left:6px;padding:0 8px;border-radius:999px;background:#ffffff2e;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:0;vertical-align:1px}.notice-mini{padding:0}.notice-mini>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.92rem}.notice-mini>summary::-webkit-details-marker{display:none}.notice-mini .nm-ic{color:var(--brand);flex:none}.notice-mini .nm-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-mini[open] .nm-text{display:none}.notice-mini[open]>summary:after{content:"접기";margin-left:auto;font-size:.8rem;color:var(--muted)}.notice-mini .nm-body{padding:0 14px 12px}.q-tab{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:6px 16px;min-height:48px;border-radius:14px;text-align:left}.q-tab .q-name{display:inline-flex;align-items:center;gap:2px}.q-tab .q-dates{font-size:.74rem;font-weight:500;opacity:.75;font-variant-numeric:tabular-nums}.q-tab .q-state{font-style:normal;font-size:.72rem;font-weight:700;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.q-tab.on .q-state{background:#fff;color:var(--brand)}@media (max-width: 560px){.q-tab{min-height:48px;padding:6px 14px}}.privacy-mini>summary{list-style:none;cursor:pointer;color:var(--muted);font-size:.9rem}.privacy-mini>summary::-webkit-details-marker{display:none}.privacy-mini .pm-more{margin-left:4px;text-decoration:underline;text-underline-offset:3px}.privacy-mini[open] .pm-more{display:none}.privacy-mini p{margin:6px 0 0;font-size:.9rem}.import-mini{border:0;padding:0;background:transparent}.import-mini>summary{list-style:none;cursor:pointer;color:var(--muted);font-size:.92rem;padding:4px 2px}.import-mini>summary::-webkit-details-marker{display:none}.import-mini>summary b{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.import-mini .im-body{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.import-mini .im-body p{margin:0}.contact-box .tel{background:transparent;color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 55%,var(--line));font-weight:600;min-height:34px}.contact-box .tel:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.contact-box li{padding:6px 6px 6px 14px}@media (max-width: 560px){.contact-box .tel{min-height:40px}}.fee-tag .ft-total small{font-weight:400;color:var(--muted);font-size:.8rem}.fee-tag .fee-parts{font-weight:400;font-size:.8rem;color:var(--muted);white-space:normal;margin-top:2px}@media (max-width: 560px){.fee-tag{flex-wrap:wrap}.fee-tag .fee-parts{flex-basis:100%;margin-top:0}}.sec .why,.cat-card .why{color:var(--muted);font-weight:500}.sec.blocked .why{opacity:1}.tb-vary{color:var(--muted);background:transparent;border:1px solid var(--line);font-weight:600}.tabs.grouped{display:flex;gap:0;align-items:flex-end;border-bottom:1px solid var(--line);overflow-x:auto}.tab-group{display:flex;flex-direction:column;gap:2px;padding-right:10px;margin-right:10px;border-right:1px solid var(--line)}.tab-group:last-child{border-right:0;margin-right:0}.tg-label{font-size:.72rem;font-weight:700;color:var(--muted);padding-left:14px;letter-spacing:.02em}.tg-btns{display:flex;gap:2px}.tabs.grouped .tab .t-short{display:none}@media (max-width: 760px){.main .tabs.grouped{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px;border-bottom:0;overflow:visible;margin-inline:0;padding-inline:0}.main .tabs.grouped .tab-group{border-right:0;margin:0;padding:0}.main .tabs.grouped .tab-group:first-child{grid-column:1 / -1}.main .tabs.grouped .tg-label{padding-left:2px}.main .tabs.grouped .tg-btns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.main .tabs.grouped .tab .t-long{display:none}.main .tabs.grouped .tab .t-short{display:inline}}.p-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.p-top .p-search{flex:1 1 240px;min-width:0}.p-top .p-search input{width:100%}.p-top-btns{flex:none}.pf-panel{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.pf-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.92rem}.pf-panel>summary::-webkit-details-marker{display:none}.pf-panel>summary:after{content:"▾";margin-left:auto;color:var(--muted)}.pf-panel[open]>summary:after{transform:rotate(180deg)}.pf-title{font-weight:700}.pf-sum{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-fields{padding:0 14px 12px}.pf-panel[open] .pf-sum{display:none}.menu-pop{position:relative}.menu-pop>summary{list-style:none;cursor:pointer}.menu-pop>summary::-webkit-details-marker{display:none}.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:200px;display:flex;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #00000029}.menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap}.menu-item:hover:not(:disabled){background:var(--surface-2)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item.danger-text{color:var(--danger)}.menu-note{margin:4px 8px 6px;font-size:.78rem;color:var(--muted);line-height:1.45}.menu-item.file-btn input{position:absolute;width:1px;height:1px;opacity:0}.row-more>summary.icon-btn{display:inline-grid;place-items:center;font-size:1.1rem;line-height:1}[data-prow-edit],[data-prow-sel]{cursor:pointer}[data-prow-edit]:hover>b{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.rows .row-btns{align-self:center}@media (max-width: 560px){.p-top-btns{width:100%;display:grid;grid-template-columns:auto 1fr 1fr}.menu-list{right:auto;left:0}.row-more .menu-list{left:auto;right:0}.rows .row-btns{width:auto;margin-left:auto}.rows .row-btns .btn{flex:none}}.modal .modal-foot{position:sticky;bottom:0;z-index:3;margin:0 -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 18px 18px}@media (min-width: 721px){.modal .modal-foot{bottom:-24px}}@media (max-width: 720px){.so-body .layout-pick{gap:6px}.so-body .layout-opt{white-space:nowrap;padding-inline:6px;gap:6px;font-size:.92rem;min-width:0;justify-content:center}}@media (max-width: 560px){.p-top-btns{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px}.p-top-btns>*{min-width:0}.p-top-btns .btn,.p-top-btns summary.btn{min-width:0;width:100%;padding-inline:10px;justify-content:center;white-space:nowrap}}.carry-box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.carry-box p{margin:0;line-height:1.55}.plain-list{margin:6px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.tt-ends{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:6px 0 0;font-size:12px;color:var(--paper-muted)}.tt-ends>b{color:var(--paper-ink);font-weight:700}.tt-ends span b{color:var(--paper-ink);font-variant-numeric:tabular-nums}.dl-end{color:var(--ink);font-variant-numeric:tabular-nums}.dl-find{display:block;width:100%;margin-top:8px;padding:9px 10px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.dl-find:hover,.dl-find:focus-visible{border-color:var(--brand);color:var(--brand)}.paper.can-find .tt-col{cursor:copy}.paper-hint{margin:8px 0 0;font-size:.85rem;text-align:center}.find-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.find-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--c-line);border-radius:10px}.fl-main{flex:1;min-width:0}.fl-main small{display:block;color:var(--muted);margin-top:2px}.fl-sec{color:var(--muted);font-size:.9em}@media print{.paper-hint,.dl-find{display:none!important}}#undo-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 10px 10px 16px;border-radius:12px;background:#1d2421;color:#fff;box-shadow:0 8px 24px #00000040;font-size:.95rem;animation:ub-in .18s ease-out}#undo-bar span{flex:1;min-width:0}#undo-bar .ub-undo{border:0;border-radius:8px;padding:8px 14px;background:#fff;color:#1d2421;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}#undo-bar .ub-x{border:0;background:transparent;color:#fff;opacity:.7;font:inherit;cursor:pointer;padding:6px}@keyframes ub-in{0%{opacity:0;transform:translate(-50%,8px)}}.undo-list .rows .row{display:flex;align-items:center;justify-content:space-between;gap:10px}@media print{#undo-bar{display:none!important}}.stat-table th,.stat-table td{white-space:nowrap}.stat-table tbody th{text-align:left;font-weight:700}.bf-tbv{margin:6px 0 0;padding:10px 12px 4px;border:1px solid var(--line);border-radius:10px}.bf-tbv legend{padding:0 4px;font-weight:700;font-size:.92rem}.tb-vary{white-space:nowrap}.tt-block .reg-end{font-style:normal}.tt-block.reg-tight .reg-end{display:none}.tt-block.reg-tight2{padding-inline:3px}.tt-block.reg-tight2 b{font-size:10.5px;letter-spacing:-.03em}.tt-block.reg-tight2>span{font-size:11px;letter-spacing:-.02em}.tt-block .tm i{font-style:normal}.tt-block.tm-wrap .tm{white-space:normal;text-overflow:clip}.tt-block.tm-wrap .tm i{display:inline-block;white-space:nowrap}.tt-block.tm-small .tm{font-size:10.5px;letter-spacing:-.03em;text-overflow:clip}.tt-block.tt-regular b{white-space:nowrap;text-overflow:clip}.swatch:has(input:checked){border:2px solid var(--sw-line);background:var(--sw-bg);color:#1d2421;box-shadow:0 0 0 3px color-mix(in srgb,var(--sw-line) 28%,transparent);font-weight:800}.swatch:has(input:checked) span small{color:#4a5550}.swatch i{position:relative;display:grid;place-items:center}.swatch:has(input:checked) i:after{content:"✓";font-style:normal;font-size:13px;font-weight:900;color:var(--sw-line);line-height:1}.swatch:has(input:checked) i{transform:scale(1.12);box-shadow:0 0 0 2px #fff}.swatch .sw-cur{color:var(--ink)!important;font-weight:800!important}.swatch.current:not(:has(input:checked)){border-style:solid;border-width:2px;border-color:var(--muted);padding:5px 7px 5px 5px}.swatch.used.current:after{content:none}.sw-prev{display:flex;align-items:center;gap:12px;margin:2px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper, #fff);color:var(--paper-ink, #1d2421)}.sw-prev-label{flex:none;font-size:.78rem;font-weight:700;color:var(--paper-muted, #6b756f)}.sw-prev-block{display:flex;flex-direction:column;min-width:120px;max-width:220px;padding:6px 10px;border-radius:8px;border:1px solid var(--b-line);border-left:4px solid var(--b-line);background:var(--b-bg);color:var(--b-ink);line-height:1.25;transition:background .2s,border-color .2s,color .2s}.sw-prev-block b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-prev-block small{font-size:11.5px;font-variant-numeric:tabular-nums}.sw-prev-name{font-size:.82rem;font-weight:700;color:var(--paper-muted, #6b756f)}@media (prefers-reduced-motion: no-preference){.sw-prev-block.pop{animation:sw-pop .25s ease-out}}@keyframes sw-pop{0%{transform:scale(.94)}to{transform:none}}@media (max-width: 480px){.sw-prev-label{display:none}}.swatch input{inset:0;width:100%;height:100%;margin:0;z-index:2;cursor:pointer}.tt{border-color:#7f8b85}.tt-corner,.tt-day{border-bottom:1.5px solid #7f8b85}.empty-sheet-tip{margin:0 0 12px;padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:0 12px 12px 0;background:var(--surface);line-height:1.6}.about-link{display:flex;align-items:center;gap:14px;width:100%;max-width:560px;margin:18px auto 0;padding:12px 16px 12px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.about-link:hover,.about-link:focus-visible{border-color:var(--brand)}.about-link b{display:block;font-size:1rem}.about-link small{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}.about-thumb{flex:none;width:54px;height:68px;border-radius:8px;overflow:hidden;background:var(--line)}.about-thumb img{display:block;width:100%;height:100%;object-fit:cover}.about-arrow{margin-left:auto;color:var(--muted);font-size:1.2rem}.about-page{max-width:760px}.about-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:18px}.about-list img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:var(--shadow);background:var(--line)}.about-end{justify-content:center;margin:24px 0 8px}
