:root{--bar-h: 44px;--bg: #3d3d3d;--panel: rgba(40, 40, 40, .94);--panel-2: #303030;--btn: #545454;--btn-hover: #656565;--text: #e6e6e6;--muted: #9a9a9a;--line: #1f1f1f;--line-soft: #4a4a4a;--accent: #e87d0d;--accent-hover: #ff9f3c;--select: #5680c2;--radius: 4px;font-family:Inter,SF Pro Text,system-ui,-apple-system,sans-serif;--pixel: "Pixelify Sans", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud button,#hud select,#hud input,#hud form{pointer-events:auto}#ask input{font:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:7px 11px;width:100%}#ask input:focus{outline:none;border-color:var(--accent)}#hud .glove .modes i,#hud .glove .fly i,#hud .glove .shapes i{pointer-events:auto}button{font:inherit;font-size:13px;font-weight:500;color:var(--text);background:var(--btn);border:1px solid var(--line);border-radius:var(--radius);padding:6px 11px;cursor:pointer;transition:background .1s,border-color .1s;box-shadow:inset 0 1px #ffffff0d}button:hover{background:var(--btn-hover)}button.active{background:var(--select);border-color:#2f4f8a;color:#fff}button:disabled{opacity:.45;cursor:default}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;box-shadow:0 1px #ffffff0a inset,0 4px 14px #00000059}#modes{position:absolute;top:calc(var(--bar-h) + 12px);left:14px;display:flex;flex-direction:column;gap:8px;max-width:min(46vw,560px)}.mode-label{display:flex;align-items:center;gap:12px;font-family:var(--pixel);font-size:44px;font-weight:700;letter-spacing:.04em;line-height:1;color:var(--mode, #fff);text-shadow:2px 2px 0 rgba(0,0,0,.55);transition:color .2s}.mode-label.secondary{font-size:26px;opacity:.9}.mode-label .tag{font-family:var(--pixel);font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 7px;border-radius:var(--radius);background:var(--glove);color:#1d1d1d;text-shadow:none}.mode-hint{font-size:13px;color:var(--muted);margin-top:-2px;letter-spacing:0;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.axis-label{margin-top:6px;font-family:var(--pixel);font-size:56px;font-weight:700;letter-spacing:.06em;line-height:1;color:var(--accent);text-shadow:3px 3px 0 rgba(0,0,0,.6)}.glove .modes{display:flex;gap:3px;margin-top:8px;font-size:10px}.glove .modes i{flex:1;text-align:center;font-style:normal;font-weight:500;padding:4px 0;border-radius:var(--radius);cursor:pointer;border:1px solid var(--line);background:var(--btn);color:var(--text);letter-spacing:.02em;transition:all .1s}.glove .modes i:hover{background:var(--btn-hover)}.glove .modes i.on{background:var(--mode);border-color:var(--line);color:#1d1d1d}.glove .shapes{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:11px;flex-wrap:wrap}.glove .shapes span{color:var(--muted);letter-spacing:.08em;margin-right:2px}.glove .shapes span.gap{margin-left:6px}.glove .shapes .pos{margin-left:auto;font-weight:500;font-size:10px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.glove .shapes i{font-style:normal;font-weight:500;padding:3px 7px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--line);background:var(--btn);color:var(--text);transition:all .1s}.glove .shapes i:hover{background:var(--btn-hover)}.glove .shapes i.on{background:var(--mode, var(--accent));color:#1d1d1d;border-color:var(--line)}.glove .fly{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:11px}.glove .fly span{color:var(--muted);letter-spacing:.08em;margin-right:2px}.glove .fly i{font-style:normal;font-weight:500;padding:3px 7px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--line);background:var(--btn);color:var(--text);transition:all .1s}.glove .fly i:hover{background:var(--btn-hover)}.glove .fly i.on{background:var(--accent);color:#1d1d1d;border-color:var(--line)}.glove .fly .amt{position:relative;flex:1;height:8px;min-width:40px;border-radius:2px;background:var(--panel-2);border:1px solid var(--line);overflow:hidden}.glove .fly .amt:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-soft)}.glove .fly .amt u{position:absolute;top:0;bottom:0;left:50%;width:0;background:var(--accent);text-decoration:none}#gloves{position:absolute;left:14px;bottom:14px;display:flex;gap:10px;align-items:flex-end;max-height:calc(100vh - var(--bar-h) - 200px)}.glove{width:264px;--glove: #e87d0d}.glove header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.glove .name{font-family:var(--pixel);font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}.glove .dot{width:10px;height:10px;border-radius:2px;background:var(--glove)}.glove .status{font-size:12px;color:var(--muted)}.glove .status.on{color:var(--accent-hover)}.glove .rpy{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0;font-variant-numeric:tabular-nums}.glove .rpy div{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px}.glove .rpy span{display:block;font-size:10px;color:var(--muted);letter-spacing:.08em}.glove .rpy b{font-size:16px;font-weight:500}.glove .buttons{display:flex;gap:4px}.glove .buttons i{flex:1;height:22px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;font-style:normal;font-size:11px;color:var(--muted)}.glove .buttons i.down{background:var(--select);color:#fff}.glove .actions{display:flex;gap:4px;margin-top:10px}.glove .actions button{flex:1;padding:6px 8px;font-size:12px}#help b{color:var(--text)}#help kbd{background:var(--btn);border:1px solid var(--line);border-radius:3px;padding:0 5px;color:var(--text)}.cursor{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid var(--glove, #fff);border-radius:50%;box-shadow:0 0 0 1px #0009;transition:transform .08s}.cursor:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background:var(--glove)}.cursor.hover{transform:scale(1.35)}#toast{position:absolute;left:50%;top:calc(var(--bar-h) + 12px);transform:translate(-50%);max-width:min(560px,60vw);z-index:5;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;max-width:60vw;text-align:center;background:var(--panel);border:1px solid var(--line);opacity:0;transition:opacity .25s}#toast.show{opacity:1}#dashboard{position:fixed;top:0;right:0;bottom:0;left:0;background:#141414b8;display:grid;place-items:center;pointer-events:auto;z-index:20}#dashboard[hidden]{display:none}#dashboard .dash{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:12px;padding:16px 18px}#dashboard header{display:flex;align-items:center;justify-content:space-between}#dashboard h1{margin:0;font-family:var(--pixel);font-size:28px;color:var(--accent);text-shadow:2px 2px 0 rgba(0,0,0,.55)}#dashboard .save-row{display:flex;gap:6px;flex-wrap:wrap}#dashboard input{font:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px 9px}#dashboard .save-row .name{flex:1;min-width:180px}#dashboard .save{background:var(--accent);color:#1d1d1d;border-color:var(--accent);font-weight:600}#dashboard .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;overflow:auto;padding-bottom:4px}#dashboard .empty{color:var(--muted);font-size:13px}#dashboard .card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}#dashboard .card.current{border-color:var(--accent)}#dashboard .thumb{aspect-ratio:16 / 10;background:var(--bg);cursor:pointer;display:grid;place-items:center;color:var(--muted);font-size:12px}#dashboard .thumb img{width:100%;height:100%;object-fit:cover;display:block}#dashboard .meta{padding:8px 9px 4px;display:flex;flex-direction:column;gap:3px}#dashboard .title{background:transparent;border-color:transparent;padding:2px 4px;margin-left:-4px;font-weight:600;font-size:14px}#dashboard .title:hover,#dashboard .title:focus{border-color:var(--line-soft);background:var(--panel);outline:none}#dashboard .sub{color:var(--muted);font-size:11px}#dashboard .buttons{display:flex;gap:4px;padding:6px 9px 9px}#dashboard .buttons button{flex:1;padding:5px 8px;font-size:12px}#dashboard .buttons .del:hover{background:#ff3352;color:#1d1d1d}#topbar{position:absolute;top:0;left:0;right:0;height:var(--bar-h);z-index:6;display:flex;align-items:center;gap:10px;padding:0 10px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 2px 10px #0000004d;pointer-events:auto}#topbar .brand{display:flex;align-items:center;gap:7px;font-family:var(--pixel);font-weight:700;font-size:18px;color:var(--accent);text-shadow:2px 2px 0 rgba(0,0,0,.5)}#topbar .brand img{width:22px;height:22px;image-rendering:pixelated}#topbar .spacer{flex:1}#topbar .group{display:flex;gap:4px;padding-left:8px;border-left:1px solid var(--line-soft)}#topbar .group:first-of-type{border-left:none;padding-left:0}#topbar button{padding:5px 9px;font-size:12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}#topbar button i{font-style:normal}#project-chip{background:transparent!important;border-color:transparent!important;color:var(--muted)!important;max-width:240px}#project-chip:hover{border-color:var(--line-soft)!important;color:var(--text)!important}#project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#project-name.dirty:after{content:" •";color:var(--accent)}#help-toggle{width:28px;justify-content:center;font-weight:700}#help{position:absolute;top:calc(var(--bar-h) + 8px);right:10px;z-index:7;max-width:380px;font-size:12px;line-height:1.6;color:var(--muted);pointer-events:auto}#help[hidden]{display:none}#help b{color:var(--text);margin-right:4px}#help kbd{background:var(--btn);border:1px solid var(--line);border-radius:3px;padding:0 5px;color:var(--text);font-size:11px}#dock{position:absolute;right:14px;bottom:14px;width:min(440px,calc(100vw - 600px));min-width:260px;display:flex;gap:6px;align-items:center;padding:6px;pointer-events:auto}#dock #ask{flex:1}#dock button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}#dock button i{font-style:normal}.glove{overflow-y:auto;max-height:100%}.glove header{cursor:pointer;-webkit-user-select:none;user-select:none}.glove.collapsed>:not(header),.glove.idle>:not(header):not(.actions){display:none!important}.glove.collapsed header,.glove.idle header{margin-bottom:0}.glove.idle{width:220px;opacity:.85}.glove.idle .actions{margin-top:8px}.glove.idle .actions .recenter{display:none}@media(max-width:1180px){#topbar .lbl{display:none}#topbar #save .lbl,#topbar #projects .lbl{display:inline}}@media(max-width:900px){#topbar .lbl{display:none!important}#project-chip{max-width:140px}#gloves{flex-direction:column;align-items:flex-start;bottom:76px}#dock{left:14px;right:14px;width:auto;min-width:0}}
