:root{--bg: #0f1a24;--panel: #142331;--panel-2: #1a2d3f;--line: #27415a;--ink: #e7eef4;--muted: #95aabb;--accent: #39b6b0;--accent-ink: #052523;--gold: #f2c94c;--red: #e06a6a;--ok: #57c48c;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink)}button,input{font:inherit}a{color:var(--accent)}#app{height:100dvh;display:grid;grid-template-columns:300px 1fr 360px;grid-template-rows:auto 1fr auto;grid-template-areas:"top top top" "left stage right" "credit credit credit"}.top{grid-area:top;display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--line);background:#0c1620;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:8px;font-size:15px;margin-right:auto}.logo{color:var(--accent);font-size:20px}.tools{display:flex;gap:6px}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:7px 12px;font-weight:600;cursor:pointer;min-height:36px}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button:hover{filter:brightness(1.08)}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border-radius:0;background:transparent;color:var(--ink);min-height:34px}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg.small{width:100%}.seg.small button{flex:1;padding:6px 4px;font-size:13px}.side{overflow-y:auto;background:var(--panel);padding:12px}.side.left{grid-area:left;border-right:1px solid var(--line)}.side.right{grid-area:right;border-left:1px solid var(--line)}.tabs{display:flex;gap:4px;margin-bottom:10px}.tabs button{flex:1;background:transparent;color:var(--muted);border:1px solid var(--line)}.tabs button.on{color:var(--ink);background:var(--panel-2);border-color:var(--accent)}.sys{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--panel-2)}.sys-head{display:grid;grid-template-columns:auto 14px 1fr auto;align-items:center;gap:8px;padding:8px 10px}.sys-head input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.swatch{width:14px;height:14px;border-radius:4px}.sys-name{font-size:14px}.sys-count{color:var(--muted);font-size:12px}.sys-op{display:flex;align-items:center;gap:8px;padding:0 10px 8px 36px;font-size:12px;color:var(--muted)}.sys-op input{flex:1;accent-color:var(--accent)}.sys-list-btn{background:none;color:var(--muted);padding:2px 0 8px 36px;min-height:0;font-weight:400;font-size:12px;text-decoration:underline}.sys-list{list-style:none;margin:0;padding:0 8px 8px 30px;max-height:260px;overflow-y:auto;font-size:13px}.sys-list li,.results li{padding:5px 6px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;gap:6px}.sys-list li:hover,.results li:hover,.sys-list li.sel,.results li.sel{background:#22405a}.sys-list li .la,.results li .la{color:var(--muted);font-size:11px;font-style:italic;text-align:right}.card{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;background:var(--panel-2)}.card h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.card input[type=range]{width:100%;margin-top:10px;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:8px}.check input{width:16px;height:16px;accent-color:var(--accent)}#searchInput{width:100%;padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:#0d1822;color:var(--ink)}.results{list-style:none;padding:0;margin:8px 0 0;font-size:13px}.stage{grid-area:stage;position:relative;overflow:hidden;touch-action:none}#gl{width:100%;height:100%;display:block}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lbl{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font-size:12px;padding:3px 7px;border-radius:6px;background:#08121bd1;border:1px solid var(--line);color:var(--ink)}.lbl.main{font-size:13px;font-weight:600;border-color:var(--accent)}.lbl.feat{font-size:11px;color:#d9e6ef}.lbl:after{content:"";position:absolute;left:50%;bottom:-6px;width:1px;height:6px;background:var(--accent)}.hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);font-size:12px;color:var(--muted);background:#08121bb3;padding:5px 10px;border-radius:999px;pointer-events:none;text-align:center;max-width:calc(100% - 24px)}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;background:#0f1a24e0}.loading[hidden]{display:none}.bar{width:220px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.bar span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}.empty h2,#info h2,#quiz h2{margin:6px 0 8px;font-size:20px;line-height:1.25}.empty p{color:var(--muted);font-size:14px}.fine,.crumbs{color:var(--muted);font-size:12px}.names{display:grid;gap:4px;font-size:13px;margin-bottom:8px}.names div{display:grid;grid-template-columns:60px 1fr;gap:6px}.names span{color:var(--muted)}.names b{font-weight:500}#infoLatin{font-style:italic}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.tag.sk{border-color:var(--gold);color:var(--gold)}.actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.actions button{padding:6px 10px;font-size:13px;min-height:34px}.field{margin:10px 0;font-size:14px;line-height:1.5}.field h4{margin:0 0 2px;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.4px}.field p{margin:0}.feats{list-style:none;padding:0;margin:6px 0 0;font-size:12.5px;columns:1}.feats li{padding:3px 0;border-bottom:1px dashed #213a50;cursor:pointer}.feats li .la{color:var(--muted);font-style:italic}.choices{display:grid;gap:8px}.choices button{text-align:left;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);font-weight:500}.choices button.right{border-color:var(--ok);background:#1d3d2f}.choices button.wrong{border-color:var(--red);background:#3d1f22}.feedback{min-height:1.4em;font-size:14px}.score{color:var(--muted)}.credit{grid-area:credit;font-size:11px;color:var(--muted);padding:6px 14px;border-top:1px solid var(--line);background:#0c1620}@media(max-width:900px){#app{grid-template-columns:1fr;grid-template-rows:auto 55dvh auto auto auto;grid-template-areas:"top" "stage" "right" "left" "credit";height:auto;min-height:100dvh}.side{overflow:visible;border:0!important;border-top:1px solid var(--line)!important}.stage{position:sticky;top:0;z-index:2}.brand strong{font-size:14px}}
