*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--panel:#14141c;--panel2:#1c1c28;--line:#2a2a3a;--accent:#7c5cff;--ok:#3ecf8e;--no:#ff6b6b;--text:#eef;--muted:#8a8aa0}body,html{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}img{display:block;max-width:100%}.login{min-height:100vh;display:grid;place-items:center}.loginbox{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;width:300px;display:flex;flex-direction:column;gap:12px}.loginbox h1{text-align:center;font-size:34px;font-weight:800}.loginbox h1 span{color:var(--accent)}.loginbox button,.loginbox input{padding:12px;border-radius:10px;font-size:15px}.loginbox input{background:#0f0f16;border:1px solid var(--line);color:var(--text);outline:none}.loginbox input:focus{border-color:var(--accent)}.loginbox button{background:var(--accent);color:#fff;border:none;font-weight:600;cursor:pointer}.app{max-width:1100px;margin:0 auto;padding:16px 18px 80px}.tabs{display:flex;gap:4px;align-items:center;margin-bottom:18px;border-bottom:1px solid var(--line)}.tabs a,.tabs button{background:none;color:var(--muted);padding:12px 14px;font-size:15px;cursor:pointer;border:none;border-bottom:2px solid transparent;text-decoration:none}.tabs a:hover,.tabs button:hover{color:var(--text)}.tabs a.on,.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tabs .logout{margin-left:auto;color:var(--muted);font-size:13px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;flex-direction:column;gap:14px;margin-bottom:22px}.panel,.row{display:flex}.row{align-items:center;gap:12px;flex-wrap:wrap}.row.end{justify-content:space-between}.lbl{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;min-width:74px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{background:var(--panel2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.chip.small{padding:5px 11px;font-size:12px}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}textarea{width:100%;display:block;background:#0f0f16;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:15px;font-size:15px;line-height:1.5;resize:vertical;font-family:inherit;outline:none;min-height:200px}textarea:focus{border-color:var(--accent)}.counts{display:flex;align-items:center;gap:6px}.go{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-weight:600;font-size:15px;cursor:pointer}.go.small{padding:6px 14px;font-size:13px}.go:disabled{opacity:.5;cursor:default}.err{color:var(--no);font-size:14px}.muted{padding:20px}.linehdr,.muted{color:var(--muted)}.linehdr{font-size:13px;margin:8px 0 14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative}.card img{width:100%;aspect-ratio:3/4;object-fit:cover;cursor:zoom-in}.card .cap{font-size:11px;color:var(--muted);padding:8px 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .cardbtns{display:flex;gap:6px;margin:0 8px 8px}.card .reuse{flex:1 1;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px;cursor:pointer;transition:.15s;white-space:nowrap}.card .reuse:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.card.sel.picked{outline:2px solid var(--accent)}.pick{position:absolute;top:8px;left:8px;z-index:2;background:rgba(0,0,0,.5);border-radius:6px;padding:3px 5px;cursor:pointer}.pick input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.review{display:flex;gap:6px;padding:8px}.review .ok{flex:1 1;background:var(--ok);color:#06210f;border:none;border-radius:8px;padding:9px;font-weight:700;cursor:pointer}.review .no{background:var(--panel2);color:var(--no);border:1px solid var(--line);border-radius:8px;padding:9px 13px;cursor:pointer}.ph{width:100%;aspect-ratio:3/4}.ph.fail{display:grid;place-items:center;color:var(--no);font-size:13px}.shimmer{background:linear-gradient(100deg,#14141c 30%,#20202e 50%,#14141c 70%);background-size:200% 100%;animation:sh 1.3s infinite}@keyframes sh{to{background-position:-200% 0}}.galbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.galbar .spacer{flex:1 1}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px;color:var(--muted)}.pager button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer}.pager button:disabled{opacity:.4;cursor:default}.lib{display:flex;flex-direction:column;gap:8px}.libitem{display:flex;gap:12px;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.libitem span{font-size:14px}.libbtns{display:flex;gap:6px}.libitem button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 14px;cursor:pointer}.activity{display:flex;flex-direction:column;gap:24px}.hero{text-align:center;padding:22px 0 6px}.herobig{font-size:72px;font-weight:800;line-height:1;letter-spacing:-2px;background:linear-gradient(180deg,#fff,#b7a6ff);-webkit-background-clip:text;background-clip:text;color:transparent}.herolbl{color:var(--muted);font-size:13px;margin-top:8px}.hours2{align-items:flex-end;gap:6px;height:180px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 12px 10px}.h2,.hours2{display:flex}.h2{flex:1 1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.h2val{font-size:11px;color:var(--text);height:14px}.h2bar{width:100%;flex:1 1;display:flex;align-items:flex-end}.h2fill{width:100%;background:linear-gradient(180deg,var(--accent),#5a3fd6);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.h2lbl{font-size:9px}.calhead,.h2lbl{color:var(--muted)}.calhead{display:flex;align-items:center;justify-content:center;gap:20px;font-size:15px}.calhead button{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:8px;width:32px;height:32px;cursor:pointer}.calhead button:disabled{opacity:.35;cursor:default}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cdow{text-align:center;color:var(--muted);font-size:11px;padding:4px 0}.ccell{aspect-ratio:1/1;border:1px solid var(--line);border-radius:8px;padding:6px;position:relative;background:var(--panel)}.ccell.empty{border:none;background:none}.ccell.today{border-color:var(--accent)}.cnum{font-size:11px;color:var(--muted)}.ccount{position:absolute;place-items:center;font-weight:800;font-size:16px}.ccount,.lightbox{inset:0;display:grid}.lightbox{position:fixed;background:rgba(0,0,0,.9);place-items:center;z-index:50;cursor:zoom-out;padding:20px}.lightbox img{max-width:96vw;max-height:96vh;object-fit:contain;border-radius:8px}.actions{display:flex;gap:8px;align-items:center}.ghost{background:transparent;color:var(--muted);border:none;border-radius:10px;padding:11px 16px;cursor:pointer;font-size:14px;transition:.15s}.ghost:hover:not(:disabled){color:var(--text);background:var(--panel2)}.ghost:disabled{opacity:.35;cursor:default}.parea{position:relative}.clearx{position:absolute;top:12px;right:12px;background:transparent;color:var(--muted);border:none;border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:14px;opacity:.55;transition:.15s}.clearx:hover{opacity:1;background:var(--panel2)}.linebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cancel{background:var(--panel2);color:var(--no);border:1px solid var(--no);border-radius:8px;padding:7px 14px}.cancel,.delx{cursor:pointer;font-size:13px}.delx{position:absolute;top:8px;right:8px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:6px;width:26px;height:26px;transition:.15s}.delx:hover{background:var(--no);color:#3a0000}.cancelone{position:absolute;top:8px;right:8px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:13px;transition:.15s}.cancelone:hover{background:var(--no);color:#3a0000}.dropzone{border:2px dashed var(--line);border-radius:12px;padding:20px;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);cursor:pointer;background:#0f0f16;font-size:14px}.dropzone:focus{border-color:var(--accent);outline:none}.insps{display:flex;flex-wrap:wrap;gap:10px;width:100%}.insp{position:relative;width:90px;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.insp img{width:100%;height:100%;object-fit:cover}.insp .delx{top:4px;right:4px;width:22px;height:22px}.toggle{display:flex;align-items:center;gap:6px;color:var(--text);font-size:13px;cursor:pointer}.toggle input{accent-color:var(--accent);width:16px;height:16px}.pcard{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.pcard img{width:100%;aspect-ratio:3/4;object-fit:cover;cursor:zoom-in}.pprompt{font-size:12px;color:var(--text);padding:10px 12px 6px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.pcat{display:flex;gap:6px;padding:0 10px 10px}.pcat input{flex:1 1;background:#0f0f16;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;font-size:12px;outline:none}.pcat input:focus{border-color:var(--accent)}.pcat .copy{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12px}.activity.compact{gap:18px}.activity.compact .atop{display:flex;gap:18px;align-items:stretch}.activity.compact .hero{flex:0 0 280px;padding:0;display:flex;flex-direction:column;justify-content:center;background:var(--panel);border:1px solid var(--line);border-radius:16px}.activity.compact .herobig{font-size:88px}.activity.compact .herolbl{font-size:14px}.activity.compact .hours2{flex:1 1;height:210px}.cal.compact{gap:7px}.cal.compact .ccell{aspect-ratio:auto;height:100px;padding:10px}.cal.compact .cnum{font-size:12px}.cal.compact .ccount{font-size:26px}.card video{width:100%;aspect-ratio:3/4;object-fit:cover;background:#000;display:block}.card .meta{font-size:11px;color:var(--muted);padding:0 10px 8px}.sel{background:#0f0f16;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;outline:none;cursor:pointer}.sel:focus{border-color:var(--accent)}input[type=range]{flex:1 1;min-width:140px;accent-color:var(--accent);cursor:pointer}.rangeval{color:var(--text);font-size:13px;min-width:52px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.insp video{width:100%;height:100%;object-fit:cover;background:#000}.addbtn{background:var(--panel2);color:var(--muted);border:1px dashed var(--line);border-radius:8px;min-width:90px;height:120px;cursor:pointer;font-size:13px}.addbtn:hover{color:var(--text);border-color:var(--accent)}.refzone{border:2px dashed var(--line);border-radius:12px;padding:16px;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;background:#0f0f16;cursor:pointer;transition:.15s}.refzone.over{border-color:var(--accent);background:#151522}.refzone:focus{outline:none;border-color:var(--accent)}.refhint{color:var(--muted);font-size:14px}.refchips{display:flex;flex-wrap:wrap;gap:10px;width:100%;align-items:center}.refchip{position:relative;width:90px;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--panel2)}.refchip img{width:100%;height:100%;object-fit:cover}.refchip.video{display:flex;align-items:center;justify-content:center;padding:8px}.refchip .vidbadge{color:var(--text);font-size:11px;text-align:center;word-break:break-all;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.refchip .delx{top:4px;right:4px;width:22px;height:22px}.refadd{background:var(--panel2);color:var(--muted);border:1px dashed var(--line);border-radius:8px;min-width:90px;height:120px;cursor:pointer;font-size:13px}.refadd:hover{color:var(--text);border-color:var(--accent)}.refmeta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px}.refwarn{color:var(--no)}.numin{width:74px;background:#0f0f16;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:14px;outline:none}.numin:focus{border-color:var(--accent)}.scrollline{max-height:70vh;overflow-y:auto;padding-right:2px}