:root{--bg: #eef0f4;--blob-a: rgba(94, 196, 160, .55);--blob-b: rgba(120, 170, 255, .45);--blob-c: rgba(255, 190, 140, .45);--text: #15171c;--muted: #5f6672;--accent: #1f8a6a;--accent-strong: #167457;--accent-ink: #ffffff;--danger: #c93a32;--danger-ink: #ffffff;--glass: rgba(255, 255, 255, .58);--glass-strong: rgba(255, 255, 255, .74);--glass-weak: rgba(255, 255, 255, .36);--glass-edge: rgba(255, 255, 255, .85);--glass-edge-soft: rgba(255, 255, 255, .55);--glass-shine: rgba(255, 255, 255, .95);--glass-shadow: 0 1px 2px rgba(20, 30, 50, .06), 0 12px 32px rgba(20, 30, 50, .1);--glass-shadow-float: 0 2px 6px rgba(20, 30, 50, .08), 0 18px 44px rgba(20, 30, 50, .18);--inset: rgba(20, 30, 50, .055);--inset-edge: rgba(20, 30, 50, .08);--hairline: rgba(20, 30, 50, .1);--tint-accent: rgba(31, 138, 106, .14);--tint-danger: rgba(201, 58, 50, .12);--tint-success: rgba(31, 138, 106, .16);--blur: blur(28px) saturate(170%);--blur-strong: blur(36px) saturate(190%);--r-card: 26px;--r-inner: 16px;--r-pill: 999px;--tabbar-h: 64px;--tabbar-gap: 12px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0b0d12;--blob-a: rgba(60, 170, 130, .42);--blob-b: rgba(80, 120, 230, .34);--blob-c: rgba(230, 140, 90, .26);--text: #f2f3f6;--muted: #9aa1ad;--accent: #4fcf9f;--accent-strong: #3fb98c;--accent-ink: #06231a;--danger: #ff6f66;--danger-ink: #2a0906;--glass: rgba(42, 46, 56, .52);--glass-strong: rgba(48, 52, 64, .7);--glass-weak: rgba(42, 46, 56, .34);--glass-edge: rgba(255, 255, 255, .16);--glass-edge-soft: rgba(255, 255, 255, .1);--glass-shine: rgba(255, 255, 255, .22);--glass-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .45);--glass-shadow-float: 0 2px 6px rgba(0, 0, 0, .35), 0 18px 44px rgba(0, 0, 0, .6);--inset: rgba(0, 0, 0, .26);--inset-edge: rgba(255, 255, 255, .07);--hairline: rgba(255, 255, 255, .1);--tint-accent: rgba(79, 207, 159, .14);--tint-danger: rgba(255, 111, 102, .14);--tint-success: rgba(79, 207, 159, .16)}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(42% 32% at 12% 8%,var(--blob-a),transparent 70%),radial-gradient(38% 30% at 92% 22%,var(--blob-b),transparent 70%),radial-gradient(44% 34% at 50% 96%,var(--blob-c),transparent 70%),var(--bg)}#root{min-height:100%}h1{font-size:2rem;margin:0;letter-spacing:-.03em;line-height:1.1;font-weight:800}h2{font-size:1.05rem;margin:0 0 8px;letter-spacing:-.01em;font-weight:700}p{margin:0 0 10px;line-height:1.45}p:last-child{margin-bottom:0}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.875rem}.center-text{text-align:center}.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.content{flex:1;padding:calc(12px + env(safe-area-inset-top)) 16px calc(var(--tabbar-h) + var(--tabbar-gap) + 28px + env(safe-area-inset-bottom));max-width:560px;width:100%;margin:0 auto}.screen{min-height:100vh;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.screen.center{justify-content:center;align-items:center}.stack{display:flex;flex-direction:column;gap:14px}.stack.narrow{width:100%;max-width:380px;margin:0 auto}.brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:8px}.brand img{border-radius:20px;box-shadow:var(--glass-shadow-float)}.page-title{padding:8px 4px 6px}.page-title p{margin-top:4px}.card,.btn,.input,.chip,.notice,.tabbar,.code-display{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.card{position:relative;background:var(--glass);border:1px solid var(--glass-edge-soft);border-radius:var(--r-card);padding:18px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine)}.card.accent{background:linear-gradient(180deg,var(--tint-accent),transparent 60%),var(--glass);border-color:color-mix(in srgb,var(--accent) 35%,var(--glass-edge-soft))}.card .btn{margin-top:6px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--glass-edge-soft);background:var(--glass-strong);color:var(--text);font:inherit;font-weight:600;font-size:1rem;padding:12px 18px;border-radius:var(--r-pill);min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px #0000000f,0 6px 16px #141e3214,inset 0 1px 0 var(--glass-shine);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white),var(--accent-strong));color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 60%,white);box-shadow:0 1px 2px #0000001a,0 8px 20px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px #ffffff73}.btn.big{width:100%;min-height:56px;font-size:1.1rem}.btn.small{padding:8px 14px;min-height:36px;font-size:.875rem}.btn.danger{color:var(--danger)}.btn:active{transform:scale(.97);box-shadow:0 1px 2px #0000000f,inset 0 1px 0 var(--glass-shine)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field-label{font-weight:600;font-size:.9rem}.hint{color:var(--muted);font-size:.8rem}.input{font:inherit;font-size:1rem;padding:12px 16px;border-radius:var(--r-inner);border:1px solid var(--inset-edge);background:var(--inset);color:var(--text);width:100%;min-height:46px;box-shadow:inset 0 1px 2px #0000000f}.input::placeholder{color:var(--muted);opacity:.8}.input[type=time],.input[type=date],.input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%}.input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}.field>.input{min-width:0;max-width:100%}.input:focus{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:0;border-color:transparent}.input.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem;letter-spacing:.15em;text-align:center;text-transform:uppercase}.notice{padding:12px 16px;border-radius:var(--r-inner);line-height:1.4;background:linear-gradient(180deg,var(--tint-accent),transparent 70%),var(--glass);border:1px solid var(--glass-edge-soft);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine)}.notice-error{background:linear-gradient(180deg,var(--tint-danger),transparent 70%),var(--glass);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--glass-edge-soft))}.notice-success{background:linear-gradient(180deg,var(--tint-success),transparent 70%),var(--glass)}.list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hairline);flex-wrap:wrap}.row:first-child{border-top:0;padding-top:0}.row:last-child{padding-bottom:0}.row-main{flex:1;min-width:140px}.row-title{font-weight:600}.row-sub{font-size:.85rem}.row.inactive .row-title{color:var(--muted);text-decoration:line-through}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.steps{padding-left:20px;margin:0}.steps li{margin-bottom:8px;line-height:1.45}.code-display{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem;letter-spacing:.12em;text-align:center;padding:18px;border-radius:var(--r-card);background:var(--glass);border:1px dashed color-mix(in srgb,var(--accent) 60%,transparent);-webkit-user-select:all;user-select:all;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine)}.link-box{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;padding:10px 12px;background:var(--inset);border:1px solid var(--inset-edge);border-radius:12px}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-gap) + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:520px;height:var(--tabbar-h);padding:6px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);border:1px solid var(--glass-edge-soft);border-radius:var(--r-pill);box-shadow:var(--glass-shadow-float),inset 0 1px 0 var(--glass-shine),inset 0 -1px #0000000a;display:flex;justify-content:space-around;gap:2px;z-index:10}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.66rem;font-weight:600;letter-spacing:.01em;color:var(--muted);text-decoration:none;border-radius:var(--r-pill);padding:4px 2px;transition:color .15s ease,background-color .2s ease}.tab.active{color:var(--accent);background:var(--tint-accent);box-shadow:inset 0 1px 0 var(--glass-shine),0 1px 2px #0000000a}.tab-icon{width:22px;height:22px;display:block}.tab-icon svg{width:100%;height:100%;display:block}.danger-card{border-color:color-mix(in srgb,var(--danger) 45%,var(--glass-edge-soft));box-shadow:var(--glass-shadow),0 0 0 4px color-mix(in srgb,var(--danger) 8%,transparent),inset 0 1px 0 var(--glass-shine)}.due-overdue{color:var(--danger);font-weight:600}.occ{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hairline);flex-wrap:wrap}.occ:first-child{border-top:0;padding-top:0}.occ:last-child{padding-bottom:0}.occ-main{flex:1;min-width:150px}.occ-title{font-weight:600;font-size:1.05rem;color:var(--text);text-decoration:none}.occ-sub{font-size:.85rem;color:var(--muted);margin-top:2px}.occ-notes{font-size:.85rem;margin-top:4px}.occ-actions{display:flex;gap:8px;align-items:center}.occ.muted-row .occ-title{font-weight:500}.occ.resolved .occ-title{color:var(--muted)}.handoff-pick{margin-top:8px;align-items:center}.btn.done{min-width:96px;min-height:48px}.link-block{display:block;color:inherit;text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--glass-edge-soft);background:var(--glass-strong);color:var(--text);min-height:38px;box-shadow:0 1px 2px #0000000d,inset 0 1px 0 var(--glass-shine);transition:transform .15s ease,background-color .15s ease}.chip:active{transform:scale(.96)}.chip.on{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white),var(--accent-strong));color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 60%,white);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px #fff6}.subform{margin-top:10px;padding:14px;border-radius:var(--r-inner);background:var(--inset);border:1px solid var(--inset-edge);display:flex;flex-direction:column;gap:10px}.subform .input{background:var(--glass-weak)}.input.tiny{width:72px;min-height:38px;padding:6px 10px}.toggle{display:flex;gap:12px;align-items:flex-start}.toggle input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}.toggle>span{display:flex;flex-direction:column;gap:2px}.disclosure{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;font:inherit;font-weight:600;color:var(--accent);padding:0;cursor:pointer}.stepper{display:flex;align-items:center;gap:6px}.stepper .btn.small{min-width:36px;padding:6px}.stepper-value{min-width:24px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}textarea.input{resize:vertical;line-height:1.4}select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters .input{width:auto;flex:1;min-width:130px;background:var(--glass-strong);border-color:var(--glass-edge-soft);box-shadow:0 1px 2px #0000000d,inset 0 1px 0 var(--glass-shine);border-radius:var(--r-pill)}.toggle.small{align-items:center;font-size:.9rem}.toggle.small input{margin:0}.event{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--hairline)}.event:first-child{border-top:0;padding-top:0}.event:last-child{padding-bottom:0}.event-main{flex:1;min-width:0}.event-text{line-height:1.4}.event-link{color:inherit;text-decoration:none}.event-detail{font-size:.85rem;color:var(--muted)}.event-time{font-size:.8rem;white-space:nowrap;font-variant-numeric:tabular-nums}.event.minor{opacity:.7}.proposal{padding:12px 0;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:6px}.proposal:first-child{border-top:0;padding-top:0}.proposal:last-child{padding-bottom:0}.proposal p{margin:0}.changes{margin:0;padding-left:18px;font-size:.95rem;line-height:1.5}.votes{list-style:none;margin:0;padding:0;font-size:.9rem;display:flex;flex-direction:column;gap:2px}.vote-yes{color:var(--accent);font-weight:700}.vote-no{color:var(--danger);font-weight:700}.proposal .btn,.proposal .row-actions{align-self:flex-start}@media(prefers-reduced-transparency:reduce){:root{--glass: var(--glass-strong);--glass-weak: var(--glass-strong)}.card,.btn,.input,.chip,.notice,.tabbar,.code-display{-webkit-backdrop-filter:none;backdrop-filter:none}.card,.notice,.tabbar,.code-display{background:color-mix(in srgb,var(--bg) 85%,white)}@media(prefers-color-scheme:dark){.card,.notice,.tabbar,.code-display{background:color-mix(in srgb,var(--bg) 70%,white)}}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass: var(--glass-strong);--glass-weak: var(--glass-strong)}.card,.notice,.tabbar{background:color-mix(in srgb,var(--bg) 80%,white)}}@media(prefers-reduced-motion:reduce){.btn,.chip,.tab{transition:none}}
