:root{--bg: #f5f5f7;--surface: #ffffff;--surface-2: #ececef;--line: #7c7c82;--text: #1d1d1f;--muted: #616166;--rule: #dcdce0;--fill-2: #c8c8ce;--accent: #c96442;--accent-ink: #101014;--on-accent: #101014;--danger: #c0303a;--danger-ink: #ffffff;--accent-text: #a44e31;--plan-bg: #ffffff;--plan-edge: #6f6f77;--pin-verified: #4a4a50;--tag-none: #5e5e68;--tag-none-ink: #ffffff;--glass: rgba(255,255,255,.94);--glass-edge: rgba(0,0,0,.08);--scrim: rgba(0,0,0,.62);--t-3xs: 11px;--t-2xs: 12px;--t-xs: 13px;--t-xsx: 14px;--t-sm: 15px;--t-smx: 16px;--t-md: 17px;--t-mdx: 19px;--t-lg: 22px;--t-xl: 30px;--t-2xl: 40px;--lh-flat: 1;--lh-tight: 1.05;--lh-title: 1.2;--lh-card: 1.25;--lh-snug: 1.3;--lh-ui: 1.4;--lh-read: 1.45;--lh-body: 1.5;--s1: 4px;--s2: 8px;--s3: 12px;--s3x: 16px;--s4: 20px;--s4x: 24px;--s5: 32px;--s6: 52px;--dot-sm: 10px;--fl-top: max(58px, calc(var(--safe-t) + 4px));--fab-bottom: max(46px, calc(var(--safe-b) + 12px));--page-top: calc(var(--fl-top) + var(--ctl-sm) + var(--s3x));--sheet-gap: 14px;--sheet-pad-b: max(40px, calc(var(--safe-b) + var(--s3x)));--ctl-sm: 44px;--ctl-md: 48px;--ctl-mdx: 52px;--ctl-lg: 56px;--ctl-xl: 60px;--ctl-fab: 76px;--ctl-note: 84px;--pill-sm: 28px;--pill-md: 32px;--r-2xs: 6px;--r-xs: 8px;--r-sm: 10px;--r-md: 12px;--r-lg: 14px;--radius: 16px;--r-xl: 20px;--r-2xl: 24px;--r-pill: 999px;--shadow: 0 12px 40px rgba(0,0,0,.16);--sh-float: 0 6px 20px rgba(0,0,0,.13);--sh-float-2: 0 8px 24px rgba(0,0,0,.16);--sh-solid: 0 6px 20px rgba(0,0,0,.2);--sh-sheet: 0 -14px 44px rgba(0,0,0,.3);--sh-fab: 0 10px 30px rgba(201,100,66,.42), 0 0 0 5px rgba(255,255,255,.9);--sh-card: 0 4px 18px rgba(0,0,0,.07);--sh-lift: 0 16px 48px rgba(0,0,0,.16);--sh-pin: 0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.45);--pane-w: 380px;--page-w: 1100px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Inter, Roboto, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f0f10;--surface: #1c1c1e;--surface-2: #2c2c2e;--line: #7a7a80;--text: #f5f5f7;--muted: #a3a3a9;--rule: #3a3a3e;--fill-2: #424247;--danger: #f2707a;--danger-ink: #101014;--accent-text: #e0805a;--plan-bg: #26262a;--plan-edge: #68686e;--glass: rgba(28,28,30,.94);--glass-edge: rgba(255,255,255,.14);--shadow: 0 12px 40px rgba(0,0,0,.5);--sh-float: 0 6px 20px rgba(0,0,0,.5);--sh-float-2: 0 8px 24px rgba(0,0,0,.55);--sh-solid: 0 6px 20px rgba(0,0,0,.5);--sh-sheet: 0 -14px 44px rgba(0,0,0,.6);--sh-fab: 0 10px 30px rgba(201,100,66,.5), 0 0 0 5px rgba(15,15,16,.9);--sh-card: 0 4px 18px rgba(0,0,0,.35);--sh-lift: 0 16px 48px rgba(0,0,0,.55);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--t-md);line-height:var(--lh-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.02em}h1{font-size:var(--t-2xl);line-height:var(--lh-tight);letter-spacing:-.03em}h2{font-size:var(--t-lg);line-height:var(--lh-title)}h3{font-size:var(--t-md);font-weight:700;line-height:var(--lh-snug);letter-spacing:-.01em}p{margin:0}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.muted{color:var(--muted)}.small{font-size:var(--t-sm)}.big{font-size:var(--t-lg);font-weight:700;line-height:var(--lh-title)}.row{display:flex;align-items:center;gap:var(--s3)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.grow{flex:1;min-width:0}.hidden,[hidden]{display:none!important}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page{max-width:var(--page-w);margin:0 auto;padding:var(--s3x);padding-bottom:calc(96px + var(--safe-b))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s2);min-height:calc(65px + var(--safe-t));padding:calc(var(--s2) + var(--safe-t)) calc(var(--s3) + var(--safe-r)) var(--s2) calc(var(--s3) + var(--safe-l));background:var(--bg);border-bottom:1px solid var(--line)}.topbar .title{font-weight:700;font-size:var(--t-lg);line-height:var(--lh-title);letter-spacing:-.02em}.topbar .title.grow:last-child{padding-right:calc(var(--ctl-sm) + var(--s2))}.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px calc(var(--s3) + var(--safe-r)) calc(10px + var(--safe-b)) calc(var(--s3) + var(--safe-l));background:var(--bg);border-top:1px solid var(--line)}@media(min-width:1132px){.topbar:not(.plan-top),.bottombar:not(.plan-bottom){padding-left:calc((100% - var(--page-w)) / 2 + var(--s3) + var(--safe-l));padding-right:calc((100% - var(--page-w)) / 2 + var(--s3) + var(--safe-r))}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--ctl-md);padding:0 var(--s4);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-weight:600;font-size:var(--t-md);line-height:var(--lh-ui);cursor:pointer;user-select:none;-webkit-user-select:none;text-decoration:none;transition:transform .08s ease}.btn:active{transform:scale(.97)}.btn:disabled,.btn.disabled{background:var(--surface-2);color:var(--muted);border-color:var(--line);pointer-events:none}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-ghost{background:transparent;border-color:var(--line)}.btn-ghost:disabled,.btn-ghost.disabled{background:transparent}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-block{width:100%}.btn-lg{min-height:var(--ctl-lg);font-size:var(--t-md)}.btn-icon{width:var(--ctl-sm);min-height:var(--ctl-sm);flex:none;padding:0;border-radius:var(--r-pill)}.btn.small{min-height:var(--ctl-sm);padding:0 var(--s3);font-size:var(--t-sm)}.chip{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);padding:0 var(--s3x);max-width:100%;min-width:0;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:var(--t-sm);font-weight:600;white-space:nowrap;cursor:pointer;user-select:none}.chip .dot{width:var(--dot-sm);height:var(--dot-sm);border-radius:50%;background:var(--dot, var(--muted));flex:none}.chip-on{background:var(--text);color:var(--surface);border-color:var(--text)}.chip-on .dot:not(.tico){background:var(--dot, var(--surface));box-shadow:0 0 0 1.5px var(--surface)}.chip-row{display:flex;gap:var(--s2);overflow-x:auto;padding:var(--s1) 0;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.card{background:var(--surface);border:1px solid transparent;border-radius:var(--radius);padding:var(--s3x);display:block;color:inherit;text-decoration:none}.card:active{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--pill-sm);height:var(--pill-sm);padding:0 var(--s2);border-radius:var(--r-pill);background:var(--danger);color:var(--danger-ink);font-size:var(--t-2xs);font-weight:700;line-height:var(--lh-tight)}.pill-status{display:inline-flex;align-items:center;gap:var(--s2);height:var(--pill-md);padding:0 var(--s3);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700;line-height:var(--lh-ui);letter-spacing:.01em;background:transparent;color:var(--text);border:1px solid var(--line)}.pill-status[data-status=open]{background:transparent;border-width:1px;color:var(--text)}.pill-status[data-status=done]{background:transparent;border-width:2px;border-color:var(--text);color:var(--text)}.pill-status[data-status=verified]{background:transparent;border-width:2px;border-color:var(--muted);color:var(--muted)}.field{display:flex;flex-direction:column;gap:var(--s2)}.field label{position:relative;font-size:var(--t-sm);font-weight:600;line-height:var(--lh-ui);color:var(--muted)}.field label[for]:after{content:"";position:absolute;inset:0 0 -23px}.field input,.field textarea,.field select{width:100%;min-height:var(--ctl-md);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);font-size:var(--t-md)}.field input,.field select{padding:0 var(--s3x)}.field textarea{padding:var(--s3) var(--s3x);min-height:96px;resize:vertical}@media(max-width:719.98px){.field textarea{resize:none}}.field input:focus,.field textarea:focus{border-color:var(--accent)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#00000080}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:92dvh;overflow-y:auto;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow);padding:var(--s2) var(--s3x) calc(var(--s3x) + var(--safe-b));animation:sheet-in .22s ease-out}@media(min-width:720px){.sheet{left:50%;right:auto;width:560px;transform:translate(-50%);border-radius:var(--radius);bottom:var(--s4x)}}.sheet-handle{width:40px;height:4px;border-radius:var(--r-pill);background:var(--line);margin:var(--s1) auto var(--s3)}@keyframes sheet-in{0%{opacity:0;translate:0 24px}to{opacity:1;translate:none}}@media(min-width:720px){@keyframes sheet-in{0%{opacity:0;translate:0 16px}to{opacity:1;translate:none}}}.sheet.sheet-out{animation:sheet-out .16s ease-in forwards;pointer-events:none}.sheet-backdrop.sheet-out{transition:opacity .16s;opacity:0;pointer-events:none}@keyframes sheet-out{to{opacity:0;translate:0 24px}}.sheet{overscroll-behavior:contain}.grid-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--s2)}.grid-thumbs .thumb{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2)}.grid-thumbs .thumb img{width:100%;height:100%;object-fit:cover}.grid-thumbs .thumb .rm{position:absolute;top:3px;right:3px;width:var(--pill-md);height:var(--pill-md);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1;background:#0009;color:#fff;border:0;font-size:var(--t-md);padding:0;cursor:pointer}.grid-thumbs .thumb .rm:before{content:"";position:absolute;inset:-6px}.progressbar{position:fixed;top:0;left:0;height:3px;width:100%;z-index:60;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.progressbar.on{transform:scaleX(.7)}.progressbar.done{transform:scaleX(1);opacity:0;transition:transform .2s,opacity .4s .2s}.toast{position:fixed;left:50%;bottom:calc(var(--bar-h, 90px) + var(--safe-b));transform:translate(-50%);z-index:70;background:var(--text);color:var(--bg);padding:var(--s3) var(--s4);border-radius:var(--r-pill);font-weight:600;box-shadow:var(--shadow);max-width:92vw;text-align:center;pointer-events:none}.toast{animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;translate:0 8px}}@media(prefers-reduced-motion:reduce){.sheet,.sheet.sheet-out,.toast{animation:none}.sheet.sheet,.sheet-backdrop.sheet-out{transition:none}}.toast.toast-top{bottom:auto;top:calc(var(--s3) + var(--safe-t))}body:has(.plan-screen:not(.is-placing):not(.has-rail)):not(:has(.sheet-newpin)) .toast.toast-top{top:calc(var(--fl-top) + var(--ctl-sm) + var(--s2))}.toast.error{background:var(--danger);color:var(--danger-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet:focus-visible,.sheet-body:focus-visible,[role=complementary]:focus-visible{outline:1px solid var(--line);outline-offset:-1px}@media(hover:hover)and (pointer:fine){.btn:hover{filter:brightness(1.12)}.btn-ghost:hover{background:var(--surface-2);filter:none}.btn:disabled:hover,.btn.disabled:hover{filter:none}.chip:hover:not(.chip-on){border-color:var(--muted)}.menu-item:hover,.tag-row:hover,.card:hover{background:var(--surface-2)}.pv-pin:hover{box-shadow:0 0 0 2px #fff,0 0 0 3px #00000073,0 2px 8px #00000080}}
