:root{--bg:#ECDFD7;--paper:#F9EFE9;--land:#F6EAE2;--ink:#3D3835;--muted:#7C7169;--hair:#C8BBB2;--hair-2:#E4D8CF;--relief:#C6B8AE;--water:#A9B3AE;--wine:#8C1B33;--wine-dark:#6B1327;--gold:#B0873A;--gold-ink:#856325;--gold-lift:#D4A348;--pom:#C25A4E;--note:#5C5450;--note-2:#7A706A;--dim:#A79B94;--cream:#F9EFE9;--cream-2:#C3B7B0;--spark:#FBF3EC;--veil:rgba(50,44,41,.85);--deep:#3A3330}*{box-sizing:border-box}html,body{margin:0;padding:0}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:400;opacity:.11;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='150' height='150' filter='url(%23n)' opacity='.55'/></svg>")}body{background:var(--bg);color:var(--ink);font-family:Commissioner,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:300;font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0}a{color:inherit}:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}.lb{font-family:JetBrains Mono,ui-monospace,monospace;font-size:9.5px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.wrap{max-width:1300px;margin:0 auto;padding:0 26px}.bgpat{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s ease}.bgpat.on{opacity:.5}#app{position:relative;z-index:1}.home{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:70px 0}.mark{font-family:Alegreya,Georgia,serif;font-weight:400;font-size:clamp(2.5rem,6.8vw,4.4rem);line-height:.95;letter-spacing:-.02em}.mark b{font-weight:500;font-style:italic}.alpha{font-family:JetBrains Mono,monospace;font-weight:400;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);vertical-align:super;margin-left:.5em;top:0}.home .intro{max-width:44ch;margin:20px 0 54px;font-family:Alegreya,Georgia,serif;font-style:italic;font-size:1.2rem;line-height:1.42;color:var(--note)}.home .intro:before{content:"«";color:var(--wine);opacity:.65}.home .intro:after{content:"»";color:var(--wine);opacity:.65}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:18px}.ccard{text-decoration:none;color:inherit;font:inherit;background:var(--paper);border:1px solid var(--hair-2);border-radius:1px;padding:18px;text-align:left;cursor:pointer;width:100%;display:flex;flex-direction:column;gap:16px;transition:border-color .25s ease,transform .25s ease}.ccard:hover{border-color:var(--ink);transform:translateY(-2px)}.ccard svg{display:block;width:100%;height:110px}.ccard h3{margin:0;font-family:Alegreya,Georgia,serif;font-weight:500;font-size:1.3rem;letter-spacing:-.01em}.ccard .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:3px}.ccard .bar{display:block;height:1px;background:var(--hair-2);position:relative;margin-top:9px}.ccard .bar i{position:absolute;inset:0 auto 0 0;background:var(--wine)}.ccard.soon{cursor:default;opacity:.45}.ccard.soon:hover{border-color:var(--hair-2);transform:none}.ccard.fly svg g{transition:transform .35s cubic-bezier(.2,.8,.3,1)}.ccard.fly:hover svg g{transform:translate(112px,46px) rotate(-28deg)}.topbar{border-bottom:1px solid var(--hair-2);padding:17px 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.back{cursor:pointer;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.back:hover{color:var(--ink)}.topbar h1{margin:0;font-family:Alegreya,Georgia,serif;font-weight:500;font-size:1.55rem;letter-spacing:-.01em}.layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;padding:24px 0 64px}.pop{position:absolute;z-index:6;width:268px;max-width:calc(100% - 16px);background:var(--paper);border:1px solid var(--hair);border-radius:1px;box-shadow:0 12px 32px -16px #3c322d80;animation:popin .26s cubic-bezier(.2,.9,.3,1.1)}@keyframes popin{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.pop .face img{border-bottom:1px solid var(--hair-2)}.pop .face.mine img{border-bottom-color:var(--gold)}.pop .popb{padding:12px 14px 14px}.pop h3{margin:5px 0 6px;font-family:Alegreya,Georgia,serif;font-weight:500;font-size:1.25rem;letter-spacing:-.01em}.pop p{margin:0 0 12px;font-size:13.5px;color:var(--note);line-height:1.45}.pop p.pale{opacity:.5}.pop .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pop .link{cursor:pointer;background:none;border:0;padding:0}.popx{position:absolute;top:5px;right:6px;z-index:2;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:15px;line-height:1;background:var(--paper);color:var(--muted);opacity:.9}.popx:hover{color:var(--ink);opacity:1}.pop:after{content:"";position:absolute;left:var(--arrow,50%);bottom:-7px;margin-left:-7px;width:12px;height:12px;background:var(--paper);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);transform:rotate(45deg)}.pop.below:after{bottom:auto;top:-7px;border:0;border-left:1px solid var(--hair);border-top:1px solid var(--hair)}.mapbox{position:relative;background:var(--paper);border:1px solid var(--hair-2);border-radius:1px;overflow:hidden}#map{display:block;width:100%;height:auto;touch-action:none;cursor:grab}#map.dragging{cursor:grabbing}.zoombar{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column}.zoombar button{width:27px;height:27px;border:1px solid var(--hair);background:var(--paper);cursor:pointer;display:grid;place-items:center;font-size:13px;line-height:1;font-weight:300}.zoombar button+button{margin-top:-1px}.zoombar button:hover{border-color:var(--ink);position:relative;z-index:1}.zoombar .rst{font-family:JetBrains Mono,monospace;font-size:8px;letter-spacing:.05em}.pin{cursor:pointer}.pin .dot{transition:r .2s cubic-bezier(.2,.8,.3,1)}.pin .lbl{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.08em;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round;opacity:0;transition:opacity .18s ease;pointer-events:none}.pin:hover .lbl,.pin.on .lbl,.pin:focus-visible .lbl{opacity:1}.pin:hover .dot{r:8.2}.ping{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:ping .85s cubic-bezier(.16,.7,.28,1) forwards}@keyframes ping{0%{opacity:.9;transform:scale(.45)}to{opacity:0;transform:scale(4.6)}}.dot.pop{transform-box:fill-box;transform-origin:center;animation:dotpop .45s cubic-bezier(.28,1.5,.5,1)}@keyframes dotpop{0%{transform:scale(1)}34%{transform:scale(1.62)}to{transform:scale(1)}}.pin .hit{cursor:pointer}.pin .halo{opacity:0;transition:opacity .2s ease}.pin.on .halo{opacity:1}.pin.dim{opacity:.12;pointer-events:none}.pin:focus{outline:none}.side{display:flex;flex-direction:column;gap:15px;position:sticky;top:18px}.panel{background:var(--paper);border:1px solid var(--hair-2);border-radius:1px}.vessel{display:flex;align-items:center;gap:18px;padding:15px 17px}.vessel svg{width:56px;height:82px;flex:0 0 auto;display:block}.vessel .nums{flex:1}.vessel .big{font-family:JetBrains Mono,monospace;font-size:1.65rem;font-weight:300;line-height:1.1;letter-spacing:-.02em}.vessel .big span{color:var(--muted);font-size:1rem}.vessel .cap{margin:3px 0 0}.vessel{position:relative;overflow:hidden;transition:box-shadow .5s ease}.vessel.lvup{animation:lvup 1.5s cubic-bezier(.2,.8,.3,1)}@keyframes lvup{0%{box-shadow:inset 0 0 #b0873a00}18%{box-shadow:inset 0 0 0 2px #b0873ae6}to{box-shadow:inset 0 0 0 2px #b0873a00}}.liq{transition:transform .95s cubic-bezier(.28,.9,.28,1)}.liq.slosh .wave{animation:slosh .95s cubic-bezier(.3,.85,.4,1)}@keyframes slosh{0%{transform:translate(0) rotate(0)}28%{transform:translate(-3px) rotate(-2.2deg)}58%{transform:translate(2px) rotate(1.4deg)}to{transform:translate(0) rotate(0)}}.wave{transform-origin:50% 0}.wave.drift{animation:drift 7s linear infinite}@keyframes drift{to{transform:translate(-44px)}}.fw{position:fixed;inset:0;z-index:290;pointer-events:none;overflow:hidden}.fw .burst{position:absolute;width:250px;height:250px;margin:-125px 0 0 -125px;overflow:visible;opacity:0;animation:fwburst 1.75s cubic-bezier(.11,.72,.22,1) forwards}@keyframes fwburst{0%{opacity:0;transform:scale(.06)}8%{opacity:1}52%{opacity:1}to{opacity:0;transform:scale(var(--sc,1.1)) translateY(20px)}}.fwflash{position:absolute;inset:0;background:var(--gold-lift);opacity:0;animation:fwflash .6s ease-out .05s}@keyframes fwflash{0%{opacity:0}12%{opacity:.16}to{opacity:0}}.spark{position:fixed;z-index:285;pointer-events:none;width:170px;height:170px;margin:-85px 0 0 -85px}.spark svg{width:100%;height:100%;overflow:visible;animation:sparkgo 1.05s cubic-bezier(.13,.75,.25,1) forwards}@keyframes sparkgo{0%{opacity:0;transform:scale(.15)}12%{opacity:1}55%{opacity:1}to{opacity:0;transform:scale(1.15)}}.sring{animation:sringgo 1.05s cubic-bezier(.13,.75,.25,1) forwards}@keyframes sringgo{0%{stroke-opacity:.75}to{stroke-opacity:0;r:64}}.xpfly{position:fixed;z-index:280;pointer-events:none;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.05em;color:var(--wine);text-shadow:0 1px 0 var(--paper);animation:xpfly 1.25s cubic-bezier(.2,.7,.3,1) forwards}.xpfly.neg{color:var(--muted);font-size:11.5px}@keyframes xpfly{0%{opacity:0;transform:translate(-50%,4px) scale(.85)}18%{opacity:1;transform:translate(-50%,-6px) scale(1)}to{opacity:0;transform:translate(-50%,-46px) scale(1)}}.tabs{display:flex;border-bottom:1px solid var(--hair-2)}.tabs button{flex:1;padding:9px 4px 8px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .15s ease}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tabs .badge{color:var(--gold-ink)}.pad{padding:14px 16px 16px}.search{width:100%;padding:8px 10px;border:1px solid var(--hair-2);background:var(--paper);font-family:inherit;font-size:14px;border-radius:1px}.search:focus{border-color:var(--ink);outline:none}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid var(--hair-2);border-radius:999px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;transition:border-color .15s ease,opacity .15s ease}.chip .dt{width:5px;height:5px;border-radius:50%}.chip[aria-pressed=false]{opacity:.35}.chip:hover{border-color:var(--ink)}.topbar .spacer{flex:1}.sndbtn{width:30px;height:30px;flex:0 0 auto;border:1px solid var(--hair-2);border-radius:1px;background:var(--paper);cursor:pointer;display:grid;place-items:center;transition:border-color .15s ease,background .15s ease}.sndbtn:hover{border-color:var(--ink)}.sndbtn svg{width:17px;height:17px}.sndbtn .i-play{fill:var(--ink);stroke:none}.sndbtn .i-pause{display:none;fill:none;stroke:var(--paper);stroke-width:2;stroke-linecap:round}.sndbtn[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}.sndbtn[aria-pressed=true] .i-play{display:none}.sndbtn[aria-pressed=true] .i-pause{display:block}.sndbtn[aria-pressed=true]:after{content:"";position:absolute;width:30px;height:30px;border:1px solid var(--ink);border-radius:1px;animation:sndpulse 2.2s ease-out infinite;pointer-events:none}.sndbtn{position:relative}@keyframes sndpulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.segs.scope{width:184px;margin:0;background:var(--paper)}.gateway{cursor:pointer}.gateway circle:first-child{transition:stroke-opacity .2s ease}.gateway:hover circle:first-child,.gateway:focus-visible circle:first-child{stroke-opacity:.4}.gateway text{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}.segs{display:flex;gap:0;margin-top:11px;border:1px solid var(--hair-2);border-radius:1px;overflow:hidden}.seg{flex:1;padding:5px 4px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:background .15s ease,color .15s ease}.seg+.seg{border-left:1px solid var(--hair-2)}.seg:hover{color:var(--ink)}.seg[aria-pressed=true]{background:var(--ink);color:var(--paper)}.list .xp{font-family:JetBrains Mono,monospace;font-size:9.5px;color:var(--muted);letter-spacing:.06em}.acc .card{display:block;padding:11px 0;border-top:1px solid var(--hair-2);color:inherit;text-decoration:none}.acc .card.linked{cursor:pointer}.acc .card.linked:hover .cn{text-decoration:underline;text-underline-offset:3px}.acc .card .go{display:inline-block;margin-top:5px;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.acc .card.linked:hover .go{color:var(--wine)}.acc .card:first-of-type{border-top:0;padding-top:4px}.acc .card img{margin:0 0 8px}.acc .cn{margin:0 0 3px;font-family:Alegreya,Georgia,serif;font-size:15.5px}.acc .cd{margin:0;font-size:13px;color:var(--note-2)}.list{list-style:none;margin:0;padding:0;max-height:58vh;overflow-y:auto}.list li+li{border-top:1px solid var(--hair-2)}.list button{width:100%;text-align:left;display:flex;align-items:center;gap:9px;padding:8px 16px;cursor:pointer;font-size:14px}.list button:hover{background:var(--bg)}.list .dt{width:5px;height:5px;border-radius:50%;flex:0 0 auto}.list .nm{flex:1;font-family:Alegreya,Georgia,serif;font-size:15.5px}.list .tick{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--wine)}.list li.on button{background:var(--bg)}.list li.on .nm{font-weight:400}.empty{padding:16px;color:var(--muted);font-size:13.5px}.jgroup{padding:12px 16px 4px}.jrow{display:flex;align-items:baseline;gap:11px;padding:7px 16px;border-top:1px solid var(--hair-2)}.jrow .d{font-family:JetBrains Mono,monospace;font-size:9.5px;color:var(--muted);width:34px;flex:0 0 auto}.jrow .n{flex:1;cursor:pointer;text-align:left;font-family:Alegreya,Georgia,serif;font-size:15.5px}.jrow .n:hover{text-decoration:underline;text-underline-offset:3px}.jrow .x{cursor:pointer;color:var(--hair);font-size:14px;line-height:1;padding:2px 4px}.jrow .x:hover{color:var(--wine)}.jrow .sc{color:var(--gold-ink);font-size:10px}.jrow .mk{color:var(--muted);font-size:10px;letter-spacing:.06em}.logbox{margin-top:13px;padding-top:12px;border-top:1px solid var(--hair-2)}.logrow{display:flex;align-items:center;gap:9px;margin-bottom:9px}.dateinp{flex:1;padding:5px 8px;border:1px solid var(--hair-2);background:var(--paper);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px;border-radius:1px}.dateinp:focus{border-color:var(--ink);outline:none}.impr{width:100%;min-height:64px;resize:vertical;padding:8px 10px;border:1px solid var(--hair-2);background:var(--paper);color:var(--ink);font-family:Alegreya,Georgia,serif;font-size:15px;line-height:1.45;border-radius:1px}.impr::placeholder{color:var(--muted);font-style:italic}.impr:focus{border-color:var(--ink);outline:none}.shotbtn{margin-top:9px}.shotrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.moved{margin:9px 0 0}.after{margin:0 0 13px;padding:9px 11px;font-family:Alegreya,Georgia,serif;font-size:15px;font-style:italic;line-height:1.35;color:var(--ink);border-left:2px solid var(--wine);background:#8c1b3312;animation:afterIn .5s cubic-bezier(.2,.85,.3,1)}.pop .after{margin:-4px 0 13px}.mine{margin:0 0 13px;padding:9px 11px;font-family:Alegreya,Georgia,serif;font-size:15px;line-height:1.4;color:var(--ink);border-left:2px solid var(--gold);background:#b0873a12}.mine .lb{display:block;color:var(--gold-ink);margin-bottom:4px}.acc .mine{margin-top:7px}.wasnote{margin:0 0 9px;padding:7px 10px;font-size:12.5px;line-height:1.4;color:var(--muted);background:var(--bg);border-radius:1px}.wasnote .lb{display:block;margin-bottom:3px}@keyframes afterIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.shot{position:relative;margin-top:9px}.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--hair-2)}.shot .rm{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--deep);color:var(--cream);cursor:pointer;font-size:13px;line-height:1;display:grid;place-items:center;opacity:.82;transition:opacity .15s ease}.shot .rm:hover{opacity:1}.usage{padding:12px 16px;border-top:1px solid var(--hair-2)}.acc{overflow:hidden;animation:acc .3s cubic-bezier(.2,.8,.3,1)}@keyframes acc{0%{opacity:0;max-height:0}to{opacity:1;max-height:620px}}.acc .in{margin:0 16px 0 20px;padding:2px 0 15px 14px;border-left:1px solid var(--hair-2)}.acc .face{margin:9px 0 11px}.face{position:relative;margin:0}.face img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.acc .face img{border:1px solid var(--hair-2)}.face figcaption{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:999px;background:var(--deep);color:var(--cream);opacity:.88}.face.mine img{border-color:var(--gold)}.acc .note{margin:7px 0 13px;color:var(--note);font-size:13.5px}.acc .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.caret{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--hair);transition:transform .22s ease;flex:0 0 auto}.list li.on .caret,.jitem.on .caret{transform:rotate(90deg);color:var(--muted)}.btn{border:1px solid var(--ink);padding:6px 12px;cursor:pointer;font-size:13px;border-radius:1px;transition:background .15s ease,color .15s ease}.btn:hover{background:var(--ink);color:var(--paper)}.btn.on{background:transparent;border-color:var(--hair-2);color:var(--muted);cursor:default}.btn.on:hover{background:transparent;border-color:var(--wine);color:var(--wine);cursor:pointer}.btn.gold{border-color:var(--gold-ink);color:var(--gold-ink)}.btn.gold:hover{background:var(--gold-ink);color:var(--paper)}.btn.ghost{border-color:var(--hair);color:var(--muted);font-size:12px;padding:5px 10px}.btn.ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}.link{font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none}.link:hover{color:var(--ink)}.keyline{display:flex;align-items:baseline;justify-content:space-between}.keynum{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:200;line-height:1}.prog{height:1px;background:var(--hair-2);position:relative;margin:13px 0 9px}.prog i{position:absolute;inset:0 auto 0 0;background:var(--gold);transition:width .5s ease}.vtxt{margin:0;font-size:13px;color:var(--muted)}.tools{display:flex;gap:7px;flex-wrap:wrap}.foot{padding:0 0 40px;text-align:center}.layer{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:var(--veil);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .35s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.stage{width:min(420px,90vw);text-align:center}.fb{position:absolute;inset:0;pointer-events:none;background:var(--spark);opacity:0;animation:fb .5s ease-out 4.5s}@keyframes fb{0%{opacity:0}8%{opacity:.55}to{opacity:0}}.arena{position:relative;height:212px;margin-bottom:2px}.reel{position:absolute;left:50%;top:56px;transform:translate(-50%);width:min(300px,78vw);height:100px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);animation:reelOut .45s ease 2.05s forwards}@keyframes reelOut{to{opacity:0;transform:translate(-50%) scale(.9)}}.strip{display:flex;align-items:center;height:100%;padding-left:calc(50% - 50px);will-change:transform;animation:spin 1.85s cubic-bezier(.1,.72,.14,1) .15s forwards}@keyframes spin{0%{transform:translate(0);filter:blur(5px)}55%{filter:blur(2.5px)}88%{filter:blur(.6px)}to{transform:translate(var(--end));filter:blur(0)}}.cell{flex:0 0 100px;width:100px;display:grid;place-items:center}.cell svg{width:56px;height:56px}.gate{position:absolute;left:50%;top:56px;transform:translate(-50%);width:100px;height:100px;pointer-events:none;animation:reelOut .45s ease 2.05s forwards}.gate i{position:absolute;top:6px;bottom:6px;width:1px;background:#b08b3e80}.gate i:first-child{left:0}.gate i:last-child{right:0}.win{position:absolute;inset:0;display:grid;place-items:center;opacity:0;animation:winIn .55s cubic-bezier(.2,.9,.3,1.4) 2.15s forwards,boom .7s cubic-bezier(.35,0,.85,1) 4.5s forwards}@keyframes winIn{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes boom{0%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1.38)}to{opacity:0;transform:scale(1.85)}}.glow{animation:glow 1.9s ease-in 2.6s forwards}@keyframes glow{0%{filter:drop-shadow(0 0 0 rgba(176,139,62,0));transform:scale(1)}to{filter:drop-shadow(0 0 22px rgba(212,163,72,.9));transform:scale(1.14)}}.win svg{width:170px;height:170px;overflow:visible}.crk{opacity:0;animation:crk .55s ease-out 4s forwards}@keyframes crk{to{opacity:1}}.burst{position:absolute;inset:0;pointer-events:none;overflow:visible}.burst svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.chg{transform-origin:50% 50%;opacity:0;animation:chg .75s cubic-bezier(.3,0,.4,1) forwards}@keyframes chg{0%{opacity:0;transform:scale(2.6)}35%{opacity:.75}to{opacity:0;transform:scale(.9)}}.flash{transform-origin:50% 50%;opacity:0;animation:flash .95s cubic-bezier(.15,.85,.3,1) 4.5s}@keyframes flash{0%{opacity:1;transform:scale(.15)}to{opacity:0;transform:scale(3.2)}}.shard{transform-origin:50% 50%;opacity:0;animation:shard .9s cubic-bezier(.12,.88,.3,1) 4.52s}@keyframes shard{0%{opacity:.95;transform:scale(.12)}to{opacity:0;transform:scale(2.1)}}.sd{opacity:0;transform-origin:50% 50%;animation:sd 1.7s cubic-bezier(.11,.85,.22,1) forwards}@keyframes sd{0%{opacity:0;transform:translate(0) scale(.3)}10%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.15)}}.prize{position:absolute;left:50%;top:50%;margin:0;width:164px;transform:translate(-50%,-50%);opacity:0;animation:prize .75s cubic-bezier(.2,.85,.3,1.25) 4.55s forwards}.prize img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1.5px solid var(--gold);box-shadow:0 0 0 4px var(--deep),0 0 0 5.5px #b0873a73,0 14px 30px -14px #000000b3}@keyframes prize{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-7deg)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.stage .cap{display:block;opacity:0;animation:rise .6s ease 4.85s forwards;color:var(--gold)}.stage .ttl{opacity:0;animation:rise .6s ease 4.97s forwards;margin:9px 0 8px;font-family:Alegreya,Georgia,serif;font-weight:500;font-size:2.05rem;letter-spacing:-.015em;color:var(--cream)}.stage .txt{opacity:0;animation:rise .6s ease 5.1s forwards;margin:0 auto;max-width:34ch;font-size:14px;color:var(--cream-2)}.stage .acts{opacity:0;animation:rise .6s ease 5.3s forwards;display:flex;gap:10px;justify-content:center;margin-top:22px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.stage .btn{border-color:#f1e7fb6b;color:var(--cream)}.stage .btn:hover{background:var(--cream);color:var(--ink)}.stage .btn.gold{border-color:var(--gold);color:var(--gold)}.stage .btn.gold:hover{background:var(--gold);color:#2e2926}.packarena{position:relative;height:250px;margin-bottom:6px;perspective:900px}.pack{position:absolute;left:50%;top:26px;margin-left:-73px;width:146px;height:198px;animation:packIn .55s cubic-bezier(.2,.9,.3,1.3),packShake .5s ease-in-out .75s 2,packOut .5s ease 2.05s forwards}@keyframes packIn{0%{opacity:0;transform:translateY(26px) scale(.82)}to{opacity:1;transform:none}}@keyframes packShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px,1px) rotate(-1.8deg)}75%{transform:translate(3px,-1px) rotate(1.8deg)}}@keyframes packOut{to{opacity:0;transform:translateY(14px) scale(.94)}}.packbody{position:absolute;inset:26px 0 0;border:1.4px solid var(--gold);border-radius:2px;background:repeating-linear-gradient(58deg,rgba(176,135,58,.16) 0 1px,transparent 1px 7px),var(--deep);display:flex;align-items:center;justify-content:center;padding:14px}.packbody span{font-family:Alegreya,Georgia,serif;font-size:1.05rem;color:var(--gold);text-align:center;line-height:1.2}.packtop{position:absolute;left:0;right:0;top:0;height:32px;border:1.4px solid var(--gold);border-radius:2px;background:var(--gold);opacity:.92;animation:tear .6s cubic-bezier(.3,.1,.4,1) 1.35s forwards}@keyframes tear{to{transform:translate(34px,-72px) rotate(26deg);opacity:0}}.packbody:after{content:"";position:absolute;inset:0;overflow:hidden;background:linear-gradient(103deg,transparent 38%,rgba(255,240,205,.4) 50%,transparent 62%);background-size:260% 100%;background-position:120% 0;animation:glint 1.15s ease .5s 2}@keyframes glint{to{background-position:-60% 0}}.pcard{position:absolute;left:50%;top:64px;margin-left:-54px;width:108px;height:152px;background:var(--paper);border:1px solid var(--hair);border-radius:2px;box-shadow:0 8px 22px -12px #0000008c;display:flex;flex-direction:column;padding:7px;opacity:0;transform-origin:50% 130%;animation:deal .8s cubic-bezier(.2,.85,.3,1.05) forwards;animation-delay:var(--d)}.pcard .pth{display:block;height:58px;overflow:hidden;border:1px solid var(--hair-2);flex:0 0 auto}.pcard .pth img{width:100%;height:100%;object-fit:cover;display:block;position:static;opacity:1}.pcard .pcol{display:block;margin:6px 0 2px;font-family:JetBrains Mono,monospace;font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}@keyframes deal{0%{opacity:0;transform:translateY(52px) rotate(0) scale(.7)}30%{opacity:1}to{opacity:1;transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1)}}.pcard .pn{font-family:Alegreya,Georgia,serif;font-size:12px;line-height:1.18;color:var(--ink);overflow:hidden}.layer.packs .cap{animation-delay:2.45s}.layer.packs .ttl{animation-delay:2.57s}.layer.packs .txt{animation-delay:2.7s}.layer.packs .acts{animation-delay:2.88s}@media(prefers-reduced-motion:reduce){.pcard{opacity:1}}.toast{position:fixed;right:24px;bottom:24px;z-index:250;width:296px;background:var(--deep);color:var(--cream);border:1px solid var(--gold);border-radius:1px;padding:15px 16px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 14px 36px -16px #000000a6;animation:toastIn .5s cubic-bezier(.2,.9,.3,1.25)}.toast.out{animation:toastOut .3s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(10px)}}.toast svg{width:32px;height:32px;flex:0 0 auto;margin-top:2px;animation:tpulse 2.4s ease-in-out infinite}@keyframes tpulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.toast .b{flex:1;min-width:0}.toast .t{margin:0 0 3px;font-size:14.5px}.toast .s{margin:0;font-size:12.5px;color:var(--cream-2);line-height:1.45}.toast .go{margin-top:11px;border:1px solid var(--gold);color:var(--gold);padding:5px 12px;font-size:12.5px;cursor:pointer;border-radius:1px;transition:background .15s ease,color .15s ease}.toast .go:hover{background:var(--gold);color:#2e2926}.btn.ghost.armed{border-color:var(--wine);color:var(--paper);background:var(--wine)}.toast .x{position:absolute;top:5px;right:7px;cursor:pointer;color:var(--dim);font-size:15px;line-height:1;padding:3px 5px}.toast .x:hover{color:var(--cream)}@media(max-width:940px){.toast{left:14px;right:14px;bottom:14px;width:auto}}@media(max-width:940px){.layout{grid-template-columns:1fr}.side{position:static}.list{max-height:none}.wrap{padding:0 16px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}}#auth{position:relative;z-index:2;min-height:100vh}#app[hidden],#auth[hidden]{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.1fr)}.auth-story{padding:clamp(38px,7vw,92px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;border-right:1px solid var(--hair)}.auth-brand{font-family:Alegreya,Georgia,serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.88;letter-spacing:-.035em}.auth-brand b{font-weight:500;font-style:italic}.auth-copy{max-width:34rem;margin:80px 0 0}.auth-copy h1{font-family:Alegreya,Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.02;font-weight:400;letter-spacing:-.025em;margin:0 0 24px}.auth-copy p{font-family:Alegreya,Georgia,serif;font-size:1.25rem;line-height:1.45;color:var(--note);max-width:34ch;margin:0}.auth-foot{margin-top:64px}.auth-panel{min-height:100vh;background:#f9efe9c7;display:grid;place-items:center;padding:42px 24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-card{width:min(410px,100%);padding:34px;background:var(--paper);border:1px solid var(--hair-2);box-shadow:0 22px 60px -44px #322c29b3}.auth-eyebrow{margin:0 0 8px}.auth-title{font-family:Alegreya,Georgia,serif;font-size:2.15rem;line-height:1.05;font-weight:500;letter-spacing:-.02em;margin:0 0 10px}.auth-subtitle{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 26px}.auth-form{display:grid;gap:15px}.field{display:grid;gap:6px}.field label{font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.field input{width:100%;height:44px;border:1px solid var(--hair);border-radius:1px;background:var(--paper);padding:0 12px;color:var(--ink);font:inherit}.field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.password-field{position:relative}.password-field input{padding-right:46px}.password-toggle{position:absolute;right:4px;bottom:4px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:var(--muted);border-radius:1px}.password-toggle:hover{color:var(--ink);background:var(--bg)}.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.auth-submit{height:44px;margin-top:3px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;font-size:14px;transition:background .15s,color .15s}.auth-submit:hover{background:var(--wine);border-color:var(--wine)}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}.auth-link{padding:0;cursor:pointer;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.auth-link:hover{color:var(--wine)}.auth-message{padding:10px 12px;margin:0 0 17px;border-left:2px solid var(--wine);background:#8c1b3312;font-size:13px;line-height:1.5;color:var(--note)}.auth-message.ok{border-color:var(--gold);background:#b0873a14}.auth-hint{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.auth-loader{width:34px;height:34px;margin-bottom:22px;border:1px solid var(--hair);border-top-color:var(--wine);border-radius:50%;animation:authspin .8s linear infinite}@keyframes authspin{to{transform:rotate(360deg)}}.accountline{display:flex;align-items:center;gap:10px;margin-left:auto}.account-email{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout{cursor:pointer;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hair-2);padding:6px 9px;background:var(--paper)}.signout:hover{color:var(--wine);border-color:var(--wine)}.sync-state{transition:color .2s;white-space:nowrap}.sync-state.pending{color:var(--gold-ink)}.sync-state.error{color:var(--wine)}.home-account{position:absolute;top:24px;right:26px;z-index:3}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:auto;padding:34px 24px 30px;border-right:0;border-bottom:1px solid var(--hair)}.auth-copy{margin:54px 0 0}.auth-copy h1{font-size:2.15rem}.auth-copy p{font-size:1.08rem}.auth-foot{display:none}.auth-panel{min-height:auto;padding:28px 16px 48px}.auth-card{padding:26px 22px}.home-account{position:static;margin:0 0 20px;justify-content:flex-end}}@media(max-width:520px){.account-email{display:none}.topbar{gap:12px}.topbar .accountline{order:4;width:100%;justify-content:flex-end}}
