:root{--ink:#0B0B0B;--paper:#FFFFFF;--mist:#F6F5F3;--mist2:#EFEDE9;--line:#E6E3DE;--ash:#8A8782;--ash2:#B6B2AB;--clay:#B07B4F;--clay-soft:#F1E7DD;--radius:14px;--ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--read:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--shadow:0 1px 2px rgba(11,11,11,.04),0 10px 34px rgba(11,11,11,.06);--ease:cubic-bezier(.2,.7,.2,1);--spring:cubic-bezier(.34,1.56,.64,1)}*{box-sizing:border-box}html,body{margin:0;height:100%}#root{height:100%}body{font-family:var(--ui);color:var(--ink);background:var(--mist);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.eyebrow{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);font-weight:600}.num{font-variant-numeric:tabular-nums}button{font-family:inherit}::selection{background:#111;color:#fff}.app{display:grid;grid-template-columns:240px 1fr;height:100vh}@media (max-width:880px){.app{grid-template-columns:64px 1fr}}.rail{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}.brand .mark{width:28px;height:28px;border-radius:7px;background:var(--ink);position:relative;flex:0 0 auto}.brand .mark:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1.6px solid #fff;border-radius:50%}.brand .mark:before{content:"";position:absolute;right:7px;top:7px;width:4px;height:4px;border-radius:50%;background:#fff;z-index:2}.brand b{font-size:14px}.brand small{display:block;color:var(--ash);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:1px}@media (max-width:880px){.brand b,.brand small,.navtext,.who{display:none}}.nav{display:flex;flex-direction:column;gap:2px;margin-top:4px}.navitem{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:background .14s var(--ease)}.navitem:hover{background:var(--mist)}.navitem.active{background:var(--ink);color:#fff}.navitem.active .ico{color:#fff}.navitem .ico{width:18px;height:18px;flex:0 0 auto;color:var(--ash)}.navtext{font-size:13.5px;font-weight:500}.tag{margin-left:auto;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);border:1px solid var(--line);border-radius:20px;padding:2px 7px;font-weight:600}.navitem.active .tag{border-color:#3a3a3a;color:#cfcfcf}.railspace{flex:1}.railfoot{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;gap:10px}.av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#cdb19a,#a98a6a);flex:0 0 auto}.who b{font-size:12.5px;display:block}.who span{font-size:11px;color:var(--ash);display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;background:#1f1f1f;display:inline-block}.dot.warn{background:var(--clay)}.main{overflow:auto;position:relative}.topbar{position:sticky;top:0;z-index:30;background:#f6f5f3e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.ribbon{display:flex;align-items:center;gap:14px;padding:10px 24px;min-height:62px}.pace{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.pace b{font-size:15px}.pace small{color:var(--ash);font-size:11.5px}.spacer{flex:1}.reactstats{display:flex;align-items:center;gap:14px}.whoflash{font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:6px 12px;display:flex;align-items:center;gap:7px;opacity:0;transform:translate(8px);transition:opacity .3s,transform .3s var(--spring);white-space:nowrap}.whoflash.show{opacity:1;transform:none}.whoflash .we{font-size:15px}.dwtoggle{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:3px}.dw{font-size:11px;padding:5px 11px;border-radius:30px;cursor:pointer;color:var(--ash);font-weight:600}.dw.active{background:var(--ink);color:#fff}.counters{display:flex;gap:8px}.counter{display:flex;align-items:center;gap:7px;border-radius:30px;padding:6px 12px 6px 9px}.counter .ce{font-size:18px}.counter .cn{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;min-width:18px;text-align:left}.counter.bumpd .cn{animation:bump .45s var(--spring)}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}.c-like{background:#ffe6e6}.c-super{background:#fff3d6}.c-needs{background:#eceae6}.c-notme{background:#e9e6e2}.c-needs .cn,.c-notme .cn{color:#5a5752}.screen{padding:24px 24px 90px;animation:rise .18s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.head h1{font-size:30px;letter-spacing:-.02em;margin:0;font-weight:600}.head .sub{color:var(--ash);font-size:13px;margin-top:6px}.hidden{display:none!important}.ph1{background:radial-gradient(120% 100% at 30% 20%,#e8c9a0,#b9744f 60%,#6e3b2b)}.ph2{background:radial-gradient(120% 120% at 70% 10%,#cfd6e6,#8ea0c2 55%,#3f4a66)}.ph3{background:radial-gradient(130% 100% at 40% 80%,#f0d9b5,#c79a6a 55%,#7c5436)}.ph4{background:radial-gradient(120% 100% at 60% 30%,#d9e3d2,#9bb392 55%,#4f6a4c)}.ph5{background:radial-gradient(120% 120% at 25% 30%,#efc6c2,#c47c84 55%,#6f3c47)}.grain{position:relative}.grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.1) .5px,transparent .5px);background-size:3px 3px;mix-blend-mode:overlay;opacity:.5;pointer-events:none}.qsec{margin-bottom:24px}.qhd{display:flex;align-items:center;gap:10px;margin:0 2px 12px}.qhd .count{font-size:10.5px;color:var(--ash);background:var(--mist2);border-radius:20px;padding:2px 9px;font-weight:600}.revisit .qhd .count{background:var(--clay-soft);color:var(--clay)}.row{display:flex;align-items:stretch;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px;cursor:pointer;transition:box-shadow .16s var(--ease),border-color .16s}.row:hover{box-shadow:var(--shadow);border-color:#dcd8d1}.revisit .row{border-color:#e4d8cb}.rphoto{width:142px;height:110px;border-radius:11px;flex:0 0 auto;position:relative;overflow:hidden;cursor:grab}.rphoto:active{cursor:grabbing}.rphoto .ct{position:absolute;right:8px;top:8px;background:#0b0b0b99;color:#fff;font-size:10.5px;border-radius:20px;padding:2px 8px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.rphoto .draghint{position:absolute;left:0;right:0;bottom:0;padding:7px;background:linear-gradient(transparent,#0b0b0b8c);color:#fff;font-size:10.5px;display:flex;align-items:center;justify-content:center;gap:5px;opacity:0;transition:opacity .16s}.rphoto:hover .draghint{opacity:1}.rmid{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.namerow{display:flex;align-items:center;gap:9px;margin-bottom:6px}.uname{font-size:16px;font-weight:700;letter-spacing:-.01em}.pill{font-size:9.5px;font-weight:700;letter-spacing:.05em;border-radius:20px;padding:3px 8px;text-transform:uppercase}.pill.fix{background:var(--ink);color:#fff}.pill.new{background:var(--mist2);color:var(--ash)}.pill.reedit{background:#fff;border:1px solid var(--ink)}.tier{font-size:9.5px;font-weight:700;letter-spacing:.05em;border-radius:20px;padding:3px 8px;text-transform:uppercase}.tier.priority{background:var(--clay-soft);color:var(--clay)}.tier.standard{background:var(--mist2);color:var(--ash)}.tier.trial{background:#fff;color:var(--ash2);border:1px solid var(--line)}.agew{font-size:11px;color:var(--ash);margin-left:auto}.revisit .agew{color:var(--clay);font-weight:600}.todo{font-size:15px;font-weight:600;letter-spacing:-.01em}.comment{font-family:var(--read);font-size:15px;color:var(--ash);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rheroes{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;justify-content:center}.rheroes .lab{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-weight:600}.herostrip{display:flex;gap:5px}.hth{width:34px;height:44px;border-radius:7px;overflow:hidden}.ract{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:stretch;border-left:1px solid var(--line);padding-left:16px;min-width:130px}.ready-note{font-size:10.5px;color:var(--ash);display:flex;align-items:center;gap:6px}.btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:30px;padding:9px 16px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s var(--spring),background .14s;font-weight:500}.btn:hover{background:var(--mist)}.btn:active{transform:scale(.95)}.btn.ghost,.btn.edit{border-color:var(--line)}.btn.edit:hover{border-color:var(--ink)}.btn[disabled]{opacity:.45;cursor:not-allowed}.send{border:none;background:var(--ink);color:#fff;border-radius:30px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 6px 20px #0b0b0b2e;transition:transform .14s var(--spring),box-shadow .16s;position:relative}.send:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 26px #0b0b0b3d}.send:active{transform:scale(.96)}.send .pl{font-size:16px;transition:transform .2s var(--spring)}.send:hover .pl{transform:translate(3px) rotate(8deg)}.send.big{padding:14px 30px;font-size:15px}.dhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px;flex-wrap:wrap}.backbtn{display:inline-flex;align-items:center;gap:8px;border:none;background:none;cursor:pointer;color:var(--ink);font-size:13px;padding:6px 8px;border-radius:8px;transition:background .14s}.backbtn:hover{background:var(--mist)}.taskcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px}.taskcard .namerow{margin-bottom:8px}.taskcard .todo{margin-bottom:6px;font-size:16px}.taskcard .comment{-webkit-line-clamp:unset}.briefchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bchip{font-size:11.5px;background:var(--mist);border:1px solid var(--line);border-radius:20px;padding:5px 11px}.bchip b{font-weight:600}.bchip.shape{background:var(--ink);color:#fff;border-color:var(--ink)}.bchip.lookbig{background:var(--mist2);border-color:var(--mist2);font-weight:700}.look{font-size:9.5px;font-weight:700;letter-spacing:.05em;border-radius:20px;padding:3px 8px;color:var(--ash);border:1px solid var(--line);white-space:nowrap}.zone{margin-top:2px}.zlab{margin-bottom:8px}.zborder{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.prefline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.reqcard{background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}.reqrow{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.reqrow:last-child{margin-bottom:0}.reqrow .eyebrow{width:78px;flex:0 0 auto;padding-top:3px}.reqtext{font-family:var(--read);font-size:15px;color:var(--ink);flex:1;line-height:1.45}.reqpills{display:flex;flex-wrap:wrap;gap:7px;flex:1}.reqpills .bchip{font-size:11px}.dgrid{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}@media (max-width:1040px){.dgrid{grid-template-columns:1fr}}.stack-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.sb-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.sb-head .eyebrow{margin:0}.vchips{display:flex;gap:6px}.vchip{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:4px 10px;cursor:pointer;background:var(--paper);transition:all .14s}.vchip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.bigphoto{aspect-ratio:4/3;position:relative;cursor:grab}.bigphoto:active{cursor:grabbing}.editfab{position:absolute;right:14px;bottom:14px;border:none;background:#fffffff2;color:var(--ink);border-radius:30px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #0b0b0b2e;display:inline-flex;align-items:center;gap:7px;transition:transform .14s var(--spring)}.editfab:hover{transform:scale(1.05)}.dragtag{position:absolute;left:14px;bottom:14px;background:#0b0b0b99;color:#fff;border-radius:20px;padding:6px 12px;font-size:11px;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.heroes-row{display:flex;gap:10px;padding:16px}.hero{width:78px;height:104px;border-radius:10px;overflow:hidden;flex:0 0 auto}.locknote{display:flex;align-items:center;gap:8px;color:var(--ash);font-size:11.5px;padding:0 16px 16px}.lifeblock{padding:16px}.lifebar{position:relative;height:2px;background:var(--line);margin:22px 8px 8px}.lifefill{position:absolute;left:0;top:0;height:2px;background:var(--ink);width:60%}.node{position:absolute;top:-5px;transform:translate(-50%);text-align:center}.node .pt{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--line);margin:0 auto}.node.done .pt{background:var(--ink);border-color:var(--ink)}.node.now .pt{border-color:var(--ink);box-shadow:0 0 0 4px #0b0b0b0f}.node .lab{font-size:10px;color:var(--ash);margin-top:9px}.node .tm{font-size:12px;font-weight:600;margin-top:2px}.lifefoot{display:flex;justify-content:space-between;margin-top:18px;font-size:11.5px;color:var(--ash)}.lifefoot b{color:var(--ink)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.panel .eyebrow{margin-bottom:14px}.chatscroll{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.msg{max-width:84%;padding:10px 13px;border-radius:14px;font-family:var(--read);font-size:15px;line-height:1.45}.msg.them{background:var(--mist);border-bottom-left-radius:5px;align-self:flex-start}.msg.me{background:var(--ink);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.msg .t{display:block;font-family:var(--ui);font-size:10px;letter-spacing:.06em;color:var(--ash);margin-top:6px}.msg.me .t{color:#b9b9b9}.chatbox{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.chatbox input{flex:1;border:1px solid var(--line);border-radius:30px;padding:10px 14px;font-family:var(--read);font-size:15px;outline:none}.chatbox input:focus{border-color:var(--ink)}.iconbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:transform .12s var(--spring)}.iconbtn:active{transform:scale(.9)}.tray{padding:16px}.dropzone{border:1.6px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--ash);background:var(--mist);transition:all .18s var(--ease);cursor:pointer}.dropzone:hover{border-color:var(--ash2)}.dropzone.over{border-color:var(--ink);background:#fff;color:var(--ink);transform:scale(1.01)}.dropzone .di{width:30px;height:30px;margin:0 auto 10px;color:var(--ash)}.dropzone.over .di{color:var(--ink)}.dropzone b{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.dropzone small{font-size:12px}.editedgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:14px}.etile{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:var(--mist2)}.etile.sel{border-color:var(--ink)}.etile img{width:100%;height:100%;object-fit:cover;display:block}.etile .ph{width:100%;height:100%}.etile .ov{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b0b0b73;color:#fff}.etile .ring{width:30px;height:30px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.etile .check{position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;animation:popin .4s var(--spring) both}@keyframes popin{0%{transform:scale(0)}to{transform:scale(1)}}.etile .selmark{position:absolute;left:6px;bottom:6px;font-size:10px;background:var(--ink);color:#fff;border-radius:20px;padding:2px 8px;opacity:0;transition:opacity .14s}.etile.sel .selmark{opacity:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s}.overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--paper);border-radius:18px;width:min(1040px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(14px) scale(.98);transition:transform .24s var(--spring);box-shadow:0 30px 80px #0000004d}.overlay.show .modal{transform:none}.mhead{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.mhead b{font-size:16px}.keynote{font-size:11px;color:var(--ash);display:flex;align-items:center;gap:6px}.xbtn{border:none;background:var(--mist);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--ink);transition:background .14s}.xbtn:hover{background:var(--mist2)}.mbody{display:grid;grid-template-columns:1fr 320px;overflow:auto}@media (max-width:820px){.mbody{grid-template-columns:1fr}}.mwork{padding:20px;border-right:1px solid var(--line)}.msrc{aspect-ratio:4/3;border-radius:12px;overflow:hidden;margin-bottom:16px}.mwork .eyebrow{margin-bottom:12px}.mctrl{padding:20px;background:var(--mist);overflow:auto}.ctrlsec{margin-bottom:18px}.ctrlsec .eyebrow{margin-bottom:9px}.promptarea{width:100%;min-height:130px;border:1px solid var(--line);border-radius:12px;padding:14px;font-family:var(--read);font-size:16px;line-height:1.6;resize:vertical;outline:none;background:#fff}.promptarea:focus{border-color:var(--ink)}.lookbtn{margin-top:9px;font-size:12px}.selectbox{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:13px;outline:none;background:#fff;font-family:var(--ui)}.selectbox:focus{border-color:var(--ink)}.ratioline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ash);background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.ratioline b{color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:7px}.ch{border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:12.5px;cursor:pointer;background:#fff;transition:all .14s;min-width:38px;text-align:center}.ch.active{background:var(--ink);color:#fff;border-color:var(--ink)}.ch.up{border-style:dashed}.gennums{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.genbtn{width:100%;background:var(--ink);color:#fff;border:none;border-radius:11px;padding:13px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .14s var(--spring);box-shadow:0 6px 18px #0b0b0b29}.genbtn:hover{transform:translateY(-1px)}.genbtn:active{transform:scale(.97)}.resultwrap .eyebrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.resultgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.empty-res{border:1.5px dashed var(--line);border-radius:12px;padding:34px;text-align:center;color:var(--ash);font-size:13px}.mfoot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-top:1px solid var(--line);background:var(--paper)}.mfoot .sel-prev{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ash)}.mfoot .sel-prev .thumb{width:46px;height:46px;border-radius:10px;overflow:hidden;background:var(--mist2)}.lookpop{position:absolute;z-index:95;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px;width:min(520px,90vw);display:none}.lookpop.show{display:block;animation:rise .16s var(--ease) both}.lookgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:300px;overflow:auto}.lookcard{border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .14s var(--spring)}.lookcard:hover{transform:translateY(-2px)}.lookcard .li{height:74px}.lookcard .lb{padding:8px 9px;font-size:12px;font-weight:600}.cardsrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.metric .eyebrow{margin-bottom:12px}.metric .big{font-size:34px;letter-spacing:-.02em;font-weight:600;line-height:1}.metric .big small{font-size:14px;color:var(--ash);font-weight:500}.metric .delta{font-size:11.5px;color:var(--ash);margin-top:8px}.metric.flag{border-color:#e4d8cb;background:linear-gradient(180deg,#fff,#fdf8f3)}.metric.flag .big{color:var(--clay)}.chartcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:22px}.chartcard .eyebrow{margin-bottom:18px}.bars{display:flex;align-items:flex-end;gap:14px;height:150px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bar .col{width:100%;max-width:34px;background:var(--ink);border-radius:6px 6px 0 0;transition:height .6s var(--ease)}.bar .lab{font-size:10.5px;color:var(--ash)}.bar .val{font-size:11px;font-weight:600}.happy{display:grid;gap:10px}.hrow{display:flex;align-items:center;gap:12px}.hrow .name{width:96px;font-size:12px}.hrow .track{flex:1;height:8px;background:var(--mist2);border-radius:20px;overflow:hidden}.hrow .fill{height:100%;background:var(--ink);border-radius:20px}.hrow .fill.soft{background:var(--ash2)}.hrow .pct{width:42px;text-align:right;font-size:12px;font-weight:600}.tablecard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}.tablehd{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}table{width:100%;border-collapse:collapse}th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);text-align:left;padding:11px 18px;font-weight:600;border-bottom:1px solid var(--line)}td{padding:13px 18px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}tr:last-child td{border-bottom:none}.loadcell{display:flex;align-items:center;gap:10px;min-width:120px}.loadtrack{flex:1;height:6px;background:var(--mist2);border-radius:20px;overflow:hidden}.loadfill{height:100%;background:var(--ink);border-radius:20px}.loadfill.hot{background:var(--clay)}.statedot{display:inline-flex;align-items:center;gap:7px;font-size:12px}.flagpill{font-size:10.5px;font-weight:600;color:var(--clay);background:var(--clay-soft);border-radius:20px;padding:3px 9px}.okpill{font-size:10.5px;font-weight:600;color:var(--ash);background:var(--mist2);border-radius:20px;padding:3px 9px}.healthbanner{display:flex;align-items:center;gap:12px;background:var(--clay-soft);border:1px solid #e4d8cb;border-radius:var(--radius);padding:14px 18px;margin-bottom:22px;font-size:13px}.subtabs{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:4px;margin-bottom:22px;gap:4px}.subtab{padding:8px 16px;border-radius:30px;font-size:12.5px;cursor:pointer;color:var(--ash);transition:all .14s;font-weight:500}.subtab.active{background:var(--ink);color:#fff}.accrow{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.accrow:last-child{border-bottom:none}.accrow .av{width:34px;height:34px}.accrow .info{flex:1}.accrow .info b{font-size:13.5px}.accrow .info span{font-size:11.5px;color:var(--ash);display:block}.rolepill{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid var(--line);border-radius:20px;padding:3px 9px;color:var(--ash)}.rolepill.admin{background:var(--ink);color:#fff;border-color:var(--ink)}.linkbtn{background:none;border:none;color:var(--ash);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkbtn:hover{color:var(--ink)}.addrow{display:flex;gap:10px;margin-top:18px}.addrow input{flex:1;border:1px solid var(--line);border-radius:30px;padding:11px 16px;font-size:13px;outline:none}.addrow input:focus{border-color:var(--ink)}.setcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:16px;max-width:720px}.setcard h3{margin:0 0 6px;font-size:16px;font-weight:600}.setcard p{margin:0 0 16px;color:var(--ash);font-size:13px;max-width:540px}.toggle{width:46px;height:27px;border-radius:30px;background:var(--mist2);position:relative;cursor:pointer;transition:background .18s;flex:0 0 auto}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .18s var(--spring)}.toggle.on{background:var(--ink)}.toggle.on:after{left:22px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.setrow:first-of-type{border-top:none}.setrow .lab b{font-size:14px;display:block}.setrow .lab span{font-size:12px;color:var(--ash)}.keyinput{display:flex;gap:10px;align-items:center}.keyinput input{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;width:280px;outline:none}.keyinput input:focus{border-color:var(--ink)}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pcard .pimg{height:140px}.pcard .pbody{padding:13px 14px}.pcard .pbody b{font-size:13.5px}.pcard .pbody p{margin:6px 0 0;font-size:11.5px;color:var(--ash);font-family:var(--read);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loginwrap{max-width:380px;margin:8vh auto;text-align:center}.loginwrap .mark{width:54px;height:54px;border-radius:14px;background:var(--ink);margin:0 auto 22px;position:relative}.loginwrap .mark:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:2.4px solid #fff;border-radius:50%}.loginwrap .mark:before{content:"";position:absolute;right:14px;top:14px;width:6px;height:6px;border-radius:50%;background:#fff;z-index:2}.loginwrap h2{font-size:26px;margin:0 0 8px;letter-spacing:-.01em}.loginwrap p{color:var(--ash);font-size:14px;margin:0 0 26px;line-height:1.6}.gbtn{display:inline-flex;align-items:center;gap:11px;border:1px solid var(--line);background:#fff;border-radius:30px;padding:13px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .14s var(--spring),box-shadow .16s}.gbtn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.glogo{width:18px;height:18px;border-radius:50%;background:conic-gradient(#ea4335 0,#ea4335 25%,#fbbc05 25%,#fbbc05 50%,#34a853 50%,#34a853 75%,#4285f4 75%,#4285f4)}.loginnote{font-size:11.5px;color:var(--ash2);margin-top:20px}.loginform{display:flex;flex-direction:column;gap:13px;text-align:left;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:6px}.flabel{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-weight:600}.field input{border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14px;outline:none;background:#fff;font-family:var(--ui);transition:border-color .14s}.field input:focus{border-color:var(--ink)}.field input::placeholder{color:var(--ash2)}.forgot{align-self:flex-end;background:none;border:none;cursor:pointer;color:var(--ash);font-size:12px;text-decoration:underline;text-underline-offset:3px;margin-top:-4px;padding:0}.forgot:hover{color:var(--ink)}.loginbtn{width:100%;border:none;background:var(--ink);color:#fff;border-radius:30px;padding:13px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .14s var(--spring),box-shadow .16s;box-shadow:0 6px 18px #0b0b0b29}.loginbtn:hover{transform:translateY(-1px)}.loginbtn:active{transform:scale(.98)}.loginbtn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ordiv{display:flex;align-items:center;gap:12px;color:var(--ash2);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin:18px 0}.ordiv:before,.ordiv:after{content:"";flex:1;height:1px;background:var(--line)}.loginwrap .gbtn{width:100%;justify-content:center}.stateview{max-width:560px;margin:40px auto;text-align:center}.stateview.block .stateicon{width:64px;height:64px;border-radius:16px;background:var(--clay);margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:#fff}.stateview h2{font-size:24px;margin:0 0 10px}.stateview p{color:var(--ash);font-size:14px;margin:0 auto 24px;max-width:420px;line-height:1.6}.browserrow{display:flex;gap:14px;justify-content:center;margin-top:22px}.browserchip{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:16px 22px;background:var(--paper);font-size:12px}.browserchip .bm{width:34px;height:34px;border-radius:50%;border:2px solid var(--ink)}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:30px;font-size:13px;opacity:0;z-index:120;transition:all .26s var(--spring);display:flex;align-items:center;gap:9px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.statepicker{position:fixed;right:18px;bottom:18px;z-index:110;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:6px;display:flex;gap:4px;align-items:center;box-shadow:var(--shadow);font-size:11px}.statepicker button{border:none;background:none;border-radius:20px;padding:6px 11px;cursor:pointer;color:var(--ash)}.statepicker button.on{background:var(--ink);color:#fff}.statepicker .divider{width:1px;height:18px;background:var(--line);margin:0 2px}.floatwrap{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:115}.floater{position:absolute;font-size:26px;animation:floatup 1.1s var(--ease) forwards}@keyframes floatup{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-90px) scale(1.1)}}.icon{stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
