:root{--color-primary:#1d4d7a;--color-primary-pressed:#123b62;--color-primary-soft:#e5eff8;--color-accent:#a94f16;--color-accent-soft:#fff0d5;--color-moon:#efb64b;--color-moon-soft:#fff5d8;--color-night:#102a43;--color-night-raised:#183d60;--color-night-text:#f8fbff;--color-bg:#f3f6f7;--color-surface:#fffefa;--color-surface-raised:#fff;--color-border:#dbe3e8;--color-divider:#e9eef1;--color-text:#132238;--color-text-sub:#495d70;--color-text-faint:#607284;--color-text-on-primary:#fff;--color-text-money:#984315;--color-success:#08745f;--color-success-soft:#dcf5ec;--color-warning:#9a510d;--color-warning-soft:#fff1d6;--color-danger:#ad3f3f;--color-danger-soft:#fde8e5;--color-shift-day:#0284c7;--color-shift-evening:#ea580c;--color-shift-night:#4f46e5;--color-shift-off:#64748b;--color-shift-full:#0f766e;--color-shift-etc:#a21caf;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-numeric:var(--font-sans);--text-display:2.125rem;--text-title:1.375rem;--text-body:.9375rem;--text-sub:.8125rem;--text-caption:.75rem;--leading-tight:1.3;--leading-body:1.55;--weight-regular:400;--weight-medium:500;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-full:999px;--touch-target:44px;--shadow-card:0 1px 2px #102a430d, 0 10px 28px #102a430f;--shadow-raised:0 18px 48px #102a4321;--shadow-sheet:0 -8px 36px #102a4329;--layout-max-width:640px;--nav-height:64px;--z-nav:40;--z-sheet:50;--z-toast:60;--duration-fast:.12s;--duration-base:.22s;--duration-slow:.42s;--ease-out:cubic-bezier(.16, 1, .3, 1)}html[data-theme=dark]{--color-primary:#60a5fa;--color-primary-pressed:#93c5fd;--color-primary-soft:#1e3a5f;--color-accent:#fbbf24;--color-accent-soft:#451a03;--color-moon:#f6c866;--color-moon-soft:#443615;--color-night:#081726;--color-night-raised:#12324f;--color-night-text:#f8fbff;--color-bg:#08131f;--color-surface:#101f2e;--color-surface-raised:#172a3d;--color-border:#294055;--color-divider:#203448;--color-text:#e2e8f0;--color-text-sub:#94a3b8;--color-text-faint:#9aaabd;--color-text-on-primary:#0b1220;--color-text-money:#fbbf24;--color-success:#34d399;--color-success-soft:#064e3b;--color-warning:#fbbf24;--color-warning-soft:#451a03;--color-danger:#f87171;--color-danger-soft:#450a0a;--color-shift-day:#38bdf8;--color-shift-evening:#fb923c;--color-shift-night:#818cf8;--color-shift-off:#64748b;--color-shift-full:#2dd4bf;--color-shift-etc:#e879f9;--shadow-card:0 1px 2px #00000052, 0 14px 34px #0003;--shadow-raised:0 18px 54px #00000070;--shadow-sheet:0 -8px 36px #0000008c}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}body{min-width:320px;font-size:var(--text-body);line-height:var(--leading-body);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.app-frame{width:min(100%, var(--layout-max-width));background:var(--color-bg);min-height:100dvh;margin:0 auto;position:relative}.topbar{height:60px;padding:max(env(safe-area-inset-top), 8px) var(--space-4) 0;z-index:20;background:color-mix(in srgb, var(--color-bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font-weight:var(--weight-bold);align-items:center;gap:8px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--color-primary);border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.local-badge{color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-full);font-size:var(--text-caption);font-weight:var(--weight-bold);padding:4px 9px}.offline{z-index:70;text-align:center;background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-sub);padding:7px 12px;font-weight:700;position:sticky;top:0}.tabbar{z-index:var(--z-nav);width:min(100%, var(--layout-max-width));height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0}.tab{min-width:44px;min-height:56px;color:var(--color-text-faint);font-size:var(--text-caption);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tab svg{stroke-width:1.8px;width:22px;height:22px}.tab.active{color:var(--color-primary);font-weight:700}html[data-channel=toss] .content{padding-bottom:calc(var(--nav-height) + 64px + env(safe-area-inset-bottom))}html[data-channel=toss] .tabbar{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));width:min(calc(100% - 24px), calc(var(--layout-max-width) - 24px));height:var(--nav-height);border:1px solid var(--color-border);box-shadow:var(--shadow-sheet);border-radius:22px;padding-bottom:0;transform:translate(-50%)}h1{max-width:18em;margin:3px 0 var(--space-5);letter-spacing:-.025em;font-size:clamp(1.55rem,6vw,2rem);line-height:1.25}h2{margin-top:var(--space-8);font-size:var(--text-title)}.eyebrow{color:var(--color-primary);font-size:var(--text-sub);letter-spacing:.04em;margin:0;font-weight:700}.lead{color:var(--color-text-sub);font-size:1rem}.hero-card,.card,.notice-card,.warning-card,.form-card,.empty-state,.pay-row,.settings-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.hero-card{padding:var(--space-6);background:linear-gradient(145deg, var(--color-primary-soft), var(--color-surface) 62%)}.hero-card>span{color:var(--color-text-sub)}.hero-card>strong{color:var(--color-text-money);font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap;margin:8px 0 10px;font-size:clamp(1.6rem,7vw,2.6rem);display:block}.hero-card p{color:var(--color-text-sub)}.hero-card.compact>strong{font-size:2rem}.primary-button{min-height:var(--touch-target);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);cursor:pointer;border:0;justify-content:center;align-items:center;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button:disabled{opacity:.5;cursor:wait}.secondary-button{min-height:var(--touch-target);color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);justify-content:center;align-items:center;padding:9px 14px;font-weight:700;display:inline-flex}.grade{border-radius:var(--radius-full);font-size:var(--text-sub);padding:3px 9px;font-weight:700;display:inline-flex}.grade-A{color:var(--color-success);background:var(--color-success-soft)}.grade-B{color:var(--color-warning);background:var(--color-warning-soft)}.grade-C{color:var(--color-danger);background:var(--color-danger-soft)}.card-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:1fr 1fr;display:grid}.card{min-height:145px;padding:var(--space-4)}.card.warm{background:var(--color-accent-soft)}.card strong{margin:8px 0;font-size:1.5rem;display:block}.card p,.notice-card p{color:var(--color-text-sub);margin:0}.card-kicker{color:var(--color-primary);font-size:var(--text-sub);font-weight:700}.notice-card,.warning-card{padding:var(--space-4);margin:var(--space-4) 0}.warning-card{color:var(--color-warning);background:var(--color-warning-soft)}.pay-cycle{gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:24px;display:grid}.pay-cycle h2{margin:3px 0 6px;font-size:1.2rem}.pay-cycle>div>p:not(.eyebrow){color:var(--color-text-sub);font-size:var(--text-sub);margin:0}.pay-cycle .pay-cycle-offline{color:var(--color-warning);margin-top:7px;font-weight:700}.pay-cycle ol{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.pay-cycle li{min-width:0;color:var(--color-text-faint);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:6px;padding:8px 7px;display:flex;position:relative}.pay-cycle li svg{flex:0 0 17px;width:17px}.pay-cycle li span{min-width:0;display:grid}.pay-cycle li strong,.pay-cycle li small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pay-cycle li small{margin-top:1px;font-size:10px}.pay-cycle li.done{color:var(--color-success);background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 35%, transparent)}.pay-cycle li.current{color:var(--color-primary);background:var(--color-primary-soft);border:2px solid var(--color-primary)}.pay-cycle .primary-button{width:100%}.form-card{gap:var(--space-5);padding:var(--space-5);display:grid}.form-card fieldset{border:0;margin:0;padding:0}.form-card legend,.form-card>label{gap:8px;font-weight:700;display:grid}.form-card input:not([type=checkbox]),.form-card select{width:100%;min-height:var(--touch-target);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px}.form-card small{color:var(--color-text-sub);font-weight:400}.segment{border-radius:var(--radius-md);background:var(--color-bg);grid-template-columns:1fr 1fr;margin-top:8px;padding:4px;display:grid}.segment button{min-height:44px;color:var(--color-text-sub);background:0 0;border:0;border-radius:9px}.segment button.selected{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-card);font-weight:700}.check{align-items:start;grid-template-columns:24px 1fr!important}.check input{width:20px;height:20px}.preview-row{color:var(--color-text-sub);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.text-link{color:var(--color-primary);font-weight:700}.title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.title-row h1{margin-bottom:0}.month-nav{gap:6px;display:flex}.month-nav button,.close-button{width:var(--touch-target);height:var(--touch-target);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer}.month-nav button{font-size:1.7rem}.calendar{margin-top:var(--space-5);padding:var(--space-3) 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.weekday{text-align:center;color:var(--color-text-faint);font-size:var(--text-caption);padding:8px 0}.day{min-width:0;min-height:62px;color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;display:flex}.day:hover,.day.selected-day{background:var(--color-primary-soft);border-color:var(--color-primary)}.day b{text-overflow:ellipsis;border-radius:5px;align-items:center;gap:2px;max-width:100%;padding:2px 4px;font-size:10px;display:flex;overflow:hidden}.day b span{font-size:9px}.shift-picker{z-index:var(--z-sheet);width:min(100%, var(--layout-max-width));max-height:70dvh;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));background:var(--color-surface-raised);box-shadow:var(--shadow-sheet);border-radius:24px 24px 0 0;margin:auto;position:fixed;inset:auto 0 0;overflow:auto}.shift-picker>div:first-child{justify-content:space-between;align-items:center;display:flex}.shift-picker>p{color:var(--color-text-sub);font-size:var(--text-sub)}.shift-options{margin-top:var(--space-4);gap:8px;display:grid}.shift-options button{text-align:left;min-height:58px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.shift-options button.picked{border:2px solid var(--color-primary);background:var(--color-primary-soft)}.shift-options i{border-radius:10px;place-items:center;width:32px;height:32px;font-style:normal;font-weight:800;display:grid}.shift-options button>span{display:grid}.shift-options button>span small{margin-top:2px}.shift-options small{color:var(--color-text-sub)}.modal-card{z-index:var(--z-sheet);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100% - 32px,520px);padding:20px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 16px 60px #0f172a47}.modal-card h2{margin-top:0}.modal-card>div:last-child{justify-content:flex-end;gap:8px;display:flex}.pattern-preview{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.pattern-preview b{text-align:center;color:var(--color-primary);background:var(--color-primary-soft);font-size:var(--text-sub);border-radius:8px;padding:9px 2px}.undo-toast{z-index:var(--z-toast);left:50%;bottom:calc(var(--nav-height) + 18px + env(safe-area-inset-bottom));color:#fff;border-radius:var(--radius-md);width:min(100% - 32px,480px);box-shadow:var(--shadow-sheet);background:#0f172a;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:fixed;transform:translate(-50%)}.undo-toast button{color:#93c5fd;background:0 0;border:0;min-height:36px;font-weight:700}.empty-state{margin-top:var(--space-5);padding:var(--space-8) var(--space-5);text-align:center}.empty-state svg{color:var(--color-primary)}.empty-state strong{margin-top:8px;display:block}.empty-state p{max-width:32em;color:var(--color-text-sub);margin:8px auto 18px}.list{margin:var(--space-4) 0;gap:8px;display:grid}.pay-row{overflow:hidden}.pay-row summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:56px;padding:13px 15px;display:flex}.pay-row summary strong{color:var(--color-text-money);font-variant-numeric:tabular-nums}.basis{color:var(--color-text-sub);border-top:1px solid var(--color-divider);padding:0 15px 15px}.basis code{white-space:normal;margin:14px 0;display:block}.basis p{margin:5px 0}.basis a{color:var(--color-primary);margin-top:10px;display:inline-block}.settings-list{overflow:hidden}.settings-list button,.settings-list a{text-align:left;width:100%;min-height:56px;color:var(--color-text);border:0;border-bottom:1px solid var(--color-divider);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;display:flex}.settings-list>:last-child{border-bottom:0}.settings-list span{color:var(--color-text-sub)}.settings-list .danger-row{color:var(--color-danger)}.success-message{color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-md);padding:10px 14px}.policy p{color:var(--color-text-sub)}.policy .eyebrow{margin-top:var(--space-8)}.recovery-code{border:2px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-soft);margin-top:10px;padding:14px}.recovery-code code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin:8px 0;display:block}.recovery-code button{min-height:44px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 14px}.recovery-code p{color:var(--color-text-sub);font-size:var(--text-sub)}.feedback-preference{margin:var(--space-5) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.feedback-preference legend{padding:0 6px;font-weight:800}.feedback-preference>p{color:var(--color-text-sub);font-size:var(--text-sub);margin-bottom:0}.quiet-hour-fields{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.quiet-hour-fields label{gap:6px;font-weight:700;display:grid}.quiet-hour-fields select{min-height:var(--touch-target);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 10px}.allowance-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.allowance-row>div{gap:3px;display:grid}.allowance-row span,.allowance-row small{color:var(--color-text-sub)}.allowance-row button{min-height:40px;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:0 0;padding:6px 10px}.restore-card{margin-top:var(--space-3)}.restore-card input[type=file]{padding-block:8px}.restore-preview{padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.restore-preview>div{flex-wrap:wrap;gap:8px;display:flex}.two-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.two-fields label{gap:8px;font-weight:700;display:grid}.form-actions,.row-actions{flex-flow:wrap;gap:8px;display:flex!important}.form-actions{justify-content:flex-end}.color-dot{border-radius:50%;width:11px;height:11px;margin-right:7px;display:inline-block}.reconcile-field{gap:12px;display:grid;padding-top:var(--space-4)!important;border-top:1px solid var(--color-divider)!important}.reconcile-field legend{padding-top:var(--space-3);color:var(--color-text)}.verification-result{margin:var(--space-5) 0;padding:var(--space-6);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:24px;position:relative;overflow:hidden}.verification-result:after{content:"";background:currentColor;height:5px;position:absolute;inset:0 0 auto}.verification-result-match{color:var(--color-success);background:linear-gradient(145deg, var(--color-success-soft), var(--color-surface) 68%)}.verification-result-difference{color:var(--color-danger);background:linear-gradient(145deg, var(--color-danger-soft), var(--color-surface) 68%)}.verification-result-pending{color:var(--color-warning);background:linear-gradient(145deg, var(--color-warning-soft), var(--color-surface) 68%)}.verification-result-icon{width:52px;height:52px;margin-bottom:var(--space-4);color:inherit;background:color-mix(in srgb, currentColor 13%, var(--color-surface));border-radius:var(--radius-full);place-items:center;display:grid}.verification-result-icon svg{width:28px;height:28px}.verification-result .eyebrow{color:inherit}.verification-result h2{margin:5px 0 var(--space-3);color:var(--color-text);font-size:clamp(1.45rem,6vw,1.9rem)}.verification-result>p:not(.eyebrow){max-width:38em;color:var(--color-text-sub)}.verification-result-meta{margin:var(--space-4) 0;color:var(--color-text-sub);font-size:var(--text-sub);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.verification-result .secondary-button{width:100%;margin-top:var(--space-2)}.reconciliation-list{gap:var(--space-3);margin:var(--space-5) 0;display:grid}.reconciliation-item{padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border-left-width:5px}.reconciliation-item-match{border-left-color:var(--color-success)}.reconciliation-item-difference{border-left-color:var(--color-danger)}.reconciliation-item-pending{border-left-color:var(--color-warning)}.reconciliation-item h2{margin:3px 0 0;font-size:1.05rem}.reconciliation-status{color:var(--color-text-sub);font-size:var(--text-caption);font-weight:700}.reconciliation-values{margin:var(--space-4) 0;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.reconciliation-values>div{background:var(--color-bg);min-width:0;padding:11px}.reconciliation-values dt{color:var(--color-text-faint);font-size:var(--text-caption)}.reconciliation-values dd{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:700}.reconciliation-item>p{color:var(--color-text-sub)}.reconciliation-basis{margin-top:var(--space-4);border-top:1px solid var(--color-divider)}.reconciliation-basis summary{min-height:var(--touch-target);color:var(--color-primary);cursor:pointer;align-items:center;font-weight:700;display:flex}.reconciliation-basis>div{padding:var(--space-3) 0;color:var(--color-text-sub)}.reconciliation-basis code{margin-bottom:var(--space-3);color:var(--color-text);overflow-wrap:anywhere;display:block}.reconciliation-basis p{margin:5px 0}.reconciliation-basis a{margin-top:var(--space-2);color:var(--color-primary);display:inline-block}.ocr-modal{max-height:86dvh;overflow:auto}.ocr-modal>label{gap:8px;font-weight:700;display:grid}.ocr-modal input,.ocr-modal select{min-height:44px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ocr-preview{gap:6px;margin:12px 0;display:grid}.ocr-preview label{border-bottom:1px solid var(--color-divider);grid-template-columns:1fr minmax(110px,1fr);align-items:center;gap:8px;padding:7px 0;display:grid}.ocr-preview span{color:var(--color-text-sub);font-size:var(--text-sub)}.awake-badge{color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-full);flex:none;padding:7px 11px;font-weight:700}.shelter-feed{gap:10px;margin:18px 0;display:grid}.post-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px}.post-card>div{justify-content:space-between;gap:8px;display:flex}.post-card>div span{color:var(--color-text-faint);font-size:var(--text-sub)}.post-card>p{margin:14px 0;font-size:1rem}.post-card footer{justify-content:space-between;gap:8px;display:flex}.post-card footer div{gap:5px;display:flex}.post-card button{min-height:38px;color:var(--color-text-sub);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px 9px}.post-card button.reacted{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.post-card .post-menu{color:var(--color-danger);background:0 0;border-color:#0000}.content-cards{gap:10px;display:grid}.content-cards .card{min-height:0}.content-cards small{color:var(--color-text-faint);margin-top:12px;display:block}.content-cards a{color:var(--color-primary)}.skeleton-block{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-divider), var(--color-surface), var(--color-divider));background-size:200% 100%;height:180px;margin-top:16px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (min-width:641px){.app-frame{border-inline:1px solid var(--color-border)}.content{padding-inline:var(--space-8)}.shift-picker{left:50%;transform:translate(-50%)}}@media (max-width:420px){.reconciliation-values{grid-template-columns:1fr}.reconciliation-values>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-contrast:more){:root{--color-border:#475569;--shadow-card:none}.primary-button,.grade,.day b{outline:1px solid}}html{background:radial-gradient(circle at 12% -4%, color-mix(in srgb, var(--color-primary-soft) 74%, transparent) 0 16rem, transparent 32rem), var(--color-bg);min-height:100%}body{background:radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--color-moon-soft) 62%, transparent) 0 7rem, transparent 24rem), transparent;text-rendering:optimizelegibility;min-height:100dvh}button,input,select,summary,a{transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}button:not(:disabled):active,.primary-button:active,.secondary-button:active,.tab:active{transform:translateY(1px)scale(.985)}.app-frame{isolation:isolate;background:0 0}.app-frame:before{z-index:-1;max-width:var(--layout-max-width);pointer-events:none;content:"";background-image:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 12%, transparent) 0 1px, transparent 1.4px);opacity:.32;background-size:28px 28px;margin:auto;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0,#0000 32%);mask-image:linear-gradient(#000 0,#0000 32%)}.topbar{height:72px;padding:max(env(safe-area-inset-top), 10px) var(--space-4) 0;border-bottom:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);box-shadow:0 8px 30px #102a4308}.brand{gap:10px}.brand-mark{background:linear-gradient(145deg, var(--color-night-raised), var(--color-primary));border:1px solid #ffffff2e;border-radius:13px 13px 13px 5px;width:38px;height:38px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff2e,0 8px 18px #102a4329}.brand-mark:after{border-radius:var(--radius-full);background:var(--color-moon);content:"";width:11px;height:3px;position:absolute;bottom:6px;right:6px}.brand-copy{line-height:1.12;display:grid}.brand-copy strong{letter-spacing:-.025em;font-size:.95rem}.brand-copy small{color:var(--color-text-faint);font-size:.625rem;font-weight:var(--weight-medium);letter-spacing:.035em;margin-top:3px}.local-badge{border:1px solid color-mix(in srgb, var(--color-success) 18%, transparent);background:color-mix(in srgb, var(--color-success-soft) 80%, var(--color-surface));align-items:center;gap:5px;padding:7px 10px;display:inline-flex}.local-badge svg{stroke-width:2.2px;width:13px;height:13px}.content{padding:var(--space-6) var(--space-4) calc(var(--nav-height) + 58px + env(safe-area-inset-bottom))}.content-full{padding-bottom:calc(var(--space-10) + env(safe-area-inset-bottom))}.page-heading{margin-bottom:var(--space-6)}.page-heading h1,.home-screen>.page-heading h1{margin-bottom:0}h1{letter-spacing:-.045em;font-size:clamp(1.7rem,7vw,2.25rem)}h2{letter-spacing:-.025em}.eyebrow{color:var(--color-primary);letter-spacing:.075em;text-transform:uppercase;font-size:.76rem}.lead{max-width:34em;line-height:1.7}.hero-card{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 10px;min-height:282px;color:var(--color-night-text);background:radial-gradient(circle at 92% 7%, #efb64b36 0 1px, transparent 2px) 0 0 / 20px 20px, linear-gradient(145deg, var(--color-night), var(--color-night-raised));box-shadow:var(--shadow-raised);border:0;padding:clamp(22px,6vw,34px);position:relative;overflow:hidden}.hero-card:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-96px;right:-62px;box-shadow:0 0 0 22px #ffffff06,0 0 0 48px #ffffff05}.hero-card>:not(.hero-orbit){z-index:1;position:relative}.hero-card .hero-kicker{color:#c8d8e6;font-size:var(--text-sub);font-weight:var(--weight-medium);letter-spacing:.02em;display:block}.hero-card>strong{color:#ffd483;white-space:normal;text-wrap:balance;max-width:12em;margin:12px 0;font-size:clamp(1.85rem,7.6vw,3rem);line-height:1.08}.hero-card p{color:#d5e0e9;max-width:30em;margin:15px 0 20px}.hero-card .primary-button{color:var(--color-night);background:#f8fbff;border:1px solid #ffffff29;box-shadow:0 8px 22px #00000029}.hero-card .grade-B,.hero-card .grade-A,.hero-card .grade-C{outline:1px solid #ffffff1f}.hero-meta{color:#b9cbd9;font-size:var(--text-sub);align-items:center;gap:9px;display:flex}.hero-orbit{width:54px;height:54px;color:var(--color-moon);animation:lunar-float 4.8s var(--ease-out) infinite alternate;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;place-items:center;display:grid;position:absolute;top:24px;right:24px;box-shadow:0 0 0 9px #ffffff06}.hero-orbit svg{width:25px}@keyframes lunar-float{to{transform:translateY(6px)rotate(5deg)}}.primary-button{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-pressed));min-height:48px;box-shadow:0 8px 18px color-mix(in srgb, var(--color-primary) 22%, transparent);border-radius:15px 15px 15px 6px;padding-inline:20px}.primary-button:hover:not(:disabled){box-shadow:0 11px 24px color-mix(in srgb, var(--color-primary) 28%, transparent);transform:translateY(-1px)}.secondary-button{border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 86%, transparent)}.grade{border:1px solid;align-items:center;min-height:28px;font-size:.72rem}.pay-cycle{gap:var(--space-5);margin:var(--space-5) 0;border-color:color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:12px var(--radius-xl) var(--radius-xl) var(--radius-xl);background:color-mix(in srgb, var(--color-surface) 94%, transparent);padding:clamp(18px,5vw,26px);position:relative}.pay-cycle:before{background:var(--color-moon);content:"";border-radius:0 4px 4px 0;width:4px;height:46px;position:absolute;top:22px;left:0}.pay-cycle h2{margin-top:5px;font-size:clamp(1.2rem,5vw,1.55rem)}.pay-cycle ol{gap:8px;position:relative}.pay-cycle li{background:var(--color-bg);border:0;border-radius:13px;min-height:64px;padding:10px}.pay-cycle li.done{border:0}.pay-cycle li.current{border:1px solid var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.pay-cycle li svg{flex-basis:20px;width:20px}.pay-cycle li small{font-size:.625rem}.card-grid{gap:var(--space-3);margin:var(--space-5) 0}.card,.notice-card,.warning-card,.form-card,.empty-state,.pay-row,.settings-list{border-color:color-mix(in srgb, var(--color-border) 88%, transparent);box-shadow:var(--shadow-card)}.card{border-radius:12px var(--radius-lg) var(--radius-lg) var(--radius-lg);position:relative;overflow:hidden}.metric-card{background:linear-gradient(160deg, var(--color-surface), color-mix(in srgb, var(--color-primary-soft) 45%, var(--color-surface)));min-height:158px}.metric-card:after{border:14px solid color-mix(in srgb, var(--color-primary) 7%, transparent);content:"";border-radius:50%;width:88px;height:88px;position:absolute;bottom:-30px;right:-24px}.metric-card.warm{background:linear-gradient(160deg, var(--color-surface), var(--color-moon-soft))}.card strong{color:var(--color-text);letter-spacing:-.035em;font-size:clamp(1.4rem,6vw,1.8rem)}.card-kicker{letter-spacing:.035em}.notice-card,.warning-card{border-radius:10px var(--radius-lg) var(--radius-lg) var(--radius-lg)}.notice-card{border-left:3px solid var(--color-primary)}.warning-card{border-left:3px solid var(--color-warning)}.guidance-list{gap:var(--space-3);margin:var(--space-3) 0;padding:0;list-style:none;display:grid}.guidance-list li{gap:4px;display:grid}.guidance-list b{color:var(--color-text)}.guidance-list span{color:var(--color-text-sub)}.basis-formula{margin-block:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-divider);gap:4px;display:grid}.basis p:not(.basis-formula){column-gap:var(--space-2);grid-template-columns:minmax(108px,auto) minmax(0,1fr);align-items:baseline;display:grid}.basis p:not(.basis-formula) strong{color:var(--color-text)}.basis p:not(.basis-formula) small{color:var(--color-text-faint);grid-column:2}.trust-note{grid-template-columns:34px 1fr;align-items:start;gap:12px;padding-block:18px;display:grid}.trust-note>svg{width:26px;height:26px;color:var(--color-primary)}.trust-note strong{margin-bottom:3px;display:block}.form-card{gap:var(--space-6);border-radius:12px var(--radius-xl) var(--radius-xl) var(--radius-xl);background:color-mix(in srgb, var(--color-surface) 96%, transparent);padding:clamp(18px,5vw,28px)}.form-card legend,.form-card>label,.two-fields label,.quiet-hour-fields label{color:var(--color-text);letter-spacing:-.015em}.form-card input:not([type=checkbox]),.form-card select,.quiet-hour-fields select{border-color:color-mix(in srgb, var(--color-border) 92%, var(--color-text-faint));background:color-mix(in srgb, var(--color-bg) 65%, var(--color-surface));border-radius:12px;min-height:50px}.form-card input:hover,.form-card select:hover,.quiet-hour-fields select:hover{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border))}.segment{border:1px solid var(--color-border);border-radius:14px;padding:5px}.segment button.selected{color:var(--color-night-text);background:var(--color-night-raised);box-shadow:none}.onboarding-intro{min-height:264px;margin:-8px 0 var(--space-6);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 10px;color:var(--color-night-text);background:radial-gradient(circle at 86% 22%, #efb64b2e, transparent 29%), linear-gradient(150deg, var(--color-night), var(--color-night-raised));box-shadow:var(--shadow-raised);padding:28px 24px;position:relative;overflow:hidden}.onboarding-intro:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-60px;right:-52px;box-shadow:0 0 0 24px #ffffff06}.onboarding-intro .eyebrow,.onboarding-intro .lead{z-index:1;color:#d5e0e9;position:relative}.onboarding-intro h1{z-index:1;color:#fff;max-width:12em;margin-block:8px 12px;font-size:clamp(2rem,9vw,2.7rem);position:relative}.intro-moon{width:56px;height:56px;color:var(--color-moon);background:#ffffff12;border-radius:50%;place-items:center;display:grid;position:absolute;top:24px;right:24px}.trust-strip{z-index:1;flex-wrap:wrap;gap:8px;margin-top:18px;display:flex;position:relative}.trust-strip span{border-radius:var(--radius-full);color:#dce7ef;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:5px;padding:7px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.trust-strip svg{width:13px;height:13px}.first-value{gap:var(--space-4);margin-bottom:var(--space-6);border:1px solid var(--color-border);border-radius:10px var(--radius-xl) var(--radius-xl) var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);padding:clamp(20px,5vw,28px);display:grid}.first-value-heading h2{margin:4px 0 0}.first-value ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.first-value li{gap:var(--space-3);grid-template-columns:32px minmax(0,1fr);padding:9px 0;display:grid;position:relative}.first-value li:not(:last-child):after{background:var(--color-divider);content:"";width:1px;position:absolute;top:40px;bottom:-2px;left:15px}.first-value li>span{z-index:1;width:32px;height:32px;color:var(--color-primary);background:var(--color-primary-soft);font-size:var(--text-sub);border-radius:50%;place-items:center;font-weight:800;display:grid;position:relative}.first-value li p{color:var(--color-text-sub);font-size:var(--text-sub);margin:3px 0 0}.result-example{margin-top:var(--space-2);border:1px solid color-mix(in srgb, var(--color-warning) 30%, var(--color-border));border-left:3px solid var(--color-warning);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-warning-soft) 58%, var(--color-surface));gap:8px;padding:16px;display:grid}.result-example>span{color:var(--color-text-faint);font-size:.72rem;font-weight:700}.result-example>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.result-example b{border-radius:var(--radius-full);color:var(--color-warning-text);background:var(--color-warning-soft);padding:5px 8px;font-size:.74rem}.result-example p{color:var(--color-text-sub);font-size:var(--text-sub);margin:0}.calendar-title{border-radius:12px var(--radius-xl) var(--radius-xl) var(--radius-xl);color:var(--color-night-text);background:linear-gradient(145deg, var(--color-night), var(--color-night-raised));box-shadow:var(--shadow-card);align-items:end;margin:-8px 0 0;padding:22px 20px;position:relative;overflow:hidden}.calendar-title .eyebrow,.calendar-title>div>p:last-child{color:#c9d7e2}.calendar-title h1{color:#fff;margin:4px 0}.calendar-title>div>p:last-child{font-size:var(--text-sub);margin:0}.calendar-title .month-nav button{color:#fff;background:#ffffff14;border-color:#ffffff29}.calendar-screen>.form-actions{margin:var(--space-4) 0}.calendar{margin-top:var(--space-4);padding:var(--space-3) 8px var(--space-4);border-radius:var(--radius-xl) var(--radius-xl) 12px var(--radius-xl);box-shadow:var(--shadow-card);border:0;gap:4px}.weekday{font-weight:700}.weekday:first-child{color:var(--color-danger)}.weekday:nth-child(7){color:var(--color-primary)}.day{border-radius:12px;min-height:66px}.day:hover{border-color:color-mix(in srgb, var(--color-primary) 42%, transparent)}.day.selected-day{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.day b{border-radius:7px 7px 7px 3px;min-height:21px;padding-inline:5px;box-shadow:inset 0 0 0 1px #ffffff2e}.shift-picker{border:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0;box-shadow:0 -14px 60px #102a4338,0 0 0 100vmax #08131f38}.shift-picker:before{border-radius:var(--radius-full);background:var(--color-border);content:"";width:42px;height:4px;margin:-8px auto 14px;display:block}.shift-options button{background:color-mix(in srgb, var(--color-bg) 78%, var(--color-surface));border:0}.shift-options button.picked{box-shadow:inset 0 0 0 2px var(--color-primary);border:0}.tabbar{right:0;bottom:calc(10px + env(safe-area-inset-bottom));width:min(calc(100% - 20px), calc(var(--layout-max-width) - 20px));height:var(--nav-height);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);background:color-mix(in srgb, var(--color-surface-raised) 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);border-radius:22px;margin:auto;padding:6px;left:0;box-shadow:0 14px 44px #102a432e}.tab{border-radius:15px;min-height:52px}.tab svg{width:20px;height:20px}.tab.active{color:var(--color-primary);background:var(--color-primary-soft)}html[data-channel=toss] .tabbar{bottom:calc(10px + env(safe-area-inset-bottom));width:min(calc(100% - 20px), calc(var(--layout-max-width) - 20px));height:var(--nav-height);border-radius:22px}.verification-result{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 10px;min-height:330px;box-shadow:var(--shadow-raised);border:0;padding:clamp(24px,7vw,38px)}.verification-result:before{content:"";opacity:.18;border:1px dashed;border-radius:50%;width:116px;height:116px;position:absolute;top:18px;right:-11px}.verification-result:after{width:6px;height:auto;inset:0 auto 0 0}.verification-stamp{color:currentColor;letter-spacing:.16em;opacity:.55;font-size:.58rem;font-weight:800;position:absolute;top:32px;right:28px}.verification-result-icon{border:1px solid color-mix(in srgb, currentColor 22%, transparent);width:58px;height:58px;box-shadow:0 0 0 9px color-mix(in srgb, currentColor 6%, transparent)}.verification-result h2{max-width:15em;font-size:clamp(1.6rem,7vw,2.15rem);line-height:1.28}.verification-result-meta{padding-top:var(--space-4);border-top:1px dashed color-mix(in srgb, currentColor 26%, transparent)}.feedback-preference{background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-card);border:0}.reconciliation-item{border-radius:10px var(--radius-lg) var(--radius-lg) var(--radius-lg);border:0;border-left:5px solid}.reconciliation-values{border-color:var(--color-divider);background:var(--color-divider)}.reconciliation-values>div{background:color-mix(in srgb, var(--color-bg) 66%, var(--color-surface))}.annual-grade-rail{min-height:14px;margin:-8px 0 var(--space-6);border:3px solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-divider);box-shadow:var(--shadow-card);gap:3px;display:flex;overflow:hidden}.stats-screen .card-grid{grid-template-columns:1fr}.stats-screen .card{min-height:132px}.stats-screen .card strong{overflow-wrap:anywhere}.annual-grade-rail span{min-width:4px}.annual-grade-rail .rail-a{background:var(--color-success)}.annual-grade-rail .rail-b{background:var(--color-warning)}.annual-grade-rail .rail-c{background:var(--color-danger)}.annual-grade-rail .rail-empty{background:var(--color-divider)}.settings-list{border-radius:12px var(--radius-lg) var(--radius-lg) var(--radius-lg)}.settings-list button:hover,.settings-list a:hover{background:var(--color-primary-soft)}.empty-state{background:radial-gradient(circle at 50% 28%, var(--color-primary-soft), transparent 28%), var(--color-surface);border-style:dashed}.post-card{border-radius:10px var(--radius-lg) var(--radius-lg) var(--radius-lg);border:0}.modal-card{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 10px;box-shadow:var(--shadow-raised), 0 0 0 100vmax #08131f59}.success-message{border:1px solid color-mix(in srgb, var(--color-success) 22%, transparent);border-radius:10px var(--radius-md) var(--radius-md) var(--radius-md)}html[data-theme=dark] .hero-card,html[data-theme=dark] .calendar-title,html[data-theme=dark] .onboarding-intro{border:1px solid #ffffff14}html[data-contrast=high]{--color-border:#526476;--shadow-card:none;--shadow-raised:none}html[data-contrast=high] .card,html[data-contrast=high] .form-card,html[data-contrast=high] .notice-card,html[data-contrast=high] .warning-card,html[data-contrast=high] .pay-row,html[data-contrast=high] .settings-list,html[data-contrast=high] .calendar,html[data-contrast=high] .pay-cycle,html[data-contrast=high] .feedback-preference{border-width:2px}@media (min-width:641px){.app-frame{border-inline-color:color-mix(in srgb, var(--color-border) 64%, transparent);box-shadow:0 0 80px #102a430f}.content{padding-top:var(--space-8)}.hero-card{min-height:300px}}@media (min-width:500px){.stats-screen .card-grid{grid-template-columns:1fr 1fr}}@media (max-width:420px){.hero-card{min-height:274px}.hero-orbit{width:46px;height:46px}.pay-cycle li{min-height:60px;padding:8px 6px}.pay-cycle li svg{flex-basis:17px;width:17px}.calendar-title{padding-inline:16px}}@media (max-width:360px){.brand-copy small{display:none}.local-badge{padding:9px;font-size:0}.local-badge svg{width:16px;height:16px}.hero-orbit,.intro-moon{opacity:.68}.card-grid{grid-template-columns:1fr}.metric-card{min-height:126px}.pay-cycle li{grid-template-columns:1fr;justify-items:start;display:grid}.pay-cycle li small{display:none}.tabbar{width:calc(100% - 12px);padding-inline:2px}.tab{font-size:.66rem}}@media (prefers-reduced-motion:reduce){.hero-orbit{animation:none}}
