:root{--paper:#ffffff;--surface:#ffffff;--surface-2:#fafaf8;--ink:#191917;--ink-soft:#71716c;--faint:#a5a5a0;--line:#eceae4;--accent:#9a6a24;--accent-ink:#7a5216;--accent-soft:rgba(154,106,36,0.07);--good:#5f7d5a;--rain:#5c7c9e;--danger:#9a4a4a;--radius:10px;--gap:16px;--shadow-l:0 12px 44px rgba(25,25,20,0.13);--serif:var(--font-serif),"Nanum Myeongjo","AppleMyungjo",serif;--sans:var(--font-sans),"Apple SD Gothic Neo","Helvetica Neue",system-ui,sans-serif}*{box-sizing:border-box}body,html{overscroll-behavior:none}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5;background:var(--paper);min-height:100vh}body,h1,h2,h3,h4,ol,p,ul{margin:0}button{font-family:inherit;cursor:pointer}.cal .day>span,.clock,.ds-date,.ds-time,.ib-fchip .n,.nph-title,.nstat .num,.nstep .num,.rep-badge,.t-time,.tm-time,.tri-time,.wk-cnt,.wx-hour b,.wx-temp,h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:0}.chip-ai,.eyebrow,.ib-group>h4,.nph-date,.nstat .lab,.rp-sub,.wx-city{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--ink-soft)}.app{max-width:min(1320px,93vw);margin:0 auto;padding:clamp(26px,3vh,38px) clamp(20px,3vw,44px) 96px;display:flex;flex-direction:column;gap:clamp(16px,2vh,22px)}@media (min-width:1500px){.app{max-width:1460px}}.reveal{opacity:0;transform:translateY(10px);animation:rise .55s cubic-bezier(.2,.7,.2,1) forwards}.reveal:first-child{animation-delay:.02s}.reveal:nth-child(2){animation-delay:.09s}.reveal:nth-child(3){animation-delay:.16s}.reveal:nth-child(4){animation-delay:.23s}@keyframes rise{to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.brief{background:#fff;border-bottom:1px solid var(--ink);padding:0 0 20px}.brief-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.eyebrow{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.clock{font-size:clamp(40px,8vw,64px);letter-spacing:-.01em;line-height:1.02;margin-top:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock .ap{font-size:.42em;font-weight:600;color:var(--ink-soft);margin-right:.28em}.tools{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.yp{width:100%}.yp-compact{min-width:220px;max-width:260px}.yp-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}.yp-lead{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.yp-lead,.yp-nums{color:var(--ink-soft)}.yp-nums{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.yp-nums b{font-family:var(--serif);font-weight:600;color:var(--accent-ink);font-size:13.5px}.yp-bar{height:7px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.yp-bar,.yp-fill{border-radius:20px}.yp-fill{height:100%;background:var(--accent);transition:width .6s cubic-bezier(.2,.7,.2,1)}.signout{background:none;border:none;color:var(--faint);font-size:12px;font-weight:600;padding:2px 4px}.signout:hover{color:var(--ink-soft);text-decoration:underline}.account-row{display:flex;align-items:center;gap:8px}.account-row:before{content:""}.acct-name{background:none;border:none;padding:2px 4px;max-width:160px;display:inline-flex;align-items:center;gap:5px;color:var(--ink-soft);font-size:12px;font-weight:700;cursor:pointer}.acct-name,.acct-name>:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-edit{color:var(--faint);font-size:10.5px;opacity:0;transition:opacity .15s}.acct-name:hover{color:var(--ink)}.acct-name:hover .acct-edit{opacity:1}.acct-input{width:120px;padding:2px 6px;font-size:12px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;outline:none}.acct-input:focus{border-color:var(--accent)}.account-row .signout:before{content:"·";color:var(--faint);margin-right:8px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px}.auth-brand{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink)}.auth-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.auth-title{font-family:var(--serif);font-size:27px;letter-spacing:-.02em;margin-top:24px;color:var(--ink)}.auth-sub{color:var(--ink-soft);font-size:14px;margin-top:6px;line-height:1.55}.auth-form{gap:14px;margin-top:26px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.auth-field input{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--ink);font-family:inherit}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-msg{font-size:13px;color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:8px;padding:10px 12px;line-height:1.45}.auth-submit{background:var(--ink);color:#fff;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;margin-top:4px;transition:.15s}.auth-submit:hover:not(:disabled){opacity:.92}.auth-submit:disabled{opacity:.5}.auth-switch{background:none;border:none;color:var(--ink-soft);font-size:13.5px;font-weight:600;margin-top:18px;width:100%;text-align:center}.auth-switch:hover,.ghost{color:var(--ink)}.ghost{background:#fff;border:1px solid var(--line);border-radius:8px;width:44px;height:44px;font-size:18px;display:grid;place-items:center;transition:.15s}.ghost.sm{width:38px;height:38px;font-size:16px}.ghost:hover{background:var(--surface-2)}.report-btn{background:#fff;color:var(--ink);border:1px solid var(--ink);border-radius:8px;padding:0 20px;height:44px;font-size:14px;font-weight:600;transition:.15s}.report-btn:hover{background:var(--ink);color:#fff}.brief-ai{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.orb{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:8px}.orb.big{width:9px;height:9px;margin-top:9px}.brief-line{font-size:15px;line-height:1.6;color:var(--ink-soft);font-weight:500}.brief-line b{color:var(--ink);font-weight:700}.wx-goal-row{display:flex;gap:18px;align-items:stretch}.wx-goal-row .weather{flex:7 1;min-width:0}.wx-goal-row .goal-card{flex:3 1;min-width:0}@media (max-width:720px){.wx-goal-row{flex-direction:column;gap:14px}}.goal-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.goal-card .goal-text{font-family:var(--serif);font-size:clamp(16px,1.5vw,19px);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}.goal-steps{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.goal-step{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--ink)}.goal-step .gs-mk{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.6;flex:none}.weather{display:flex;flex-direction:column;gap:6px}.wx-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none}.wx-track::-webkit-scrollbar{display:none}.wx-card{scroll-snap-align:center;min-width:100%;background:#fff;border-bottom:1px solid var(--line);padding:14px 2px;display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px}.wx-card,.wx-lead{align-items:center}.wx-lead{display:flex;gap:13px}.wx-lead .wx-ico{width:22px;height:22px}.wx-temp{font-size:clamp(30px,5vw,38px);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wx-cond{font-size:13.5px;color:var(--ink);font-weight:500}.wx-hilo{font-size:12px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wx-note{font-size:11.5px;font-weight:600;color:var(--rain);display:inline-block;margin-top:3px}.wx-hours{display:flex;gap:14px;justify-self:end}.wx-hour{text-align:center;font-size:11px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px;align-items:center}.wx-hour b{color:var(--ink);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wx-ico{width:20px;height:20px}@media (max-width:640px){.wx-hours{display:none}}.wx-foot{display:flex;justify-content:space-between;align-items:center;padding:0 2px}.wx-dots{display:flex;gap:7px}.wx-dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:none;padding:0;transition:.25s}.wx-dot.on{background:var(--ink);width:22px;border-radius:4px}.wx-nav{display:flex;gap:8px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);padding-top:6px}.tabs::-webkit-scrollbar{display:none}.tab{border:none;background:transparent;color:var(--ink-soft);font-weight:500;font-size:14.5px;padding:10px 0 12px;white-space:nowrap;transition:.15s}.tab.is-active{color:var(--ink);font-weight:700;border-bottom:2px solid var(--ink);margin-bottom:-1px}.view{animation:fade .3s ease}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}@media (min-width:1200px) and (min-height:820px){.card{padding:24px}}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}.card-head h2{font-size:17px;letter-spacing:-.01em}.muted{color:var(--ink-soft);font-size:13px;font-weight:500}.chip-ai{border:1px solid var(--line);border-radius:4px;padding:3px 9px;font-weight:700}.today-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--gap);gap:var(--gap)}@media (min-width:900px){.today-grid{grid-template-columns:1.7fr 1fr}}.rail{display:flex;flex-direction:column;gap:var(--gap)}@media (max-width:899px){.rail{display:none}}.b-now{font-size:10px;letter-spacing:.14em;color:#fff;background:var(--ink);padding:2px 7px;border-radius:6px;margin-left:8px}.b-main,.b-now{font-weight:800;vertical-align:middle;white-space:nowrap;flex-shrink:0}.b-main{font-size:9.5px;letter-spacing:.06em;color:var(--accent-ink);border:1px solid var(--accent);padding:1px 6px;border-radius:5px;margin-left:7px}.timeline{list-style:none;padding:0;margin:0}.t-item{display:grid;grid-template-columns:52px 26px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 0;position:relative}.t-time{font-size:14px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-rail{position:relative;height:100%;min-height:30px;display:grid;place-items:center}.t-rail:after,.t-rail:before{content:"";position:absolute;left:50%;width:2px;background:var(--line);transform:translateX(-50%)}.t-rail:before{top:-11px;height:calc(50% - 1px)}.t-rail:after{bottom:-11px;height:calc(50% - 1px)}.t-item:first-child .t-rail:before,.t-item:last-child .t-rail:after{display:none}.t-check{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:#fff;display:grid;place-items:center;padding:0;transition:.15s;color:transparent;font-size:12px}.t-check:hover{border-color:var(--good)}.t-title{font-size:16px;font-weight:600}.t-open{background:none;border:none;text-align:left;padding:2px 0;cursor:pointer;color:inherit;font:inherit;font-weight:600;display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 0;border-radius:5px}.t-open:hover{color:var(--accent-ink)}.t-subn{font-size:10.5px;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:0 7px;margin-left:7px;font-family:var(--serif);flex-shrink:0}.t-star{background:transparent;border:none;font-size:17px;color:var(--line);padding:2px 4px;line-height:1;transition:.15s}.t-star:hover{transform:scale(1.1)}.t-star.on,.t-star:hover{color:var(--accent)}.t-item.done .t-title{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.t-item.done .t-check{background:var(--ink);border-color:var(--ink);color:#fff;animation:popcheck .4s cubic-bezier(.2,1.4,.4,1)}@keyframes popcheck{0%{transform:scale(.5)}60%{transform:scale(1.18)}to{transform:scale(1)}}.t-item.now{background:var(--accent-soft);margin:4px -14px;padding:12px 14px;border-radius:8px}.t-item.now .t-time{color:var(--accent-ink)}.t-item.now .t-check{border-color:var(--accent)}.t-item.now .t-rail:after,.t-item.now .t-rail:before{display:none}.wk-mini{display:flex;flex-direction:column}.wk-row{display:grid;grid-template-columns:26px 26px 1fr;grid-gap:9px;gap:9px;align-items:center;padding:8px 0;border-radius:6px;cursor:pointer;transition:.12s;background:none;text-align:left;font:inherit;color:inherit;border:none;border-top:1px solid var(--line)}.wk-row:first-child{border-top:none}.wk-row:hover{background:var(--surface-2)}.wk-row .d{font-size:13.5px;font-weight:700;color:var(--ink-soft)}.wk-row.today{background:var(--accent-soft);margin:0 -10px;padding:8px 10px;border-top-color:transparent}.wk-row.today .d,.wk-row.today .wk-cnt{color:var(--accent-ink)}.wk-row.today+.wk-row{border-top-color:transparent}.wk-cnt{font-size:13px;color:var(--ink-soft);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wk-mains{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.wk-mains::-webkit-scrollbar{display:none}.m-chip{flex:none;scroll-snap-align:start;font-size:12px;font-weight:600;background:#fff;color:var(--ink);border:1px solid var(--line);padding:3px 10px;border-radius:4px;white-space:nowrap}.wk-none{font-size:12px;color:var(--ink-soft)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.wk-col{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;min-height:130px;display:flex;flex-direction:column;gap:6px}.wk-col.today{background:var(--accent-soft);border-color:var(--accent)}.wk-col-head{background:none;border:none;padding:0 0 4px;text-align:left;cursor:pointer;border-radius:5px}.wk-col-head:hover h3{color:var(--ink)}.wk-col h3{font-size:13px;font-weight:700;color:var(--ink-soft);font-family:var(--sans)}.wk-col.today h3{color:var(--accent-ink)}.wk-empty,.wk-ev{font-size:12px}.wk-ev{display:flex;align-items:center;gap:6px;background:#fff;border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:2px;border-radius:4px;padding:6px 9px;font-weight:600;text-align:left;cursor:pointer;transition:.12s;color:inherit}.wk-ev:hover{border-color:var(--accent)}.wk-ev.is-main,.wk-ev:hover{border-left-color:var(--accent)}.wk-ev.is-main{font-weight:700}.wk-ev.done .wk-ev-t{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.wk-ev-t{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.nav-title h2{white-space:nowrap;flex-shrink:0}.nav-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink-soft);font-size:17px;line-height:1;cursor:pointer;font-family:inherit;transition:.12s}.nav-btn:hover{border-color:var(--ink);color:var(--ink)}.nav-rel{font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);padding:2px 8px;border-radius:999px}.nav-rel.now{display:none}.nav-range{font-size:12.5px;white-space:nowrap}.nav-today{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--accent-ink);border:1px solid var(--accent);border-radius:999px;background:transparent;padding:4px 11px;cursor:pointer;font-family:inherit;transition:.12s}.nav-today:hover{background:var(--accent-soft)}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal .dow{text-align:center;font-size:12px;font-weight:700;color:var(--ink-soft);padding-bottom:6px}.cal .day{border-radius:6px;background:var(--surface-2);padding:7px 6px;font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:4px;min-height:96px;cursor:pointer;transition:.12s;border:1px solid transparent;text-align:left;font-family:inherit;color:inherit}.cal .day .d-num{font-size:13px;line-height:1}.cal .day:not(.blank):hover{border-color:var(--ink)}.cal .day.blank{background:transparent;cursor:default}.cal .day.today{background:var(--ink);color:#fff}.cal .dots{display:flex;gap:3px;margin-top:auto}.cal .dot{width:5px;height:5px;border-radius:50%;background:var(--ink);opacity:.7}.cal .day.today .dot{background:#fff}.cal .day.mainday{border:1px solid var(--accent)}.cal .m-tags{display:flex;flex-direction:column;gap:3px;margin-top:2px}.cal .m-tag{font-size:11px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);padding:2px 5px;border-radius:4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal .m-more{font-size:10px;font-weight:700;color:var(--ink-soft);padding-left:2px}.cal .day.today .m-tag{color:#fff;background:rgba(255,255,255,.18)}.cal .day.today .m-more{color:rgba(255,255,255,.75)}.ib-folders{display:flex;flex-direction:column;gap:9px}.ib-fchip{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;padding:8px 11px;background:var(--surface-2);border-radius:8px}.ib-fchip .ic{font-size:16px}.ib-fchip .n{margin-left:auto;font-size:12px;color:var(--ink-soft);background:#fff;border-radius:20px;padding:1px 9px;min-width:24px;text-align:center}.ib-full{display:flex;flex-direction:column;gap:16px}.ib-group>h4{margin-bottom:8px;display:flex;align-items:center;gap:7px}.ib-group>h4 .cnt{color:var(--accent-ink)}.ib-item{border-top:1px solid var(--line)}.ib-item:first-of-type{border-top:none}.ib-head{display:flex;align-items:center;gap:10px;padding:11px 4px;font-size:15px}.ib-head .mk{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.55;flex:none}.ib-head .ttl{font-weight:600}.ib-head .car{margin-left:auto;color:var(--ink-soft);font-size:12px;display:flex;align-items:center;gap:8px}.ib-head .subn{font-size:11px;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:1px 8px}.caret{display:inline-block;transition:.2s}.ib-item.open .caret{transform:rotate(90deg)}.ib-head.clickable{cursor:pointer}.ib-head.clickable:hover{background:var(--surface-2);border-radius:6px}.ib-sub{overflow:hidden;max-height:0;transition:max-height .28s ease;padding-left:17px}.ib-item.open .ib-sub{max-height:320px}.subrow{display:flex;align-items:center;gap:10px;padding:8px 4px;font-size:14px;color:var(--ink)}.subrow:last-child{padding-bottom:12px}.subck{width:18px;height:18px;border-radius:6px;border:2px solid var(--line);background:#fff;flex:none;display:grid;place-items:center;color:transparent;font-size:11px;padding:0;transition:.15s}.subrow.done .subck{background:var(--ink);border-color:var(--ink);color:#fff}.subrow.done span{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.ib-done{margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink-soft);font-size:12px;font-weight:600;padding:4px 10px;transition:.15s}.ib-done:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.fab{position:fixed;right:22px;bottom:24px;z-index:60;width:62px;height:62px;border-radius:50%;border:1px solid var(--ink);background:#fff;box-shadow:var(--shadow-l);display:grid;place-items:center;transition:.18s}.fab:hover{transform:translateY(-2px)}.fab .orb{width:13px;height:13px;margin:0}.fab .fab-ic{color:var(--accent)}.fab.hidden{opacity:0;pointer-events:none;transform:scale(.5)}.chat{position:fixed;right:22px;bottom:24px;z-index:61;width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-l);display:flex;flex-direction:column;max-height:min(560px,80vh);overflow:hidden;transform-origin:bottom right;animation:chatIn .22s cubic-bezier(.2,1.1,.3,1)}@keyframes chatIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:none}}.chat-head{justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.chat-head,.model-pill{display:flex;align-items:center}.model-pill{gap:7px;background:var(--surface-2);border:1px solid var(--line);padding:5px 11px;border-radius:20px;font-size:13px;font-weight:700;color:var(--ink)}.engine-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--faint)}.engine-dot.gemini,.engine-dot.groq{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 20%,transparent)}.engine-dot.rule{background:var(--accent)}.engine-dot.idle{background:var(--faint)}.engine-dot.warn{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 20%,transparent);animation:engine-pulse 1.6s ease-in-out infinite}@keyframes engine-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.engine-dot.warn{animation:none}}.engine-free{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--good);border:1px solid color-mix(in srgb,var(--good) 40%,transparent);border-radius:4px;padding:0 5px}.chat-x{background:transparent;border:none;color:var(--ink-soft);font-size:15px;width:30px;height:30px;border-radius:8px}.chat-x:hover{background:var(--surface-2)}.ai-log{flex:1 1;display:flex;flex-direction:column;gap:8px;padding:14px;overflow-y:auto;min-height:120px}.bub{font-size:14px;padding:9px 13px;border-radius:14px;max-width:82%;line-height:1.5}.bub.me{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:5px}.bub.ai{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:5px}.bub.typing{display:inline-flex;align-items:center;gap:5px;padding:13px 15px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:typing-bounce 1.3s ease-in-out infinite both}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,70%,to{transform:translateY(0);opacity:.35}35%{transform:translateY(-4px);opacity:.9}}@media (prefers-reduced-motion:reduce){.typing-dot{animation:typing-fade 1.3s ease-in-out infinite both}@keyframes typing-fade{0%,to{opacity:.3}50%{opacity:.85}}}.ai-row{display:flex;gap:9px;padding:12px 14px;border-top:1px solid var(--line)}.ai-input{flex:1 1;background:var(--surface-2);border:1px solid transparent;border-radius:12px;padding:12px 14px;font-size:15px;color:var(--ink);font-family:inherit}.ai-input:focus{outline:none;border-color:var(--accent)}.ai-send{background:var(--ink);color:#fff;border:none;border-radius:12px;width:46px;font-weight:800;font-size:18px;flex:none}.ai-send:disabled{opacity:.4}.ds-wrap{position:fixed;inset:0;z-index:120;background:rgba(25,25,20,.26);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;animation:fade .2s ease}.ds-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-l);width:100%;max-width:440px;max-height:80vh;overflow-y:auto;padding:26px;animation:sheetIn .32s cubic-bezier(.2,1.1,.3,1)}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.ds-x{position:absolute;top:16px;right:16px;background:var(--surface-2);border:none;color:var(--ink-soft);width:32px;height:32px;border-radius:9px;font-size:14px}.ds-date{font-size:22px;letter-spacing:-.02em}.ds-ai{display:flex;gap:11px;align-items:flex-start;margin:14px 0 18px;padding:14px;background:var(--surface-2);border-radius:10px}.ds-ai .orb{margin-top:5px}.ds-ai p{font-size:14.5px;line-height:1.55;font-weight:500}.ds-list{display:flex;flex-direction:column}.ds-line{display:flex;align-items:center;gap:11px;padding:11px 2px;border-top:1px solid var(--line);font-size:15px;font-weight:600;opacity:0;transform:translateX(-8px)}.ds-line:first-child{border-top:none}.ds-line.show{animation:slideIn .34s cubic-bezier(.2,1,.4,1) both}@keyframes slideIn{to{opacity:1;transform:none}}.ds-line .tdot{width:8px;height:8px;border-radius:50%;background:var(--ink);opacity:.35;flex:none}.ds-line.main .tdot{background:var(--accent);opacity:1;box-shadow:0 0 0 3px var(--accent-soft)}.ds-time{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-empty,.ds-time{color:var(--ink-soft)}.ds-empty{font-size:14px;padding:16px 0}.night{position:fixed;inset:0;z-index:200;overflow-y:auto;background:#fff;color:var(--ink);animation:nightIn .5s ease}@keyframes nightIn{0%{opacity:0}to{opacity:1}}@keyframes aiReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.night-inner{max-width:720px;margin:0 auto;padding:26px 24px 96px;display:flex;flex-direction:column;gap:18px}.night-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.night-back{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 15px;font-size:13.5px;font-weight:600}.night-back:hover{background:var(--surface-2)}.night-steps{gap:10px}.night-steps,.nstep{display:flex;align-items:center}.nstep{gap:6px;font-size:12px;font-weight:700;color:var(--faint)}.nstep .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:11px}.nstep.on{color:var(--ink)}.nstep.on .num{background:var(--ink);color:#fff}.nstep.done{color:var(--accent-ink)}.nstep.done .num{background:var(--accent);color:#fff}@media (max-width:640px){.nstep .lbl{display:none}}.nph{display:flex;flex-direction:column;gap:14px;animation:aiReveal .4s ease}.nph-title{font-size:clamp(26px,5.5vw,40px);letter-spacing:-.03em;color:var(--ink)}.nph-sub{font-size:15px;color:var(--ink-soft);line-height:1.6;margin-top:-4px}.rp-list{display:flex;flex-direction:column;gap:8px}.rp-sub{margin:8px 0 2px;opacity:0}.rp-sub.show{animation:aiReveal .4s ease both}.rp-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);opacity:0;transform:translateY(10px)}.rp-row.show{animation:rpIn .42s cubic-bezier(.2,1.3,.4,1) both}@keyframes rpIn{to{opacity:1;transform:none}}.rp-ck{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none;font-size:14px}.rp-row.done .rp-ck{background:var(--ink);color:#fff}.rp-row.done.show .rp-ck{animation:ding .6s ease .1s both}@keyframes ding{0%{transform:scale(.3)}55%{transform:scale(1.55);filter:drop-shadow(0 0 10px var(--good))}to{transform:scale(1);filter:none}}.rp-row.skip .rp-ck{border:2px solid var(--line);color:transparent}.rp-row.skip .rp-t{color:var(--ink-soft)}.rp-row.del .rp-ck{background:#f3ecec;color:var(--danger)}.rp-row.del.gone{animation:delGone .6s ease forwards}@keyframes delGone{20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}to{opacity:.4;filter:grayscale(1)}}.rp-row.mov .rp-ck{background:var(--accent-soft);color:var(--accent-ink)}.rp-row.add .rp-ck{background:var(--surface-2);color:var(--ink)}.rp-t{flex:1 1;font-size:15px;font-weight:600;color:var(--ink)}.rp-t s{opacity:.45;font-weight:500}.rp-tag{font-size:11px;font-weight:800;padding:2px 9px;border-radius:4px;flex:none}.rp-tag.red{color:var(--danger)}.rp-tag.amber{color:var(--accent-ink)}.rp-tag.green{color:var(--good)}.rp-tag.dim{color:var(--ink-soft)}.nph-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;opacity:0}.nph-actions.show{animation:aiReveal .5s ease both}.nbtn{background:var(--ink);color:#fff;border:none;border-radius:8px;padding:13px 22px;font-size:15px;font-weight:700;transition:.15s}.nbtn:hover{transform:translateY(-1px)}.nbtn.ghost-n{background:#fff;color:var(--ink);border:1px solid var(--line);width:auto;height:auto}.nbtn[disabled]{opacity:.4;pointer-events:none}.nbtn-hint{color:var(--ink-soft);font-size:13px;align-self:center}.night-ai{display:flex;gap:14px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:20px}.night-ai p{font-size:15.5px;line-height:1.75;color:var(--ink);font-weight:500}.tri-list{display:flex;flex-direction:column;gap:8px}.tri-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);animation:rpIn .4s cubic-bezier(.2,1.3,.4,1)}.tri-row.gone{animation:triGone .5s ease forwards;overflow:hidden}@keyframes triGone{to{opacity:0;transform:translateX(24px);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0;border-width:0}}.tri-time{font-weight:600;color:var(--accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px}.tri-t{font-size:15.5px;font-weight:700;flex:1 1;min-width:120px;color:var(--ink)}.tri-acts{display:flex;gap:7px;flex-wrap:wrap}.tri-b{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700;transition:.15s}.tri-b:hover{background:var(--surface-2);transform:translateY(-1px)}.tri-b.ck:hover{background:var(--ink);border-color:var(--ink);color:#fff}.tri-b.ib:hover,.tri-b.pp:hover{background:var(--surface-2);border-color:var(--ink)}.nchat-log{display:flex;flex-direction:column;gap:5px;margin:4px 0}.nbub{font-size:13.5px;line-height:1.5}.nbub.me{color:var(--ink-soft);font-weight:600}.nbub.ai{color:var(--ink)}.nchat{display:flex;gap:9px;margin-top:6px}.nchat input{flex:1 1;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:var(--ink);font-size:15px;font-family:inherit}.nchat input:focus{outline:2px solid var(--accent);border-color:transparent}.nchat input::placeholder{color:var(--faint)}.nchat button{background:var(--ink);color:#fff;border:none;border-radius:10px;width:48px;font-size:18px;font-weight:800;flex:none}.night-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.nstat{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:18px 14px;text-align:center;opacity:0;transform:scale(.9)}.nstat.pop{animation:statPop .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes statPop{to{opacity:1;transform:none}}.nstat .num{font-size:34px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.nstat.chg .num{color:var(--accent-ink)}.nstat .lab{margin-top:3px}.tm-sug{display:flex;flex-wrap:wrap;gap:8px}.tm-chip{background:#fff;border:1px dashed var(--line);color:var(--ink);border-radius:20px;padding:9px 15px;font-size:13.5px;font-weight:700;transition:.15s}.tm-chip:hover{border-style:solid;background:var(--surface-2);transform:translateY(-1px)}.tm-chip.used{opacity:.35;pointer-events:none;text-decoration:line-through}.tm-list{display:flex;flex-direction:column;gap:8px}.tm-item{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);animation:rpIn .42s cubic-bezier(.2,1.3,.4,1) both}.tm-title{flex:1 1;font-weight:600}.tm-time{font-weight:600;color:var(--accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:62px;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:4px 8px;font-size:14.5px;transition:.15s}button.tm-time{cursor:pointer}button.tm-time:hover{background:var(--accent-soft);border-color:var(--accent)}.tm-time.empty{color:var(--ink-soft);border:1px dashed var(--line)}.tm-edit{width:110px;background:#fff;border:1px solid var(--accent);border-radius:8px;padding:5px 8px;color:var(--ink);font-size:14.5px;font-family:var(--serif);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tm-edit:focus{outline:none}.tm-x{margin-left:auto;background:transparent;border:none;color:var(--faint);font-size:15px}.tm-none{color:var(--ink-soft);font-size:14px;padding:8px 0}.rep-final{text-align:center;align-items:center;gap:8px}.rep-badge{font-size:40px;animation:pop2 .6s cubic-bezier(.2,1.5,.4,1)}@keyframes pop2{0%{transform:scale(0)}to{transform:scale(1)}}.rep-wide{width:100%}.rep-wide.night-ai{text-align:left}.rep-center{justify-content:center}.rep-tomo{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left}.rep-tomo h3{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;font-family:var(--sans)}.rep-line{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:15px}.rep-line:first-of-type{border-top:none}.rep-line .tm-time{color:var(--accent-ink)}.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:80;background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:8px;box-shadow:var(--shadow-l);animation:rise .3s ease both}.td-card{max-width:460px}.td-meta{gap:8px;font-size:12.5px;color:var(--ink-soft);font-weight:600;letter-spacing:.02em}.td-meta,.td-title-row{display:flex;align-items:center}.td-title-row{gap:12px;margin:12px 0 14px}.td-check{width:24px;height:24px;flex:none}.td-check.on{background:var(--ink);border-color:var(--ink);color:#fff}.td-title{font-size:22px;letter-spacing:-.02em}.td-title.done{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.td-note{font-size:14.5px;line-height:1.6;color:var(--ink);background:var(--surface-2);border-radius:10px;padding:14px}.td-note.empty{color:var(--ink-soft);font-style:normal}.td-sub{margin-top:14px}.td-sub-head{font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}.td-sub-head,.td-sub-n{color:var(--ink-soft);font-weight:700}.td-sub-n{font-size:10.5px;border:1px solid var(--line);border-radius:20px;padding:0 7px;font-family:var(--serif)}.td-hint{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:14px;background:var(--accent-soft);border-radius:10px}.td-hint .orb{margin-top:5px}.td-hint b{font-size:13.5px;display:block;margin-bottom:2px}.td-hint p{font-size:13px;color:var(--ink-soft);line-height:1.5}.ib-full.compact .ib-group>h4{margin-bottom:4px}.ib-full.compact .ib-head{padding:8px 4px;font-size:14px}.ib-done-wrap{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.ib-done-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:6px 2px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink-soft);font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase}.ib-done-toggle .caret{transition:.2s}.ib-done-toggle.open .caret{transform:rotate(90deg)}.ib-done-toggle .cnt{color:var(--accent-ink)}.ib-archive{margin-top:8px}.ib-archive .mk.done{background:var(--good);opacity:.8}.ib-archive .ttl.done{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.ib-restore{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink-soft);font-size:12px;font-weight:600;padding:4px 10px;transition:.15s}.ib-restore:hover{background:var(--surface-2);border-color:var(--ink-soft)}.ds-line{background:none;border:none;width:100%;cursor:pointer;font:inherit;color:inherit;text-align:left}.ds-line:hover{background:var(--surface-2);border-radius:6px}.ds-name{flex:1 1}.ds-report{margin-top:18px;width:100%;background:var(--ink);color:#fff;border:none;border-radius:10px;padding:13px;font-size:14.5px;font-weight:700;transition:.15s}.ds-report:hover{opacity:.92}@media (max-width:720px){.app{padding:20px 16px 88px;gap:16px}.clock{font-size:40px}.card{padding:16px}.card-head h2{font-size:16px}.card-head{flex-wrap:wrap}.nav-title{width:100%}.nav-hint{display:none}.nav-range{font-size:12px}.brief-line{font-size:14px}.tabs{gap:18px}.brief-top{flex-wrap:nowrap}.tools{flex:1 1;align-items:stretch;max-width:60%}.report-btn{width:100%}.yp-compact{min-width:0;max-width:none;width:100%}.goal-card{padding:14px 16px}.week-grid{grid-template-columns:1fr;gap:8px}.wk-col{min-height:auto;flex-direction:column}.wk-col-head{padding-bottom:2px}.cal{gap:4px}.cal .dow{font-size:11px;padding-bottom:4px}.cal .day{padding:4px;min-height:42px;border-radius:5px}.cal .day,.cal .day>span{font-size:12.5px}.cal .m-tag{display:none}.cal .day.mainday:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:auto}.cal .day.today.mainday:after{background:#fff}.ds-card,.td-card{padding:20px;border-radius:14px}.night-inner{padding:20px 16px 80px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ds-line,.nph,.nph-actions,.nstat,.reveal,.rp-row,.rp-sub,.tm-item,.tri-row{opacity:1!important;transform:none!important}}