:root{--bg: #14181f;--panel: #1d232d;--panel-2: #262e3a;--line: #333d4b;--text: #f1ece3;--muted: #9aa3b2;--gold: #e8b84a;--gold-ink: #2a2110;--accent: #6cc4a1;--danger: #e2675b;--live: #5aa9e6;--radius: 14px;--tab-h: 64px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 Nunito,system-ui,sans-serif;-webkit-text-size-adjust:100%}h1,h2,.brand{font-family:Fredoka,Nunito,sans-serif;font-weight:600;letter-spacing:.2px}h1{font-size:1.5rem;margin:.6rem 0 .3rem}h2{font-size:1.15rem;margin:1.2rem 0 .6rem;display:flex;align-items:center;gap:.4rem}.card h2{margin-top:0}a{color:var(--gold);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical}label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}button{cursor:pointer;border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:.55rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:700}button.accent{background:var(--accent);color:#10251c;border-color:var(--accent);font-weight:700}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.ghost{background:transparent;border-color:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .5rem}.icon-btn{padding:.45rem;background:transparent;border-color:transparent;color:var(--muted)}.icon-btn:hover,.ghost:hover{color:var(--text)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:.3rem 0}.pre{white-space:pre-wrap;word-break:break-word}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:.6rem;margin:.4rem 0}.row.wrap{flex-wrap:wrap;align-items:end}.list{display:grid;gap:.6rem}.empty{padding:2rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.splash{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;color:inherit}.card>*+*{margin-top:.6rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;padding-top:max(.6rem,env(safe-area-inset-top));background:#14181feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{color:var(--text);font-size:1.15rem;white-space:nowrap}.pills{display:flex;gap:.4rem;flex:1;overflow-x:auto}.pill{font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.pill.gold{background:var(--gold);color:var(--gold-ink)}.pill.live{background:#5aa9e62e;color:var(--live)}.topnav{display:none;gap:.2rem}.topnav a,.tabbar a{color:var(--muted);display:flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:10px}.topnav a.active,.tabbar a.active{color:var(--gold)}.page{max-width:1100px;margin:0 auto;padding:.8rem 1rem calc(var(--tab-h) + 1.5rem + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#14181ff5;border-top:1px solid var(--line)}.tabbar a{flex-direction:column;justify-content:center;gap:.15rem;font-size:.72rem}@media (min-width: 820px){.topnav{display:flex}.tabbar{display:none}.page{padding-bottom:2rem}}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(380px,100%)}.login-card h1{margin:0}.toolbar{display:grid;gap:.4rem;margin-bottom:.8rem}.toolbar select{width:auto;max-width:50%}.chips{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:2px}.chip{border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:700;white-space:nowrap;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.chip.on{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}@media (min-width: 820px){.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.item-card{padding:0;overflow:hidden}.item-card .thumb{position:relative;aspect-ratio:3 / 2;background:#0e1116}.item-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.nophoto{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.85rem}.badge{position:absolute;top:.4rem;left:.4rem;font-size:.7rem;font-weight:800;padding:.15rem .5rem;border-radius:999px}.badge.new{background:var(--gold);color:var(--gold-ink)}.card-body{padding:.55rem .7rem .7rem;margin:0!important}.card-body>*+*{margin-top:.2rem}.card-title{font-weight:700}.snippet{font-size:.8rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stars{display:flex;gap:.15rem;color:var(--gold)}.stars span:not(.on){color:var(--line)}.stars.editable button{background:transparent;border:none;padding:.2rem;color:var(--line)}.stars.editable button.on{color:var(--gold)}.detail>*+*{margin-top:.7rem}.stage{border-radius:var(--radius);overflow:hidden;background:#0e1116}.stage iframe{width:100%;height:min(72vh,640px);border:0;display:block}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{border:none;border-radius:0;background:transparent;color:var(--muted)}.seg button.on{background:var(--panel-2);color:var(--gold)}.meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem}.rating{border-color:#e8b84a59}.gallery-main{position:relative;background:#0e1116}.gallery-main img{width:100%;display:block;aspect-ratio:1280 / 860;object-fit:contain}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0e11168c;border:none;border-radius:999px;padding:.4rem}.gallery-nav.prev{left:.4rem}.gallery-nav.next{right:.4rem}.gallery-caption{padding:.5rem .8rem;font-weight:700;background:var(--panel)}.gallery-strip{display:flex;gap:.35rem;overflow-x:auto;padding:.45rem;background:var(--panel);scroll-snap-type:x proximity}.gallery-strip button{flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;scroll-snap-align:center}.gallery-strip button.on{border-color:var(--gold)}.gallery-strip img{width:84px;height:56px;object-fit:cover;display:block}.voice-bar{display:flex;align-items:center;gap:.5rem}.voice-mic{width:48px;height:48px;border-radius:999px;padding:0;background:var(--panel-2);color:var(--gold);border-color:var(--gold)}.voice-mic.live{background:var(--danger);color:#fff;border-color:var(--danger);animation:pulse 1.2s ease-in-out infinite}.voice-time{font-variant-numeric:tabular-nums;font-weight:700}.voice-time.live{color:var(--danger)}.icon-btn.send{color:var(--accent)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 8px #e2675b33}}.status{font-size:.75rem;font-weight:800;padding:.15rem .55rem;border-radius:999px;white-space:nowrap;background:var(--panel-2);color:var(--muted)}.status.running{background:#5aa9e62e;color:var(--live)}.status.done{background:#6cc4a129;color:var(--accent)}.status.failed{background:#e2675b29;color:var(--danger)}.dots{display:inline-flex;gap:3px}.dots i{width:9px;height:9px;border-radius:99px;background:var(--line)}.dots i.running{background:var(--live)}.dots i.done{background:var(--accent)}.dots i.failed{background:var(--danger)}.task-row>*+*{margin-top:.2rem}.prompt{white-space:pre-wrap}.summary{font-size:.9rem;background:var(--panel-2);border-radius:10px;padding:.6rem .75rem}.log{max-height:55vh;overflow:auto;background:#0b0e12;border-radius:10px;padding:.6rem .75rem;font:12px/1.45 ui-monospace,Consolas,monospace;white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0}.token-fresh{display:flex;align-items:center;gap:.5rem;background:var(--panel-2);border:1px solid var(--gold);border-radius:10px;padding:.5rem .7rem}.token-fresh code{flex:1;word-break:break-all;font-size:.85rem}
