:root{color-scheme:light;--bg:#F4F6FB;--surface:#FFFFFF;--surface2:#EAEEF6;--line:rgba(15,23,42,.09);--accent:#0B84D6;--accent-bg:rgba(11,132,214,.12);--pro:#7A4FE0;--pro-bg:rgba(122,79,224,.12);--ok:#10A567;--ok-bg:rgba(16,165,103,.14);--warn:#C97E12;--warn-bg:rgba(201,126,18,.15);--bad:#E23B3B;--bad-bg:rgba(226,59,59,.12);--t1:#12192B;--t2:rgba(18,25,43,.62);--t3:rgba(18,25,43,.42);--kakao:#FAE100;--page:#E6EAF2;--caption:rgba(18,25,43,.4);--frame-border:rgba(15,23,42,.08);--frame-shadow:0 24px 60px rgba(20,30,60,.2);--notch:#12192B;--on-accent:#fff;--tabbar-bg:rgba(255,255,255,.9);--toast-bg:#2A3550}:root[data-theme=dark]{color-scheme:dark;--bg:#0A0F1E;--surface:#141B2E;--surface2:#1C2540;--line:rgba(255,255,255,.07);--accent:#4CC3FF;--accent-bg:rgba(76,195,255,.13);--pro:#B48CFF;--pro-bg:rgba(180,140,255,.14);--ok:#3DDC97;--ok-bg:rgba(61,220,151,.13);--warn:#FFB454;--warn-bg:rgba(255,180,84,.13);--bad:#FF6B6B;--bad-bg:rgba(255,107,107,.13);--t1:#F2F6FF;--t2:rgba(242,246,255,.6);--t3:rgba(242,246,255,.36);--page:#05080F;--caption:rgba(242,246,255,.3);--frame-border:rgba(255,255,255,.1);--frame-shadow:0 30px 80px rgba(0,0,0,.6), inset 0 0 0 8px #05080F;--notch:#05080F;--on-accent:#04121F;--tabbar-bg:rgba(10,15,30,.96);--toast-bg:#22304F}@media (prefers-color-scheme: dark) and (max-width:600px){:root:not([data-theme]){color-scheme:dark;--bg:#0A0F1E;--surface:#141B2E;--surface2:#1C2540;--line:rgba(255,255,255,.07);--accent:#4CC3FF;--accent-bg:rgba(76,195,255,.13);--pro:#B48CFF;--pro-bg:rgba(180,140,255,.14);--ok:#3DDC97;--ok-bg:rgba(61,220,151,.13);--warn:#FFB454;--warn-bg:rgba(255,180,84,.13);--bad:#FF6B6B;--bad-bg:rgba(255,107,107,.13);--t1:#F2F6FF;--t2:rgba(242,246,255,.6);--t3:rgba(242,246,255,.36);--page:#05080F;--caption:rgba(242,246,255,.3);--frame-border:rgba(255,255,255,.1);--frame-shadow:0 30px 80px rgba(0,0,0,.6), inset 0 0 0 8px #05080F;--notch:#05080F;--on-accent:#04121F;--tabbar-bg:rgba(10,15,30,.96);--toast-bg:#22304F}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--page);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;letter-spacing:-.01em;color:var(--t1);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:14px}.caption{font-size:12px;color:var(--caption);letter-spacing:.4px}.phone{width:390px;max-width:100%;height:800px;max-height:calc(100vh - 70px);background:var(--bg);border-radius:44px;border:1px solid var(--frame-border);box-shadow:var(--frame-shadow);overflow:hidden;position:relative;display:flex;flex-direction:column}.statusbar{height:46px;flex:none;display:flex;align-items:center;justify-content:center}.notch{width:110px;height:24px;background:var(--notch);border-radius:14px}.screen{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.pagepad{padding:6px 18px 24px}h1{font-size:21px;font-weight:700;letter-spacing:-.3px}.header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 12px}.header .actions{display:flex;gap:14px;align-items:center}.iconbtn{background:none;border:none;color:var(--t2);font-size:18px;cursor:pointer;position:relative;padding:2px}.iconbtn .dot{position:absolute;top:0;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--bad)}.card{background:var(--surface);border-radius:16px;padding:15px;margin-bottom:10px}.sub{font-size:12px;color:var(--t3);margin:14px 2px 8px}.chip{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.chip.accent{background:var(--accent-bg);color:var(--accent)}.chip.pro{background:var(--pro-bg);color:var(--pro)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.btn{width:100%;border:none;border-radius:13px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:disabled{background:var(--surface2);color:var(--t3);cursor:default}.btn.kakao{background:var(--kakao);color:#3a2e00}.input{width:100%;background:var(--surface2);border:none;border-radius:11px;padding:13px;color:var(--t1);font-size:14px;font-family:inherit;margin-bottom:9px;outline:none}.input::placeholder{color:var(--t3)}textarea.input{min-height:150px;resize:none;line-height:1.6}.seg{display:flex;background:var(--surface);border-radius:11px;padding:4px;margin-bottom:14px}.seg button{flex:1;border:none;background:none;color:var(--t2);font-size:13px;font-weight:600;padding:8px;border-radius:8px;cursor:pointer;font-family:inherit}.seg button.on{background:var(--accent);color:var(--on-accent)}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.back{background:none;border:none;color:var(--accent);font-size:15px;cursor:pointer;font-family:inherit;padding:2px 0}.progress{height:4px;background:var(--surface2);border-radius:2px;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:var(--accent);border-radius:2px}.tabbar{flex:none;display:flex;border-top:1px solid var(--line);padding:8px 6px calc(14px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom)));background:var(--tabbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabbar button{flex:1;background:none;border:none;color:var(--t3);cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:600}.tabbar button .ic{font-size:19px;line-height:1}.tabbar button.on{color:var(--accent)}.login{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:0 26px 40px;text-align:center}.logo{display:block;width:78px;height:78px;border-radius:22px;margin:0 auto 18px;box-shadow:0 6px 20px #0000002e}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-head b{font-size:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-grid .wd{font-size:10px;color:var(--t3);padding:4px 0}.day{border:none;background:none;color:var(--t1);font-size:13px;padding:7px 0 4px;border-radius:10px;cursor:pointer;font-family:inherit;position:relative}.day.dim{color:var(--t3)}.day.today{color:var(--accent);font-weight:800}.day.sel{background:var(--accent);color:var(--on-accent);font-weight:800}.day .evdot{display:block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin:3px auto 0}.day.sel .evdot{background:var(--on-accent)}.ev{border-left:3px solid var(--accent);border-radius:4px 14px 14px 4px}.ev.personal{border-left-color:var(--ok)}.ev.ai{border-left-color:var(--pro)}.thumb{width:62px;height:44px;border-radius:9px;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:15px;flex:none}.faq-q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:10px}.faq-a{font-size:13px;color:var(--t2);line-height:1.65;margin-top:10px;display:none}.faq.open .faq-a{display:block}.faq .arr{transition:transform .18s;color:var(--t3);flex:none}.faq.open .arr{transform:rotate(180deg)}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:10px}.stat{background:var(--surface);border-radius:14px;padding:13px 6px;text-align:center}.stat b{font-size:17px;display:block}.stat span{font-size:10px;color:var(--t3)}.answerbox{background:var(--accent-bg);border-radius:11px;padding:11px;margin-top:9px;font-size:13px;line-height:1.6;color:var(--t2)}.answerbox.pro{background:var(--pro-bg)}.answerbox b{color:var(--accent);font-size:12px;display:block;margin-bottom:4px}.answerbox.pro b{color:var(--pro)}.upload-zone{border:1.5px dashed rgba(76,195,255,.4);border-radius:15px;padding:24px;text-align:center;cursor:pointer;margin-bottom:12px}.guide{display:flex;background:var(--surface2);border-radius:11px;padding:12px 4px;margin-bottom:12px}.guide div{flex:1;text-align:center;font-size:11px;color:var(--t2)}.guide div i{display:block;font-style:normal;font-size:17px;margin-bottom:4px}.menu{background:var(--surface);border-radius:16px;overflow:hidden}.menu button{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;border-bottom:1px solid var(--line);color:var(--t1);padding:15px;font-size:14px;cursor:pointer;font-family:inherit;text-align:left}.menu button:last-child{border-bottom:none}.menu button .arr{margin-left:auto;color:var(--t3)}.toast{position:absolute;left:50%;bottom:110px;transform:translate(-50%);background:var(--toast-bg);color:#fff;font-size:13px;font-weight:600;padding:10px 18px;border-radius:24px;opacity:0;transition:opacity .25s;pointer-events:none;white-space:nowrap;z-index:50}.toast.show{opacity:1}.mgr-dots{display:flex;gap:2px;justify-content:center;align-items:center;height:7px;margin-top:2px}.mgr-dots i{width:4px;height:4px;border-radius:50%;display:block}.mgr-legend{display:flex;gap:14px;justify-content:center;margin-top:12px}.mgr-legend span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--t3)}.mgr-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.theme-toggle{position:fixed;top:16px;right:16px;z-index:100;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--t2);border:1px solid var(--line);cursor:pointer;box-shadow:0 4px 16px #00000024;transition:background .2s,color .2s,border-color .2s}.theme-toggle:hover{color:var(--accent)}.theme-toggle svg{width:20px;height:20px}.theme-toggle-inline{display:none}@media (max-height:820px){.phone{border-radius:30px}}#miniapp-root{width:390px;max-width:100%;height:800px;max-height:calc(100vh - 70px);border-radius:44px;border:1px solid var(--frame-border);box-shadow:var(--frame-shadow);overflow:hidden;position:relative;background:#070d18;display:flex;flex-direction:column}.miniapp-back{flex:none;align-self:flex-start;margin:11px 0 7px 13px;background:#ffffff14;color:#e8f2fa;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s}.miniapp-back:hover{background:#ffffff29}@media (max-height:820px){#miniapp-root{border-radius:30px}}@media (max-width:600px){body{min-height:100vh;min-height:100dvh;padding:0;gap:0;display:block}.caption{display:none}.phone{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none;box-shadow:none;padding-top:var(--safe-area-inset-top, env(safe-area-inset-top))}.statusbar{display:none}#miniapp-root{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none;box-shadow:none;padding-top:var(--safe-area-inset-top, env(safe-area-inset-top))}#onboarding-root>div{min-height:100dvh!important;padding:0!important}#onboarding-root>div>div{width:100%!important;max-width:none!important;height:100dvh!important;border-radius:0!important;border:none!important;box-shadow:none!important;box-sizing:border-box;padding-top:var(--safe-area-inset-top, env(safe-area-inset-top))!important;padding-bottom:var(--safe-area-inset-bottom, env(safe-area-inset-bottom))!important}.theme-toggle{top:calc(var(--safe-area-inset-top, env(safe-area-inset-top)) + 12px)}body.app-view .theme-toggle{display:none}.theme-toggle-inline{display:inline-flex}}html.native body{min-height:100dvh;padding:0;gap:0;display:block}html.native .caption,html.native .statusbar{display:none}html.native .phone,html.native #miniapp-root{width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;border:none;box-shadow:none;padding-top:var(--safe-area-inset-top, env(safe-area-inset-top))}html.native #onboarding-root>div{min-height:100dvh!important;padding:0!important}html.native #onboarding-root>div>div{width:100%!important;max-width:none!important;height:100dvh!important;border-radius:0!important;border:none!important;box-shadow:none!important;box-sizing:border-box;padding-top:var(--safe-area-inset-top, env(safe-area-inset-top))!important;padding-bottom:var(--safe-area-inset-bottom, env(safe-area-inset-bottom))!important}html.native .theme-toggle{top:calc(var(--safe-area-inset-top, env(safe-area-inset-top)) + 12px)}html.native body.app-view .theme-toggle{display:none}html.native .theme-toggle-inline{display:inline-flex}.chiprow{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.chiprow.secrow{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none}.chiprow.secrow::-webkit-scrollbar{display:none}.pick{flex:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--t2);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap}.pick.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.card.fac{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.fac-thumb{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-size:24px;flex:none}.heart{background:none;border:none;cursor:pointer;font-size:17px;color:var(--t3);display:block;margin-top:5px;padding:0}.heart.on{color:var(--bad)}.ava{width:40px;height:40px;border-radius:50%;background:var(--accent-bg);color:var(--accent);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}.emblem{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:21px;flex:none}.dstrip{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:none}.dstrip::-webkit-scrollbar{display:none}.dchip{flex:none;width:52px;padding:8px 0;border-radius:12px;background:var(--surface);border:1px solid var(--line);cursor:pointer;font-family:inherit;text-align:center}.dchip span{display:block;font-size:11px;color:var(--t3)}.dchip b{display:block;font-size:15px;margin-top:2px;color:var(--t1)}.dchip.on{background:var(--accent);border-color:var(--accent)}.dchip.on span,.dchip.on b{color:var(--on-accent)}.slotgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{padding:11px 0;border-radius:11px;background:var(--surface);border:1px solid var(--line);font-family:inherit;font-size:13px;font-weight:600;color:var(--t1);cursor:pointer}.slot.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.slot:disabled{opacity:.35;cursor:default;text-decoration:line-through}.quickgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quickgrid button{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 4px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--t2);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.quickgrid .qi{font-size:21px}.flabel{display:block;font-size:12px;font-weight:600;color:var(--t2);margin:14px 2px 6px}.input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;font-family:inherit;color:var(--t1)}.input:focus{outline:none;border-color:var(--accent)}textarea.input{resize:vertical;line-height:1.5}.card.ev.book{border-left:3px solid var(--accent)}.card.ev.lesson{border-left:3px solid var(--ok)}.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:20px 2px 9px}.sechead b{font-size:14px;font-weight:700;color:var(--t1)}.sechead span{font-size:12px;font-weight:500;color:var(--t3);text-align:right}.agree{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:13.5px;cursor:pointer}.agree input{width:19px;height:19px;accent-color:var(--accent);flex:none}.agree a{font-size:12px;color:var(--t3);text-decoration:underline;cursor:pointer}.linkcode{font-size:32px;font-weight:800;letter-spacing:8px;color:var(--accent);margin:14px 0 6px;font-variant-numeric:tabular-nums}.switch{flex:none;width:48px;height:28px;border-radius:14px;border:none;background:var(--surface2);position:relative;cursor:pointer;transition:background .2s}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch.on{background:var(--accent)}.switch.on i{transform:translate(20px)}.numrow{display:flex;gap:8px}.numfield{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.numfield span{font-size:11.5px;color:var(--t3);padding-left:2px}.numfield .input{text-align:center;font-weight:700}.plan{width:100%;display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px 15px;margin-bottom:9px;cursor:pointer;font-family:inherit;color:var(--t1)}.plan:active{border-color:var(--accent)}.dlg-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0408128c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}.dlg-wrap.show{opacity:1}.dlg{width:100%;max-width:330px;background:var(--surface);color:var(--t1);border:1px solid var(--line);border-radius:22px;padding:24px 20px 16px;box-shadow:0 24px 60px #00000059;transform:translateY(10px) scale(.97);transition:transform .2s cubic-bezier(.2,.9,.3,1.2)}.dlg-wrap.show .dlg{transform:none}.dlg h3{font-size:17px;font-weight:800;margin:0 0 8px;letter-spacing:-.01em;word-break:keep-all}.dlg-msg{font-size:14px;line-height:1.6;color:var(--t2);margin:0;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}.dlg-input{margin-top:14px}.dlg-btns{display:flex;gap:8px;margin-top:20px}.dlg-btn{flex:1;border:none;border-radius:14px;padding:13px 0;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}.dlg-cancel{background:var(--surface2);color:var(--t1)}.dlg-ok{background:var(--accent);color:#fff}:root[data-theme=dark] .dlg-ok:not(.danger){color:#06121f}@media (prefers-color-scheme: dark) and (max-width:600px){:root:not([data-theme=light]) .dlg-ok:not(.danger){color:#06121f}}.dlg-ok.danger{background:var(--bad);color:#fff}.dlg-choices{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:52vh;overflow-y:auto}.dlg-choice{display:flex;flex-direction:column;gap:2px;text-align:left;padding:13px 14px;border-radius:14px;cursor:pointer;font-family:inherit;background:var(--surface2);color:var(--t1);border:1.5px solid transparent}.dlg-choice b{font-size:15px}.dlg-choice span{font-size:12.5px;color:var(--t2)}.dlg-choice.on{border-color:var(--accent);background:var(--accent-bg)}
