:root{color:#18241d;background:#f7f8f3;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app{max-width:600px;min-height:100dvh;padding:env(safe-area-inset-top) 22px env(safe-area-inset-bottom);flex-direction:column;margin:auto;display:flex}.top{border-bottom:1px solid #e3e7df;justify-content:space-between;align-items:center;height:65px;display:flex}.brand{letter-spacing:-.05em;align-items:center;gap:8px;font-size:15px;font-weight:750;display:flex}.brand-mark{color:#20a45a;font-size:24px;line-height:1}.icon-button{color:#536158;background:0 0;border:0;padding:8px;font-size:20px}.eyebrow,.visual-top,.settings-kicker{letter-spacing:.16em;color:#34875a;font-size:10px;font-weight:800}.intro h1{letter-spacing:-.075em;align-items:baseline;gap:9px;margin:7px 0;display:flex}.intro h1>span{font-size:clamp(44px,12vw,66px);font-weight:800;line-height:1}.intro h1 small{letter-spacing:-.055em;font-size:19px;font-weight:700;line-height:1.35}.intro p{color:#7a847c;margin:0;font-size:12px}.visual{background:#fff;border:1px solid #e0e6dd;border-radius:18px;flex-direction:column;flex:1;min-height:320px;padding:15px 13px 11px;display:flex;box-shadow:0 8px 30px #263d2b08}.visual-top,.visual-bottom{color:#748379;justify-content:space-between;align-items:center;display:flex}.visual-top{letter-spacing:.13em;font-size:9px}.canvas-wrap{touch-action:none;flex:1;min-height:250px;margin:10px 0 7px;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block}.canvas-hint{color:#66766b;white-space:nowrap;pointer-events:none;background:#ffffffd9;border:1px solid #e8eee6;border-radius:50px;padding:6px 10px;font-size:10px;transition:opacity .5s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.canvas-hint.hide{opacity:0}.visual-bottom{font-size:10px}.legend{flex-wrap:wrap;gap:9px;display:flex}.legend span{white-space:nowrap;align-items:center;gap:4px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.toolbar{justify-content:space-between;align-items:center;padding:15px 0 4px;display:flex}.zoom-controls{gap:6px;display:flex}.zoom-controls button{color:#26382d;background:#fff;border:1px solid #dfe7df;border-radius:10px;width:38px;height:38px;font-size:20px}.text-button{color:#338755;background:0 0;border:0;font-size:12px;font-weight:700}.bottom-note{text-align:center;color:#9ba69c;padding:10px 0 16px;font-size:10px}.backdrop{z-index:5;background:#0e211965;position:fixed;inset:0}.week-sheet{z-index:6;max-width:600px;padding:12px 24px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;margin:auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #10251a30}.sheet-handle{background:#d5dfd6;border-radius:5px;width:36px;height:4px;margin:0 auto 22px}.sheet-top{justify-content:space-between;align-items:center;display:flex}.status{letter-spacing:.08em;color:#32995b;font-size:11px;font-weight:800}.close{color:#6f7c70;background:0 0;border:0;font-size:26px}.week-sheet h2{letter-spacing:-.06em;margin:14px 0 5px;font-size:32px}.week-sheet p{color:#718075;margin:0 0 22px;font-size:13px}.sheet-meta{border-top:1px solid #e7ede6;border-bottom:1px solid #e7ede6;justify-content:space-between;padding:16px 0;font-size:13px;display:flex}.sheet-meta span{color:#88958a}.sheet-nav{gap:8px;margin-top:18px;display:flex}.sheet-nav button{color:#355b40;background:#f7faf6;border:1px solid #dfe8df;border-radius:10px;flex:1;padding:12px;font-size:12px;font-weight:700}.sheet-nav button:disabled{opacity:.35}.settings-overlay{z-index:10;background:#f3f6ef;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-card{background:#fff;border:1px solid #e3eae0;border-radius:24px;width:min(100%,400px);padding:32px 27px;box-shadow:0 20px 70px #233d2912}.settings-card h2{letter-spacing:-.07em;margin:16px 0;font-size:36px;line-height:1.17}.settings-card p{color:#79867a;margin:0 0 25px;font-size:13px;line-height:1.7}.settings-card label{margin:16px 0 8px;font-size:12px;font-weight:750;display:block}.settings-card label span{color:#88998a}.settings-card input{color:#243328;background:#fbfcf9;border:1px solid #dce5dc;border-radius:10px;width:100%;padding:13px;font-size:15px}.settings-card input:focus{outline:2px solid #98d7aa}.error{color:#bd4b4b;min-height:20px;padding-top:5px;font-size:11px}.primary{color:#fff;background:#219653;border:0;border-radius:11px;justify-content:space-between;width:100%;margin-top:10px;padding:15px 17px;font-size:13px;font-weight:750;display:flex}.preview-button{color:#4d805d;background:0 0;border:0;margin:18px auto 0;font-size:12px;text-decoration:underline;display:block}.privacy{text-align:center;color:#a0aca2;margin-top:25px;font-size:10px}.hidden{display:none!important}@media (width<=370px){.app{padding-left:15px;padding-right:15px}.legend{gap:5px}.visual{padding-left:9px;padding-right:9px}.visual-bottom{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{color:#f2f0eb;--line:#ffffff1c;--muted:#9aa8bd;--accent:#e5cb9b;background:#0d1425}body{background:radial-gradient(at 50% -18%,#273350 0,#131e33 39%,#0d1425 76%)}.top{border-color:var(--line)}.brand-mark,.eyebrow,.settings-kicker{color:var(--accent)}.icon-button{color:var(--muted)}.intro{padding:30px 0 24px}.intro h1{letter-spacing:-.065em;flex-direction:column;align-items:flex-start;gap:0;margin:10px 0 14px}.intro h1>span{font-variant-numeric:tabular-nums;font-size:clamp(62px,17vw,88px);font-weight:750}.intro h1 small{letter-spacing:-.055em;word-break:keep-all;margin-top:5px;font-size:clamp(20px,5.5vw,25px);font-weight:600;line-height:1.3}.intro p{color:var(--muted);word-break:keep-all;line-height:1.5}.visual{isolation:isolate;background:radial-gradient(at 50% 48%,#26314b 0,#18243c 45%,#101a2d 100%);border-color:#7986ae3b;border-radius:20px;padding:16px 14px 12px;position:relative;overflow:hidden;box-shadow:0 18px 55px #050a1955,inset 0 1px #ffffff12}.visual:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 20% 24%,#b5afe214 0,#0000 30%),radial-gradient(circle at 80% 75%,#bd9a7914 0,#0000 36%);position:absolute;inset:0}.visual-top,.visual-bottom{color:#aab6cb}.canvas-hint{color:#c1cadd;background:#18243cde;border-color:#ffffff26}.past{background:#d5d9e6}.present{background:var(--accent);box-shadow:0 0 0 2px #e5cb9b4d,0 0 9px #e5cb9b}.future{background:#667592}.zoom-controls button{border-color:var(--line);color:#edf0f6;background:#1c2940}.view-controls{align-items:center;gap:12px;display:flex}.this-week-button{color:var(--accent);white-space:nowrap;background:#e5cb9b17;border:1px solid #e5cb9b75;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:750}.text-button{color:var(--accent)}.bottom-note{color:#8996ac}.backdrop{background:#050915b8}.week-sheet{border:1px solid var(--line);background:#1b2740;border-bottom:0;box-shadow:0 -10px 40px #05091575}.sheet-handle{background:#68758e}.status{color:var(--accent)}.close,.week-sheet p,.sheet-meta span{color:var(--muted)}.sheet-meta{border-color:var(--line)}.sheet-nav button{border-color:var(--line);color:#e4e7f1;background:#263550}.settings-overlay{background:#0d1425}.settings-card{background:radial-gradient(at top,#25324e,#19253d 75%);border-color:#7986ae3b;box-shadow:0 20px 70px #05091580}.settings-card p,.settings-card label span{color:var(--muted)}.settings-card input{color:#f2f0eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111b30;border-color:#69779670}.settings-card input:focus{outline-color:#b5afe2}.error{color:#ef9a9a}.primary{background:var(--accent);color:#172037}.preview-button{color:var(--accent)}.privacy{color:#8996ac}
