:root{--gold: #FFD21E;--gold-2: #FFB300;--gold-edge: #A86E00;--teal: #28C2A8;--teal-2: #15897A;--bg: #13202b;--panel: #18242f;--panel-2: #1f2d3a;--line: rgba(255, 255, 255, 0.1);--ink: #eaf1f6;--ink-2: #9fb2c0;--cream: #FBF7EC;--brown: #5a3a1c;--danger: #e8645a}@font-face{font-family:"Racers Delight";src:url("/fonts/RacersDelight.woff2") format("woff2"),url("/fonts/RacersDelight.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}.spacer{flex:1}body.lockscroll{overflow:hidden}.btn{font-family:inherit;font-size:13px;font-weight:600;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);padding:8px 14px;cursor:pointer;transition:.13s}.btn:hover{border-color:var(--gold)}.btn.gold{background:linear-gradient(180deg, var(--gold), var(--gold-2));color:#3a2614;border-color:rgba(0,0,0,0);box-shadow:0 2px 0 var(--gold-edge)}.btn.gold:hover{filter:brightness(1.05);border-color:rgba(0,0,0,0)}.btn.gold:disabled{opacity:.45;cursor:default;filter:none;box-shadow:none}.btn.ghost{background:var(--panel-2);color:var(--ink-2)}.btn.ghost:hover{color:var(--ink)}.btn.small{padding:6px 11px;font-size:12px}.btn.danger{color:var(--danger)}.appbar{display:flex;align-items:center;gap:18px;height:56px;padding:0 18px;flex-shrink:0;font-family:"Fredoka",system-ui,sans-serif;background:rgba(15,22,30,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}.appbar .brand{font-family:"Racers Delight","Fredoka",system-ui,sans-serif;font-size:24px;font-weight:400;letter-spacing:.5px;white-space:nowrap;color:var(--ink);text-decoration:none}.appbar .brand b{color:var(--gold);font-weight:400}.appbar .nav{display:flex;gap:4px}.appbar .navlink{text-decoration:none;color:var(--ink-2);font-size:13px;font-weight:600;padding:7px 14px;border-radius:8px;transition:color .12s,background .12s}.appbar .navlink:hover{color:var(--ink);background:hsla(0,0%,100%,.05)}.appbar .navlink.active{background:linear-gradient(180deg, var(--gold), var(--gold-2));color:#3a2614;border-color:rgba(0,0,0,0)}.subbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subbar .subtitle{font-size:22px;font-weight:600;margin:0}.subbar .submeta{color:var(--ink-2);font-size:13px}.subbar .submeta b{color:var(--gold-2);font-weight:600}.frame{position:absolute;inset:-8%;opacity:0;pointer-events:none;transition:opacity .14s;transform-origin:center}.frame svg{width:100%;height:100%;display:block;overflow:visible}.frame path{fill:none;stroke:var(--gold);stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round}@keyframes framepulse{0%,100%{opacity:.5;transform:scale(0.96)}50%{opacity:1;transform:scale(1.05)}}.item-frame{position:relative;aspect-ratio:1;background:url("/assets/icons/item_frame.webp") center/contain no-repeat}.item-frame>img{position:absolute;inset:12%;width:76%;height:76%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0, 0, 0, 0.28))}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(10px);z-index:120;background:var(--teal-2);color:#eafff8;font-size:13px;font-weight:500;padding:9px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.err{background:#8a3530;color:#ffeae8}.appfoot{padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(15,22,30,.5)}.appfoot .footinner{max-width:1100px;margin:0 auto;text-align:center;color:var(--ink-2);font-size:12px;line-height:1.5}.appfoot a{color:var(--gold-2);text-decoration:none}.appfoot a:hover{text-decoration:underline}