@font-face{font-family:Outfit;src:url(/fonts/Outfit-Variable.woff2) format("woff2-variations");font-weight:300 800;font-display:swap}:root{--sea1: #e8f6ff;--sea2: #d2eeff;--sea3: #7dd3fc;--sea4: #38bdf8;--sea5: #0ea5e9;--ink: #0c4a6e;--ink-soft: #3b6e8f;--glass: rgba(255, 255, 255, .42);--glass-strong: rgba(255, 255, 255, .66);--edge: rgba(255, 255, 255, .9);--shadow: 0 14px 38px rgba(14, 116, 180, .14), 0 2px 7px rgba(14, 116, 180, .07), inset 0 1px 1px rgba(255, 255, 255, .85), inset 0 -10px 24px rgba(125, 211, 252, .1);--shadow-high: 0 24px 60px rgba(14, 116, 180, .28), 0 4px 12px rgba(14, 116, 180, .12), inset 0 1px 1px rgba(255, 255, 255, .9);--r: 26px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{font-family:Outfit,Segoe UI,-apple-system,Roboto,sans-serif;color:var(--ink);background:linear-gradient(160deg,var(--sea1),var(--sea2) 45%,#bfe7ff);overscroll-behavior:none}#root{min-height:100%}.bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.app{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(96px + env(safe-area-inset-bottom));min-height:100vh;min-height:100dvh}.glass{position:relative;background:var(--glass);backdrop-filter:blur(13px) saturate(1.5);-webkit-backdrop-filter:blur(13px) saturate(1.5);backdrop-filter:blur(13px) saturate(1.5) url(#ripple);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;margin-bottom:14px;animation:rise .45s cubic-bezier(.2,.9,.3,1) both;animation-delay:calc(var(--i, 0) * 60ms)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.2px;background:linear-gradient(135deg,#fff,#ffffff26 35%,#7dd3fc59 65%,#ffffffb3);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.float{animation:rise .45s cubic-bezier(.2,.9,.3,1) both,bob 7s ease-in-out 1s infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}h1{font-size:26px;font-weight:700;margin:6px 4px 14px;letter-spacing:-.5px;text-shadow:0 1px 14px rgba(232,246,255,.9),0 0 2px rgba(232,246,255,.8)}h1 small{font-weight:500;font-size:13.5px;color:var(--ink-soft);display:block;letter-spacing:0}h2{font-size:14px;margin:0 0 10px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.6px}.stats{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.stat{text-align:center;padding:12px 4px 10px;border-radius:18px;background:var(--glass-strong);border:1px solid var(--edge);font:inherit;cursor:default}.stat b{display:block;font-size:24px;color:var(--sea5);font-weight:700;font-variant-numeric:tabular-nums}.stat span{font-size:11.5px;color:var(--ink-soft)}.stat.hero b{font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1.1}.stat.needs{cursor:pointer}.stat.needs.hot{background:#fff4d6;border-color:#ffe29b}.stat.needs.hot b{color:#92600a}.btn{border:none;cursor:pointer;font:inherit;font-weight:600;padding:13px 18px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--sea4),var(--sea5));box-shadow:0 8px 20px #0ea5e959,inset 0 1px #ffffff80;transition:transform .15s,box-shadow .15s;font-size:15px}.btn:active{transform:scale(.96);box-shadow:0 4px 10px #0ea5e94d}.btn:disabled{opacity:.55}.btn.soft{background:var(--glass-strong);color:var(--sea5);border:1px solid var(--edge);box-shadow:0 4px 14px #0e74b41f}.btn.small{padding:11px 15px;font-size:14px;min-height:44px}.row{display:flex;gap:10px;flex-wrap:wrap}.row .btn{flex:1 1 auto}.btn .sub{display:block;font-size:10.5px;font-weight:500;opacity:.85;letter-spacing:0}.chip{display:inline-block;padding:11px 16px;border-radius:999px;min-height:44px;background:var(--glass-strong);border:1px solid var(--edge);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;transition:all .15s;box-shadow:0 3px 10px #0e74b414;text-align:left}.chip:active,.chip.on{background:linear-gradient(135deg,var(--sea4),var(--sea5));color:#fff}.chip:disabled{opacity:.5}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.chip-row.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:0;margin-right:2px}.pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:600}.pill.ok{background:#d9fbe5;color:#0a7a46}.pill.warn{background:#fff4d6;color:#92600a}input[type=text],input[type=password],textarea{width:100%;border:1px solid var(--edge);border-radius:18px;padding:13px 16px;font:inherit;font-size:16px;color:var(--ink);background:var(--glass-strong);outline:none}input:focus,textarea:focus{border-color:var(--sea4);box-shadow:0 0 0 3px #38bdf840}textarea{min-height:120px;resize:vertical}.q-card .q-text{font-size:15.5px;line-height:1.45;margin:4px 0 10px}.q-card .q-meta{font-size:12.5px;color:var(--ink-soft)}.q-card .q-meta .skip-link{background:none;border:none;font:inherit;font-size:12.5px;color:var(--ink-soft);text-decoration:underline;cursor:pointer;padding:4px 6px}.send-row{display:flex;gap:8px;margin-top:10px}.send-row input{flex:1}.msg{max-width:86%;padding:10px 14px;margin:6px 0;border-radius:20px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.msg.in{background:linear-gradient(135deg,var(--sea4),var(--sea5));color:#fff;margin-left:auto;border-bottom-right-radius:8px}.msg.out{background:var(--glass-strong);border:1px solid var(--edge);border-bottom-left-radius:8px}.msg.echo{opacity:.65}.msg .t{display:block;font-size:10.5px;opacity:.65;margin-top:3px;font-variant-numeric:tabular-nums}.job{padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.7)}.job:last-child{border-bottom:none}.job b{font-size:15px}.job .meta{font-size:12.5px;color:var(--ink-soft);margin:2px 0 6px}.job.done{opacity:.45}.act{display:flex;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.6);font-size:13.5px;align-items:baseline}.act .t{color:var(--ink-soft);font-size:11.5px;min-width:76px;font-variant-numeric:tabular-nums}.act .k{font-weight:600;min-width:52px}.act.bad .k{color:#b4552d}.act.good .k{color:#0a7a46}.banner{position:sticky;top:8px;z-index:15;display:flex;gap:10px;align-items:center;background:#fff4d6;border:1px solid #ffe29b;border-radius:20px;padding:12px 14px;margin-bottom:12px;box-shadow:var(--shadow-high);font-size:14px;color:#92600a;font-weight:600}.banner input{flex:1;min-width:90px;font-size:16px;padding:9px 12px;background:#fff;border-color:#ffe29b}.banner .cd{font-variant-numeric:tabular-nums}.dock{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;display:flex;gap:2px;padding:8px;background:#fff9;backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--edge);border-radius:999px;box-shadow:var(--shadow-high)}.dock button{border:none;background:none;font:inherit;cursor:pointer;color:var(--ink-soft);padding:9px 13px;border-radius:999px;font-size:11.5px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:3px;transition:all .2s;position:relative}.dock button .ic{width:21px;height:21px}.dock button .ic svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dock button.on{background:linear-gradient(135deg,var(--sea4),var(--sea5));color:#fff;box-shadow:0 6px 16px #0ea5e966}.dock .badge{position:absolute;top:1px;right:3px;background:#ff7a7a;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-variant-numeric:tabular-nums}.dock button.on{view-transition-name:dock-active}.center{text-align:center}.muted{color:var(--ink-soft);font-size:13px}.evidence-img{width:100%;border-radius:18px;border:1px solid var(--edge);margin-top:10px;cursor:zoom-in}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#e8f6ffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;padding:14px}.overlay img{flex:1;object-fit:contain;min-height:0;width:100%}.spin{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(14,165,233,.25);border-top-color:var(--sea5);border-radius:50%;animation:sp .8s linear infinite;vertical-align:-3px}@keyframes sp{to{transform:rotate(360deg)}}.spin.going{animation-duration:.5s}.login-wrap{min-height:88vh;min-height:88dvh;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:380px;text-align:center}.logo{width:86px;height:86px;border-radius:26px;margin:0 auto 14px;box-shadow:var(--shadow-high)}.header-bar{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.header-meta{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}@media (prefers-reduced-motion: reduce){.glass,.float{animation:none!important}.spin{animation-duration:1.5s}}
