:root{--bg: #0a0a14;--panel: #121222;--panel-edge: #2a2a4a;--ink: #e8e6ff;--ink-dim: #8a87b8;--magenta: #ff3d9a;--cyan: #2ee6ff;--gold: #ffc83d;--danger: #ff5a5a;--font-display: "Bungee", cursive;--font-body: "Rubik", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab}#scene:active{cursor:grabbing}#scene.hovering{cursor:pointer}#hud{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:18px;padding:14px 20px;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}.logo{display:flex;flex-direction:column;line-height:1;-webkit-user-select:none;user-select:none}.logo-main{font-family:var(--font-display);font-size:22px;color:var(--magenta);text-shadow:0 0 12px rgba(255,61,154,.8),0 0 40px rgba(255,61,154,.35);letter-spacing:1px}.logo-sub{font-size:10px;letter-spacing:4px;color:var(--cyan);text-shadow:0 0 8px rgba(46,230,255,.7);margin-top:5px}.hud-stats{display:flex;gap:8px;margin-left:auto}.stat{display:flex;flex-direction:column;align-items:center;min-width:74px;padding:7px 12px 6px;background:#121222cc;border:1px solid var(--panel-edge);border-radius:10px;color:var(--ink);font-family:var(--font-body);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s,border-color .15s}.stat:hover{transform:translateY(-2px)}.stat b{font-family:var(--font-display);font-size:18px}.stat span{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim);margin-top:2px}.stat.beaten b{color:var(--gold)}.stat.playing b{color:var(--cyan)}.stat.backlog b{color:var(--magenta)}.stat.beaten:hover{border-color:var(--gold)}.stat.playing:hover{border-color:var(--cyan)}.stat.backlog:hover{border-color:var(--magenta)}.hud-actions{display:flex;gap:8px}.btn-neon{font-family:var(--font-display);font-size:13px;color:#16041c;background:linear-gradient(135deg,var(--magenta),#ff7ab8);border:none;border-radius:10px;padding:12px 18px;cursor:pointer;box-shadow:0 0 18px #ff3d9a73;transition:transform .15s,box-shadow .15s}.btn-neon:hover{transform:translateY(-2px);box-shadow:0 0 28px #ff3d9ab3}.btn-neon.wide{width:100%}.btn-ghost{font-family:var(--font-body);font-weight:500;font-size:14px;color:var(--ink);background:#121222cc;border:1px solid var(--panel-edge);border-radius:10px;padding:12px 14px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s}.btn-ghost:hover{border-color:var(--cyan)}.btn-ghost.wide{width:100%}.btn-danger{font-family:var(--font-body);font-weight:500;font-size:13px;color:var(--danger);background:transparent;border:1px solid rgba(255,90,90,.4);border-radius:10px;padding:10px 14px;cursor:pointer}.btn-danger:hover{background:#ff5a5a1f}#hint{position:fixed;bottom:14px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim);z-index:5;pointer-events:none;animation:hintFade 1s 6s forwards}#hint.replay{animation:hintFade 1s 6s forwards}@keyframes hintFade{to{opacity:0}}#crosshair{position:fixed;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 8px #2ee6ffe6;z-index:6;pointer-events:none;display:none;transition:transform .12s}body.walking #crosshair{display:block}#crosshair.hot{transform:scale(1.8);background:var(--cyan)}body.walking #scene{cursor:none}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;background:radial-gradient(ellipse at 50% 42%,transparent 58%,rgba(2,2,8,.42) 100%)}.stat.statszone b{color:var(--ink-dim)}.stat.statszone:hover{border-color:var(--gold)}#enter{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:8;cursor:pointer;background:radial-gradient(ellipse at center,#05050e40,#05050e99)}#enter.hidden{display:none}.enter-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 44px;border:1px solid var(--panel-edge);border-radius:18px;background:#0a0a16b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:enterPulse 2.4s ease-in-out infinite}.enter-card span{font-family:var(--font-display);font-size:30px;color:var(--magenta);text-shadow:0 0 16px rgba(255,61,154,.8),0 0 50px rgba(255,61,154,.35)}.enter-card small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim)}@keyframes enterPulse{50%{box-shadow:0 0 34px #ff3d9a38}}.panel{position:fixed;top:78px;right:16px;bottom:16px;width:360px;max-width:calc(100vw - 32px);background:linear-gradient(180deg,#141428f5,#0c0c1af5);border:1px solid var(--panel-edge);border-radius:16px;z-index:20;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 60px #0009;animation:panelIn .28s cubic-bezier(.2,.9,.25,1.1)}.panel.small{bottom:auto}.panel.hidden{display:none}@keyframes panelIn{0%{opacity:0;transform:translate(28px)}}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px dashed var(--panel-edge)}.panel-head h2{font-family:var(--font-display);font-size:15px;color:var(--cyan);text-shadow:0 0 10px rgba(46,230,255,.5)}.btn-close{background:none;border:none;color:var(--ink-dim);font-size:16px;cursor:pointer;padding:4px 8px}.btn-close:hover{color:var(--ink)}#formAdd,.detail-body,.data-body{padding:16px 18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-dim)}input[type=text],input[type=url],select,textarea{font-family:var(--font-body);font-size:14px;color:var(--ink);background:#00000059;border:1px solid var(--panel-edge);border-radius:8px;padding:10px 12px;outline:none;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 2px #ff3d9a2e}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-dim) 50%),linear-gradient(135deg,var(--ink-dim) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.seg{display:flex;gap:4px;background:#00000059;border:1px solid var(--panel-edge);border-radius:9px;padding:4px}.seg button{flex:1;border:none;border-radius:6px;background:transparent;color:var(--ink-dim);font-family:var(--font-body);font-weight:500;font-size:12px;padding:8px 0;cursor:pointer;transition:background .15s,color .15s}.seg button.on[data-v=beaten]{background:var(--gold);color:#221a02}.seg button.on[data-v=playing]{background:var(--cyan);color:#03222a}.seg button.on[data-v=backlog]{background:var(--magenta);color:#2a0418}.cover-field{border:1px dashed var(--panel-edge);border-radius:12px;padding:12px}.cover-field legend{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-dim);padding:0 6px}.cover-row{display:flex;gap:12px;align-items:stretch}.cover-preview{width:84px;height:112px;flex:none;border-radius:6px;overflow:hidden;background:#0006;border:1px solid var(--panel-edge);display:grid;place-items:center;color:var(--ink-dim);font-family:var(--font-display);font-size:26px}.cover-preview img{width:100%;height:100%;object-fit:cover}.cover-buttons{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:center}.btn-mini{font-family:var(--font-body);font-weight:500;font-size:12px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-edge);border-radius:7px;padding:7px 10px;cursor:pointer;text-align:left}.btn-mini:hover{border-color:var(--cyan)}.btn-mini:disabled{opacity:.5;cursor:wait}.cover-buttons input{font-size:12px;padding:7px 10px}.cover-note{font-size:11px;color:var(--ink-dim);margin-top:8px;font-style:italic}.detail-cover{width:150px;height:200px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 14px 36px #000000b3,0 0 0 1px var(--panel-edge);transform:rotate(-2deg)}.detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.detail-body h3{font-family:var(--font-display);font-size:17px;text-align:center;line-height:1.35}.detail-meta{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;background:#2ee6ff1f;color:var(--cyan);border:1px solid rgba(46,230,255,.3);padding:4px 10px;border-radius:99px}.tag.dim{background:#ffffff0d;color:var(--ink-dim);border-color:var(--panel-edge)}.stars{display:flex;justify-content:center;gap:2px}.stars button{background:none;border:none;cursor:pointer;font-size:24px;color:#33335a;transition:color .12s,transform .12s}.stars button:hover{transform:scale(1.2)}.stars button.lit{color:var(--gold);text-shadow:0 0 10px rgba(255,200,61,.6)}.notes-label textarea{min-height:110px}.detail-actions{display:flex;gap:8px}.detail-actions>*{flex:1}.data-body p{font-size:13px;color:var(--ink-dim);line-height:1.5}.fine{font-size:11px!important}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,80px);background:var(--panel);color:var(--ink);border:1px solid var(--magenta);box-shadow:0 0 24px #ff3d9a59;border-radius:10px;padding:12px 20px;font-size:13px;font-weight:500;z-index:50;opacity:0;transition:transform .3s cubic-bezier(.2,.9,.3,1.2),opacity .3s;pointer-events:none;max-width:80vw}#toast.show{transform:translate(-50%);opacity:1}@media (max-width: 640px){.logo-sub{display:none}.stat{min-width:56px;padding:6px 8px 5px}.panel{top:70px}}
