:root{--brand-50:#fff8e6;--brand-100:#ffebb3;--brand-200:#ffde85;--brand-400:#ffc233;--brand-600:#d49310;--brand-800:#6e4c07;--teal-50:#e4f8f3;--teal-100:#b5eee2;--teal-500:#0e9e8e;--teal-600:#0b8073;--teal-700:#0a655b;--orange-50:#fff1e6;--orange-400:#ff8a3d;--orange-700:#a2420b;--n0:#fff;--n50:#faf7f0;--n100:#f2eee4;--n200:#e7e1d4;--n300:#d4ccbc;--n400:#ada48f;--n500:#847b69;--n600:#5e574a;--n700:#423c31;--n800:#2a251d;--n900:#1c1812;--green-500:#2e9e5b;--green-50:#e6f6ec;--red-50:#fceae8;--red-500:#e1453c;--red-700:#8e241d;--blue-50:#e9f1fc;--blue-500:#2d7fe0;--blue-700:#174e90;--bg-canvas:var(--n50);--bg-surface:var(--n0);--bg-variant:var(--n100);--text-primary:var(--n900);--text-secondary:var(--n600);--text-tertiary:var(--n500);--border:var(--n200);--border-strong:var(--n300);--focus:var(--teal-600);--brand:var(--brand-400);--brand-container:var(--brand-100);--brand-on:var(--brand-800);--primary:var(--teal-600);--primary-hover:var(--teal-700);--primary-container:var(--teal-50);--primary-on-container:var(--teal-700);--accent-container:var(--orange-50);--accent-on:var(--orange-700);--success:var(--green-500);--error:var(--red-500);--error-container:var(--red-50);--info-container:var(--blue-50);--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:999px;--shadow-card:0 1px 2px rgba(28,24,18,.04);--shadow-pop:0 8px 30px rgba(28,24,18,.18);--sidebar-w:248px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-noto),"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.45}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{opacity:.55;cursor:default}img.duck-img{object-fit:contain;display:block}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--bg-surface);display:flex;flex-direction:column;gap:6px;padding:18px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{gap:10px;padding:6px 8px 14px}.brand,.brand .logo{display:flex;align-items:center}.brand .logo{width:38px;height:38px;border-radius:var(--r-md);background:var(--brand-container);justify-content:center;flex:0 0 auto;overflow:hidden}.brand .logo img{width:30px;height:30px}.brand b{font-weight:700;font-size:18px;line-height:1.3}.brand small{display:block;color:var(--text-tertiary);font-size:11px;font-weight:400}.add-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:#fff;font-weight:700;font-size:14px;line-height:18px;padding:12px 20px;border-radius:var(--r-full);width:100%}.add-btn:hover{background:var(--primary-hover)}.nav-item{display:flex;align-items:center;gap:12px;height:44px;padding:10px 12px;border-radius:var(--r-md);color:var(--text-secondary);font-size:15px;font-weight:500;width:100%;text-align:left;position:relative}.nav-item .ic{width:22px;height:22px;flex:0 0 auto;color:var(--text-tertiary)}.nav-item:hover{background:var(--bg-variant)}.nav-item.active{background:var(--primary-container)}.nav-item.active,.nav-item.active .ic{color:var(--primary-on-container)}.nav-item .badge{margin-left:auto;font-size:12px;font-weight:500;background:var(--brand-container);color:var(--brand-on);padding:1px 8px;border-radius:var(--r-full)}.nav-gap{height:10px;flex:0 0 auto}.profile-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);width:100%;text-align:left}.profile-chip:hover{background:var(--bg-variant)}.avatar{width:32px;height:32px;background:var(--brand-container);display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden}.avatar,.avatar img.photo{border-radius:var(--r-full)}.avatar img.photo{width:100%;height:100%;object-fit:cover}.profile-chip .nm{font-size:13px;font-weight:500;display:block}.profile-chip .sub{font-size:11px;color:var(--text-tertiary);display:block}.main{min-width:0;display:flex;flex-direction:column}.topbar{padding:18px 28px 0}.topbar h1{font-size:22px;font-weight:700}.greet{display:flex;align-items:center;gap:10px;margin:14px 28px 0;max-width:560px}.greet .duck-img{flex:0 0 auto}.bubble{position:relative;background:var(--brand-container);padding:10px 14px 12px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:3px;min-width:0}.bubble .g{font-size:16px;font-weight:700;line-height:22px;color:var(--text-primary)}.bubble .ctx{font-size:12px;font-weight:500;line-height:16px;color:var(--brand-on)}.bubble .tail{position:absolute;left:-7px;top:35px;width:12px;height:16px}.board{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;padding:14px 28px 40px;align-items:start}.col{display:flex;flex-direction:column;gap:10px;min-width:0}.col-head{display:flex;align-items:center;gap:8px;height:32px}.col-head h2{font-size:18px;font-weight:700}.col-head .date{font-size:13px;color:var(--text-secondary)}.col-head .pill{font-weight:500;color:var(--text-secondary);background:var(--bg-variant);padding:2px 10px}.col-head .pill,.col-head .wk-resetup{margin-left:auto;font-size:12px;border-radius:var(--r-full)}.col-head .wk-resetup{font-weight:600;color:var(--primary-on-container);background:var(--primary-container);padding:5px 11px;white-space:nowrap}.col-head .wk-resetup:hover{background:var(--teal-100)}.sec-head{display:flex;align-items:center;gap:7px;margin-top:4px}.sec-head b{font-size:15px;font-weight:700;line-height:20px;color:var(--text-primary)}.sec-head .cnt{font-size:13px;font-weight:500;color:var(--text-tertiary)}.item{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:13px 14px;transition:border-color .12s}.item:hover{border-color:var(--border-strong)}.item.clk{cursor:pointer}.it-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.it-title{font-size:15px;font-weight:500;color:var(--text-primary)}.meta{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;min-width:0;overflow:hidden;align-self:stretch}.meta>[data-chip]{display:inline-flex;flex:0 0 auto;min-width:0}.chip-hide{display:none!important}.chip.more{flex:0 0 auto;background:var(--bg-variant);color:var(--text-secondary);font-weight:700}.chip.proj{display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px}.metatext{font-size:12px;font-weight:500;line-height:16px;color:var(--text-secondary)}.metatext.sub{font-weight:400;color:var(--text-tertiary)}.check{width:24px;height:24px;border-radius:12px;border:2px solid var(--border-strong);flex:0 0 auto;background:none;padding:0}button.check{cursor:pointer}button.check:hover{border-color:var(--primary)}span.check.ro{display:inline-block;opacity:.35;cursor:default}.check.sq{border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.check.sq svg{width:15px;height:15px}.check.sq.on{background:var(--success);border-color:var(--success)}button.check.sq.on:hover{border-color:var(--green-500)}.item.chk{flex-direction:column;align-items:stretch;gap:6px}.item.chk .it-main{gap:10px;min-width:0}.cl-toggle,.item.chk .it-main{display:flex;align-items:center}.cl-toggle{width:24px;height:24px;flex:0 0 auto;justify-content:center;cursor:pointer;background:none;padding:0;border-radius:var(--r-sm);color:var(--text-tertiary)}.cl-toggle:hover{background:var(--bg-variant);color:var(--text-secondary)}.cl-toggle .chev{transition:transform .15s ease;transform:rotate(0deg)}.cl-toggle.on .chev{transform:rotate(90deg)}.cl-list{display:flex;flex-direction:column;gap:1px;padding-left:34px}.cl-row{display:flex;gap:8px;min-height:28px}.cl-box,.cl-row{align-items:center}.cl-box{position:relative;width:18px;height:18px;flex:0 0 auto;border-radius:5px;border:2px solid var(--border-strong);background:none;padding:0;display:inline-flex;justify-content:center;color:#fff}button.cl-box{cursor:pointer}button.cl-box:hover{border-color:var(--primary)}button.cl-box:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}.cl-box svg{width:12px;height:12px}.cl-box.on{background:var(--success);border-color:var(--success)}.cl-box.ro{opacity:.45;cursor:default}.cl-title{flex:1 1;min-width:0;font-size:13px;line-height:18px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-row.done .cl-title{text-decoration:line-through;color:var(--text-tertiary)}.cl-date{flex:0 0 auto;font-size:10.5px;line-height:16px;color:var(--text-tertiary)}.cl-date.today{color:var(--primary-on-container);font-weight:700}.cl-date.over{color:var(--red-700);font-weight:700}.field-label .fl-cnt{margin-left:6px;font-weight:500;color:var(--text-tertiary)}.cl-edit{display:flex;flex-direction:column;gap:2px}.cl-erow{display:flex;align-items:center;gap:8px;min-height:32px}.cl-erow.done .cl-einput{text-decoration:line-through;color:var(--text-tertiary)}.cl-einput{flex:1 1;min-width:0;border:1px solid transparent;border-radius:var(--r-sm);padding:4px 6px;font-size:13px;line-height:18px;background:none;color:var(--text-primary)}.cl-einput:hover{border-color:var(--border)}.cl-einput:focus{border-color:var(--primary);background:var(--bg-surface)}.cl-edate{border:1px solid var(--border);padding:3px 5px;font-size:11.5px;min-height:24px;background:var(--bg-surface);color:var(--text-secondary)}.cl-edate,.cl-edel{flex:0 0 auto;border-radius:var(--r-sm)}.cl-edel{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer;background:none;padding:0}.cl-edel:hover{color:var(--error);background:var(--error-container)}.cl-eadd{flex:0 0 auto;min-height:24px;padding:3px 11px;font-size:12px;font-weight:700;color:#fff;background:var(--primary);border-radius:var(--r-full);cursor:pointer}.cl-eadd:disabled{opacity:.4;cursor:default}.mark{width:24px;height:24px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0}.mark svg{width:16px;height:16px}.mark.done{background:var(--success)}.mark.prog{background:var(--primary)}.mark.give{background:var(--n400)}.mark.drop{background:var(--error)}.mark.miss{background:transparent;border:2px solid var(--error);color:var(--error)}.mark.unproc{background:transparent;border:2px dashed var(--border-strong);opacity:.55}.cc-row.miss .t,.wk-row.miss .t{color:var(--error)}.cdot.miss{background:var(--error)}.item.goalrow{background:var(--primary-container);border-color:var(--primary);border-left:3px solid var(--primary)}.item.goalrow .metatext{color:var(--primary-on-container);font-weight:500}.goal-list{display:flex;flex-direction:column;gap:7px;margin:2px 0 4px}.item.goalrow.done{background:var(--green-50);border-color:var(--green-500);border-left-color:var(--green-500)}.item.goalrow.over{border-color:var(--error);border-left-color:var(--error)}.pval-newproj{display:flex;flex-direction:column;gap:6px;align-items:stretch}.newproj-input{border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 8px;font-size:13px;background:var(--bg-surface)}.item.ghost{opacity:.55}.item.ghost .it-title{text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.mark.dfr{background:transparent;border:2px dashed var(--border-strong);color:var(--text-tertiary);font-size:13px;line-height:1}.cc-row.dfr .t,.wk-row.dfr .t{text-decoration:line-through;color:var(--text-tertiary)}.cdot.dfr{background:var(--n400)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;line-height:14px;padding:3px 9px 3px 8px;border-radius:var(--r-full);white-space:nowrap}.chip svg{width:12px;height:12px;flex:0 0 auto}.chip.proj{background:var(--brand-container);color:var(--brand-on)}.chip.due{background:var(--error-container);color:var(--red-700)}.chip.streak{background:var(--accent-container);color:var(--accent-on)}.chip.lock{background:var(--bg-variant);color:var(--text-secondary)}.chip.goal{background:var(--primary-container)}.chip.goal,.chip.goaldate{color:var(--primary-on-container)}.chip.goaldate{background:var(--bg-surface);border:1px solid var(--primary)}.chip.ok{background:var(--green-50);color:var(--green-500);border:1px solid var(--green-500)}.chip.chk{background:var(--bg-variant);color:var(--text-secondary);font-weight:700}.chip .chip-x{position:relative;margin-left:2px;padding:0 2px;font-size:10px;color:var(--text-tertiary);line-height:1}.chip .chip-x:hover{color:var(--error)}.chip .chip-x:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}.ad-toggle,.ad-x,.day-head .add,.day-head .dn,.dep-x,.memo-search .clear,.pd-sec .add,.prow .detach,.sub-act .cb,.tc-addsub,.tc-x,.wiz-reset{position:relative}.ad-x:after,.day-head .add:after,.dep-x:after,.memo-search .clear:after,.pd-sec .add:after,.prow .detach:after,.sub-act .cb:after,.tc-x:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}.ad-toggle:after,.day-head .dn:after,.tc-addsub:after,.wiz-reset:after{content:"";position:absolute;left:0;right:0;top:50%;height:24px;transform:translateY(-50%)}.cr-date,.memo-search input,.pd-goal,.proj-select,.rdate input,.sub-date input{min-height:24px}.chip .chip-t{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.dep-prop .dep-pval{flex-wrap:wrap;justify-content:flex-end;max-width:260px}.dep-prop select{max-width:160px;text-align:left}.streak-tr,.timebadge{flex:0 0 auto}.timebadge{background:var(--primary-container);color:var(--primary-on-container);border-radius:10px;padding:6px 9px;font-size:13px;font-weight:700;line-height:18px;text-align:center}.cta{gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;min-height:60px}.cta,.cta .spark{display:flex;align-items:center}.cta .spark{width:34px;height:34px;border-radius:var(--r-md);background:var(--brand-container);justify-content:center;flex:0 0 auto}.cta .spark svg{width:20px;height:20px}.cta .ctt{flex:1 1;min-width:0}.cta .ctt b{font-size:14px;font-weight:500;display:block}.cta .ctt span{display:block;font-size:12px;color:var(--text-tertiary)}.cta .cnt-num{font-size:12px;font-weight:500;color:var(--brand-on);background:var(--brand-container);padding:2px 9px}.cta .cnt-num,.cta .go{border-radius:var(--r-full);flex:0 0 auto}.cta .go{background:var(--primary);color:#fff;font-size:14px;font-weight:700;line-height:18px;padding:12px 20px}.cta .go:hover{background:var(--primary-hover)}.inbox-row{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--n900);border-radius:var(--r-lg);padding:13px 14px;min-height:48px;cursor:pointer}.inbox-row:hover{background:var(--bg-variant)}.inbox-row .nicon{width:24px;height:24px;flex:0 0 auto;color:var(--n900)}.inbox-row .txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-row .raw{font-size:15px;font-weight:500;line-height:21px;color:var(--n900)}.inbox-row .ts{font-size:12px;line-height:16px;color:var(--n900);opacity:.6}.summary{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:10px}.summary .top{display:flex;align-items:baseline;justify-content:space-between}.summary .lbl{font-size:14px;font-weight:700;line-height:19px}.summary .pct{font-size:20px;font-weight:700;line-height:27px;color:var(--primary)}.progressbar{display:flex;align-items:center;gap:8px;width:100%}.progressbar .bar{flex:1 1;height:8px;background:var(--bg-variant);border-radius:4px;overflow:hidden}.progressbar .bar i{display:block;height:100%;background:var(--primary);border-radius:4px}.progressbar b{font-size:11px;font-weight:700;line-height:15px;color:var(--primary)}.summary .stats{font-size:12px;line-height:16px;color:var(--text-secondary)}.day-head{justify-content:space-between;padding:0 2px;width:100%;margin-top:4px}.day-head,.day-head .dn{display:flex;align-items:center}.day-head .dn{gap:7px}.day-head .wd{font-size:14px;font-weight:700;line-height:19px}.day-head .dt{font-size:13px;font-weight:500;line-height:18px;color:var(--text-tertiary)}.day-head .add{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:6px;padding:0}.day-head .add:hover{background:var(--bg-variant);color:var(--primary)}.day-head .dn.fold{background:none;border:0;cursor:pointer;color:inherit;padding:2px 4px 2px 0;border-radius:6px}.day-head .dn.fold:hover{background:var(--bg-variant)}.day-head .chev{color:var(--text-tertiary);transition:transform .15s ease;transform:rotate(90deg);flex:0 0 auto}.day-head.closed .chev{transform:rotate(0deg)}.day-head.closed .dt,.day-head.closed .wd{color:var(--text-tertiary)}.day-head .fold-cnt{font-size:11px;font-weight:700;line-height:1;color:var(--text-secondary);background:var(--bg-variant);border-radius:999px;padding:3px 7px}.empty-day{font-size:13px;color:var(--text-tertiary);padding:4px 0 4px 6px}.wait-proj{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-secondary);padding:8px 2px 2px;margin-top:2px}.wait-proj .cnt{font-size:11px;font-weight:700;line-height:1;color:var(--text-tertiary);background:var(--bg-variant);border-radius:999px;padding:3px 6px}button.wait-proj.fold{background:none;border:0;cursor:pointer;width:100%;text-align:left;border-radius:6px}button.wait-proj.fold:hover{background:var(--bg-variant)}.wait-proj .chev{color:var(--text-tertiary);transition:transform .15s ease;transform:rotate(90deg);flex:0 0 auto}.wait-proj.closed .chev{transform:rotate(0deg)}.wait-proj.closed{color:var(--text-tertiary)}.legal-wrap{min-height:100vh;background:var(--bg-canvas);padding:40px 20px}.legal{max-width:760px;margin:0 auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 44px;line-height:1.7;font-size:14px}.legal .legal-home{font-weight:800;font-size:15px;color:var(--primary);text-decoration:none}.legal h1{font-size:24px;font-weight:800;margin:14px 0 6px}.legal .legal-meta{font-size:12px;color:var(--text-tertiary);margin-bottom:20px}.legal h2{font-size:16px;font-weight:700;margin:24px 0 8px}.legal p{margin:8px 0;color:var(--text-primary)}.legal ul{margin:8px 0 8px 18px;list-style:disc}.legal li{margin:4px 0}.legal a{color:var(--primary)}.legal .legal-warn{background:var(--warning-container,#fff6dc);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:12px 14px}.legal .legal-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}@media (max-width:640px){.legal{padding:24px 20px}}.consent-box{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;margin:6px 0}.consent-box .beta-note{background:var(--warning-container,#fff6dc);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 12px;font-size:12.5px;line-height:1.6}.consent-box label.crow{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer}.consent-box label.crow.all{font-weight:700;padding-bottom:6px;border-bottom:1px solid var(--border)}.consent-box label.crow input{margin-top:2px;accent-color:var(--primary);width:15px;height:15px;flex:0 0 auto}.consent-box label.crow a{color:var(--primary);text-decoration:underline}.consent-box label.crow .req{color:var(--text-tertiary);font-size:12px}.banner{display:flex;align-items:flex-start;gap:8px;background:var(--info-container);color:var(--blue-700);border-radius:var(--r-md);padding:10px 12px;font-size:13px;line-height:1.5}.banner svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:48px 20px;background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--r-lg)}.empty h3{font-size:17px;font-weight:700}.empty p{font-size:13px;color:var(--text-secondary)}.empty .acts{display:flex;gap:8px}.btn,.empty .acts{align-items:center}.btn{font-size:14px;font-weight:700;line-height:18px;padding:12px 20px;border-radius:var(--r-full);display:inline-flex;justify-content:center}.btn.pri{background:var(--primary);color:#fff}.btn.pri:hover{background:var(--primary-hover)}.btn.sec{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-primary)}.btn.sec:hover{background:var(--bg-variant)}.btn.ghost{color:var(--primary-on-container)}.btn.ghost:hover{background:var(--bg-variant)}.btn.danger{background:var(--error-container);color:var(--red-700)}.scrim{position:fixed;inset:0;background:rgba(28,24,18,.42);opacity:0;pointer-events:none;transition:opacity .18s;z-index:40}.scrim.show{opacity:1;pointer-events:auto}.inspector{position:fixed;top:0;right:0;height:100vh;width:420px;max-width:92vw;background:var(--bg-surface);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.3,1);z-index:50;display:flex;flex-direction:column}.inspector.show{transform:translateX(0)}.insp-bar{gap:10px;padding:16px;border-bottom:1px solid var(--border)}.insp-bar,.insp-bar .x{display:flex;align-items:center}.insp-bar .x{width:28px;height:28px;border-radius:8px;justify-content:center;color:var(--text-secondary);flex:0 0 auto}.insp-bar .x:hover{background:var(--bg-variant)}.insp-bar h3{font-size:15px;font-weight:500}.insp-bar .trash{margin-left:auto;color:var(--error)}.insp-bar .trash:hover{background:var(--error-container)}.insp-bar .trash svg{width:18px;height:18px}.insp-body{flex:1 1;overflow:auto;padding:18px;gap:8px;align-items:stretch}.dhead,.insp-body{display:flex;flex-direction:column}.dhead{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;gap:12px}.typechip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;line-height:16px;padding:5px 12px 5px 10px;border-radius:var(--r-full);align-self:flex-start}.typechip svg{width:14px;height:14px}.typechip.task{background:var(--brand-container);color:var(--brand-on)}.typechip.habit{background:var(--accent-container);color:var(--accent-on)}.typechip.event{background:var(--info-container);color:var(--blue-700)}.typechip.project{background:var(--primary-container);color:var(--primary-on-container)}.dhead .trow{display:flex;align-items:center;gap:8px}.dhead .trow input{flex:1 1;min-width:0;font-family:inherit;font-size:20px;font-weight:700;line-height:27px;color:var(--text-primary);background:transparent;border:none;border-bottom:1.5px dashed transparent;padding:0}.dhead .trow input:hover{border-bottom-color:var(--border-strong)}.dhead .trow input:focus{outline:none;border-bottom-color:var(--focus)}.dhead .pencil{width:18px;height:18px;color:var(--text-tertiary);flex:0 0 auto}.dhead .srow{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;line-height:19px;color:var(--primary)}.propcard{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.prop{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:47px}.prop+.prop{border-top:1px solid var(--border)}.prop .pic{width:18px;height:18px;color:var(--text-tertiary);flex:0 0 auto}.prop .plabel{font-size:14px;font-weight:500;line-height:19px;color:var(--text-secondary);flex:0 0 auto}.prop .pval{margin-left:auto;display:flex;align-items:center;gap:6px}.prop input,.prop select{font:inherit;font-size:14px;font-weight:500;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px;max-width:180px;text-align:right}.prop input:focus,.prop select:focus{outline:none;border-color:var(--focus)}.field-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-top:4px}.memo{width:100%;background:var(--bg-variant);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;font:inherit;font-size:14px;color:var(--text-primary);min-height:64px;resize:vertical}.memo::placeholder{color:var(--text-secondary)}.memo:focus{outline:none;border-color:var(--focus)}.tl{display:flex;gap:10px;padding:4px 0;align-items:flex-start}.tl .tdot{width:9px;height:9px;border-radius:var(--r-full);background:var(--primary);margin-top:5px;flex:0 0 auto}.tl .tdot.gray{background:var(--n400)}.tl .tl-t{font-size:13px;color:var(--text-primary)}.tl .tl-s{font-size:12px;color:var(--text-tertiary)}.insp-foot{border-top:1px solid var(--border);padding:14px 18px}.actionbar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 20px 22px;display:flex;gap:10px}.actionbar .btn{flex:1 1}.dispo{background:var(--bg-variant);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:10px}.dispo .opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dispo .opt{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--r-md);padding:9px 10px;font-size:13px;font-weight:500;color:var(--text-secondary)}.dispo .opt.on{border-color:var(--primary);background:var(--primary-container);color:var(--primary-on-container)}.dispo .opt svg{width:15px;height:15px}.dispo .pct-row{display:flex;align-items:center;gap:10px}.dispo .pct-row input[type=range]{flex:1 1;accent-color:var(--primary)}.dispo .pct-row b{font-size:13px;width:40px;text-align:right}.dispo .dispo-target{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dispo .dispo-target label{font-size:12px;color:var(--text-secondary);flex:0 0 auto}.dispo .dispo-target select{flex:1 1;min-width:0}.dispo .dispo-target input[type=date],.dispo .dispo-target select{border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;background:var(--bg-surface)}.dispo textarea{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:9px 10px;font:inherit;font-size:13px;min-height:44px;resize:vertical}.dispo textarea:focus{outline:none;border-color:var(--focus)}.modal-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:60;padding:24px}.modal{background:var(--bg-surface);border-radius:var(--r-xl);width:100%;max-width:460px;box-shadow:var(--shadow-pop);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal.wide{max-width:640px}.modal-bar{display:flex;align-items:center;padding:18px 20px 10px}.modal-bar h3{font-size:17px;font-weight:700}.modal-bar .x{margin-left:auto;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.modal-bar .x:hover{background:var(--bg-variant)}.modal-body{padding:6px 20px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px}.modal-sub{font-size:13px;color:var(--text-secondary)}.modal-foot{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal-foot .btn{flex:1 1}.confirm-wrap{z-index:90;background:rgba(28,24,18,.42)}.confirm-box{max-width:360px;padding:20px}.confirm-box .confirm-msg{font-size:14.5px;line-height:1.55;color:var(--text-primary);white-space:pre-line;margin:0}.confirm-box .confirm-input{width:100%;box-sizing:border-box;margin-top:12px;background:var(--bg-variant);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:9px 11px;font-size:14px;font-family:inherit;color:var(--text-primary)}.confirm-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.confirm-foot button{padding:9px 16px;border-radius:var(--r-md);font-size:14px;font-weight:600}.confirm-cancel{background:var(--bg-variant);color:var(--text-secondary)}.confirm-cancel:hover{background:var(--border)}.confirm-ok{background:var(--primary);color:#fff}.confirm-ok.danger{background:var(--error)}.confirm-ok:disabled{opacity:.45;cursor:not-allowed}.input{width:100%;background:var(--bg-variant);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;font-size:15px;font-family:inherit;color:var(--text-primary)}.input:focus{outline:none;border-color:var(--focus)}.typepick{display:flex;gap:8px}.typepick button{flex:1 1;border:1px solid var(--border);border-radius:var(--r-md);padding:9px 0;font-size:14px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:6px}.typepick button.on{border-color:var(--primary);background:var(--primary-container);color:var(--primary-on-container)}.typepick button svg{width:15px;height:15px}.hint{background:var(--info-container);color:var(--blue-700);border-radius:var(--r-md);padding:10px 12px;font-size:13px}.review-card{background:var(--bg-surface);border:1px solid var(--n900);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.review-card.off{opacity:.4}.review-card .row1{display:flex;align-items:center;gap:8px}.review-card .rtitle{flex:1 1;min-width:0;font-size:14px;font-weight:500;line-height:20px;color:var(--n900)}.review-card .x{width:26px;height:26px;border-radius:8px;color:var(--n900);display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}.review-card .x:hover{background:var(--bg-variant)}.review-card .rmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.review-card .typechip{cursor:pointer}.review-card .rtitle-input{flex:1 1;min-width:0;font-size:14px;font-weight:500;line-height:20px;color:var(--n900);border:1px solid transparent;border-radius:8px;padding:3px 6px;background:transparent}.review-card .rtitle-input:focus,.review-card .rtitle-input:hover{border-color:var(--border);background:var(--bg-surface)}.review-card .rraw{margin-top:-4px}.review-card .x.trash:hover{color:var(--error)}.rdate{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.rdate input{border:1px solid var(--border);border-radius:8px;padding:3px 6px;font-size:12px;background:var(--bg-surface)}.review-card .mkproj{font-size:12px;font-weight:500;color:var(--brand-on);background:var(--brand-container);padding:4px 10px;border-radius:var(--r-full)}.dashed{border:1.5px dashed var(--brand);background:var(--brand-50);border-radius:var(--r-lg);padding:13px 14px;min-height:60px;display:flex;align-items:center;gap:10px}.dashed svg.spark{width:22px;height:22px;flex:0 0 auto}.dashed .gt{flex:1 1;min-width:0}.dashed .gt b{font-size:14px;font-weight:500;display:block}.dashed .gt span{display:block;font-size:12px;color:var(--text-secondary)}.dashed button{background:var(--brand);color:var(--text-primary);font-size:13px;font-weight:500;padding:7px 12px;border-radius:var(--r-full);flex:0 0 auto}.mode-opt{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;width:100%;padding:14px 16px;border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--bg-surface)}.mode-opt+.mode-opt{margin-top:8px}.mode-opt:hover{background:var(--bg-variant)}.mode-opt b{font-size:14.5px;display:flex;align-items:center;gap:6px;color:var(--text-primary)}.mode-opt span{font-size:12.5px;color:var(--text-secondary)}.mode-opt.pri{border:1.5px solid var(--primary);background:var(--primary-container)}.mode-opt.pri b{color:var(--primary-on-container)}.conv-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;padding:8px 10px;border:1px dashed var(--border-strong);border-radius:var(--r-md)}.conv-row,.proj-select{background:var(--bg-variant)}.proj-select{font:inherit;font-size:12px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-full);padding:3px 8px;max-width:180px}.proj-select:focus{outline:none;border-color:var(--focus)}.sub-act{display:flex;align-items:center;gap:10px;padding:6px 2px;width:100%;text-align:left}.sub-input{flex:1 1;min-width:0;font:inherit;font-size:14px;color:var(--text-primary);background:transparent;border:none;border-bottom:1px dashed transparent;padding:2px 0}.sub-input:hover{border-bottom-color:var(--border-strong)}.sub-input:focus{outline:none;border-bottom-color:var(--focus)}.sub-del{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex:0 0 auto}.sub-del:hover{background:var(--bg-variant);color:var(--error)}.sub-act .cb{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-strong);flex:0 0 auto;display:flex;align-items:center;justify-content:center}.sub-act .cb.on{background:var(--primary);border-color:var(--primary)}.sub-act .cb svg{width:13px;height:13px;display:none}.sub-act .cb.on svg{display:block}.sub-act .st{font-size:14px}.sub-card{border:1px solid var(--border);border-radius:12px;padding:2px 10px 8px;margin-bottom:8px}.sub-card.off{opacity:.45}.sub-card.off .sub-meta{display:none}.sub-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 2px 2px 30px}.sub-date{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.sub-date input{font:inherit;font-size:12px;color:var(--text-secondary);background:var(--bg-variant);border:1px solid var(--border);border-radius:var(--r-full);padding:2px 8px}.sub-date input:focus{outline:none;border-color:var(--focus)}.cascade-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:9px 11px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cascade-row .cr-title{flex:1 1;min-width:140px;display:flex;flex-direction:column;gap:1px}.cascade-row .st-title{font-size:14px;font-weight:500}.cascade-row .cr-controls{display:flex;align-items:center;gap:6px}.cr-date{font:inherit;font-size:12px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:3px 6px}.cr-date:focus{outline:none;border-color:var(--focus)}.setup-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.setup-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.setup-title .st-title{font-size:15px;font-weight:500}.daypick{display:flex;gap:6px;flex-wrap:wrap}.day-chip{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:var(--r-full);padding:5px 11px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-surface)}.day-chip small{font-size:11px;color:var(--text-tertiary)}.day-chip.on,.day-chip:hover:not(:disabled){border-color:var(--primary)}.day-chip.on{background:var(--primary-container)}.day-chip.on,.day-chip.on small{color:var(--primary-on-container)}.day-chip:disabled{opacity:.4}.gate-duck{width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-right:8px}.gate-remain{margin-left:auto;background:var(--error-container);color:var(--red-700);font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--r-full)}.gate-date{font-size:13px;font-weight:500;color:var(--text-secondary);margin-top:4px}.gate-group,.gate-item{display:flex;flex-direction:column;gap:8px}.gate-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.gate-opts{display:flex;gap:8px;flex-wrap:wrap}.gate-extend{display:flex;align-items:center;gap:8px}.gate-extend label{font-size:12px;color:var(--text-secondary)}.gate-extend input{width:64px}.gate-extend input,.gate-extend select{border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;background:var(--bg-surface)}.gate-extend select{color:var(--text-primary)}.gate-comment{border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:13px;background:var(--bg-surface);width:100%}.gate-comment::placeholder{color:var(--text-secondary)}.gate-actions{display:flex;justify-content:flex-end}.gate-foot{border-top:1px solid var(--border);padding:14px 20px;text-align:center;font-size:12px;color:var(--text-secondary)}.coming{padding:60px 28px;text-align:center;color:var(--text-tertiary)}.coming svg{width:80px;height:80px;opacity:.5;margin-bottom:8px}.seg{display:inline-flex;background:var(--bg-variant);padding:3px;flex:0 0 auto}.seg,.seg button{border-radius:var(--r-full)}.seg button{padding:5px 14px;font-size:13px;font-weight:500;color:var(--text-secondary)}.seg button.on{background:var(--bg-surface);color:var(--text-primary);font-weight:700;box-shadow:var(--shadow-card)}.btn.sm{padding:8px 14px;font-size:13px;margin-left:auto}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:20px;gap:20px;padding:14px 28px 40px;align-items:start}.cal-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;flex-direction:column}.cal-card,.cal-head{display:flex;gap:10px}.cal-head{align-items:center;flex-wrap:wrap}.cal-head h2{font-size:18px;font-weight:700}.cal-head .date{font-size:13px;color:var(--text-secondary)}.cal-nav{gap:4px;margin-left:auto}.cal-nav,.cal-nav button{display:flex;align-items:center}.cal-nav button{width:30px;height:30px;border-radius:8px;justify-content:center;color:var(--text-secondary);font-size:12px}.cal-nav button:hover{background:var(--bg-variant)}.cal-nav .cal-today-btn{width:auto;border:1px solid var(--border-strong);border-radius:var(--r-full);padding:5px 12px;font-size:13px;font-weight:500;color:var(--text-secondary)}.cal-wdays{text-align:center;font-size:12px;font-weight:500;color:var(--text-tertiary);padding:2px 0}.cal-wdays,.cal-week{display:grid;grid-template-columns:repeat(7,1fr)}.cal-week{border-top:1px solid var(--border)}.cal-cell{min-width:0;overflow:hidden;min-height:86px;padding:6px 4px 4px;display:flex;flex-direction:column;gap:3px;border-radius:10px;cursor:pointer}.cal-cell:hover{background:var(--bg-variant)}.cal-cell.sel{background:var(--primary-container)}.cal-cell.dim .cc-num{color:var(--text-tertiary);opacity:.55}.cc-num{width:24px;height:24px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:var(--text-secondary);flex:0 0 auto}.cal-cell.today .cc-num{border:2px solid var(--brand);font-weight:700;color:var(--text-primary)}.cc-lane{height:6px;display:flex;flex:0 0 auto}.spanbar{flex:1 1;height:6px;background:var(--info-container)}.spanbar.task{background:var(--brand-container)}.spanbar.rl{border-top-left-radius:3px;border-bottom-left-radius:3px;margin-left:3px}.spanbar.rr{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-right:3px}.cdot{width:7px;height:7px;border-radius:var(--r-full);display:inline-block;flex:0 0 auto}.cdot.task{background:var(--brand)}.cdot.habit{background:var(--orange-400)}.cdot.event{background:var(--blue-500)}.cdot.done{background:var(--success)}.cc-rows{flex-direction:column;gap:2px;margin-top:auto}.cc-row,.cc-rows{display:flex;min-width:0}.cc-row{align-items:center;gap:4px;font-size:10.5px;line-height:14px;padding:0 3px;color:var(--text-primary)}.cc-row .cdot{width:6px;height:6px}.cc-row .t{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cc-row .tm{color:var(--blue-700);font-weight:700;flex:0 0 auto}.cc-row.rsv{border:1px dashed var(--text-tertiary);border-radius:var(--r-full);padding:0 5px}.cc-row.dim{opacity:.45}.cc-row.more{color:var(--text-tertiary);font-size:10px;font-weight:500;padding-left:13px}.wk-lane{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px 0;gap:2px 0;padding:4px 0;border-top:1px solid var(--border)}.wk-lane .spanbar{height:8px;border-radius:0;margin:0}.wk-lane .spanbar.rl{border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:4px}.wk-lane .spanbar.rr{border-top-right-radius:4px;border-bottom-right-radius:4px;margin-right:4px}.wk-cols{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;border-top:1px solid var(--border);padding-top:8px}.wk-col{display:flex;flex-direction:column;gap:4px;min-width:0;border-radius:10px;padding:4px}.wk-col.today{background:var(--primary-container)}.wk-col.sel{outline:1.5px solid var(--focus);outline-offset:-1.5px}.wk-col-head{display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 0 4px;cursor:pointer}.wk-col-head .wd{font-size:12px;font-weight:500;color:var(--text-tertiary)}.wk-col-head .dt{font-size:14px;font-weight:700}.wk-row{display:flex;align-items:center;gap:5px;font-size:11px;line-height:15px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:4px 6px;cursor:pointer;min-width:0}.wk-row:hover{border-color:var(--border-strong)}.wk-row.rsv{border-style:dashed}.wk-row .t{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.wk-row .tm{color:var(--blue-700);font-weight:700;flex:0 0 auto}.day-panel{min-width:0}.proj-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px;padding:14px 28px 40px;align-items:start}.proj-layout.with-panel{grid-template-columns:minmax(0,1fr) 420px}.proj-main{min-width:0;display:flex;flex-direction:column;gap:12px}.proj-controls{display:flex;align-items:center;gap:10px}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.proj-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:9px;cursor:pointer;text-align:left;transition:border-color .12s}.proj-card:hover{border-color:var(--border-strong)}.proj-card.sel{border-color:var(--focus)}.pc-top{display:flex;align-items:center;gap:8px}.pc-title{font-size:15px;font-weight:700;flex:1 1;min-width:0}.pc-goal,.pc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-goal{font-size:12px;color:var(--text-secondary)}.pc-counts{display:flex;gap:10px;font-size:11px;color:var(--text-tertiary);align-items:center}.pc-counts .cdot{width:6px;height:6px;margin-right:3px}.progressbar .bar i.full{background:var(--orange-400)}.proj-detail{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:10px;position:-webkit-sticky;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;min-width:0}.pd-head{display:flex;align-items:center;gap:8px}.pd-head input{flex:1 1;min-width:0;font:inherit;font-size:18px;font-weight:700;background:transparent;border:none;border-bottom:1.5px dashed transparent;padding:0;color:var(--text-primary)}.pd-head input:hover{border-bottom-color:var(--border-strong)}.pd-head input:focus{outline:none;border-bottom-color:var(--focus)}.pd-head .x{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex:0 0 auto}.pd-head .x:hover{background:var(--bg-variant)}.pd-menu{position:relative;flex:0 0 auto}.pd-menu .pop{position:absolute;right:0;top:34px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;min-width:150px;z-index:10;overflow:hidden}.pd-menu .pop button{padding:10px 14px;font-size:13px;text-align:left}.pd-menu .pop button:hover{background:var(--bg-variant)}.pd-menu .pop button.danger{color:var(--error)}.pd-goal{width:100%;font:inherit;font-size:13px;color:var(--text-secondary);background:transparent;border:none;border-bottom:1px dashed transparent;padding:2px 0}.pd-goal:hover{border-bottom-color:var(--border-strong)}.pd-goal:focus{outline:none;border-bottom-color:var(--focus)}.pd-progress{background:var(--bg-variant);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:8px}.pd-progress .row{display:flex;align-items:center;gap:8px;font-size:13px}.pd-progress input[type=range]{flex:1 1;accent-color:var(--primary)}.pd-progress input[type=number]{width:58px;border:1px solid var(--border);border-radius:8px;padding:5px 8px;font:inherit;font-size:13px;background:var(--bg-surface);text-align:right}.pd-progress input[type=number]:focus{outline:none;border-color:var(--focus)}.pd-progress .cap{font-size:12px;color:var(--text-tertiary)}.pd-sec{display:flex;align-items:center;gap:7px;margin-top:6px}.pd-sec b{font-size:15px;font-weight:700}.pd-sec .cnt{font-size:13px;font-weight:500}.pd-sec .add,.pd-sec .cnt{color:var(--text-tertiary)}.pd-sec .add{margin-left:auto;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center}.pd-sec .add:hover{background:var(--bg-variant);color:var(--primary)}.pd-sec .fold{display:flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;color:inherit;padding:2px 4px 2px 0;border-radius:6px}.pd-sec .fold:hover{background:var(--bg-variant)}.pd-sec .chev{color:var(--text-tertiary);transition:transform .15s ease;transform:rotate(90deg);flex:0 0 auto}.pd-sec.closed .chev{transform:rotate(0deg)}.pd-sec.closed b{color:var(--text-tertiary)}.prow{position:relative}.prow .detach{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:var(--r-full);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-tertiary);display:none;align-items:center;justify-content:center}.prow:hover .detach{display:flex}.prow .detach:hover{color:var(--error);border-color:var(--error)}.pval-seg{display:inline-flex;background:var(--bg-variant);padding:2px}.pval-seg,.pval-seg button{border-radius:var(--r-full)}.pval-seg button{padding:4px 12px;font-size:12px;font-weight:500;color:var(--text-secondary)}.pval-seg button.on{background:var(--bg-surface);color:var(--text-primary);font-weight:700;box-shadow:var(--shadow-card)}.login{min-height:100vh;justify-content:center;background:var(--bg-canvas);padding:24px}.login,.login-card{display:flex;align-items:center}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:44px 40px;flex-direction:column;gap:10px;max-width:360px;width:100%;text-align:center}.login-card h1{font-size:22px;font-weight:700}.login-card p{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--border-strong);border-radius:var(--r-full);padding:12px 16px;font-size:14px;font-weight:500;background:var(--bg-surface)}.google-btn:hover{background:var(--bg-variant)}.login-err{font-size:12px;color:var(--error)}.apple-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:var(--r-full);padding:12px 16px;font-size:14px;font-weight:500;background:#000;color:#fff}.apple-btn:hover{background:#1c1c1e}.email-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--border-strong);border-radius:var(--r-full);padding:12px 16px;font-size:14px;font-weight:500;background:var(--bg-surface);color:var(--text-secondary)}.email-btn:hover{background:var(--bg-variant)}.login-card .terms{font-size:11px;color:var(--text-tertiary);margin-top:6px}.auth-top{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:8px}.auth-top b{font-size:16px;font-weight:700}.back-btn{font-size:18px;line-height:1;padding:4px 8px;border-radius:8px;color:var(--text-secondary)}.back-btn:hover{background:var(--bg-variant)}.afield{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left}.afield span{font-size:12px;font-weight:500;color:var(--text-secondary)}.afield input{border:1px solid var(--border);border-radius:var(--r-md);padding:11px 13px;font:inherit;font-size:14px;background:var(--bg-surface);width:100%}.afield input:focus{outline:none;border-color:var(--focus)}.afield input.invalid{border-color:var(--error)}.afield .ferr{font-style:normal;font-size:12px;color:var(--error)}.btn.wide{width:100%;margin-top:4px}.auth-links{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--text-tertiary);margin-top:2px}.link-btn{font-size:13px;color:var(--primary-on-container);font-weight:500;padding:4px 6px;border-radius:8px}.link-btn:hover{background:var(--bg-variant)}.login-card .hint{font-size:12px;color:var(--text-tertiary);text-align:left;width:100%}.warn-box{background:#fff3db;color:#8a5907;border-radius:var(--r-md);padding:10px 14px;font-size:13px;width:100%;text-align:left}.vw-title{margin-top:4px}.vw-email{font-size:14px}.reset-done{text-align:left;width:100%}.spinner.sm{width:14px;height:14px;border-width:2px}.center-fill{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:14px;gap:10px}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite;flex:0 0 auto}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--n800);color:var(--n50);font-size:13px;padding:10px 18px;border-radius:var(--r-full);box-shadow:var(--shadow-pop);z-index:80}.toast.err{background:var(--red-700)}@media (max-width:1080px){.app{grid-template-columns:72px 1fr}.sidebar{padding:18px 12px;gap:8px;align-items:center}.brand{padding:0;justify-content:center}.brand>span:last-child{display:none}.add-btn{width:44px;height:44px;padding:0;border-radius:var(--r-full)}.add-btn span{display:none}.nav-item{width:44px;height:44px;justify-content:center;padding:0}.nav-item>span:not(.badge):not(.ic){display:none}.nav-item .badge{position:absolute;top:6px;right:4px;margin:0;width:8px;height:8px;padding:0;border-radius:var(--r-full);background:var(--error);color:transparent;overflow:hidden}.profile-chip{width:44px;justify-content:center;padding:0}.profile-chip>span:not(.avatar){display:none}.board,.cal-layout,.proj-layout.with-panel{grid-template-columns:1fr}.proj-detail{position:static;max-height:none}.cal-cell{min-height:68px}}@media (max-width:680px){.board,.cal-layout,.greet,.proj-layout,.topbar{padding-left:16px;padding-right:16px}.inspector{width:100vw}}:root{--warn-container:#fcefc7;--warn-on:#8a6116}.chip.warn{background:var(--warn-container);color:var(--warn-on)}.pf-tz{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 6px}.pf-tz select{font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:7px 10px;max-width:280px}.pf-tz select:focus{outline:none;border-color:var(--focus)}.stepdots{display:inline-flex;gap:6px;align-items:center;margin-left:10px;flex:1 1}.stepdots i{width:8px;height:8px;border-radius:var(--r-full);background:var(--bg-variant);border:1px solid var(--border)}.stepdots i.past{background:var(--primary-container);border-color:var(--primary-container)}.stepdots i.cur{background:var(--primary);border-color:var(--primary)}.wiz-reset{font-size:12px;color:var(--text-tertiary);margin-right:10px;flex:0 0 auto}.wiz-reset:hover{color:var(--text-secondary);text-decoration:underline}.wiz-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary);margin:10px 0 6px}.wiz-label small{font-weight:400}.wiz-help,.wiz-label small{font-size:11px;color:var(--text-tertiary)}.wiz-help{margin-top:6px}.waitpick{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;margin-bottom:8px}.waitpick.on{border-color:var(--focus)}.wp-check{width:18px;height:18px;border-radius:var(--r-full);border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--n0)}.wp-check.on{background:var(--primary);border-color:var(--primary)}.wp-title{flex:1 1;min-width:0;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dump-ta{width:100%;background:var(--bg-surface);border:1.5px solid var(--focus);border-radius:var(--r-md);padding:12px 14px;font:inherit;font-size:14px;resize:vertical;min-height:120px}.dump-ta:focus{outline:none}.triage-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;margin-bottom:8px;display:flex;flex-direction:column;gap:7px}.triage-card.off{opacity:.5}.tc-head{display:flex;align-items:center;gap:8px}.tc-title{flex:1 1;min-width:0;font:inherit;font-size:15px;font-weight:500;border:none;border-bottom:1px dashed transparent;background:transparent;padding:2px 0}.tc-title:focus{outline:none;border-bottom-color:var(--focus)}.tc-x{color:var(--text-tertiary);flex:0 0 auto;padding:2px 4px}.tc-x:hover{color:var(--text-secondary)}.tc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tc-meta select{font:inherit;font-size:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-full);padding:4px 8px;color:var(--text-secondary)}.tc-meta select:focus{outline:none;border-color:var(--focus)}.dep-x{margin-left:4px;padding:0;color:inherit;opacity:.7}.tc-sub{display:flex;align-items:center;gap:8px;padding-left:16px}.tc-elbow{color:var(--text-tertiary);font-size:12px;flex:0 0 auto}.tc-sub input{flex:1 1;min-width:0;font:inherit;font-size:14px;border:none;border-bottom:1px dashed transparent;background:transparent;padding:2px 0}.tc-sub input:focus{outline:none;border-bottom-color:var(--focus)}.tc-addsub{align-self:flex-start;font-size:12px;font-weight:500;color:var(--primary);padding:2px 0 0 16px}.tc-bundle{display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--brand-container);margin-left:4px;padding-left:6px}.tc-bundle-hint{font-size:11.5px;color:var(--text-tertiary);line-height:15px;margin:0 0 2px}.tc-bundle-hint b{color:var(--text-secondary)}.tc-bundle .tc-sub{padding-left:0}.tc-step{width:18px;height:18px;border-radius:9px;background:var(--brand-container);color:var(--brand-on);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.tc-bundle .rdate input{max-width:120px}.tc-additem{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:13px;font-weight:500;color:var(--primary);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:7px 12px;margin-bottom:4px}.tc-additem:hover{border-color:var(--primary);background:var(--primary-container)}.report{max-width:820px;margin:0 auto;padding:22px 28px 40px;display:flex;flex-direction:column;gap:16px}.rp-nav{display:flex;align-items:center;gap:12px}.rp-nav h2{font-size:17px;font-weight:700}.rp-nav .arw{font-size:13px;color:var(--text-secondary);padding:4px 8px;border-radius:var(--r-md)}.rp-nav .arw:hover{background:var(--bg-variant)}.rp-nav .arw:disabled{opacity:.35}.rp-nav .chip{margin-left:2px}.ai-card{background:var(--brand-container);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.ai-card .ah{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--brand-on)}.ai-card .ah .sp{flex:1 1}.ai-card .ah button{font-size:12px;font-weight:500;color:var(--brand-on)}.ai-card .ah button:hover{text-decoration:underline}.ai-card p{font-size:14px;line-height:1.6;white-space:pre-wrap}.ai-card textarea{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;font:inherit;font-size:14px;min-height:84px;resize:vertical}.ai-card textarea:focus{outline:none;border-color:var(--focus)}.ai-card .afoot{display:flex;justify-content:flex-end;gap:8px}.ai-card .muted{font-size:13px;color:var(--text-secondary)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:4px}.stat-card .sl{font-size:13px;font-weight:500;color:var(--text-secondary)}.stat-card .sv{font-size:28px;font-weight:700;line-height:1.15}.stat-card .ss{font-size:12px;color:var(--text-tertiary)}.dispo-row{display:flex;gap:8px;flex-wrap:wrap}.mchip{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-full);background:var(--bg-variant);color:var(--text-secondary)}.mchip.done{background:var(--primary-container);color:var(--primary-on-container)}.mchip.dim{color:var(--text-tertiary)}.rp-cta{align-self:flex-start;background:var(--primary);color:#fff;font-size:14px;font-weight:700;padding:13px 24px;border-radius:var(--r-full)}.rp-cta:hover{background:var(--primary-hover)}.rp-empty{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:48px 20px;text-align:center}.rp-empty b{font-size:17px;font-weight:500}.rp-empty span{font-size:13px;color:var(--text-secondary)}@media (max-width:1080px){.stat-grid{grid-template-columns:1fr}}.rp-banner{display:flex;align-items:center;gap:8px;margin:14px 28px 0;padding:10px 14px;background:var(--brand-container);color:var(--brand-on);border-radius:var(--r-lg);font-size:13px;font-weight:500;width:calc(100% - 56px);text-align:left}.rp-banner b{margin-left:auto;font-weight:700}.ad-header{padding:22px 28px 0}.ad-header h2{font-size:20px;font-weight:700}.ad-header p{margin-top:2px}.ad-body{padding:14px 28px 40px;display:flex;flex-direction:column;gap:14px;max-width:1100px}.ad-toolbar{display:flex;align-items:center;gap:8px}.ad-toolbar .seg{font-size:13px;color:var(--text-secondary);background:var(--bg-variant);padding:7px 14px;border-radius:var(--r-full)}.ad-toolbar .seg.on{color:var(--text-primary);font-weight:700;box-shadow:var(--shadow-card)}.ad-toolbar .seg.on,.ad-toolbar select{background:var(--bg-surface);border:1px solid var(--border)}.ad-toolbar select{font:inherit;font-size:13px;border-radius:var(--r-full);padding:7px 12px;color:var(--text-secondary)}.ad-cols{display:flex;gap:16px;align-items:flex-start}.ad-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:12px}.ad-side{width:300px;flex:0 0 auto}.ad-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px}.ad-cap{font-size:13px;font-weight:500}.ad-dim{font-size:12px;color:var(--text-tertiary)}.ad-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border)}.ad-row:last-child{border-bottom:none}.ad-row.off .ad-lines{opacity:.45}.ad-lines{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:14px;font-weight:500}.ad-toggle{width:38px;height:22px;background:var(--bg-variant);position:relative;flex:0 0 auto}.ad-toggle,.ad-toggle i{border-radius:var(--r-full)}.ad-toggle i{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--bg-surface);box-shadow:0 1px 2px rgba(0,0,0,.15);transition:left .15s}.ad-toggle.on{background:var(--primary)}.ad-toggle.on i{left:19px}.ad-x{color:var(--text-tertiary)}.ad-x:hover{color:var(--error)}.ad-addform{flex-direction:row;align-items:center}.ad-addform input{flex:1 1;min-width:0;font:inherit;font-size:13px;background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 10px}.ad-addform input:focus{outline:none;border-color:var(--focus)}.ad-pri{background:var(--primary);color:#fff;font-size:13px;font-weight:700;padding:9px 16px;border-radius:var(--r-full);text-decoration:none;display:inline-block}.ad-pri:hover{background:var(--primary-hover)}.ad-pri:disabled{opacity:.55}.ad-preview{display:flex;align-items:flex-start;gap:8px}.ad-bubble{background:var(--brand-container);color:var(--text-primary);border-radius:var(--r-lg);padding:10px 12px;display:flex;flex-direction:column;font-size:13px;font-weight:500;min-width:0}.ad-ta{width:100%;background:var(--bg-surface);border:1.5px solid var(--focus);border-radius:var(--r-md);padding:12px 14px;font:inherit;font-size:13px;resize:vertical;font-family:ui-monospace,monospace}.ad-ta:focus{outline:none}.ad-runrow{display:flex;align-items:center;gap:10px}.ad-meta{display:flex;gap:8px;flex-wrap:wrap}.ad-pill{font-size:11px;font-weight:500;background:var(--bg-variant);color:var(--text-secondary);padding:3px 8px;border-radius:var(--r-full)}.ad-pill.dim{color:var(--text-tertiary)}.ad-json{font-size:12px;font-family:ui-monospace,monospace;background:var(--bg-canvas);overflow:auto;max-height:420px;white-space:pre-wrap}.ad-err,.ad-json{border-radius:var(--r-md);padding:10px 12px}.ad-err{background:var(--error-container);color:var(--red-700);font-size:13px}.ad-table{padding:0;overflow:hidden}.ad-tr{display:grid;grid-template-columns:2.1fr .5fr .6fr 1fr 1fr 1fr .5fr .7fr;grid-gap:8px;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px;align-items:center}.ad-tr:last-child{border-bottom:none}.ad-th{background:var(--bg-variant);color:var(--text-secondary)}.ad-danger,.ad-th{font-size:12px;font-weight:500}.ad-danger{color:var(--red-700);background:var(--error-container);padding:5px 10px;border-radius:var(--r-full)}.ad-danger:hover{background:var(--red-500);color:#fff}.pf{max-width:820px;margin:0 auto;padding:22px 28px 40px;display:flex;flex-direction:column;gap:16px}.pf-title{font-size:20px;font-weight:700}.pf-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px}.pf-acct{flex-direction:row;align-items:center;gap:14px}.pf-avatar{width:52px;height:52px;border-radius:var(--r-full);background:var(--brand-container);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}.pf-avatar img{width:100%;height:100%;object-fit:cover}.pf-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.pf-info b{font-size:16px;font-weight:700}.pf-info span{font-size:13px;color:var(--text-secondary)}.pf-plan{font-size:12px;font-weight:500;background:var(--brand-container);color:var(--brand-on);padding:4px 10px;border-radius:var(--r-full);flex:0 0 auto}.pf-ghost{font-size:13px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);padding:8px 16px;border-radius:var(--r-full)}.pf-ghost:hover{background:var(--bg-variant)}.pf-h{font-size:14px;font-weight:700}.pf-sub{font-size:12px;color:var(--text-secondary)}.pf-seg{display:inline-flex;gap:6px;background:var(--bg-variant);padding:4px;align-self:flex-start}.pf-seg,.pf-seg button{border-radius:var(--r-full)}.pf-seg button{font-size:13px;color:var(--text-secondary);padding:7px 18px}.pf-seg button.on{background:var(--bg-surface);color:var(--text-primary);font-weight:700;box-shadow:var(--shadow-card)}.pf-hint{font-size:11px;color:var(--text-tertiary)}.pf-seg button{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.2;min-width:44px}.pf-seg button small{font-size:9px;font-weight:400;color:var(--text-tertiary)}.memo-col{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto;width:100%}.memo-search{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:11px 14px;color:var(--text-tertiary)}.memo-search input{flex:1 1;border:none;outline:none;background:transparent;font:inherit;font-size:15px;color:var(--text-primary)}.memo-search input::placeholder{color:var(--text-tertiary)}.memo-search:focus-within{border-color:var(--focus)}.memo-search .clear{border:none;background:transparent;cursor:pointer;color:var(--text-tertiary);display:flex;padding:2px}.memo-quick{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-card)}.memo-quick .acts{display:flex;justify-content:flex-end}.memo-card{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;cursor:pointer;font:inherit;box-shadow:var(--shadow-card)}.memo-card:hover{background:var(--bg-variant)}.memo-card .mt{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memo-card .mp{font-size:14px;line-height:20px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.memo-card .md{font-size:12px;color:var(--text-tertiary)}.memo-card.skel{min-height:74px;background:linear-gradient(90deg,var(--n100) 25%,var(--n50) 50%,var(--n100) 75%);background-size:200% 100%;animation:memoskel 1.4s infinite;border-color:var(--n100)}@keyframes memoskel{0%{background-position:200% 0}to{background-position:-200% 0}}.memo-full{min-height:320px}.memo-keep{display:flex;align-items:center;gap:8px;margin-top:12px;cursor:pointer;font-size:14px;color:var(--text-primary)}.memo-keep input{width:16px;height:16px;accent-color:var(--primary)}.memo-keep small{color:var(--text-tertiary);font-size:12px}.topbar{padding:12px 24px 0}.topbar h1{font-size:18px}.greet{margin:10px 24px 0;gap:8px}.bubble{padding:8px 12px 9px;gap:2px}.bubble .g{font-size:14px;line-height:19px}.bubble .ctx{font-size:11.5px;line-height:15px}.bubble .tail{top:24px}.board{padding:10px 24px 28px;gap:16px}.col{gap:7px}.col-head{height:28px}.col-head h2{font-size:17px}.sec-head{margin-top:2px}.sec-head b{font-size:14px;line-height:18px}.item{padding:10px 12px;gap:10px}.it-body{gap:4px}.it-title{font-size:14.5px;line-height:20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chip{font-size:10.5px;padding:2px 8px}.timebadge{padding:5px 8px;font-size:12px;line-height:16px}.day-head{margin-top:2px}.day-head .wd{font-size:13px;line-height:18px}.summary{padding:13px 14px;gap:8px}.cal-layout{gap:16px;padding:10px 24px 28px}.cal-card{padding:13px;gap:8px}.cal-head h2{font-size:17px}.cal-cell{min-height:78px;padding:5px 3px 3px;gap:2px}.day-panel .col-head h2{font-size:16px}.proj-layout{gap:16px;padding:10px 24px 28px}.proj-main{gap:10px}.proj-grid{gap:12px}.proj-card{padding:13px;gap:8px}.proj-detail{padding:14px;gap:8px;top:10px;max-height:calc(100vh - 20px)}.memo-col{gap:10px}.memo-quick{padding:13px 13px 10px;gap:8px}.memo-card{padding:11px 13px;gap:4px}.memo-card .mt{font-size:15px}.memo-card .mp{font-size:13px;line-height:19px}.stat-grid{gap:12px}.stat-card{padding:12px 14px}.stat-card .sv{font-size:24px}.rp-empty{padding:36px 20px;gap:8px}.rp-banner{margin:10px 24px 0;padding:8px 12px;width:calc(100% - 48px)}.rp-cta{padding:11px 20px}.pf-card{padding:13px 15px;gap:7px}.pf-title{font-size:18px}.pf-avatar{width:46px;height:46px}