:root{
  --bg:#061816; --sur:#0a2420; --sur2:#0d2c26; --edge:#245046; --ink:#f2f5ef; --ink2:#b5cbc1; --mut:#79968b;
  --lime:#d8f24f; --teal:#5fb6ac; --red:#e2635e; --violet:#9b8cff; --amber:#ffb85c;
  --mono:"SF Mono","JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --sans:"Inter","Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* cute cursors: a plump arrow everywhere, a sparkle-star on clickables */
  --cur:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3E%3Cpath%20d='M4%202L4%2020L9%2015L12.5%2021L15.5%2019.5L12%2014L19%2014Z'%20fill='%23eafff0'%20stroke='%230e3a30'%20stroke-width='2'%20stroke-linejoin='round'/%3E%3Ccircle%20cx='20'%20cy='4.5'%20r='1.8'%20fill='%23d8f24f'/%3E%3C/svg%3E") 4 2, auto;
  --cur-pt:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='26'%3E%3Cpath%20d='M13%202l2.6%207.4%207.4%202.6-7.4%202.6-2.6%207.4-2.6-7.4-7.4-2.6%207.4-2.6z'%20fill='%23d8f24f'%20stroke='%230e3a30'%20stroke-width='1.6'%20stroke-linejoin='round'/%3E%3C/svg%3E") 13 13, pointer;
}
html,body,#app,#hud,canvas{cursor:var(--cur)}
a,button,summary,label[for],select,[role="tab"],[role="button"],[onclick],
.pill-btn,.dock-btn,.icon-btn,.tab,.swatch,.hatopt,.ap-track,.prize-card,.prize-tabs>*,
.guide-next,.guide-back,.guide-skip,.mp-tools button,#introEnter,#menuBtn,input[type="range"]{cursor:var(--cur-pt)}
input[type="text"],textarea,#chatInput{cursor:text}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;width:100%;overflow:hidden;position:fixed;inset:0;overscroll-behavior:none;background:var(--bg);color:var(--ink);font-family:var(--sans);
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#app{position:fixed;inset:0;touch-action:none}   /* the 3D view never scrolls/zooms the page */
canvas{display:block}

#hud{position:fixed;inset:0;pointer-events:none;z-index:10}
#hud > *{pointer-events:auto}
.hidden{display:none !important}

/* topbar */
#topbar{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:16px;
  padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
  background:linear-gradient(#061816ed,#06181600)}
.brand{font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}
.brand .dot{width:8px;height:8px;border-radius:50%;background:#38cf8c;box-shadow:0 0 0 3px #38cf8c33}
.brand .v{color:var(--mut);font-weight:500;font-size:11px;letter-spacing:1px}
.stats{margin-left:auto;display:flex;gap:14px;font-family:var(--mono);font-size:12px;color:var(--ink2)}
.stats b{color:var(--lime)}
.stats .live{color:#79d6ae}
.icon-btn{width:32px;height:30px;border:1px solid var(--edge);border-radius:8px;background:#0a2420cc;color:var(--ink2);
  font:700 10px var(--mono);cursor:pointer;pointer-events:auto;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;text-align:center}
.icon-btn:hover,.icon-btn:focus-visible{border-color:var(--lime);color:var(--lime);outline:none}
#audioWrap{position:relative;display:inline-flex}
#audioPop{position:absolute;top:38px;right:0;z-index:20;width:272px;display:flex;flex-direction:column;gap:9px;padding:13px;
  background:#0a2420f6;border:1px solid var(--edge);border-radius:16px;box-shadow:0 16px 40px #000b,0 0 40px -18px var(--lime);backdrop-filter:blur(10px)}
#audioPop.hidden{display:none}
.ap-head{font:700 11px var(--mono);letter-spacing:1.5px;color:var(--lime);text-transform:uppercase}
.ap-tracks{display:flex;flex-direction:column;gap:2px;max-height:236px;overflow-y:auto;margin:0 -4px;padding:0 4px}
.ap-track{display:flex;align-items:center;gap:9px;text-align:left;background:transparent;border:0;border-radius:9px;padding:7px 9px;color:var(--ink2);font:600 12px var(--sans);cursor:pointer;transition:background .12s,color .12s}
.ap-track b{width:17px;flex:0 0 auto;text-align:center;font:700 11px var(--mono);color:var(--mut)}
.ap-track .apt-t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-track time{font:10px var(--mono);color:var(--mut)}
.ap-track:hover{background:#12332b;color:var(--ink)}
.ap-track.on{background:linear-gradient(90deg,var(--lime),#a9d14a);color:#0a1400;box-shadow:0 3px 12px -4px var(--lime)}
.ap-track.on b,.ap-track.on time{color:#0a1400}
.ap-row{display:flex;align-items:center;gap:10px}
.ap-row .pill-btn{padding:6px 11px;font-size:11px;white-space:nowrap}
.ap-credit{font:10px var(--mono);color:var(--mut);opacity:.72;text-align:center;letter-spacing:.3px}
.ap-credit b{color:var(--ink2)}
/* top-center status HUD: level + XP gauge, SP, AP, streak */
#statusHud{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;
  background:#0a2420e0;border:1px solid var(--edge);border-radius:999px;padding:4px 4px;backdrop-filter:blur(9px);
  box-shadow:0 5px 20px #0007;font-family:var(--mono);white-space:nowrap;max-width:min(70vw,620px)}
.sh-level{display:flex;align-items:center;gap:9px;padding:2px 12px 2px 10px}
.sh-badge{font:800 12px var(--sans);color:var(--ink)}.sh-badge b{color:var(--lime);font-size:15px;margin-left:3px}
.sh-xpwrap{display:flex;flex-direction:column;gap:2px;min-width:92px}
.sh-xptrack{height:5px;background:#0e2a24;border-radius:3px;overflow:hidden;border:1px solid #1a4238}
.sh-xptrack #xpFill{height:100%;background:linear-gradient(90deg,#5fb6ac,#d8f24f);border-radius:3px;transition:width .45s ease}
.sh-xptxt{font:600 8.5px var(--mono);color:var(--mut);letter-spacing:.3px}
.sh-sep{width:1px;height:26px;background:#ffffff1a}
.sh-cur{display:flex;align-items:center;gap:5px;padding:2px 13px;border-right:1px solid #ffffff12}
.sh-cur:last-child{border-right:0}
.sh-ic{font-size:13px}
.sh-cur b{font:800 14px var(--mono);color:var(--lime)}
.sh-cur.ap b{color:#74c4ff}.sh-cur.streak b{color:#ffb85c}
.sh-l{font:800 9px var(--sans);color:var(--mut);letter-spacing:.5px}
/* consolidated top-right menu */
#topRight{margin-left:auto;position:relative;display:flex;align-items:center;gap:8px}
#menuBtn{font-size:16px;line-height:1}
/* unfolds horizontally to the LEFT of the ☰ button */
#menuPop{position:absolute;top:0;right:42px;z-index:30;background:#0b2721f4;border:1px solid var(--edge);
  border-radius:12px;padding:6px 11px;box-shadow:0 10px 34px #000b;display:flex;flex-direction:row;align-items:center;gap:11px;white-space:nowrap;
  transform-origin:right center;animation:mpUnfold .18s ease}
@keyframes mpUnfold{from{opacity:0;transform:translateX(10px) scaleX(.9)}}
#menuPop.hidden{display:none}
.mp-online{font:800 12px var(--mono);color:#79d6ae;display:inline-flex;align-items:center;gap:5px;padding-right:9px;border-right:1px solid #ffffff14}
.mp-online .live{color:#38cf8c}.mp-online b{color:#eafff2;font-size:14px}
#menuPop #audioWrap.mp-tools{position:relative;display:flex;gap:6px}
#menuPop .mp-tools .icon-btn{width:38px;height:36px;font-size:15px}
#menuPop #audioPop{top:44px;right:0}
/* ===== cute custom range sliders (volume, etc.) ===== */
input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:7px;border-radius:99px;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--lime) 0 var(--fill,50%),#1c3f37 var(--fill,50%) 100%)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:var(--lime);
  border:2.5px solid #06140f;box-shadow:0 0 10px -1px var(--lime),0 2px 5px #0008;cursor:pointer;transition:transform .1s}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:var(--lime);border:2.5px solid #06140f;box-shadow:0 0 10px -1px var(--lime);cursor:pointer}
input[type=range]::-moz-range-track{height:7px;border-radius:99px;background:#1c3f37}
input[type=range]::-moz-range-progress{height:7px;border-radius:99px;background:var(--lime)}
/* ===== cute custom scrollbars (modals, lists) ===== */
*{scrollbar-width:thin;scrollbar-color:#3a6c5e transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent;margin:4px}
::-webkit-scrollbar-thumb{background:linear-gradient(#3f7264,#2b5348);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(#57917f,#3a6c5e);background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}

#marketBar{position:absolute;top:48px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;
  padding:7px 14px;border:1px solid #24504699;border-radius:0 0 12px 12px;background:#071c18e8;
  color:var(--ink2);font:10.5px var(--mono);white-space:nowrap;backdrop-filter:blur(12px)}
#marketBar b{color:var(--ink)} #marketChange.up{color:var(--lime)} #marketChange.down{color:var(--red)}
.paper-tag{color:var(--teal);letter-spacing:.8px;font-weight:700}

/* left panel */
#leftpanel{position:absolute;left:max(14px,env(safe-area-inset-left));top:78px;display:flex;flex-direction:column;gap:8px;width:218px;z-index:26}
.pill-btn{background:var(--sur);border:1px solid var(--edge);color:var(--ink);border-radius:10px;
  padding:9px 12px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:.15s}
.pill-btn:hover{border-color:var(--lime);color:var(--lime)}
.pill-btn.primary{background:var(--lime);color:#0a1400;border-color:var(--lime)}
#lbBox{background:var(--sur);border:1px solid var(--edge);border-radius:12px;padding:10px 12px;margin-top:4px}
.lb-h{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--mut);margin-bottom:8px}
#lbList{list-style:none;font-size:12.5px}
#lbList li{display:flex;flex-direction:column;gap:3px;padding:5px 0;color:var(--ink2);border-bottom:1px solid #ffffff08}
#lbList li:last-child{border-bottom:none}
#lbList .lb-top{display:flex;align-items:baseline;gap:6px;min-width:0}
#lbList .lb-n{flex:none;font:800 11px var(--mono);color:var(--mut);width:16px}
#lbList .lb-who{font-weight:700;color:var(--ink);overflow-wrap:anywhere;word-break:break-all;line-height:1.2}
#lbList .lb-stats{display:flex;gap:5px;font-family:var(--mono);font-size:9.5px;font-weight:700;padding-left:22px}
#lbList .lb-stats em{font-style:normal;padding:1px 5px;border-radius:6px}
#lbList .lb-lv{color:#bfe0ff;background:#1c344233}
#lbList .lb-sp{color:var(--lime);background:#d8f24f1a}
#lbList .lb-ap{color:#ff9a7a;background:#ff6a2122;order:-1}
#lbList li:nth-child(1) .lb-who{color:var(--lime)}
#lbList li:nth-child(1) .lb-ap{color:#ffb85c;background:#ff6a2130}
#questBox{background:linear-gradient(145deg,#0c2b24e8,#081d19e8);border:1px solid var(--edge);border-radius:12px;padding:11px 12px}
.quest{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:11.5px;padding:3px 0;transition:.25s}
.quest i{width:10px;height:10px;border:1px solid var(--mut);border-radius:50%;position:relative;flex:0 0 auto}
.quest.done{color:var(--mut);text-decoration:line-through}.quest.done i{border-color:var(--lime);background:var(--lime)}
.quest.done i:after{content:"";position:absolute;inset:2px;border-radius:50%;background:#102018}
#xpTrack{height:4px;background:#14372f;border-radius:4px;margin-top:9px;overflow:hidden}
#xpFill{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--lime));transition:width .4s}

#rightpanel{position:absolute;right:max(14px,env(safe-area-inset-right));top:84px;width:232px;text-align:center}
#minimap{width:180px;height:180px;border-radius:50%;background:#061814cc;border:1px solid var(--edge);
  box-shadow:0 12px 40px #0007,inset 0 0 30px #0008}
#districtName{display:inline-block;margin-top:7px;padding:3px 9px;color:var(--lime);font:700 10px var(--mono);letter-spacing:1px;background:rgba(6,15,12,.72);border:1px solid #d8f24f44;border-radius:999px;text-shadow:0 1px 3px #000,0 0 10px #d8f24faa;backdrop-filter:blur(3px)}
#roomName{color:var(--mut);font:9px var(--mono);margin-top:2px}

/* batch prompt */
#batchPrompt{position:absolute;top:64px;left:50%;transform:translateX(-50%);text-align:center;
  background:#0c2620ee;border:1px solid var(--lime);border-radius:12px;padding:10px 18px;box-shadow:0 0 26px #d8f24f33;
  animation:pop .3s}
@keyframes pop{from{transform:translateX(-50%) scale(.9);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}
.bp-title{font-family:var(--mono);color:var(--lime);font-weight:700;letter-spacing:1px}
.bp-sub{font-size:12px;color:var(--ink2);margin-top:2px}
#bpPrice{font-family:var(--mono);color:#eafff2;font-size:12px}
.bp-sides{display:flex;gap:8px;margin-top:8px;justify-content:center}
.bp-side{flex:1;padding:8px 10px;border-radius:9px;border:1px solid var(--edge);background:#0a2420cc;color:var(--ink);
  font:700 13px var(--sans);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.13s;
  white-space:nowrap;min-width:0}
.bp-sides{flex-wrap:nowrap}
.bp-side .bp-key{flex:none}
/* both sides stay clearly lit at all times (SHORT never looks "off") */
.bp-side.long{border-color:#37d67a66;color:#8ff0b8;background:#0c2a1ecc}
.bp-side.short{border-color:#ff6b6b66;color:#ffb0b0;background:#2a1414cc}
.bp-side.long:hover,.bp-side.long.on{border-color:#37d67a;box-shadow:0 0 16px #37d67a66}
.bp-side.short:hover,.bp-side.short.on{border-color:#ff6b6b;box-shadow:0 0 16px #ff6b6b66}
.bp-side:disabled{cursor:default}
.bp-side.on{filter:brightness(1.15)}
.bp-side:disabled:not(.on){opacity:.72}
.bp-key{font:700 10px var(--mono);opacity:.6;border:1px solid currentColor;border-radius:4px;padding:0 4px}
.bp-bar{height:4px;background:var(--edge);border-radius:3px;margin-top:8px;overflow:hidden}
#bpFill{height:100%;width:100%;background:var(--lime);transform-origin:left;transition:transform linear}
/* persistent last-batch result status */
#batchStatus{position:absolute;top:118px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;
  background:#0a2018e0;border:1px solid var(--edge);border-radius:999px;padding:5px 13px;
  font:600 12px var(--mono);color:var(--ink);white-space:nowrap;box-shadow:0 4px 16px #0007;backdrop-filter:blur(6px)}
#batchStatus.hidden{display:none}
#batchStatus.win{border-color:#37d67a66;box-shadow:0 0 16px #37d67a2e}
#batchStatus.lose{border-color:#ff6b6b55}
#bsDot{width:7px;height:7px;border-radius:50%;background:var(--dim)}
#batchStatus.win #bsDot{background:#37d67a;box-shadow:0 0 8px #37d67a}
#batchStatus.lose #bsDot{background:#ff6b6b}
#batchStatus b.up{color:#8ff0b8}#batchStatus b.down{color:#ffa3a3}#batchStatus .bs-sp{color:var(--lime)}

/* chat */
#chatBox{position:absolute;left:14px;bottom:14px;width:270px;max-width:42vw;z-index:24}
#chatLog{max-height:min(30vh,200px);overflow-y:auto;overflow-x:hidden;display:block;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  font-size:13px;line-height:1.5;margin-bottom:6px;padding-right:2px}
#chatLog .msg{background:#07201b99;border-radius:8px;padding:3px 8px;margin-top:3px;width:fit-content;max-width:100%;
  overflow-wrap:anywhere;word-break:break-word}
#chatLog .msg b{color:var(--teal)}
#chatLog .msg .msg-lv{color:var(--lime);font:700 10px var(--mono);opacity:.8;margin-left:1px}
/* purchased chat name borders (cf-1..6) — wrap the sender name */
#chatLog .msg-name{display:inline-block}
#chatLog .msg-name[class*="cf-"]{padding:0 6px;border-radius:7px;border:1.5px solid transparent}
.cf-1{border-color:#d8f24f!important;box-shadow:0 0 8px #d8f24f66;color:#eaffa8!important}
.cf-2{border-color:#ffcf6a!important;background:#ffcf6a14;color:#ffe6a8!important}
.cf-3{border-color:#b79bff!important;box-shadow:0 0 9px #9b8cff66;color:#e0d6ff!important}
.cf-4{border-color:#8fe4ff!important;background:#8fe4ff12;box-shadow:0 0 8px #8fe4ff55;color:#dff6ff!important}
.cf-5{border-color:#ff7a4d!important;box-shadow:0 0 10px #ff6a2166;color:#ffcbb0!important}
.cf-6{border-image:linear-gradient(90deg,#ff6a6a,#ffcf6a,#d8f24f,#8fe4ff,#b79bff) 1!important;border-width:2px;color:#fff!important;text-shadow:0 0 8px #d8f24f88}
#chatInput{width:100%;background:var(--sur);border:1px solid var(--edge);color:var(--ink);
  border-radius:10px;padding:9px 12px;font-family:var(--sans);font-size:13px;outline:none}
#chatInput:focus{border-color:var(--teal)}

#hint{position:absolute;right:14px;bottom:14px;font-family:var(--mono);font-size:10.5px;color:var(--mut);text-align:right}
#hint b{color:var(--lime);font-weight:700}

/* modal */
.modal{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#04140fbb;pointer-events:auto}
.modal-card{background:var(--sur);border:1px solid var(--edge);border-radius:16px;padding:22px;width:min(92vw,360px)}
.modal-card h3{font-size:18px;margin-bottom:14px}
.modal-card label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:1px;color:var(--mut);margin:12px 0 6px;text-transform:uppercase}
.modal-card input{width:100%;background:var(--bg);border:1px solid var(--edge);color:var(--ink);border-radius:9px;padding:9px 11px;font-family:var(--sans);font-size:14px;outline:none}
.modal-card input:focus{border-color:var(--teal)}
.modal-card select{width:100%;background:var(--bg);border:1px solid var(--edge);color:var(--ink);border-radius:9px;
  padding:9px 11px;font-family:var(--sans);font-size:13px;outline:none}
.checkrow{display:flex!important;align-items:center;gap:9px;text-transform:none!important;font-family:var(--sans)!important;
  font-size:13px!important;color:var(--ink2)!important;letter-spacing:0!important;cursor:pointer}
.checkrow input{width:16px!important;height:16px;accent-color:var(--lime)}
.bind-grid{display:grid;grid-template-columns:1fr 82px;align-items:center;gap:7px 10px;color:var(--ink2);font-size:12px}
.bind-grid select{padding:6px 8px}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatch{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer}
.swatch.sel{border-color:var(--lime);box-shadow:0 0 0 2px #d8f24f44}
.hatopt{padding:7px 11px;border:1px solid var(--edge);border-radius:9px;font-size:12px;cursor:pointer;color:var(--ink2)}
.hatopt.sel{border-color:var(--lime);color:var(--lime)}
.modal-actions{display:flex;gap:10px;margin-top:18px}
.modal-actions .pill-btn{flex:1;text-align:center}

/* rotate-to-landscape hint — only on touch devices held in portrait, until dismissed */
#rotateHint{display:none;position:fixed;inset:0;z-index:120;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(120% 90% at 50% 30%,#12241d,#070d0b);color:var(--ink);text-align:center;padding:24px}
@media (pointer:coarse) and (orientation:portrait){ body:not(.rot-dismissed) #rotateHint{display:flex} }
.rh-card{max-width:320px;display:flex;flex-direction:column;align-items:center;gap:14px}
.rh-phone{font-size:64px;animation:rhTurn 2.4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes rhTurn{0%,40%{transform:rotate(0)}60%,100%{transform:rotate(-90deg)}}
.rh-title{font:800 22px var(--sans);color:var(--lime)}
.rh-sub{font:400 13px/1.6 var(--sans);color:var(--ink2)}
.rh-btn{margin-top:8px;padding:11px 22px;border:1px solid var(--edge);border-radius:12px;background:#0a2420;color:var(--ink);font:700 14px var(--sans);cursor:pointer}
.rh-btn:hover{border-color:var(--lime);color:var(--lime)}
/* mobile joystick — a visible wheel that appears under the thumb */
#stick{position:fixed;left:0;bottom:0;width:46vw;height:46vh;z-index:20;touch-action:none}
#stickBase{position:absolute;width:132px;height:132px;border-radius:50%;left:0;top:0;transform:translate(-50%,-50%);
  pointer-events:none;background:radial-gradient(circle,#0a201a55,#0a201a22);border:2px solid #d8f24f66;opacity:0;transition:opacity .12s;box-shadow:0 0 24px #0006 inset}
#stickKnob{position:absolute;width:60px;height:60px;border-radius:50%;background:#d8f24f33;border:2.5px solid var(--lime);
  left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 0 18px #d8f24f66}

/* toast */
#toast{position:fixed;right:16px;bottom:104px;z-index:40;width:min(300px,calc(100vw - 32px));
  background:linear-gradient(135deg,#103129f2,#071c18f2);border:1px solid #d8f24f99;border-radius:11px;
  padding:11px 14px;text-align:left;backdrop-filter:blur(12px);
  box-shadow:0 12px 32px #0009,0 0 22px #d8f24f20;animation:tin .24s ease-out}
#toast .big{font:800 15px var(--mono);color:var(--lime)}
#toast .sub{font:11px var(--mono);color:var(--ink2);margin-top:4px}
@keyframes tin{from{transform:translateX(14px);opacity:0}}

/* cinematic vignette */
#vignette{position:fixed;inset:0;pointer-events:none;z-index:5;
  box-shadow:none;transition:opacity .4s}

/* interaction prompt */
#interactPrompt{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);
  background:#0c2620ee;border:1px solid var(--lime);border-radius:12px;padding:9px 16px;
  font-family:var(--mono);font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:10px;
  box-shadow:0 0 26px #d8f24f33;animation:pop .25s}
#interactPrompt .k{background:var(--lime);color:#0a1400;border-radius:6px;padding:2px 9px;font-weight:800;font-size:12px}
#interactPrompt b{color:var(--lime);letter-spacing:.5px}

/* ---------------- mini-game overlays ---------------- */
.game-ov{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
  padding:18px;background:radial-gradient(circle at 50% 25%,#0b241e,#03100c 72%);animation:gfade .22s}
@keyframes gfade{from{opacity:0}}
.game-win{width:min(97vw,960px);height:min(93vh,680px);background:#07201b;border-radius:18px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 34px 100px #000b,0 0 0 1px var(--acc),0 0 70px -14px var(--acc);animation:grise .28s cubic-bezier(.2,.8,.2,1)}
@keyframes grise{from{transform:translateY(18px) scale(.98);opacity:0}}
.game-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--edge);
  background:linear-gradient(#0c2620,#07201b)}
.game-head .gt{font-family:var(--mono);font-weight:700;letter-spacing:1.2px;color:var(--acc);font-size:15px}
.game-head .gs{font-size:12px;color:var(--mut)}
.paper-game{margin-left:auto;border:1px solid var(--edge);border-radius:999px;padding:4px 8px;color:var(--mut);font:8.5px var(--mono);letter-spacing:.8px;white-space:nowrap}
.game-head .gx{margin-left:auto;background:var(--sur);border:1px solid var(--edge);color:var(--ink2);
  border-radius:9px;width:34px;height:34px;cursor:pointer;font-size:15px;line-height:1;transition:.15s}
.game-head .gx:hover{border-color:var(--red);color:var(--red)}
.game-body{flex:1;position:relative;overflow:auto;padding:18px}

/* shared game widgets */
.g-btn{background:var(--sur);border:1px solid var(--edge);color:var(--ink);border-radius:10px;
  padding:9px 14px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.g-btn:hover{border-color:var(--acc);color:var(--acc)}
.g-btn.primary{background:var(--acc);color:#07160f;border-color:var(--acc)}
.g-btn.buy{border-color:var(--lime);color:var(--lime)} .g-btn.buy.on{background:var(--lime);color:#0a1400}
.g-btn.sell{border-color:var(--red);color:var(--red)} .g-btn.sell.on{background:var(--red);color:#210b0a}
.g-btn:disabled{opacity:.4;cursor:default}
.g-stat{background:#06181400;border:1px solid var(--edge);border-radius:10px;padding:8px 12px;min-width:0}
.g-stat .l{font-family:var(--mono);font-size:9.5px;letter-spacing:1px;color:var(--mut);text-transform:uppercase}
.g-stat .v{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--ink);margin-top:2px}
.g-note{font-size:12.5px;line-height:1.5;color:var(--ink2);background:#0c262080;border-left:2px solid var(--acc);
  border-radius:0 8px 8px 0;padding:8px 12px}
.g-big{font-family:var(--mono);font-weight:800;letter-spacing:1px}
/* ===== cuter, friendlier game polish (shared) ===== */
.game-win{border-radius:22px}
.game-head{padding:15px 20px}
.game-head .gt{font-family:var(--sans);font-weight:800;letter-spacing:.4px;font-size:16px}
.game-head .gs{font-family:var(--sans);font-size:12.5px}
.g-btn{border-radius:12px;padding:10px 16px;font-family:var(--sans);transition:transform .12s cubic-bezier(.34,1.4,.6,1),border-color .12s,background .12s,color .12s}
.g-btn:hover{transform:translateY(-1px)}
.g-btn.primary:hover{filter:brightness(1.05)}
.g-end{text-align:center;padding:38px 10px;animation:czPop .35s cubic-bezier(.34,1.3,.5,1)}
.g-end h2{font:800 26px var(--sans);margin:8px 0}
.g-end .g-big{font-size:44px;margin:6px 0 16px}
.g-endsub{color:var(--ink2);font:600 14px var(--sans);margin-bottom:6px}
/* Order Flow */
.of-hud{display:flex;align-items:center;gap:18px;font:800 15px var(--sans);color:var(--ink);margin-bottom:12px}
.of-hud b{font-family:var(--mono)}
.of-goal{margin-left:auto;font:700 13px var(--sans);color:var(--ink2);background:#0a1c1799;border:1px solid var(--edge);border-radius:999px;padding:5px 13px}
.of-cv{width:100%;border-radius:16px;border:1.5px solid var(--edge);display:block;touch-action:none;box-shadow:inset 0 0 40px #0006}
.of-foot{font:600 12.5px var(--sans);color:var(--ink2);margin-top:10px;text-align:center}
/* Prophet Duel */
.pd-hud{display:flex;align-items:center;gap:20px;font:800 15px var(--sans);color:var(--ink);margin-bottom:10px}
.pd-hud b{font-family:var(--mono)}
.pd-streak{margin-left:auto}
.pd-cv{width:100%;border-radius:16px;border:1.5px solid var(--edge);display:block;box-shadow:inset 0 0 40px #0006}
.pd-price{font:800 34px var(--mono);text-align:center;color:var(--ink);margin:12px 0 2px;letter-spacing:.5px}
.pd-status{text-align:center;font:700 14px var(--sans);color:var(--ink2);min-height:20px;margin-bottom:12px}
.pd-row{display:flex;gap:14px;max-width:520px;margin:0 auto}
.pd-btn{flex:1;font:800 17px var(--sans)!important;padding:15px!important;border-radius:14px!important}
.pd-btn:disabled{opacity:.45}
.pd-foot{font:600 12.5px var(--sans);color:var(--ink2);margin-top:14px;text-align:center}
/* Liquidity Defense — rhythm */
.rg-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}
.rg-cv{width:100%;border-radius:16px;border:1.5px solid var(--edge);display:block;touch-action:none;box-shadow:inset 0 0 44px #0007}
.rg-hint{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:12px;font:700 13px var(--sans);color:var(--ink2)}
.rg-key{font:800 13px var(--sans);color:var(--lime);background:#0a1f1a;border:1.5px solid #d8f24f66;border-bottom-width:3px;
  border-radius:9px;padding:6px 12px;letter-spacing:.5px;box-shadow:0 2px 0 #0004}
.rg-note{margin-top:11px}
.rg-grade{font:800 76px ui-rounded,"SF Pro Rounded",system-ui,sans-serif;line-height:1;filter:drop-shadow(0 4px 24px #0007)}
/* Liquidity Defense — difficulty select */
.rg-start{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 14px 30px}
.rg-start-title{font:800 26px ui-rounded,"SF Pro Rounded",system-ui,sans-serif;letter-spacing:-.3px}
.rg-start-sub{font:500 13.5px var(--sans);color:var(--ink2);max-width:560px;line-height:1.6;margin:9px 0 22px}
.rg-diffs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.rg-diff{display:flex;flex-direction:column;align-items:center;gap:6px;width:120px;padding:16px 10px;cursor:pointer;
  background:linear-gradient(160deg,#0e2e26,#081d19);border:1.5px solid var(--edge);border-radius:16px;
  transition:transform .14s,border-color .15s,box-shadow .2s}
.rg-diff:hover{transform:translateY(-3px);border-color:var(--lime);box-shadow:0 10px 26px #0007,0 0 22px #d8f24f22}
.rg-diff-n{font:800 30px ui-rounded,"SF Pro Rounded",system-ui,sans-serif;color:var(--lime);line-height:1}
.rg-diff-l{font:800 14px var(--sans);color:var(--ink)}
.rg-diff-dots{font:11px var(--mono);letter-spacing:2px;color:#e2635e}
.rg-diff:nth-child(1) .rg-diff-dots{color:#7be0a3}.rg-diff:nth-child(2) .rg-diff-dots{color:#a7e05f}
.rg-diff:nth-child(3) .rg-diff-dots{color:#ffd76a}.rg-diff:nth-child(4) .rg-diff-dots{color:#ffb85c}
@media(max-width:560px){.rg-diff{width:88px;padding:12px 6px}}
/* DFBA Terminal — auction lab */
.dt-tabs{display:flex;gap:8px;margin-bottom:12px}
.dt-step{font:800 14px var(--sans);color:var(--ink);background:#0a201b;border:1px solid var(--edge);border-left:3px solid var(--lime);
  border-radius:10px;padding:10px 14px;margin-bottom:12px;line-height:1.45}
.dt-cv{width:100%;border-radius:16px;border:1.5px solid var(--edge);display:block;box-shadow:inset 0 0 40px #0006}
.dt-callout{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .3s ease,margin .3s ease;margin:0}
.dt-callout.show{max-height:180px;opacity:1;margin:12px 0;background:linear-gradient(135deg,#0d2a22,#0a2019);
  border:1px solid #d8f24f44;border-radius:12px;padding:13px 16px}
.dt-clear-px{font:700 15px var(--sans);color:var(--ink2)}.dt-clear-px b{font:800 18px var(--mono)}
.dt-clear-sub{font:600 12.5px var(--sans);color:var(--ink2);margin-top:5px;line-height:1.5}
.dt-surplus{font:800 13.5px var(--sans);color:var(--lime);margin-top:7px}
.dt-ticket{background:#0c262066;border:1px solid var(--edge);border-radius:14px;padding:14px;margin-top:14px}
.dt-step-btn{padding:2px 11px!important;font-weight:800}
.dt-list{display:flex;flex-direction:column;gap:6px;min-height:40px}
.dt-empty{font:600 12px var(--mono);color:var(--mut);padding:8px 2px}
.dt-order{display:flex;align-items:center;gap:10px;font:700 12.5px var(--mono);background:#07201b;border:1px solid var(--edge);
  border-radius:9px;padding:6px 11px;color:var(--ink)}
.dt-tag{font:800 10px var(--sans);letter-spacing:.5px;border:1px solid;border-radius:999px;padding:2px 9px}
/* Academy 101 */
.ac-tag{font:800 10.5px var(--mono);letter-spacing:1.5px;color:var(--mut);margin-bottom:8px}
.ac-title{font:800 24px ui-rounded,"SF Pro Rounded",var(--sans);margin-bottom:11px;letter-spacing:-.2px;line-height:1.15}
.ac-body{font:500 15px var(--sans);line-height:1.72;color:var(--ink2);margin-bottom:14px}
.ac-body b{color:var(--ink);font-weight:800}
.ac-diagram{width:100%;max-width:560px;border-radius:12px;border:1px solid var(--edge);margin:4px 0 2px;display:block;box-shadow:inset 0 0 30px #0005}
.ac-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 4px}
.ac-card{background:linear-gradient(150deg,#0d2a22,#0a1f1a);border:1px solid var(--edge);border-radius:14px;padding:14px 10px;text-align:center}
.ac-num{font:800 30px ui-rounded,"SF Pro Rounded",var(--sans);color:var(--lime);line-height:1;letter-spacing:-.5px}
.ac-lab{font:600 10.5px var(--sans);color:var(--ink2);margin-top:7px;line-height:1.35}
.ac-terms{margin-top:16px;background:#0a1f1a80;border:1px solid var(--edge);border-radius:14px;padding:14px 16px}
.ac-terms-h{font:800 12px var(--mono);letter-spacing:1px;color:var(--lime);margin-bottom:9px;text-transform:uppercase}
.ac-term{font:500 13px var(--sans);line-height:1.55;color:var(--ink2);padding:5px 0;border-top:1px solid var(--edge)}
.ac-term:first-of-type{border-top:0}
.ac-term b{color:var(--ink);font-weight:800;margin-right:7px}
@media(max-width:560px){.ac-cards{grid-template-columns:repeat(2,1fr)}}

/* Academy interactive boards — crisp DOM visuals adapted from the standalone DFBA explainer. */
.ac-viz{position:relative;margin:15px 0 11px;border:1px solid #31584d;border-radius:17px;padding:14px 16px 13px;
  overflow:hidden;background:radial-gradient(circle at 72% 20%,#163d323d,transparent 42%),linear-gradient(155deg,#0b251e,#061812);
  box-shadow:inset 0 1px #ffffff08,0 13px 30px #0004;isolation:isolate}
.ac-viz::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;pointer-events:none;
  background:radial-gradient(circle,#7fc9b722 .8px,transparent 1px) 0 0/18px 18px}
.ac-viz-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;color:#6f978b;font:800 9.5px var(--mono);letter-spacing:1.4px}
.ac-viz-play{border:1px solid #416b60;border-radius:999px;background:#0c2a22;color:#c8ddd5;padding:6px 11px;cursor:pointer;font:800 10.5px var(--sans);transition:.16s}
.ac-viz-play:hover:not(:disabled){border-color:var(--lime);color:var(--lime);transform:translateY(-1px)}.ac-viz-play:disabled{opacity:.48;cursor:wait}
.ac-viz-status{min-height:31px;margin-top:12px;padding:8px 11px;border-radius:9px;background:#071913cc;border-left:2px solid #527b70;color:#9db9ae;font:600 11.5px/1.45 var(--sans);transition:.25s}
.ac-viz.done .ac-viz-status{border-left-color:var(--lime);color:#dcebe5;background:#0b261dcc}
.ac-pipeline{min-height:117px;display:grid;grid-template-columns:minmax(110px,1fr) 28px minmax(150px,1.3fr) 28px minmax(140px,1fr);align-items:center;gap:10px}
.ac-order-stack{display:grid;grid-template-columns:repeat(3,34px);gap:7px;justify-content:center;position:relative;padding-top:25px}.ac-order-stack small{position:absolute;top:0;left:0;right:0;text-align:center;color:#6f978b;font:800 8.5px var(--mono);letter-spacing:.8px}
.ac-order-stack i{height:16px;border-radius:4px;background:#66cdb4;box-shadow:inset 0 -3px #2b7664;opacity:.72}.ac-order-stack i:nth-of-type(even){background:#e17972;box-shadow:inset 0 -3px #9a403d}
.ac-flow-arrow{font:700 25px var(--mono);color:#476e63;text-align:center}
.ac-seal{height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px dashed #4a786c;border-radius:14px;background:#0b241db3;overflow:hidden}
.ac-seal em{position:absolute;inset:-35%;border:2px solid #a78cff66;border-radius:45%;transform:rotate(18deg)}.ac-seal b{color:#a78cff;font:900 15px var(--mono)}.ac-seal small{margin-top:5px;color:#8ca99e;font:700 8.5px var(--mono);letter-spacing:.8px}.ac-seal span{position:absolute;left:8px;right:8px;bottom:8px;height:3px;border-radius:3px;background:#183d33;overflow:hidden}.ac-seal span::after{content:"";display:block;height:100%;width:0;background:linear-gradient(90deg,#5fb6ac,var(--lime));box-shadow:0 0 9px var(--lime)}
.ac-clear-card{min-height:83px;border:1px solid #6d8634;border-radius:14px;background:linear-gradient(150deg,#24452b,#11281e);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.42;transform:scale(.96);transition:.3s}
.ac-clear-card small{color:#85a28f;font:800 8.5px var(--mono);letter-spacing:1px}.ac-clear-card strong{margin:3px 0;color:var(--lime);font:900 21px var(--mono)}.ac-clear-card span{color:#cfdfd7;font:800 9px var(--sans);letter-spacing:.5px}
.ac-viz-window.run .ac-order-stack i{animation:acOrderIn .6s ease both}.ac-viz-window.run .ac-order-stack i:nth-of-type(2){animation-delay:.07s}.ac-viz-window.run .ac-order-stack i:nth-of-type(3){animation-delay:.14s}.ac-viz-window.run .ac-order-stack i:nth-of-type(4){animation-delay:.21s}.ac-viz-window.run .ac-order-stack i:nth-of-type(5){animation-delay:.28s}.ac-viz-window.run .ac-order-stack i:nth-of-type(6){animation-delay:.35s}
.ac-viz-window.run .ac-seal{animation:acSeal .9s .35s ease both}.ac-viz-window.run .ac-seal span::after{animation:acFill .62s .32s ease forwards}.ac-viz-window.done .ac-clear-card{opacity:1;transform:none;box-shadow:0 0 25px #d8f24f1f}
@keyframes acOrderIn{0%{transform:translateX(-30px);opacity:0}70%{opacity:1}100%{transform:none}}@keyframes acSeal{50%{border-color:#a78cff;box-shadow:0 0 24px #9b8cff33}}@keyframes acFill{to{width:100%}}

.ac-dual{display:grid;grid-template-columns:1fr 82px 1fr;align-items:stretch;gap:12px;min-height:112px}.ac-dual-lane{display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:8px;align-items:center;border:1px solid #31584d;border-radius:13px;padding:12px;background:#081c16}.ac-dual-lane small{display:block;color:#66897e;font:800 8px var(--mono);letter-spacing:1px}.ac-dual-lane b{font:900 13px var(--sans)}.ac-dual-lane.buy b,.ac-dual-lane.buy strong{color:#77d9bc}.ac-dual-lane.sell b,.ac-dual-lane.sell strong{color:#e6817a}.ac-dual-lane strong{grid-column:1/-1;font:900 19px var(--mono);text-align:right;opacity:.3;transition:.25s}.ac-dual-book{font:800 12px var(--mono);letter-spacing:2px;color:#31584d;white-space:nowrap}.ac-dual-core{align-self:center;aspect-ratio:1;border:1px dashed #8d77d9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9b8cff;background:#18182d80}.ac-dual-core span{font:900 15px var(--mono)}.ac-dual-core b{font:800 8px var(--sans);letter-spacing:.5px}.ac-spread-read{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;color:#6c9185;font:800 10px var(--mono)}.ac-spread-read i{width:42px;height:1px;background:#31584d}.ac-spread-read b{color:#bcd0c8}.ac-viz-dualflow.run .ac-dual-core{animation:acCorePulse .85s ease}.ac-viz-dualflow.run .ac-dual-book{animation:acBook .75s ease}.ac-viz-dualflow.done .ac-dual-lane strong{opacity:1}.ac-viz-dualflow.done .ac-spread-read b{color:var(--lime)}
@keyframes acCorePulse{50%{transform:scale(1.08);border-color:var(--lime);box-shadow:0 0 22px #d8f24f2d}}@keyframes acBook{0%{letter-spacing:8px;opacity:.2}100%{letter-spacing:2px;opacity:1}}

.ac-race{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.ac-runners{display:flex;flex-direction:column;gap:10px}.ac-runners>div{display:grid;grid-template-columns:130px 1fr 20px;align-items:center;gap:9px;color:#829f95;font:800 9.5px var(--mono)}.ac-runners i{height:7px;border-radius:5px;background:#193b32;position:relative;overflow:visible}.ac-runners i::after{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:5px;background:#50796d}.ac-runners b{color:#66897e}.ac-runners .fast{color:#e6c75d}.ac-runners .fast i::after{background:linear-gradient(90deg,#cba644,#ffe976);box-shadow:0 0 10px #ffd76a55}.ac-mini-book{border:1px solid #31584d;border-radius:12px;padding:9px;background:#081c16}.ac-mini-book small{color:#63877c;font:800 8px var(--mono);letter-spacing:1px}.ac-mini-book p{display:flex;justify-content:space-between;margin:5px 0 0;padding:5px 7px;border-radius:5px;background:#102c24;color:#809e93;font:700 10px var(--mono)}.ac-mini-book p:first-of-type{border:1px solid #e2635e66;color:#e88a83}.ac-mini-book p span{font-size:8px}.ac-viz-speedrace.run .ac-runners .fast i::after{animation:acRaceFast .52s ease forwards}.ac-viz-speedrace.run .ac-runners>div:not(.fast) i::after{animation:acRaceSlow 1.25s ease forwards}.ac-viz-speedrace.run .ac-runners>div:nth-child(3) i::after{animation-duration:1.42s}.ac-viz-speedrace.done .ac-mini-book p:first-of-type{opacity:.28;text-decoration:line-through}
@keyframes acRaceFast{to{width:100%}}@keyframes acRaceSlow{to{width:100%}}

.ac-depth-compare{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ac-depth-compare>div{border:1px solid #31584d;border-radius:13px;padding:12px;background:#081c16}.ac-depth-compare header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ac-depth-compare header b{font:900 14px var(--mono)}.ac-depth-compare .clob header b{color:#e6817a}.ac-depth-compare .dfba header b{color:#7bd9bc}.ac-depth-compare header span{color:#65887d;font:700 9px var(--sans)}.ac-depth-compare>div>div{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:7px}.ac-depth-compare i{display:block;width:0;max-width:var(--w);height:22px;border-radius:5px;background:#e2635e;transition:width .8s cubic-bezier(.2,.8,.2,1)}.ac-depth-compare i:first-child{justify-self:end}.ac-depth-compare .dfba i{background:#5fb6ac}.ac-depth-compare em{text-align:center;color:#75958a;font:800 8px var(--mono);font-style:normal}.ac-depth-compare strong{display:block;margin-top:9px;text-align:center;color:#829f95;font:800 9px var(--mono);letter-spacing:.8px}.ac-viz-spread.run .ac-depth-compare i{width:var(--w)}.ac-viz-spread.done .dfba{border-color:#5fb6ac88;box-shadow:inset 0 0 20px #5fb6ac12}

.ac-clearing{display:grid;grid-template-columns:1fr 74px 1fr;gap:10px;align-items:end}.ac-curve{display:flex;flex-direction:column;gap:7px}.ac-curve small{color:#698b80;font:800 8.5px var(--mono);letter-spacing:.8px;margin-bottom:2px}.ac-curve i{display:block;width:0;max-width:var(--w);height:12px;border-radius:4px;background:#5fb6ac;transition:width .65s ease}.ac-curve.demand i{align-self:flex-end;background:#7bd9bc}.ac-curve.supply i{background:#e6817a}.ac-clear-axis{display:flex;flex-direction:column;gap:7px;text-align:center;color:#618479;font:700 9px var(--mono)}.ac-clear-axis span{height:12px;line-height:12px}.ac-clear-axis .winner{color:#25320a;background:var(--lime);border-radius:5px;font-weight:900;transform:scale(.8);opacity:.35;transition:.3s}.ac-pro-rata{margin-top:12px;display:grid;grid-template-columns:auto 1fr;gap:5px 12px;align-items:center}.ac-pro-rata>span{grid-row:1/3;color:#77978c;font:800 8.5px var(--mono);letter-spacing:.8px}.ac-pro-rata>div{display:flex;height:19px;border-radius:5px;overflow:hidden;background:#173a31}.ac-pro-rata i{width:0;max-width:var(--share);overflow:hidden;white-space:nowrap;text-align:center;color:#071611;background:#7bd9bc;font:900 8px/19px var(--mono);font-style:normal;transition:width .65s .35s ease}.ac-pro-rata i+ i{background:#d8f24f}.ac-pro-rata b{color:#77978c;font:700 9px var(--sans)}.ac-viz-clearing.run .ac-curve i{width:var(--w)}.ac-viz-clearing.done .ac-clear-axis .winner{transform:none;opacity:1;box-shadow:0 0 12px #d8f24f55}.ac-viz-clearing.done .ac-pro-rata i{width:var(--share)}
.ac-takeaway{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:11px 0 2px;padding:10px 12px;border-radius:11px;background:#17182b80;border:1px solid #9b8cff45}.ac-takeaway b{color:#aa96ff;font:900 8.5px var(--mono);letter-spacing:1px;padding-top:2px}.ac-takeaway span{color:#c5d6cf;font:600 11.5px/1.5 var(--sans)}
@media(max-width:680px){.ac-pipeline{grid-template-columns:1fr 18px 1.15fr 18px 1fr;gap:4px}.ac-order-stack{grid-template-columns:repeat(2,24px)}.ac-order-stack i:nth-of-type(n+5){display:none}.ac-flow-arrow{font-size:17px}.ac-seal{height:92px}.ac-clear-card strong{font-size:16px}.ac-dual{grid-template-columns:1fr 58px 1fr}.ac-dual-book{display:none}.ac-race{grid-template-columns:1fr}.ac-runners>div{grid-template-columns:104px 1fr 16px}.ac-depth-compare{grid-template-columns:1fr}.ac-clearing{grid-template-columns:1fr 62px 1fr}.ac-viz{padding:12px}.ac-viz-head{align-items:flex-start}.ac-viz-head>span{max-width:55%;line-height:1.35}}
@media(prefers-reduced-motion:reduce){.ac-viz *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

#mobileActions{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));
  z-index:22;display:grid;grid-template-columns:58px 58px;grid-template-rows:58px 58px;gap:10px;pointer-events:auto}
#mobileActions button{border-radius:50%;border:1px solid #d8f24f99;background:#09251fbb;color:var(--lime);
  font:800 18px var(--mono);backdrop-filter:blur(8px);box-shadow:0 5px 20px #0005;touch-action:none}
#mEmote{grid-column:1;grid-row:1}#mJump{grid-column:2;grid-row:1}#mChat{grid-column:1;grid-row:2}#mUse{grid-column:2;grid-row:2}
#mUse.active{background:#d8f24f;color:#0a1400;box-shadow:0 0 18px #d8f24f88}
#mobileActions button{font-size:20px}
#flightHud{position:fixed;left:50%;bottom:48px;z-index:20;transform:translateX(-50%);min-width:300px;padding:10px 14px 9px;
  border:1px solid #ff9a4f88;border-radius:13px;background:linear-gradient(135deg,#170c08e8,#09251fe8);box-shadow:0 8px 28px #0008,0 0 22px #ff6a2928;
  display:grid;grid-template-columns:auto auto;gap:3px 14px;align-items:center;pointer-events:none;backdrop-filter:blur(10px)}
#flightHud.hidden{display:none}#flightHud b{color:#ffb469;font:900 11px var(--mono);letter-spacing:1.2px}#flightHud span{color:#d7e4dc;font:700 9px var(--mono);text-align:right}
#flightHud i{grid-column:1/3;display:block;position:relative;height:12px;margin-top:3px;border-radius:7px;background:#17352d;overflow:hidden}#flightHud i::after{content:"";display:block;width:var(--alt,0%);height:100%;background:linear-gradient(90deg,#ff7a3c,#ffe06b);box-shadow:0 0 8px #ffb85c;transition:width .12s linear}#flightAltitude{display:block;position:absolute;z-index:1;right:5px;top:0;color:#fff;font:900 8px/12px var(--mono);font-style:normal;text-shadow:0 1px 2px #000}
#petQuickAction{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(82px,calc(env(safe-area-inset-bottom) + 82px));z-index:25;display:flex;align-items:center;gap:9px;padding:8px 13px 8px 8px;border:1px solid #b9ef6a88;border-radius:15px;background:linear-gradient(145deg,#153a30f2,#081d18f2);color:#f0ffe1;box-shadow:0 9px 28px #0008,0 0 20px #c9ff5630;cursor:pointer;font:850 11px var(--sans);backdrop-filter:blur(10px)}#petQuickAction.hidden{display:none}#petQuickAction:hover{border-color:var(--lime);transform:translateY(-1px)}#petQuickAction kbd{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ecff94;border-radius:9px;background:var(--lime);color:#102016;box-shadow:inset 0 -3px 0 #9fba38,0 0 13px #d8f24f55;font:950 14px var(--mono)}#petQuickAction span{white-space:nowrap}
@media(max-width:700px){#flightHud{bottom:162px;min-width:0;width:min(78vw,310px);grid-template-columns:1fr}#flightHud span{text-align:left}#flightHud i{grid-column:1}#flightControls{font-size:0}#flightControls::after{content:"↑ 상승 · ↓ 하강 · R 착륙 · 조이스틱 이동";font-size:9px}#petQuickAction{right:10px;bottom:105px;padding:6px 9px 6px 6px}#petQuickAction kbd{width:27px;height:27px}#mEmote{font-size:9px!important}}
#emotes{position:fixed;right:14px;bottom:42px;z-index:12;display:flex;gap:5px;pointer-events:auto}
#emotes button{width:30px;height:30px;border-radius:8px;border:1px solid var(--edge);background:#0a2420b8;color:var(--ink);
  opacity:.65;cursor:pointer}.emotes button:hover,#emotes button:focus-visible{opacity:1;border-color:var(--lime)}
#legal{position:fixed;left:50%;bottom:5px;transform:translateX(-50%);z-index:11;color:#779087;
  font:8.5px var(--mono);letter-spacing:.35px;pointer-events:none;white-space:nowrap}
#perf{position:fixed;right:14px;bottom:82px;z-index:13;padding:6px 8px;border:1px solid var(--edge);border-radius:7px;
  background:#061816db;color:var(--lime);font:10px var(--mono)}
#loading{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  background:radial-gradient(circle at 50% 40%,#123a31,#04110e 65%);font:11px var(--mono);letter-spacing:1px;color:var(--ink2);
  transition:opacity .5s}
#loading.done{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s,visibility 0s .45s}.loader-mark{width:54px;height:54px;animation:spin 3.2s linear infinite}
.loader-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(93%) sepia(77%) saturate(523%) hue-rotate(26deg) brightness(106%) contrast(104%) drop-shadow(0 0 14px var(--lime))}
@keyframes spin{to{transform:rotate(360deg)}}
/* weekly challenge in the quests panel */
.weekly-q{margin-top:11px;padding:9px 10px;background:linear-gradient(150deg,#15342c,#0c241e);border:1px solid #2c5a4e;border-radius:11px}
.weekly-q.done{opacity:.6}
.wq-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.wq-label{font:800 9px var(--mono);letter-spacing:1.2px;color:#b3a6ff}
#wqReward{font:800 11px var(--mono);color:var(--lime)}
.wq-text{font:600 11px var(--sans);color:var(--ink2);line-height:1.35;margin-bottom:6px}
.wq-bar{height:5px;background:#0e2a24;border-radius:3px;overflow:hidden;border:1px solid #1a4238}
#wqFill{height:100%;background:linear-gradient(90deg,#9b8cff,#d8f24f);border-radius:3px;transition:width .4s}
.wq-claim{margin-top:8px;width:100%;border:0;border-radius:9px;padding:8px;font:800 12px var(--sans);cursor:pointer;
  background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;animation:wqPulse 1.6s ease-in-out infinite}
@keyframes wqPulse{0%,100%{box-shadow:0 0 0 0 #d8f24f00}50%{box-shadow:0 0 16px 0 #d8f24f66}}
/* first-login guided tour — friendly coach-marks that spotlight each real UI element */
.guide-ov{position:fixed;inset:0;z-index:80;animation:gfade .3s}
.guide-ov.dim{background:radial-gradient(circle at 50% 40%,#0d3028d0,#04120ed8);backdrop-filter:blur(3px)}
.guide-spot{position:fixed;border-radius:18px;pointer-events:none;transition:left .34s cubic-bezier(.3,.9,.3,1),top .34s,width .34s,height .34s;
  box-shadow:0 0 0 4000px rgba(4,15,12,.66),0 0 0 3px var(--gc,#d8f24f),0 0 30px 2px color-mix(in srgb,var(--gc,#d8f24f) 55%,transparent);z-index:80;animation:spotPulse 2.4s ease-in-out infinite}
@keyframes spotPulse{50%{box-shadow:0 0 0 4000px rgba(4,15,12,.66),0 0 0 3px var(--gc,#d8f24f),0 0 44px 8px color-mix(in srgb,var(--gc,#d8f24f) 42%,transparent)}}
.guide-card{--gc:#d8f24f;position:fixed;left:50%;top:50%;width:min(92vw,346px);text-align:left;padding:20px 22px 18px;z-index:82;
  background:linear-gradient(158deg,#16463a,#0a231d);border:1.5px solid color-mix(in srgb,var(--gc) 40%,var(--edge));border-radius:24px;
  box-shadow:0 26px 74px #000d,inset 0 1px 0 #ffffff1a,0 0 72px -24px var(--gc);transition:left .3s cubic-bezier(.3,.9,.3,1),top .3s}
.guide-card.center{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(92vw,410px);text-align:center;padding:30px 28px 22px;border-radius:26px}
.guide-card.anim{animation:guidePop .34s cubic-bezier(.3,1.2,.4,1)}
@keyframes guidePop{from{opacity:0;transform:translateY(8px) scale(.96)}}
.guide-card.center.anim{animation:guidePopC .34s cubic-bezier(.3,1.2,.4,1)}
@keyframes guidePopC{from{opacity:0;transform:translate(-50%,-44%) scale(.96)}to{transform:translate(-50%,-50%)}}
/* little arrow pointing at the highlighted element */
.guide-card[data-arrow]::before{content:"";position:absolute;width:15px;height:15px;background:#16463a;border:1.5px solid color-mix(in srgb,var(--gc) 40%,var(--edge));border-radius:3px;transform:rotate(45deg)}
.guide-card[data-arrow=top]::before{top:-8px;left:var(--ax,50%);margin-left:-7px;border-right:0;border-bottom:0}
.guide-card[data-arrow=bottom]::before{bottom:-8px;left:var(--ax,50%);margin-left:-7px;border-left:0;border-top:0}
.guide-card[data-arrow=left]::before{left:-8px;top:50%;margin-top:-7px;border-top:0;border-right:0}
.guide-card[data-arrow=right]::before{right:-8px;top:50%;margin-top:-7px;border-bottom:0;border-left:0}
.guide-skip{position:absolute;top:13px;right:14px;background:#0a1c1799;border:1px solid var(--edge);border-radius:20px;padding:4px 11px;color:var(--mut);font:700 10.5px var(--sans);cursor:var(--cur-pt);letter-spacing:.3px;transition:.16s}
.guide-skip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gc) 40%,var(--edge))}
.guide-top{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.guide-card.center .guide-top{justify-content:center;flex-direction:column;gap:8px}
.guide-ic{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;flex:none;
  background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--gc) 34%,#0c2620),#0a1c17);
  border:2px solid color-mix(in srgb,var(--gc) 70%,#2c5a4e);box-shadow:0 0 24px -6px var(--gc),inset 0 2px 6px #ffffff14;animation:guideBob 3s ease-in-out infinite}
@keyframes guideBob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}}
.guide-count{font:800 10px var(--mono);letter-spacing:1.6px;color:var(--gc)}
.guide-title{font:800 19px ui-rounded,"SF Pro Rounded",var(--sans);letter-spacing:-.2px;margin-bottom:6px;color:var(--ink);line-height:1.2}
.guide-body{font:500 13.5px var(--sans);line-height:1.6;color:var(--ink2);min-height:56px}
.guide-body b{color:var(--ink);font-weight:800;background:color-mix(in srgb,var(--gc) 18%,transparent);border-radius:6px;padding:1px 5px}
.guide-dots{display:flex;gap:7px;justify-content:center;margin:14px 0 14px}
.guide-dots span{width:7px;height:7px;border-radius:50%;background:var(--edge);cursor:var(--cur-pt);transition:.24s cubic-bezier(.3,1.3,.5,1)}
.guide-dots span.on{background:var(--gc);width:22px;border-radius:4px;box-shadow:0 0 10px color-mix(in srgb,var(--gc) 60%,transparent)}
.guide-nav{display:flex;gap:10px}
.guide-nav .pill-btn{flex:1;padding:11px;border-radius:14px;font-weight:800}
.guide-nav .guide-next{background:var(--gc);border-color:var(--gc);color:#0a1400;box-shadow:0 7px 20px -7px var(--gc);animation:guideNextPulse 2s ease-in-out infinite}
.guide-nav .guide-next:hover{transform:translateY(-2px) scale(1.02)}
@keyframes guideNextPulse{50%{box-shadow:0 11px 26px -7px var(--gc)}}
.onboarding-card{text-align:center;background:linear-gradient(145deg,#0d3028,#071a16);box-shadow:0 30px 100px #000b}
.onboard-mark{font-size:42px;color:var(--lime);filter:drop-shadow(0 0 20px var(--lime));margin-bottom:6px}
.onboarding-card h2{font-size:23px;margin-bottom:10px}.onboarding-card p{font-size:13px;line-height:1.6;color:var(--ink2)}
.control-grid{display:grid;grid-template-columns:70px 1fr;gap:5px 10px;text-align:left;margin:18px 0;font:10px var(--mono)}
.control-grid span{color:var(--lime);border:1px solid var(--edge);padding:5px 7px;border-radius:6px;text-align:center}
.control-grid b{color:var(--mut);padding:6px}.onboarding-card>.pill-btn{display:block;width:100%;text-align:center}
body.color-safe{--lime:#f3d44e;--teal:#57c8ff;--red:#ff7085}
body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

@media(max-width:760px){
  #topbar{height:46px;padding-left:10px;padding-right:8px;gap:7px}.brand{font-size:11px}.brand .v{display:none}
  .stats{gap:7px;font-size:9.5px}.stats .stat:nth-child(3){display:none}.icon-btn{width:28px;height:27px}
  #marketBar{top:43px;max-width:96vw;overflow:hidden;padding:5px 8px;gap:8px;font-size:9px}
  #marketBar span:nth-last-child(-n+2){display:none}.paper-tag{max-width:92px;overflow:hidden;text-overflow:ellipsis}
  #leftpanel{top:78px;left:8px;width:auto;flex-direction:row;gap:6px}
  #leftpanel .pill-btn{width:40px;height:36px;padding:0;text-align:center;font-size:14px}
  #leftpanel .pill-btn span:last-child{display:none}
  #questBox,#lbBox{display:none}
  #rightpanel{top:82px;right:8px;width:105px}#minimap{width:104px;height:104px}#districtName{font-size:8px}
  #batchPrompt{top:74px;min-width:154px;padding:7px 11px;border-radius:9px}
  .bp-title{font-size:11px}.bp-sub{display:none}.bp-bar{margin-top:6px}
  #chatBox{left:8px;bottom:28px;width:185px;max-width:46vw}#chatLog{max-height:80px;font-size:10.5px}#chatInput{padding:7px 9px;font-size:11px}
  #hint,#emotes{display:none}.game-win{height:94dvh}.game-body{padding:12px}
  #toast{right:auto;left:50%;top:76px;bottom:auto;transform:translateX(-50%);width:min(250px,calc(100vw - 24px))}
  @keyframes tin{from{transform:translate(-50%,-8px);opacity:0}}
  .game-head{padding:10px 12px}.game-head .gs,.paper-game{display:none}.game-head .gt{font-size:12px}
  .game-body>div>div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}
  #legal{font-size:7px;bottom:3px}.modal-card{max-height:92dvh;overflow:auto}
}

@media(max-width:430px){
  .stats .stat:nth-child(2){display:none}
  .stats{gap:5px}
}

@media(max-width:760px) and (max-height:600px){
  #rightpanel{display:none}
  #chatLog{max-height:60px}
  #chatBox{bottom:6px}
  #batchPrompt{top:70px}
  #toast{left:auto;right:8px;top:auto;bottom:8px;transform:none;width:min(235px,calc(100vw - 105px))}
}

@media(max-height:680px) and (min-width:761px){
  #lbBox{display:none}#questBox{padding:8px 10px}.quest{font-size:10px}
}

/* ================= HUD refinement — panels · tabs · minimap ================= */
.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

#leftpanel{width:226px;gap:9px;transition:width .24s cubic-bezier(.2,.8,.25,1)}
.dock{display:flex;gap:8px}
.dock-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 6px;
  background:linear-gradient(160deg,#0e2e26,#081d19);border:1px solid var(--edge);border-radius:14px;
  color:var(--ink2);font:600 10.5px var(--sans);cursor:pointer;position:relative;overflow:hidden;
  transition:transform .12s,border-color .15s,color .15s,box-shadow .2s}
.dock-btn .ic{width:21px;height:21px;color:var(--teal);transition:color .15s,transform .2s}
.dock-btn:hover{border-color:var(--lime);color:var(--ink);transform:translateY(-1px);box-shadow:0 7px 20px #0006,0 0 20px #d8f24f22}
.dock-btn:hover .ic{color:var(--lime);transform:scale(1.1)}
.dock-btn:active{transform:translateY(0) scale(.96)}
.dock-btn::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,#d8f24f30,transparent 68%);opacity:0;transition:opacity .2s;pointer-events:none}
.dock-btn:hover::after{opacity:1}
/* daily check-in, done for the day (UTC) — inactive/greyed, non-clickable */
.dock-btn:disabled,.dock-btn.done{cursor:default;opacity:.55;filter:grayscale(.4);color:var(--mut);
  border-color:var(--edge);border-style:dashed;box-shadow:none;transform:none}
.dock-btn:disabled:hover,.dock-btn.done:hover{border-color:var(--edge);color:var(--mut);transform:none;box-shadow:none}
.dock-btn:disabled:hover::after,.dock-btn.done:hover::after{opacity:0}
.dock-btn.done .ic{color:var(--lime)}
.dock-btn.done .ic::after{content:"✓"}

.hudcard{background:linear-gradient(162deg,#0c2b24f2,#071b17f4);border:1px solid var(--edge);border-radius:16px;
  overflow:hidden;box-shadow:0 16px 44px #0007,inset 0 1px 0 #ffffff0d}
.tabbar{display:flex;padding:6px;gap:4px;background:#08201bcc;border-bottom:1px solid #1c3f37}
.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 3px;border:0;border-radius:10px;
  background:transparent;color:var(--mut);font:700 11px var(--sans);cursor:pointer;transition:.16s;position:relative}
.tab .ic{width:15px;height:15px}
.tab:hover{color:var(--ink2)}
.tab.on{background:linear-gradient(#123a30,#0e2c25);color:var(--lime);box-shadow:0 2px 10px #0005,0 0 0 1px #d8f24f30}
.tab.on .ic{color:var(--lime);filter:drop-shadow(0 0 5px #d8f24f99)}
.pet-tab-icon{font-size:14px;line-height:1}
.pet-pane{padding:8px!important}.pet-panel{max-height:min(62vh,460px);overflow:auto;padding-right:3px}
.pet-room{position:relative;height:142px;overflow:hidden;border:1px solid #37665a;border-radius:15px;background:radial-gradient(circle at 72% 28%,#6de4d526,transparent 28%),linear-gradient(180deg,#173b42 0 54%,#315148 54% 57%,#18372e 57%);box-shadow:inset 0 0 32px #0007;margin-bottom:8px}
.pet-room::before{content:"";position:absolute;left:12px;top:12px;width:54px;height:40px;border:5px solid #dceadf;border-radius:24px 24px 5px 5px;background:linear-gradient(#8fdcff,#dff6ff);box-shadow:0 0 18px #8fdcff55}
.pet-room::after{content:"✦  PET NOOK";position:absolute;right:9px;top:9px;color:var(--lime);font:800 8px var(--mono);letter-spacing:1px;text-shadow:0 0 8px var(--lime)}
.pet-room canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.pet-room.stage-three{border-color:#d8f24f88;box-shadow:inset 0 0 36px #0007,0 0 18px #d8f24f22}
.pet-room-empty{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;text-align:center;color:#b7cbc2;font:700 10px/1.4 var(--sans)}
.pet-demo-lookbook{margin:-1px 0 8px;padding:8px;border:1px solid #3b5f56;border-radius:11px;background:#071c17}.pet-demo-lookbook>small{display:block;margin-bottom:6px;color:#8fb8aa;font:800 7.5px var(--mono);letter-spacing:.06em}.pet-demo-lookbook>div{display:grid;gap:5px}.pet-demo-lookbook span{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pet-demo-lookbook button{min-width:0;padding:6px 2px;border:1px solid #315a4f;border-radius:8px;background:#0b2821;color:#9fbab0;font:800 7.5px var(--sans);cursor:pointer}.pet-demo-lookbook button.on{border-color:var(--lime);background:#1d382c;color:#effbd9;box-shadow:0 0 10px #d8f24f2b}.pet-demo-lookbook span:last-child button:last-child{color:#e8ff87}
.pet-preview-caption{display:block;margin-top:7px;padding:6px 8px;border-radius:8px;background:#d8f24f0c;color:#c4d5ce;font:750 8px/1.35 var(--mono);text-align:center}.pet-actual-label{display:flex;align-items:center;gap:6px;margin:10px 0 5px;color:#d8f24f;font:900 8px var(--mono);letter-spacing:.12em}.pet-actual-label::before{content:"";width:4px;height:12px;border-radius:4px;background:var(--lime);box-shadow:0 0 9px var(--lime)}
@media(min-width:761px){#leftpanel.pets-open{width:min(400px,calc(100vw - 28px))}#leftpanel.pets-open .pet-panel{max-height:min(calc(100dvh - 228px),650px)}#leftpanel.pets-open .pet-room{height:242px}#leftpanel.pets-open .pet-demo-lookbook{padding:11px}#leftpanel.pets-open .pet-demo-lookbook button{font-size:9.5px;padding:9px 4px}#leftpanel.pets-open .pet-head b{font-size:14px}#leftpanel.pets-open .pet-btn{padding:10px 8px;font-size:11px}#leftpanel.pets-open~#chatBox{left:428px;transition:left .24s cubic-bezier(.2,.8,.25,1)}}
.pet-head{display:flex;align-items:center;gap:7px;margin:4px 2px 7px}.pet-head b{color:#eff8f1;font:800 12px var(--sans)}.pet-head span{margin-left:auto;color:var(--lime);font:800 9px var(--mono)}
.pet-egg{padding:10px;border:1px solid #5b526f;border-radius:13px;background:linear-gradient(145deg,#172c28,#241f37);text-align:center;margin-bottom:8px}
.pet-egg-orb{font-size:37px;filter:drop-shadow(0 0 12px #b79bff);animation:petEgg 1.8s ease-in-out infinite}.pet-egg strong{display:block;color:#eee8ff;font-size:12px;margin:2px}.pet-egg small{color:#aebfb7;font:8.5px var(--mono)}
@keyframes petEgg{50%{transform:translateY(-3px) rotate(4deg)}}
.pet-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.pet-btn{border:1px solid #37665a;border-radius:9px;background:#0b251f;color:#d9e9e1;padding:7px 5px;font:800 10px var(--sans);cursor:pointer}.pet-btn:hover{border-color:var(--lime);color:#fff}.pet-btn.primary{background:var(--lime);color:#0a160d;border-color:var(--lime)}.pet-btn.danger{border-color:#d95c5c88;background:#331815;color:#ffaaa2}.pet-btn.danger:hover{border-color:#ff6b69;background:#52201b;box-shadow:0 0 16px #ff6b6933}.pet-release{width:100%;margin-top:7px}.pet-btn:disabled{opacity:.42;cursor:not-allowed}
.pet-progress{height:5px;border-radius:4px;background:#071813;overflow:hidden;margin:6px 0}.pet-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--lime));box-shadow:0 0 8px var(--lime)}
.pet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pet-stats span{padding:5px 2px;border-radius:7px;background:#071b16;color:#a9c1b7;text-align:center;font:700 7.5px var(--mono)}.pet-stats b{display:block;color:#eff8f1;font-size:10px;margin-top:2px}
.pet-roster{display:flex;gap:5px;overflow-x:auto;margin:7px 0}.pet-chip{min-width:55px;border:1px solid #315a4f;background:#0a201b;border-radius:10px;padding:6px 4px;text-align:center;color:#a9c1b7;font:700 8px var(--sans);cursor:pointer}.pet-chip.on{border-color:var(--lime);color:#fff;box-shadow:0 0 10px #d8f24f33}.pet-chip i{display:block;font-style:normal;font-size:20px}.pet-evo{margin-top:7px;padding:7px;border:1px dashed #4e655d;border-radius:9px;color:#9fb5ac;font:700 8px/1.45 var(--mono)}
.pet-release-confirm{width:min(430px,calc(100vw - 28px));padding:27px;border:1px solid #ff6b6988;border-radius:20px;background:linear-gradient(155deg,#291613f7,#0c1714fa);box-shadow:0 24px 80px #000c,0 0 40px #ff6b6918;text-align:center}.pet-release-confirm>small{color:#ff8e84;font:900 10px var(--mono);letter-spacing:.14em}.pet-release-mark{display:grid;place-items:center;width:52px;height:52px;margin:15px auto 10px;border:2px solid #ff6b69;border-radius:50%;color:#ff8e84;font:950 28px var(--mono);box-shadow:0 0 24px #ff6b6938}.pet-release-confirm h3{margin:0 0 10px;color:#fff;font:900 21px var(--sans)}.pet-release-confirm p{color:#bdc9c3;font:650 13px/1.65 var(--sans)}.pet-release-confirm p b{color:#ff9a91}.pet-release-confirm>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.pet-release-confirm button{padding:12px;border:1px solid #405e55;border-radius:11px;background:#102a23;color:#e2eee8;font:850 12px var(--sans);cursor:pointer}.pet-release-confirm button.danger{border-color:#ff6b69;background:#d9564b;color:#fff}.pet-release-confirm button.danger:hover{background:#ef675a;box-shadow:0 0 18px #ff6b6944}
.panes{padding:12px;position:relative}
.pane{display:none}
.pane.on{display:block}
.pane.anim{animation:paneIn .34s cubic-bezier(.2,.85,.25,1)}
@keyframes paneIn{from{opacity:0;transform:translateY(9px) scale(.985);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}

.wardrobe{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ward-tile{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--edge);border-radius:12px;
  background:linear-gradient(150deg,#0f2e26,#0a221d);cursor:pointer;color:var(--ink2);font:600 11.5px var(--sans);
  transition:transform .13s,border-color .15s,color .15s,box-shadow .2s}
.ward-tile .ic{width:18px;height:18px;color:var(--amber)}
.ward-tile:nth-child(2) .ic{color:var(--teal)}
.ward-tile:nth-child(3) .ic{color:var(--violet)}
.ward-tile:nth-child(4) .ic{color:var(--lime)}
.ward-tile:hover{border-color:var(--lime);color:var(--ink);transform:translateY(-1px);box-shadow:0 7px 18px #0006}
.ward-tile:active{transform:scale(.96)}
.ward-hint{grid-column:1/-1;color:var(--mut);font:10px var(--mono);text-align:center;margin-top:3px}

/* minimap compass frame */
#rightpanel{width:232px}
.mapframe{position:relative;width:180px;height:180px;margin:0 auto}
.mapframe #minimap{position:relative;z-index:1;display:block}
.map-ring{position:absolute;inset:-6px;border-radius:50%;pointer-events:none;opacity:.75;
  background:conic-gradient(from 0deg,#d8f24f00,#d8f24f66,#d8f24f00 38%,#5fb6ac66,#5fb6ac00 66%,#d8f24f00);
  -webkit-mask:radial-gradient(circle,transparent 88px,#000 90px);mask:radial-gradient(circle,transparent 88px,#000 90px);
  animation:mapspin 20s linear infinite}
@keyframes mapspin{to{transform:rotate(360deg)}}
.mapframe::before{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid #315d52;box-shadow:inset 0 0 24px #000a;pointer-events:none;z-index:2}
.map-n{position:absolute;top:-4px;left:50%;transform:translateX(-50%);z-index:3;color:var(--lime);
  font:700 9px var(--mono);background:#08201b;padding:1px 6px;border-radius:7px;border:1px solid #315d52}
.map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px;margin-top:10px}
.map-legend span{display:flex;align-items:center;gap:5px;color:var(--mut);font:600 9px var(--mono)}
.map-legend span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c)}

@media(max-width:760px){
  #leftpanel{flex-direction:column!important;width:auto;gap:7px}
  .dock{flex-direction:row}
  .dock-btn{padding:9px}.dock-btn span{display:none}
  .hudcard{display:none}
  #rightpanel{width:132px}
  .mapframe,.mapframe #minimap{width:126px;height:126px}
  .map-ring{-webkit-mask:radial-gradient(circle,transparent 60px,#000 62px);mask:radial-gradient(circle,transparent 60px,#000 62px)}
  .map-legend{display:none}
}

/* ===== market bar removed + tidy top-right info band ===== */
#marketBar{display:none !important}
#topbar .stats{background:#0a2420d0;border:1px solid var(--edge);border-radius:999px;padding:5px 6px;gap:0;
  box-shadow:0 3px 14px #0006;backdrop-filter:blur(10px)}
#topbar .stats .stat{padding:2px 12px;border-right:1px solid #ffffff16;display:flex;align-items:center;gap:5px;line-height:1}
#topbar .stats .stat:last-child{border-right:0}
#topbar .stats .stat.live b{color:#79d6ae}

/* ===== game hub ===== */
.hub-win{width:min(94vw,720px);max-height:88vh;overflow:auto;background:linear-gradient(160deg,#0c2b24,#07201b);border-radius:20px;
  box-shadow:0 34px 100px #000b,0 0 0 1px #d8f24f55,0 0 70px -14px #d8f24f;animation:grise .28s cubic-bezier(.2,.8,.2,1)}
.hub-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--edge);background:linear-gradient(#0d2f27,#07201b)}
.hub-title{font:800 18px var(--mono);letter-spacing:1px;color:var(--lime)}
.hub-sub{font-size:12px;color:var(--mut)}
.hub-head .gx{margin-left:auto}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:20px}
.hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;border:1px solid var(--edge);border-radius:14px;
  background:linear-gradient(155deg,#0f2e26,#0a221d);cursor:pointer;transition:transform .13s,border-color .15s,box-shadow .2s;text-align:left}
.hub-card:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 10px 26px #0007,0 0 26px -6px var(--acc)}
.hub-ic{font-size:26px;color:var(--acc);filter:drop-shadow(0 0 8px var(--acc))}
.hub-name{font:700 15px var(--sans);color:var(--ink)}
.hub-desc{font-size:12px;color:var(--ink2)}

/* ===== customize: live preview + controls ===== */
.cz-card{width:min(96vw,880px)}
.cz-wrap{display:flex;gap:20px;margin-top:6px}
.cz-preview{flex:0 0 250px;background:radial-gradient(circle at 50% 32%,#15423a,#07201b 72%);border:1px solid var(--edge);
  border-radius:14px;position:relative;min-height:310px;overflow:hidden;box-shadow:inset 0 0 30px #0007}
.cz-preview canvas{width:100%;height:100%;display:block}
.cz-hint{position:absolute;bottom:9px;left:0;right:0;text-align:center;font:10px var(--mono);color:var(--lime);letter-spacing:1px;opacity:.75}
.cz-controls{flex:1;min-width:0;max-height:62vh;overflow:auto;padding-right:4px}
.cz-controls label:first-child{margin-top:0}
@media(max-width:640px){.cz-wrap{flex-direction:column}.cz-preview{flex:0 0 240px;min-height:240px}}

.hatopt.locked{opacity:.72;border-style:dashed}
.hatopt.locked.sel{opacity:1;border-style:solid}

/* ===== trading position demo (bottom-right) ===== */
#posPanel{position:fixed;right:14px;bottom:80px;z-index:14;width:214px;pointer-events:auto;font-family:var(--sans)}
.pos-open{width:100%;background:linear-gradient(150deg,#0e2e26,#0a221d);border:1px solid var(--edge);color:var(--ink2);
  border-radius:12px;padding:10px;font:700 12px var(--sans);cursor:pointer;transition:.15s}
.pos-open:hover{border-color:var(--lime);color:var(--lime)}
#posForm,#posLive{background:linear-gradient(150deg,#0c2b24f5,#07201bf5);border:1px solid var(--edge);border-radius:12px;padding:11px;
  box-shadow:0 14px 34px #0008;backdrop-filter:blur(8px)}
.pos-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.pos-row:last-child{margin-bottom:0}
.pos-side{flex:1;border:1px solid var(--edge);background:transparent;border-radius:9px;padding:7px;font:700 12px var(--sans);cursor:pointer;color:var(--mut)}
.pos-side.long{border-color:#2f6b4a}.pos-side.long.on{background:var(--lime);color:#0a1400;border-color:var(--lime)}
.pos-side.short{border-color:#6b3330}.pos-side.short.on{background:var(--red);color:#210b0a;border-color:var(--red)}
.pos-lbl{font:10px var(--mono);color:var(--mut)}
.pos-step{width:26px;height:26px;border:1px solid var(--edge);background:var(--sur);color:var(--ink);border-radius:7px;cursor:pointer;font-size:14px}
.pos-unit{color:var(--mut);font-size:11px}
#posSize{font-family:var(--mono);min-width:44px;text-align:center}
.pos-confirm{flex:1;background:var(--lime);color:#0a1400;border:0;border-radius:9px;padding:8px;font:700 12px var(--sans);cursor:pointer}
.pos-cancel{width:30px;border:1px solid var(--edge);background:var(--sur);color:var(--ink2);border-radius:8px;cursor:pointer}
.pos-live-top{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.pos-badge{font:700 10px var(--mono);padding:2px 7px;border-radius:6px}
.pos-badge.long{background:#2f6b4a55;color:var(--lime)}.pos-badge.short{background:#6b333055;color:var(--red)}
.pos-live-top>b{font-family:var(--mono);font-size:12px}
.pos-share{margin-left:auto;display:flex;align-items:center;gap:4px;font:10px var(--mono);color:var(--ink2);cursor:pointer}
.pos-share input{accent-color:var(--lime)}
.pos-live-mid{display:flex;justify-content:space-between;font:10.5px var(--mono);color:var(--ink2);margin-bottom:5px}
.pos-live-mid b{color:var(--ink)}
.pos-pnl{font:800 23px var(--mono);text-align:center;margin:2px 0 9px;color:var(--lime)}
.pos-close{width:100%;border:1px solid var(--edge);background:var(--sur);color:var(--ink2);border-radius:9px;padding:7px;font:600 11px var(--sans);cursor:pointer}
.pos-close:hover{border-color:var(--red);color:var(--red)}
@media(max-width:760px){#posPanel{display:none}}

/* ===== wallet login ===== */
#loginModal{z-index:60}
.login-card{width:min(94vw,382px);text-align:center;background:linear-gradient(150deg,#0d3028,#071a16);box-shadow:0 30px 100px #000c}
.login-mark{font-size:40px;color:var(--lime);filter:drop-shadow(0 0 20px var(--lime));margin-bottom:6px}
.login-card h2{font-size:22px;margin-bottom:6px}
.login-sub{font-size:12.5px;color:var(--ink2);margin-bottom:18px;line-height:1.5}
.login-wallets{display:flex;flex-direction:column;gap:9px}
.wbtn{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:1px solid var(--edge);border-radius:12px;
  background:linear-gradient(150deg,#0f2e26,#0a221d);color:var(--ink);font:700 14px var(--sans);cursor:pointer;transition:.15s}
.wbtn:hover{border-color:var(--lime);transform:translateY(-1px);box-shadow:0 8px 20px #0006}
.wico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--wc,#333);color:#fff;font:800 13px var(--mono);flex:0 0 auto}
.login-guest{margin-top:14px;width:100%;padding:10px;border:1px dashed var(--edge);border-radius:11px;background:transparent;color:var(--ink2);font:600 12px var(--sans);cursor:pointer}
.login-guest:hover{border-color:var(--teal);color:var(--teal)}
.login-legal{margin-top:14px;font:9px var(--mono);color:var(--mut);letter-spacing:.3px;line-height:1.4}

/* ===== logout / account status in settings ===== */
.acct-status{margin-top:16px;font:11px var(--mono);color:var(--ink2);text-align:center;
  background:#0a2420;border:1px solid var(--edge);border-radius:9px;padding:8px}
.acct-status b{color:var(--lime)}
.logout-btn{width:100%;margin-top:9px;text-align:center;border-color:#6b3330;color:var(--red);background:#1a0f0e}
.logout-btn:hover{border-color:var(--red);background:#2a1412;color:#ff8a86}

/* ===== character creation / customize — polished intro ===== */
#customModal.modal{background:radial-gradient(circle at 50% 30%,#0a2620cc,#04120ee8);backdrop-filter:blur(7px)}
#customModal.creating{background:radial-gradient(circle at 50% 24%,#123a32f2,#05140ffa);backdrop-filter:blur(17px) saturate(1.1)}
#customModal.creating::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 38%,#d8f24f18,transparent 55%)}
#customModal .modal-card{animation:czPop .36s cubic-bezier(.2,.9,.25,1);border:1px solid #2c5a4e;
  box-shadow:0 30px 90px #000c,0 0 0 1px #ffffff0a,0 0 70px -22px var(--lime)}
@keyframes czPop{from{transform:translateY(16px) scale(.965);opacity:0;filter:blur(5px)}}
#customModal h3{font-size:20px;letter-spacing:.3px;color:var(--lime);text-shadow:0 0 18px #d8f24f55}
.cz-controls label{color:#dcefe5 !important;font-size:11px;letter-spacing:1.2px;font-weight:700;
  display:flex;align-items:center;gap:7px;margin:14px 0 7px;text-transform:uppercase}
.cz-controls label::before{content:"";width:5px;height:12px;border-radius:3px;background:var(--lime);box-shadow:0 0 8px #d8f24f88}
.cz-controls>label:first-child{margin-top:2px}
#cName{font-size:15px;padding:11px 13px;border-radius:11px}
#cName:focus{box-shadow:0 0 0 3px #d8f24f33}
#customModal .swatch{width:34px;height:34px;border-radius:11px;border:2px solid #ffffff16;transition:transform .14s,box-shadow .14s,border-color .14s}
#customModal .swatch:hover{transform:translateY(-2px) scale(1.09)}
#customModal .swatch.sel{border-color:#fff;box-shadow:0 0 0 3px var(--lime),0 6px 16px #0007;transform:scale(1.06)}
#customModal .swatches{gap:7px}
#customModal .hatopt{border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--ink2);
  background:linear-gradient(#0f2e26,#0a221d);border:1px solid var(--edge);
  transition:transform .13s,border-color .14s,color .14s,background .16s,box-shadow .18s}
#customModal .hatopt:hover{transform:translateY(-2px);color:var(--ink);border-color:var(--teal);box-shadow:0 6px 14px #0006}
#customModal .hatopt.sel{background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;border-color:transparent;transform:scale(1.04);box-shadow:0 4px 14px #d8f24f44}
#customModal .hatopt.locked{opacity:.78;border-style:dashed;cursor:pointer}
#customModal .hatopt.locked:hover{opacity:1}
#customModal .hatopt.locked.sel{opacity:1;border-style:solid}
#customModal .hatopt.buying{opacity:.5;pointer-events:none}
.cz-preview-buy{background:linear-gradient(135deg,#7f6ce8,#b99bff)!important;color:#090713!important;border-color:#c9b9ff!important;box-shadow:0 0 22px #9b8cff55!important}
#customModal .cz-price{display:block;margin-top:2px;color:var(--lime);font:700 10px var(--mono)}
.cz-preview{box-shadow:inset 0 0 40px #0008,0 0 0 1px #ffffff08}
.cz-preview::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:14px;background:radial-gradient(circle at 50% 28%,#d8f24f16,transparent 62%)}
.cz-hint{animation:czHint 2.4s ease-in-out infinite}
@keyframes czHint{0%,100%{opacity:.5}50%{opacity:.95}}
#customModal.creating #cSave{animation:czEnter 1.9s ease-in-out infinite}
@keyframes czEnter{0%,100%{box-shadow:0 0 0 0 #d8f24f00}50%{box-shadow:0 0 24px 0 #d8f24f55}}
.cz-controls::-webkit-scrollbar{width:8px}
.cz-controls::-webkit-scrollbar-thumb{background:#2c5a4e;border-radius:4px}
.cz-controls::-webkit-scrollbar-track{background:transparent}

/* themed native selects (custom arrow + option colors) */
.modal-card select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:34px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%235fb6ac' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center}
.modal-card select:focus{border-color:var(--lime);box-shadow:0 0 0 3px #d8f24f22}
.modal-card select option{background:#0a2420;color:var(--ink)}

/* ===== intro splash + wallet connect (opaque; world hidden behind) ===== */
.intro-scene{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(circle at 50% 28%,#123a34,#071a15 52%,#03100c 100%);overflow:hidden;animation:gfade .3s}
#loginModal{z-index:70}
.intro-orbs{position:absolute;inset:-20%;pointer-events:none;opacity:.18;
  background:radial-gradient(circle at 20% 30%,#d8f24f22,transparent 22%),radial-gradient(circle at 80% 62%,#5fb6ac22,transparent 24%),radial-gradient(circle at 60% 15%,#9b8cff1c,transparent 20%);
  animation:orbDrift 18s ease-in-out infinite alternate}
@keyframes orbDrift{to{transform:translate3d(3%,-3%,0) scale(1.06)}}
.intro-scene::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(#ffffff0b 1px,transparent 1.5px);background-size:34px 34px;opacity:.1;
  -webkit-mask:radial-gradient(circle at 50% 40%,#000,transparent 75%);mask:radial-gradient(circle at 50% 40%,#000,transparent 75%)}
/* Full-bleed, translucent world reel. Each image fills the viewport and cross-fades into the next. */
.intro-scenes{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#061711}
.intro-scenes::after{content:"";position:absolute;inset:0;z-index:2;background:
  radial-gradient(ellipse at 50% 46%,#0617119c 0 17%,#06171142 38%,transparent 63%),
  linear-gradient(90deg,#03100d8f,transparent 28% 72%,#03100d8f),linear-gradient(#03100d42,transparent 24% 68%,#03100d73);pointer-events:none}
.intro-scene-shot{position:absolute;inset:-2%;margin:0;opacity:0;animation:introSceneCycle 24s linear infinite;animation-delay:var(--delay)}
.intro-scene-shot img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.01) brightness(.86);
  animation:introSceneDrift 14s ease-in-out infinite alternate;transform-origin:50% 48%}
@keyframes introSceneCycle{0%{opacity:0}2%{opacity:.74}23%{opacity:.74}27%{opacity:0}100%{opacity:0}}
@keyframes introSceneDrift{from{transform:scale(1.02) translate3d(-.35%,.2%,0)}to{transform:scale(1.055) translate3d(.4%,-.3%,0)}}
/* Four quiet edge sparkles replace the old rising square particles without competing with the title. */
.intro-charms{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.intro-charms i{position:absolute;font-style:normal;color:#ddf67a;opacity:.2;text-shadow:0 0 10px currentColor;animation:introCharm 5.8s ease-in-out infinite alternate}
.intro-charms i:nth-child(1){left:8%;top:18%;font-size:15px}.intro-charms i:nth-child(2){left:17%;bottom:17%;font-size:18px;color:#7fc9c0;animation-delay:-2s}
.intro-charms i:nth-child(3){right:12%;top:20%;font-size:14px;animation-delay:-3.4s}.intro-charms i:nth-child(4){right:18%;bottom:16%;font-size:18px;color:#7fc9c0;animation-delay:-1.1s}
@keyframes introCharm{from{transform:translateY(-3px) scale(.95);opacity:.12}to{transform:translateY(4px) scale(1.05);opacity:.34}}

.intro-inner{position:relative;z-index:5;text-align:center;max-width:560px;animation:czPop .5s cubic-bezier(.2,.9,.25,1)}
.intro-inner::before{content:"";position:absolute;z-index:-1;inset:-32px -56px;border-radius:50%;background:radial-gradient(ellipse,#04130ec7 0,#04130e7d 43%,transparent 72%);filter:blur(10px);pointer-events:none}
/* Foreground brand mark: transparent, exact official rays, slowly rotating. */
.intro-logo{position:relative;width:104px;height:104px;margin:0 auto 8px;background:transparent;border:0;
  animation:introLogoSpin 19s linear infinite}
.intro-logo img{width:100%;height:100%;display:block;object-fit:contain;filter:brightness(0) saturate(100%) invert(93%) sepia(77%) saturate(523%) hue-rotate(26deg) brightness(106%) contrast(104%) drop-shadow(0 0 16px #d8f24faa)}
.intro-title{font:900 50px/1.02 var(--sans);letter-spacing:-.5px;margin:4px 0 12px;
  background:linear-gradient(92deg,#f4ffe6,#d8f24f 55%,#8fe0c0);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 42px #d8f24f33;animation:introGlow 3.4s ease-in-out infinite}
.intro-tagline{font:600 16px/1.5 var(--sans);color:var(--ink2);margin:0 auto 25px;max-width:430px}
.intro-cta{font:900 18px var(--sans);color:#0a1400;background:linear-gradient(90deg,#e7fb6a,#c8e83f);
  border:0;border-radius:16px;padding:16px 40px;cursor:pointer;box-shadow:0 12px 30px #0008,0 0 30px -8px var(--lime);
  transition:transform .14s,box-shadow .2s;animation:czEnter 2s ease-in-out infinite}
.intro-cta:hover{transform:translateY(-2px) scale(1.04)}
.intro-cta b{font-size:22px;margin-left:2px}
.intro-legal{margin-top:26px;font:11px var(--mono);color:var(--mut);letter-spacing:.3px}
@keyframes introLogoSpin{to{transform:rotate(360deg)}}
@keyframes introGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.14)}}
#loginModal .login-card{position:relative;width:min(94vw,392px);max-height:94vh;overflow:auto;text-align:center;
  background:linear-gradient(150deg,#0e3228,#071a16);border:1px solid #2c5a4e;border-radius:20px;padding:26px 24px;
  box-shadow:0 34px 100px #000c,0 0 70px -22px var(--lime);animation:czPop .34s cubic-bezier(.2,.9,.25,1)}
.login-back{position:absolute;left:14px;top:14px;width:34px;height:34px;border-radius:9px;border:1px solid var(--edge);
  background:var(--sur);color:var(--ink2);font-size:16px;cursor:pointer}
.login-back:hover{border-color:var(--lime);color:var(--lime)}
.login-mark{margin-bottom:6px;filter:drop-shadow(0 0 20px #d8f24f77);line-height:0}
.login-mark img{width:66px;height:66px;border-radius:14px;display:block;margin:auto;box-shadow:0 10px 24px #0008}
#loginModal h2{font-size:21px;margin-bottom:6px}
.login-sub{font-size:12.5px;color:var(--ink2);margin-bottom:18px}
.login-wallets{display:flex;flex-direction:column;gap:10px}
.wbtn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--edge);border-radius:13px;
  background:linear-gradient(150deg,#103128,#0a221d);color:var(--ink);font:700 15px var(--sans);cursor:pointer;transition:.15s;text-align:left}
.wbtn:hover{border-color:var(--lime);transform:translateY(-1px);box-shadow:0 8px 22px #0006}
.wico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;box-shadow:0 2px 8px #0006}
.wico svg{width:80%;height:80%}
.wico img{width:100%;height:100%;object-fit:cover;display:block}
.login-legal{margin-top:16px;font:9.5px var(--mono);color:var(--mut);letter-spacing:.3px}
/* fix clipping: modal cards never exceed the viewport */
.modal-card{max-height:94vh}

/* ===== prize shop (좌판) ===== */
.prize-win-wide{width:min(96vw,860px)}
.prize-tabs{display:flex;gap:7px;padding:12px 18px 0;flex-wrap:wrap}
.prize-tab{font:800 12.5px var(--sans);color:var(--ink2);background:linear-gradient(#0f2e26,#0a221d);border:1px solid var(--edge);
  border-radius:999px;padding:8px 15px;cursor:pointer;transition:.14s}
.prize-tab:hover{color:var(--ink);border-color:var(--teal);transform:translateY(-1px)}
.prize-tab.on{background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;border-color:transparent;box-shadow:0 4px 14px #d8f24f44}
.prize-desc{font:600 11px var(--sans);color:var(--ink2);line-height:1.35;min-height:28px}
.prize-rarity{position:absolute;top:8px;left:50%;transform:translateX(-50%);font:800 8px var(--sans);letter-spacing:.6px;text-transform:uppercase;
  color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,#0a1c17);border:1px solid color-mix(in srgb,var(--pc) 42%,transparent);border-radius:999px;padding:2px 8px;z-index:2}
.prize-card.r-legendary,.prize-card.r-mythic{box-shadow:0 0 0 1px color-mix(in srgb,var(--pc) 42%,transparent),0 0 26px -9px var(--pc)}
.prize-card.r-mythic{animation:mythShine 2.8s ease-in-out infinite}
@keyframes mythShine{0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--pc) 42%,transparent),0 0 22px -11px var(--pc)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--pc) 72%,transparent),0 0 34px -5px var(--pc)}}
.prize-card{padding-top:24px!important}
.prize-win{position:relative;width:min(94vw,640px);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(160deg,#10322a,#08201b);border-radius:24px;
  box-shadow:0 34px 100px #000c,0 0 0 1px #ffffff12,0 0 80px -18px #ffb85c;animation:czPop .3s cubic-bezier(.34,1.3,.5,1)}
.prize-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid #ffffff10;background:linear-gradient(#173a32,#0b241e)}
.prize-title{font:800 18px var(--sans);letter-spacing:.3px;color:#ffe0a8}
.prize-pts{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font:800 15px var(--sans);color:#ffd27a;background:#0a1c1799;border:1px solid #3a5c4e;border-radius:999px;padding:5px 13px}
.prize-pts b{color:#fff}
.prize-head .gx{background:#0a1c17;border:1px solid #3a5c4e;color:var(--ink2);border-radius:10px;width:34px;height:34px;cursor:pointer;font-size:15px;line-height:1;transition:.15s}
.prize-head .gx:hover{border-color:var(--red);color:var(--red)}
.prize-grid{padding:18px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.prize-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:16px 12px 13px;border:1.5px solid #ffffff12;border-radius:18px;
  background:linear-gradient(165deg,color-mix(in srgb,var(--pc) 14%,#0f2e26),#0a221d);transition:transform .14s cubic-bezier(.34,1.3,.6,1),box-shadow .14s,border-color .14s}
.prize-card:hover{transform:translateY(-3px);border-color:var(--pc);box-shadow:0 14px 30px -12px var(--pc)}
.prize-ic{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:3px;
  background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--pc) 34%,#0c2620),#0a1c17);border:2px solid color-mix(in srgb,var(--pc) 70%,#2c5a4e);box-shadow:0 0 20px -6px var(--pc)}
.prize-name{font:700 14px var(--sans);color:#eef5f0;line-height:1.25}
.prize-kind{font:10px var(--mono);color:var(--pc);text-transform:uppercase;letter-spacing:1.2px;opacity:.85}
.prize-buy{margin-top:7px;width:100%;border:1.5px solid var(--pc);background:var(--pc);color:#0a1400;border-radius:11px;padding:9px 10px;font:800 13px var(--sans);cursor:pointer;transition:.14s;white-space:nowrap}
.prize-buy:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 16px -6px var(--pc)}
.prize-buy.poor{background:transparent;color:#7d968b;border-color:#2c5a4e;cursor:not-allowed}
.prize-buy.owned{background:#0a1c17;color:var(--pc);border-color:color-mix(in srgb,var(--pc) 50%,#2c5a4e);cursor:default}
.prize-buy.locked{background:transparent;color:#8aa89b;border-color:#2a4a3e;cursor:default;font-weight:700}
.prize-buy.locked:hover{transform:none;box-shadow:none;filter:none}
.prize-card.pc-locked{opacity:.86}
.prize-card.pc-locked .prize-ic{filter:grayscale(.35)}
.prize-empty{grid-column:1/-1;color:var(--mut);text-align:center;padding:40px;font:12px var(--mono)}
.prize-foot{padding:13px 18px;border-top:1px solid #ffffff10;font:11px var(--mono);color:var(--ink2);text-align:center}
.item-preview-shade{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;background:#03100de8;backdrop-filter:blur(9px);border-radius:24px}
.item-preview-card{position:relative;width:min(700px,94%);display:grid;grid-template-columns:minmax(230px,42%) 1fr;overflow:hidden;border:1px solid var(--pc);border-radius:22px;background:linear-gradient(145deg,#12342c,#091d18);box-shadow:0 24px 70px #000c,0 0 42px -18px var(--pc)}
.item-preview-x{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;border-radius:10px;border:1px solid #ffffff22;background:#071713cc;color:#dcebe4;cursor:pointer}
.item-preview-stage{position:relative;min-height:340px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--pc) 22%,transparent),#061511 68%);border-right:1px solid #ffffff12}.item-preview-stage canvas{width:100%;height:100%;display:block}.item-preview-stage span{position:absolute;left:0;right:0;bottom:13px;text-align:center;color:#9bb6ab;font:700 9px var(--mono);letter-spacing:.7px}
.item-preview-copy{display:flex;flex-direction:column;justify-content:center;padding:34px 30px}.item-preview-copy small{color:var(--pc);font:900 10px var(--mono);letter-spacing:1.5px}.item-preview-copy h3{margin:9px 0 12px;color:#f2f7f3;font:900 24px var(--sans)}.item-preview-copy p{min-height:55px;color:#abc0b7;font:600 13px/1.55 var(--sans)}.item-preview-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:16px}
@media(max-width:620px){.item-preview-card{grid-template-columns:1fr}.item-preview-stage{min-height:230px;border-right:0;border-bottom:1px solid #ffffff12}.item-preview-copy{padding:20px}.item-preview-copy p{min-height:0}.item-preview-actions{grid-template-columns:1fr}}
/* achievements modal */
.ach-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ach-card{flex-direction:row!important;align-items:center;gap:11px;text-align:left!important;padding:12px 13px;
  border:1.5px solid #ffffff10;border-radius:14px;background:linear-gradient(160deg,#0f2e26,#0a221d);opacity:.55;filter:grayscale(.5)}
.ach-card.got{opacity:1;filter:none;border-color:#3a6c5e;box-shadow:0 0 22px -12px var(--lime)}
.ach-ic{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:26px;border-radius:12px;background:#0a1c17;border:1px solid #2c5a4e}
.ach-card.got .ach-ic{background:radial-gradient(circle at 50% 35%,#1c3a1f,#0a1c17);border-color:var(--lime)}
.ach-info{flex:1;min-width:0}
.ach-name{font:700 13.5px var(--sans);color:#eef5f0}
.ach-desc{font:11px var(--sans);color:var(--mut);line-height:1.3}
.ach-status{font:800 14px var(--mono);color:var(--mut);flex:0 0 auto}
.ach-card.got .ach-status{color:var(--lime)}

/* ===== trade widget v2 (3 markets + order book) ===== */
#posWidget{width:238px;background:linear-gradient(150deg,#0c2b24f7,#07201bf7);border:1px solid var(--edge);border-radius:13px;
  box-shadow:0 16px 40px #0009;backdrop-filter:blur(8px);overflow:hidden}
.pos-tabs{display:flex;align-items:center;gap:2px;padding:6px 6px 0;cursor:grab;touch-action:none}
#posPanel.dragging{cursor:grabbing;user-select:none}
#posPanel.dragging .pos-tabs{cursor:grabbing}
.pos-tab{flex:1;padding:6px 4px;border:0;border-radius:8px 8px 0 0;background:#0a221d;color:var(--mut);font:700 11px var(--mono);cursor:pointer;position:relative}
.pos-tab.on{background:#12332b;color:var(--lime)}
.pos-tab.has::after{content:"";position:absolute;top:4px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--amber)}
.pos-x{width:22px;border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:13px}
.pos-x:hover{color:var(--red)}
#posBody{padding:9px 11px 11px}
.pos-mkt{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.pos-sym{font:700 11px var(--mono);color:var(--ink2)}
.pos-px{font:800 15px var(--mono);color:var(--ink);margin-left:auto}
.pos-ob{font:11px var(--mono);margin-bottom:8px;border:1px solid #14352d;border-radius:8px;overflow:hidden}
.ob-row{display:flex;align-items:center;gap:6px;padding:1px 7px;position:relative}
.ob-row .ob-bar{position:absolute;right:0;top:1px;bottom:1px;opacity:.16;border-radius:2px}
.ob-row.ask .ob-bar{background:var(--red)} .ob-row.bid .ob-bar{background:var(--lime)}
.ob-px{width:70px} .ob-row.ask .ob-px{color:#e2635e} .ob-row.bid .ob-px{color:#8fd66a}
.ob-sz{margin-left:auto;color:var(--mut);position:relative}
.ob-mid{text-align:center;padding:3px;background:#0e2a24;color:var(--ink);font-weight:700;border-top:1px solid #14352d;border-bottom:1px solid #14352d}
.ob-mid .dfba{color:var(--teal);font-size:9px;letter-spacing:.5px}
.pos-edge{font:10px var(--mono);color:var(--ink2);background:#0c2620;border-radius:7px;padding:6px 8px;margin-bottom:8px;line-height:1.4}
.pos-edge .dim{color:var(--mut)} .pos-edge .imp{color:var(--lime)} .pos-edge b{color:var(--teal)}
.pos-open-row{display:flex;align-items:center;gap:6px;font:11px var(--mono);margin-bottom:6px}
.pos-open-row .pos-share{margin-left:auto}

/* cursor: use the OS default everywhere (custom game cursor reverted) */

/* plot edit modal — brighter, readable labels */
#plotModal .modal-card h3{color:var(--lime);text-shadow:0 0 14px #d8f24f55}
#plotModal .modal-card label{color:#eaf6ee !important;font-size:12px;font-weight:800;letter-spacing:.8px;
  display:flex !important;align-items:center;gap:7px;margin:14px 0 7px;text-transform:uppercase}
#plotModal .modal-card label::before{content:"";width:5px;height:13px;border-radius:3px;
  background:var(--lime);box-shadow:0 0 8px #d8f24f88;flex:none}
#plotModal .modal-card>label:first-of-type{margin-top:4px}
#plotModal .hatopt{font-size:13px;padding:8px 14px;font-weight:700;color:#d3e6db;
  background:linear-gradient(#123024,#0c241d);border:1px solid var(--edge)}
#plotModal .hatopt:hover{color:#fff;border-color:var(--teal)}
#plotModal .hatopt.sel{background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;border-color:transparent;font-weight:800}
#plotModal .swatch{width:32px;height:32px}

/* ===== open-air theater video modal (opens when seated) ===== */
#theaterModal{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 40%,#0a1f1ad8,#04120ef2);backdrop-filter:blur(4px)}
#theaterModal.hidden{display:none !important}
.tv-frame{position:relative;width:min(92vw,880px);aspect-ratio:16/9;background:#000;border-radius:14px;
  box-shadow:0 30px 90px #000c,0 0 0 1px #5fb6ac77,0 0 70px -18px #5fb6ac;animation:grise .3s cubic-bezier(.2,.8,.2,1)}
.tv-embed{position:absolute;inset:0;border-radius:14px;overflow:hidden}
.tv-close{position:absolute;top:-16px;right:-16px;z-index:2;width:38px;height:38px;border-radius:50%;
  background:#0c2620;border:1px solid var(--edge);color:var(--ink);cursor:pointer;font-size:15px}
.tv-close:hover{border-color:var(--red);color:var(--red)}
.tv-cap{position:absolute;bottom:-32px;left:0;right:0;text-align:center;font:11px var(--mono);color:var(--ink2);letter-spacing:.5px}
/* live muted video rendered ON the theater screen surface (CSS3D, sits in true 3D perspective) */
#theaterScreenLayer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:3;display:none}
#theaterScreenLayer .ts-cam{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d}
#theaterScreenLayer .ts-el{position:absolute;top:0;left:0;transform-style:preserve-3d;overflow:hidden;background:#04100e;box-shadow:0 0 60px #0bd6c344}
#theaterScreenLayer .ts-el iframe{width:990px;height:480px;border:0;display:block}
/* photo mode: shutter flash, camera-button pulse, and the resulting photo tab */
#photoFlash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:80}
#photoFlash.on{animation:photoFlash .5s ease-out}
@keyframes photoFlash{0%{opacity:0}10%{opacity:.9}100%{opacity:0}}
.icon-btn.shooting{color:var(--lime);box-shadow:0 0 0 2px #d8f24f88,0 0 18px #d8f24f66}
#photoModal{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;background:#04120eda;backdrop-filter:blur(5px);padding:18px}
.photo-card{width:min(94vw,660px);background:linear-gradient(180deg,#0e2620,#0a1b16);border:1px solid #2f6054;border-radius:16px;padding:16px;box-shadow:0 30px 90px #000b;animation:grise .3s cubic-bezier(.2,.8,.2,1)}
.photo-head{font:600 14px var(--sans);color:var(--ink);margin:2px 2px 12px;letter-spacing:.2px}
.photo-shot{width:100%;border-radius:10px;display:block;box-shadow:0 10px 30px #0008}
.photo-actions{display:flex;gap:8px;margin-top:14px}
.photo-actions .pill-btn{flex:1;text-align:center;cursor:pointer}
.pill-btn.ghost{background:transparent}
/* PUBG-style emote wheel */
#emoteWheel{position:fixed;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(circle at 50% 50%,#04120e44,#04120eb0)}
#emoteWheel.hidden{display:none}
#emoteWheel .ew-ring{position:relative;width:min(62vmin,470px);height:min(62vmin,470px);border-radius:50%;background:radial-gradient(circle at 50% 50%,#0a201bd8 0 33%,#0c231ce0 33% 100%);border:1px solid #2f6054;box-shadow:0 0 0 6px #04120e88,0 30px 90px #000a,inset 0 0 60px #0006;animation:ewPop .16s ease-out}
@keyframes ewPop{from{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}
#emoteWheel .ew-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:700 14px var(--mono);letter-spacing:2px;color:var(--lime);text-shadow:0 0 12px #d8f24f66;pointer-events:none;text-align:center}
#emoteWheel .ew-slice{position:absolute;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#0d271fcc;border:1px solid #2c5a4e;color:#eaf3ee;cursor:pointer;transition:transform .1s,background .1s,border-color .1s,box-shadow .1s}
#emoteWheel .ew-ic{font-size:27px;line-height:1}
#emoteWheel .ew-lb{font:600 10px var(--sans);color:#9fb6ab;letter-spacing:.3px}
#emoteWheel .ew-slice.on{background:var(--lime);border-color:var(--lime);color:#08160f;transform:translate(-50%,-50%) scale(1.16);box-shadow:0 0 26px #d8f24f99}
#emoteWheel .ew-slice.on .ew-lb{color:#0a1a10}
/* RPG NPC dialogue box (bottom of screen) — cute speech-bubble style */
#npcDialogue{--dlg-acc:#d8f24f;position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:44;width:min(94vw,660px);pointer-events:auto}
#npcDialogue.hidden{display:none}
.dlg-card{position:relative;display:flex;gap:14px;align-items:flex-start;
  background:linear-gradient(180deg,#123029f7,#0a1c17f7);border:1.5px solid color-mix(in srgb,var(--dlg-acc) 55%,#2c5a4e);
  border-radius:20px;padding:16px 18px 13px;box-shadow:0 22px 60px #000b,0 0 34px -12px var(--dlg-acc),inset 0 1px 0 #ffffff10;
  backdrop-filter:blur(7px);animation:dlgPop .26s cubic-bezier(.34,1.4,.5,1)}
@keyframes dlgPop{0%{opacity:0;transform:translateY(16px) scale(.96)}100%{opacity:1;transform:none}}
.dlg-portrait{flex:0 0 auto;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:30px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--dlg-acc) 30%,#0c2620),#0a1c17);
  border:2px solid var(--dlg-acc);box-shadow:0 0 18px -4px var(--dlg-acc);animation:dlgBob 2.4s ease-in-out infinite}
@keyframes dlgBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.dlg-body{flex:1;min-width:0}
.dlg-name{font:800 15px var(--sans);color:var(--dlg-acc);margin-bottom:6px;letter-spacing:.2px}
.dlg-text{font:400 15px/1.5 var(--sans);color:#eef5f0;margin-bottom:13px}
.dlg-opts{display:flex;flex-direction:column;gap:8px}
.dlg-opt{display:flex;align-items:center;gap:11px;text-align:left;background:#0c2620cc;border:1.5px solid #2c5a4e;color:#eaf3ee;
  border-radius:12px;padding:10px 13px;font:600 14px var(--sans);cursor:pointer;transition:all .12s cubic-bezier(.34,1.3,.6,1)}
.dlg-opt:hover{background:var(--dlg-acc);border-color:var(--dlg-acc);color:#0a1a10;transform:translateX(4px) scale(1.01);box-shadow:0 6px 18px -6px var(--dlg-acc)}
.dlg-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;background:#04120e88;color:var(--dlg-acc);font:800 12px var(--mono);flex:0 0 auto}
.dlg-opt:hover .dlg-num{background:#0a1a1033;color:#0a1a10}
.dlg-hint{margin-top:10px;font:11px var(--mono);color:var(--ink2);text-align:right;letter-spacing:.4px}
.dlg-quest{margin-top:10px;padding:8px 11px;border-radius:10px;font:600 12.5px var(--sans);color:#cfe0d6;background:#0a1c1799;border:1px dashed #3a6c5e}
.dlg-quest b{color:var(--dlg-acc)}
.dlg-quest.ready{border-style:solid;border-color:var(--dlg-acc);color:#eef5f0}
.dlg-quest.done{border-style:solid;border-color:#2f6054;color:#8fb0a4}
/* home decorator: many option rows → let the card scroll */
.plot-editor{max-height:88vh;overflow-y:auto}
.plot-editor label{margin:11px 0 5px}
.plot-editor .swatches{gap:6px}
/* world-entry "joined" notice — soft translucent banner near the top-centre */
#joinNotice{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:41;pointer-events:none;opacity:0}
#joinNotice.show{animation:joinPop 3.4s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes joinPop{0%{opacity:0;transform:translate(-50%,-12px) scale(.94)}9%{opacity:1;transform:translate(-50%,0) scale(1)}82%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-6px) scale(1)}}
.jn-card{display:flex;align-items:center;gap:8px;background:#0a201bbf;border:1px solid #3a6c5e;border-radius:999px;padding:9px 20px;
  font:600 14.5px var(--sans);color:#eef5f0;box-shadow:0 10px 34px #0008,0 0 30px -12px var(--lime);backdrop-filter:blur(8px);white-space:nowrap}
.jn-card b{color:var(--lime)}
.jn-card .jn-spark{color:var(--lime);text-shadow:0 0 10px var(--lime);animation:jnSpin 3s linear infinite}
.jn-card .jn-txt{color:var(--ink2)}
@keyframes jnSpin{to{transform:rotate(360deg)}}
/* level-up celebration banner */
#levelUp{position:fixed;top:26%;left:50%;transform:translateX(-50%);z-index:58;pointer-events:none}
.lu-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 30px;border-radius:20px;text-align:center;
  background:radial-gradient(circle at 50% 20%,#1c3a1f,#0a1c17);border:1.5px solid var(--lime);
  box-shadow:0 24px 70px #000c,0 0 60px -14px var(--lime),inset 0 1px 0 #ffffff12;animation:luPop .5s cubic-bezier(.2,1.5,.4,1)}
#levelUp.out .lu-card{animation:luOut .55s ease-in forwards}
@keyframes luPop{0%{opacity:0;transform:translateY(20px) scale(.7)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes luOut{to{opacity:0;transform:translateY(-14px) scale(.96)}}
.lu-star{font-size:40px;line-height:1;filter:drop-shadow(0 0 14px #ffd27a);animation:luSpin 2.4s linear infinite}
@keyframes luSpin{to{transform:rotate(360deg)}}
.lu-title{font:800 26px var(--sans);letter-spacing:2px;color:var(--lime);text-shadow:0 0 18px #d8f24f66}
.lu-lv{font:600 14px var(--mono);color:var(--ink2);letter-spacing:1px;margin-bottom:6px}
.lu-lv b{color:#fff;font-size:18px}
.lu-rewards{display:flex;flex-direction:column;gap:5px}
.lu-reward{font:600 13px var(--sans);color:#eef5f0;background:#0a1c17aa;border:1px solid #2f6054;border-radius:10px;padding:6px 14px}
.lu-reward .lu-rl{color:var(--lime);font-family:var(--mono);font-weight:700;margin-right:4px}

/* ---- warp loading screen (portal → separate world) ---- */
#warpScreen{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 38%,#0c2a24 0%,#061511 45%,#020706 100%);
  opacity:0;pointer-events:none;transition:opacity .42s ease}
#warpScreen.show{opacity:1;pointer-events:all}
#warpScreen.hidden{display:none}
#warpScreen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff05 0,#ffffff05 1px,transparent 1px,transparent 3px);opacity:.4;pointer-events:none}
.ws-inner{position:relative;width:min(86vw,470px);text-align:center;transform:translateY(10px);transition:transform .55s cubic-bezier(.2,.7,.2,1)}
#warpScreen.show .ws-inner{transform:translateY(0)}
.ws-glyph{width:64px;height:64px;margin:0 auto;animation:wsSpin 3.2s linear infinite}
.ws-glyph img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(93%) sepia(77%) saturate(523%) hue-rotate(26deg) brightness(106%) contrast(104%) drop-shadow(0 0 17px #d8f24faa)}
@keyframes wsSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.14)}100%{transform:rotate(360deg) scale(1)}}
.ws-title{margin-top:20px;font:700 22px var(--sans);letter-spacing:.5px;color:#f2fff8}
.ws-sub{margin-top:8px;font:500 13px var(--mono);letter-spacing:1px;color:#7fb8a8}
.ws-route{margin:40px auto 0;width:min(78vw,390px)}
.ws-track{position:relative;height:34px}
.ws-bar{position:absolute;left:0;right:0;bottom:2px;height:11px;border-radius:7px;background:#0a1d18;
  overflow:hidden;box-shadow:inset 0 0 0 1px #2a5148,0 8px 22px #0008}
.ws-bar::after{content:"";position:absolute;inset:2px;background:repeating-linear-gradient(90deg,transparent 0 17px,#ffffff0d 17px 19px);border-radius:5px}
.ws-fill{display:block;height:100%;width:0;border-radius:7px;background:linear-gradient(90deg,#4fae99,#d8f24f 68%,#f4ffa8);
  box-shadow:0 0 18px #d8f24faa;will-change:width}
.ws-runner{position:absolute;left:calc(0% - 14px);bottom:8px;width:30px;height:50px;will-change:left;
  filter:drop-shadow(0 7px 4px #0008);animation:wsRunnerBob .24s ease-in-out infinite alternate}
.ws-runner i{position:absolute;display:block;border-radius:2px;box-sizing:border-box}
.ws-r-head{left:6px;top:0;width:19px;height:19px;background:#dfe9df;box-shadow:inset -4px -2px #b9cec6}
.ws-r-head::before{content:"";position:absolute;right:3px;top:6px;width:3px;height:4px;background:#10231d;box-shadow:-7px 0 #10231d}
.ws-r-body{left:4px;top:18px;width:23px;height:20px;background:#58b9aa;box-shadow:inset 0 -4px #398c80}
.ws-r-arm{top:20px;width:6px;height:17px;background:#7bd1c4;transform-origin:50% 2px}
.ws-r-arm.l{left:-1px;animation:wsLimb .28s linear infinite alternate}.ws-r-arm.r{right:-1px;animation:wsLimb .28s linear infinite alternate-reverse}
.ws-r-leg{top:36px;width:7px;height:15px;background:#16241f;transform-origin:50% 1px}
.ws-r-leg.l{left:6px;animation:wsLimb .28s linear infinite alternate-reverse}.ws-r-leg.r{right:6px;animation:wsLimb .28s linear infinite alternate}
@keyframes wsLimb{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}
@keyframes wsRunnerBob{to{transform:translateY(-2px)}}
.ws-destination{position:absolute;right:-4px;bottom:0;width:18px;height:18px;border:2px solid #d8f24f;border-radius:50%;box-shadow:0 0 13px #d8f24f88}
.ws-destination::after{content:"";position:absolute;left:5px;top:5px;width:5px;height:5px;background:#d8f24f;transform:rotate(45deg)}
.ws-meter{display:flex;justify-content:space-between;margin-top:8px;font:800 9px var(--mono);letter-spacing:1.2px;color:#507e70}
.ws-meter b{min-width:42px;text-align:right;color:var(--lime);font-size:12px;text-shadow:0 0 9px #d8f24f77}
.ws-tip{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:22px auto 0;padding:11px 13px;
  max-width:410px;border:1px solid #31594f;border-radius:12px;background:linear-gradient(135deg,#0b241eaa,#071a16cc);
  box-shadow:0 12px 35px #0005,inset 0 1px #ffffff08;text-align:left;backdrop-filter:blur(7px)}
.ws-tip span{padding:4px 7px;border-radius:6px;background:#d8f24f;color:#0a1a13;font:900 8px var(--mono);letter-spacing:.8px;white-space:nowrap}
.ws-tip p{margin:0;color:#b9d2c8;font:500 10px/1.5 var(--mono);letter-spacing:.15px}

/* A rerun creates a new deterministic paper flow; pulse the actual data region so it never reads
   like an inert button when the figures happen to land close to the previous scenario. */
.dfba-executed .dfba-compare-grid{animation:dfbaGridRun .58s ease}
.dfba-executed .dfba-result-banner{animation:dfbaResultRun .72s ease}
@keyframes dfbaGridRun{0%{opacity:.48;transform:translateY(4px)}55%{filter:brightness(1.18)}100%{opacity:1;transform:none;filter:none}}
@keyframes dfbaResultRun{0%{transform:scale(.985)}45%{transform:scale(1.012);box-shadow:0 0 24px #5fb6ac44}100%{transform:none;box-shadow:none}}

@media(max-width:760px){
  .intro-scene{padding:14px}
  .intro-scenes::after{background:radial-gradient(circle at 50% 44%,#061711b5 0 25%,#03100dd9 78%)}
  .intro-inner{max-width:94vw}.intro-logo{width:88px;height:88px;margin-bottom:7px}
  .intro-title{font-size:clamp(32px,9.2vw,42px)}.intro-tagline{font-size:13px;max-width:320px;margin-bottom:21px}
  .intro-cta{font-size:17px;padding:15px 34px}.intro-legal{font-size:8px;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
  .intro-scene-shot img,.intro-charms i,.intro-logo,.intro-title,.intro-cta,.ws-glyph,.ws-runner,.ws-r-arm,.ws-r-leg{animation:none!important}
  .intro-scene-shot{animation:none;opacity:0}.intro-scene-shot:first-child{opacity:.5}
}

/* ---- theatre "press F to watch" hint (screen no longer auto-opens on sit) ---- */
#theaterHint{position:fixed;left:50%;bottom:150px;transform:translateX(-50%);z-index:60;background:#0b1c17e6;border:1px solid #2f6054;border-radius:12px;padding:10px 18px;font:600 14px var(--sans);color:#eef5f0;box-shadow:0 6px 22px #0008;pointer-events:none;white-space:nowrap}
#theaterHint.hidden{display:none}
#theaterHint b{color:var(--lime);font-family:var(--mono);padding:1px 7px;background:#0a1c1799;border:1px solid #2f6054;border-radius:6px;margin:0 2px}

/* ---- plot editor: padlocked premium decor ---- */
#plotModal .hatopt.premium{border-color:#ffcf6a55;background:linear-gradient(#1c2b1d,#23301e);color:#ffe6b0}
#plotModal .hatopt.premium.sel{border-color:#ffcf6a;box-shadow:0 0 0 1px #ffcf6a inset;color:#fff5dc}
.ph-hint{font:600 11px var(--mono);color:#c8a86a;margin:8px 0 2px;opacity:.9}

/* ---- X (Twitter) login + wallet binding ---- */
.intro-x{background:#0a0f14!important;color:#fff!important;border:1.5px solid #2a3540!important;box-shadow:0 10px 26px #0009!important;margin-bottom:12px}
.intro-x:hover{border-color:#4a5560!important;transform:translateY(-2px)}
.intro-x .xg{font-weight:900;font-size:18px;margin-right:2px}
.intro-x.hidden{display:none}
.intro-who{display:inline-flex;align-items:center;gap:8px;margin:0 auto 12px;padding:5px 12px 5px 6px;border-radius:22px;background:#0a1c1799;border:1px solid var(--edge);font:700 12px var(--sans);color:var(--ink)}
.intro-who img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.intro-who.hidden{display:none}
.wallet-label{display:block;font:700 11px var(--mono);letter-spacing:.4px;color:var(--mut);margin:10px 0 6px}
.wallet-row{display:flex;gap:8px}
.wallet-input{flex:1;background:#08201b;border:1px solid var(--edge);border-radius:10px;padding:9px 12px;color:var(--ink);font:600 13px var(--mono)}
.wallet-input:focus{outline:none;border-color:var(--lime)}
.wallet-row .pill-btn{padding:9px 16px}
.wallet-msg{font:600 11.5px var(--sans);color:var(--ink2);margin:7px 0 2px;min-height:15px}

/* ---- world-wide announcement banner (admin-posted) ---- */
#announceBar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:11px 54px;text-align:center;font:800 15px var(--sans);letter-spacing:.2px;color:#0a1400;
  background:linear-gradient(90deg,#e7fb6a,#c8e83f);box-shadow:0 6px 24px #0007,inset 0 -2px 0 #0003;
  animation:annSlide .4s cubic-bezier(.2,.9,.3,1)}
#announceBar.hidden{display:none}
#announceBar .an-ic{font-size:17px;filter:none}
#announceBar #announceText{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#announceClose{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:50%;
  background:#0a140022;color:#0a1400;font:900 18px/1 var(--sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
#announceClose:hover{background:#0a140044;transform:translateY(-50%) scale(1.1)}
@keyframes annSlide{from{transform:translateY(-100%)}}
/* admin "post announcement" button lives in the top-right menu */
#btnAnnounce,#btnAmaLights,#btnGiant{display:none}
#btnAnnounce.admin,#btnAmaLights.admin,#btnGiant.admin{display:inline-flex}
#btnAmaLights.off{color:#b9b2d8;background:#17162aaa;border-color:#6d6499}

/* ---- home editor: live illustrated preview + compact two-column controls ---- */
#plotModal{backdrop-filter:blur(7px)}
#plotModal .plot-editor{width:min(97vw,1120px);max-height:92dvh;padding:18px 20px;overflow:hidden;
  background:linear-gradient(155deg,#103128,#071d19);box-shadow:0 32px 100px #000c,0 0 60px -22px var(--lime)}
#plotModal .plot-editor>h3{margin:0 0 14px}
.plot-editor-layout{display:grid;grid-template-columns:minmax(350px,410px) minmax(460px,1fr);gap:20px;min-height:0}
.house-preview-panel{align-self:start;border:1px solid #37695d;border-radius:18px;padding:10px;background:linear-gradient(160deg,#102e28,#081d19);
  box-shadow:inset 0 0 35px #0007,0 18px 38px #0007;overflow:hidden}
.hp-preview-bar{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 3px 7px;color:#c5d8d1;font:800 9px var(--mono);letter-spacing:.7px}
.hp-preview-bar span{padding:4px 8px;border:1px solid #6b8d5d;border-radius:999px;background:#142b1d;color:var(--lime)}
.hp-preview-bar button{border:1px solid #3b655a;border-radius:8px;background:#09211b;color:#b8d0c6;padding:4px 8px;cursor:pointer;font:700 9px var(--sans)}
.hp-stage{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1.15/1;background:#173d42;transition:.25s}
.hp-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#031018aa,#09120b44);opacity:0;transition:.25s;mix-blend-mode:multiply}
.hp-stage.night::after{opacity:.62}.hp-stage.night{box-shadow:inset 0 0 30px #000a,0 0 22px #5cf0ff18}
#housePreview{display:block;width:100%;height:100%}
#housePreview .hp-window{fill:none;stroke-width:5;stroke-linejoin:round}
#housePreview .hp-window path{fill:none;stroke:inherit;stroke-width:3}
#hpSignRect{filter:drop-shadow(0 4px 4px #0008)}
#hpSignText{font-family:var(--mono);letter-spacing:.2px}
#hpSignBoard.neon{filter:drop-shadow(0 0 7px #ff4fd8)}
.hp-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 5px 2px;font:9px var(--mono);letter-spacing:1px;color:var(--lime)}
.hp-caption b{color:#d9e9e0;font-size:10px;letter-spacing:.2px;text-align:right}
.plot-options{min-width:0;max-height:calc(92dvh - 74px);overflow-y:auto;padding:0 9px 5px 2px;scrollbar-color:#3d6b5f transparent}
#plotModal .plot-options>label:first-child{margin-top:2px}
.plot-tabs{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:2px 0 10px;background:linear-gradient(#0b261f 78%,transparent)}
.plot-tabs button{border:1px solid #31584d;border-radius:10px;background:#09211b;color:#83a198;padding:9px 7px;cursor:pointer;font:800 11px var(--sans);transition:.15s}
.plot-tabs button:hover{border-color:var(--teal);color:#d7e7e0}.plot-tabs button.on{border-color:transparent;background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;box-shadow:0 5px 16px #d8f24f22}
.plot-pane{display:none}.plot-pane.on{display:block;animation:plotPaneIn .2s ease}.plot-pane>label:first-child{margin-top:3px!important}@keyframes plotPaneIn{from{opacity:0;transform:translateY(4px)}}
.plot-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plot-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.plot-card-grid.garden-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.plot-choice{position:relative;min-width:0;min-height:61px;display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:9px;padding:8px 9px;border:1px solid #31584d;border-radius:12px;background:linear-gradient(145deg,#103129,#081e19);color:#d8e6df;text-align:left;cursor:pointer;overflow:hidden;transition:.15s}
.plot-choice::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#648a7e;opacity:.65}.plot-choice:hover{transform:translateY(-2px);border-color:#72b6a6;box-shadow:0 8px 18px #0006}.plot-choice.sel{border-color:var(--lime);background:linear-gradient(145deg,#254531,#102b22);box-shadow:0 0 0 1px #d8f24f55,0 8px 20px #0006}.plot-choice.sel::after{background:var(--lime);opacity:1}
.plot-choice.rarity-rare::after{background:#62c6ff}.plot-choice.rarity-epic::after{background:#9b8cff}.plot-choice.rarity-mythic::after{background:#ffb85c;box-shadow:0 0 9px #ffb85c}.plot-choice.rarity-mythic{border-color:#8b6e3e}
.pc-icon{width:36px;height:36px;border:1px solid #3a6459;border-radius:10px;background:#071a16;display:flex;align-items:center;justify-content:center;font-size:19px}.pc-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.pc-copy b{font:800 11px/1.15 var(--sans);white-space:normal}.pc-copy small{font:800 7.5px var(--mono);letter-spacing:.55px;color:#78998e}.rarity-rare .pc-copy small{color:#79c9ff}.rarity-epic .pc-copy small{color:#b7a4ff}.rarity-mythic .pc-copy small{color:#ffc76f}
#plotModal .plot-pane .swatches{display:grid;grid-template-columns:repeat(8,44px);gap:8px}
#plotModal .plot-pane .plot-swatch{position:relative;margin:0;width:44px;height:51px;padding:3px;border:1px solid #31584d;border-radius:10px;background:#071a16;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
#plotModal .plot-pane .plot-swatch i{display:block;width:34px;height:31px;border-radius:7px;box-shadow:inset 0 0 0 1px #ffffff24}
#plotModal .plot-pane .plot-swatch small{display:block;color:#a9c5bb;font:700 7px/1 var(--mono);letter-spacing:-.35px}
#plotModal .plot-pane .plot-swatch:hover{transform:translateY(-2px);border-color:#72b6a6}#plotModal .plot-pane .plot-swatch.sel{border-color:var(--lime);box-shadow:0 0 0 1px #d8f24f66,0 0 13px #d8f24f24}
#hpHouseFx{pointer-events:none}.hp-fx-pulse,.hp-fx-crown{transform-box:fill-box;transform-origin:center;animation:hpFxPulse 2.2s ease-in-out infinite}.hp-fx-orbit{transform-box:fill-box;transform-origin:center;animation:hpFxOrbit 4.5s linear infinite}.hp-fx-orbit.reverse{animation-direction:reverse;animation-duration:3.7s}.hp-fx-spark,.hp-fx-meteor{animation:hpFxSpark 1.8s ease-in-out infinite}.hp-fx-spark.s1,.hp-fx-meteor.s1{animation-delay:-.6s}.hp-fx-spark.s2,.hp-fx-meteor.s2{animation-delay:-1.2s}.hp-fx-beam{animation:hpFxBeam 2.5s ease-in-out infinite}
@keyframes hpFxPulse{50%{opacity:.48;transform:scale(1.035)}}@keyframes hpFxOrbit{to{transform:rotate(360deg)}}@keyframes hpFxSpark{50%{opacity:.3;transform:translateY(-4px)}}@keyframes hpFxBeam{50%{opacity:.18}}
body.reduced-motion #hpHouseFx *{animation:none!important}
#plotModal .ph-hint{border-top:1px solid #31584d;padding-top:9px;margin-top:13px}.plot-options .modal-actions{position:sticky;bottom:-5px;z-index:5;padding-top:10px;background:linear-gradient(transparent,#09241e 22%)}

/* ---- customize browser: category tabs, visual cards, and an actual nameplate preview ---- */
#customModal .cz-card{width:min(96vw,1000px);overflow:hidden}
#customModal .cz-wrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:stretch}
#customModal .cz-preview{min-height:440px;height:100%;position:relative}
.cz-nameplate{--np-bg:#061816d9;--np-border:#37665a;--np-name:#f4f7f2;--np-glow:transparent;--np-lw:2px;
  position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);min-width:126px;max-width:90%;padding:6px 18px 5px;
  display:flex;flex-direction:column;align-items:center;border:var(--np-lw) solid var(--np-border);border-radius:9px;background:var(--np-bg);
  box-shadow:0 5px 14px #0009,0 0 17px var(--np-glow);pointer-events:none;white-space:nowrap}
.cz-nameplate b{max-width:190px;overflow:hidden;text-overflow:ellipsis;color:var(--np-name);font:800 15px/1.15 var(--sans);text-shadow:0 1px 3px #000}
.cz-nameplate span{color:var(--lime);font:700 9px/1.2 var(--mono);margin-top:3px}
.cz-nameplate.rainbow{border-color:transparent;background:linear-gradient(var(--np-bg),var(--np-bg)) padding-box,
  linear-gradient(90deg,#ff6b8a,#ffd05a,#62d69a,#62c6ff,#9b8cff,#ff6b8a) border-box;box-shadow:0 5px 14px #0009,0 0 18px #9b8cff66}
.cz-browser{display:flex;flex-direction:column;min-width:0;min-height:0}
.cz-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px}
.cz-tabs button{min-width:0;border:1px solid var(--edge);border-radius:11px;background:#0a221d;color:var(--mut);padding:8px 4px 7px;
  display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:.15s}
.cz-tabs button span{font-size:15px}.cz-tabs button b{font:700 10px var(--sans);overflow:hidden;text-overflow:ellipsis}
.cz-tabs button:hover{border-color:var(--teal);color:var(--ink)}
.cz-tabs button.on{background:linear-gradient(#e7fb6a,#c8e83f);color:#0a1400;border-color:transparent;box-shadow:0 5px 16px #d8f24f33}
#customModal .cz-controls{flex:1;max-height:55vh;min-height:390px;overflow-y:auto;padding:3px 8px 5px 2px}
.cz-pane{display:none}.cz-pane.on{display:block;animation:czPaneIn .18s ease-out}
@keyframes czPaneIn{from{opacity:0;transform:translateY(4px)}}
#customModal .cz-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
#customModal .hatopt.cz-choice{position:relative;min-height:54px;width:100%;padding:7px 9px;border-radius:12px;text-align:left;
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;background:linear-gradient(145deg,#11332b,#091f1a);
  border:1px solid color-mix(in srgb,var(--cz-accent) 32%,var(--edge));overflow:hidden}
#customModal .hatopt.cz-choice::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cz-accent);opacity:.7}
#customModal .hatopt.cz-choice:hover{transform:translateY(-2px);border-color:var(--cz-accent);box-shadow:0 8px 18px #0006}
#customModal .hatopt.cz-choice.sel{background:linear-gradient(145deg,color-mix(in srgb,var(--cz-accent) 34%,#17342b),#112b24);color:#fff;
  border-color:var(--cz-accent);transform:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--cz-accent) 45%,transparent),0 7px 20px #0007}
.cz-choice-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:17px;
  background:color-mix(in srgb,var(--cz-accent) 17%,#071a16);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cz-accent) 34%,transparent)}
.cz-choice-name{font:700 11px/1.18 var(--sans);white-space:normal}.cz-lock{position:absolute;right:5px;top:4px;font-size:9px}
.cz-choice-name .cz-price{display:block;margin-top:4px;color:#d9ef8a;font:700 9px/1 var(--mono);letter-spacing:.1px}
#customModal .hatopt.cz-choice.locked{opacity:.58;filter:saturate(.55);border-style:dashed}
#customModal .hatopt.cz-choice.locked.sel{opacity:1;filter:none}
#customModal .cz-color-grid{display:grid;grid-template-columns:repeat(8,36px);gap:9px}
#customModal .cz-color-grid .swatch{margin:0}

/* ---- isolated paper-SP PvP boxing arena ---- */
.pvp-zone #batchPrompt{display:none!important}
#pvpHud{position:fixed;z-index:46;top:62px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 28px));pointer-events:none;color:#f4f7f2}
#pvpHud.hidden{display:none}
.pvp-panel{position:relative;border:1px solid #6f787a;border-radius:17px;padding:9px 12px 11px;background:linear-gradient(145deg,#171721ed,#0c1215f2);box-shadow:0 14px 45px #000b,inset 0 1px #ffffff10;backdrop-filter:blur(12px);overflow:hidden}
.pvp-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#62d6c41e,transparent 32%,transparent 68%,#ff6b691e)}
.pvp-kicker{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font:900 9px var(--mono);letter-spacing:1.25px;color:#9bb1aa}.pvp-kicker span{color:#d8f24f}.pvp-kicker>div{display:flex;align-items:center;gap:7px}.pvp-kicker b{padding:4px 8px;border:1px solid #d8f24f66;border-radius:999px;color:#d8f24f;background:#15200d}.pvp-kicker button{pointer-events:auto;width:23px;height:23px;padding:0;border:1px solid #526c66;border-radius:50%;background:#14231f;color:#d8f24f;font:900 11px var(--mono);cursor:pointer}
.pvp-queue{position:relative;display:block;min-height:42px;padding:7px 9px;border-radius:11px;background:#101a1b;border:1px solid #37554e}.pvp-queue.hidden{display:none}.pvp-queue-main{display:flex;align-items:center;gap:10px}.pvp-queue-main b{flex:1;font:800 12px var(--sans)}.pvp-queue button{pointer-events:auto;border:1px solid #526c66;border-radius:8px;background:#162622;color:#d8e5df;padding:7px 12px;cursor:pointer;font:800 10px var(--sans)}
.pvp-search{width:18px;height:18px;border:2px solid #45645c;border-top-color:#d8f24f;border-radius:50%;animation:pvpSpin .7s linear infinite}@keyframes pvpSpin{to{transform:rotate(360deg)}}
.pvp-bots{margin-top:8px;padding-top:8px;border-top:1px dashed #38534d}.pvp-bots.hidden{display:none}.pvp-bots>small{display:block;margin-bottom:7px;color:#91aaa2;font:800 7.5px var(--mono);letter-spacing:.9px}.pvp-bots>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pvp-bots button{min-height:49px;padding:6px 7px;display:grid;grid-template-columns:24px 1fr;text-align:left;align-items:center;border-color:#355f55;background:linear-gradient(145deg,#18302a,#111d1a);transition:.16s}.pvp-bots button:hover{transform:translateY(-2px);border-color:#d8f24f;color:#f2ffb0;box-shadow:0 5px 16px #0008}.pvp-bots button i{grid-row:1/3;font-style:normal;font-size:18px}.pvp-bots button b{font:900 9px var(--mono);letter-spacing:.4px}.pvp-bots button span{font:600 8px var(--sans);color:#8ea49e}.pvp-bots em{display:block;margin-top:6px;color:#70847e;font:600 8px var(--sans);font-style:normal}
.pvp-fight{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:center;gap:13px}.pvp-fight.hidden{display:none}
.pvp-fighter div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.pvp-fighter b{max-width:76%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 12px var(--sans)}.pvp-fighter span{font:900 11px var(--mono)}
.pvp-fighter i{display:block;height:11px;border-radius:7px;padding:2px;background:#050809;border:1px solid #49535a;overflow:hidden}.pvp-fighter u{display:block;width:100%;height:100%;border-radius:5px;background:linear-gradient(90deg,#62d6c4,#d8f24f);box-shadow:0 0 12px #62d6c488;transition:width .2s ease}.pvp-fighter.foe{text-align:right}.pvp-fighter.foe u{margin-left:auto;background:linear-gradient(90deg,#ff9b79,#ff5151);box-shadow:0 0 12px #ff515188}.pvp-fighter.foe div{flex-direction:row-reverse}
.pvp-clock{text-align:center;display:flex;flex-direction:column;align-items:center}.pvp-clock strong{font:950 23px/1 var(--mono);color:#f5f7f2;text-shadow:0 0 14px #d8f24f66}.pvp-clock small{margin-top:4px;font:800 6.5px var(--mono);letter-spacing:.9px;color:#788e87}.countdown .pvp-clock strong{color:#d8f24f;animation:pvpPulse .8s ease-in-out infinite}@keyframes pvpPulse{50%{transform:scale(1.16);text-shadow:0 0 22px #d8f24f}}
.pvp-controls{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.pvp-controls.hidden{display:none}.pvp-controls button{--cd:0%;position:relative;pointer-events:auto;min-height:43px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;border:1px solid #4f5b60;background:#182026;color:#f7f8f5;cursor:pointer;overflow:hidden;font:900 11px var(--sans)}.pvp-controls button::after{content:"";position:absolute;right:0;bottom:0;top:0;width:var(--cd);background:#0205059c;transition:width .04s linear}.pvp-controls button>*{position:relative;z-index:1}.pvp-controls #pvpAttack{border-color:#ff6b6988;background:linear-gradient(145deg,#3d2025,#24161a)}.pvp-controls #pvpGuard{border-color:#62d6c488;background:linear-gradient(145deg,#173b38,#142522)}.pvp-controls button:disabled{cursor:default;color:#83928e}.pvp-controls kbd{min-width:24px;padding:4px 5px;border:1px solid #ffffff38;border-radius:6px;background:#090c0e;font:900 10px var(--mono);box-shadow:0 2px #000}
.pvp-result{position:relative;margin-top:8px;padding:10px 14px;border:1px solid #61726d;border-radius:11px;text-align:center;background:#101817}.pvp-result.hidden{display:none}.pvp-result b{display:block;font:950 18px var(--sans);letter-spacing:.5px}.pvp-result span{font:700 9px var(--mono);color:#9bb0aa}.pvp-result.win{border-color:#d8f24f;color:#d8f24f;box-shadow:inset 0 0 25px #d8f24f15}.pvp-result.lose{border-color:#ff6b69;color:#ff8b86}.pvp-result.draw{border-color:#62d6c4;color:#8ee9dc}
#pvpHud.hit .pvp-panel{animation:pvpHit .22s ease-out}@keyframes pvpHit{0%{transform:translateX(-5px);box-shadow:0 0 36px #ff303066}45%{transform:translateX(4px)}100%{transform:none}}
.pvp-guide-ov{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at 50% 42%,#183b34d9,#030908ee);backdrop-filter:blur(8px);animation:gfade .25s}.pvp-guide-card{position:relative;width:min(740px,96vw);padding:24px;border:1px solid #5d887d;border-radius:28px;background:linear-gradient(145deg,#153a31,#081b17 56%,#161721);box-shadow:0 28px 100px #000e,inset 0 1px #ffffff1c,0 0 70px -28px #d8f24f}.pvp-guide-x{position:absolute;right:14px;top:13px;width:31px;height:31px;border:1px solid #49675f;border-radius:50%;background:#071511;color:#afc3bd;font:400 21px/1 var(--sans);cursor:pointer}.pvp-guide-card header{display:flex;align-items:center;gap:16px;margin:0 34px 18px 0}.pvp-guide-mascot{width:66px;height:66px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:22px;background:linear-gradient(145deg,#efff70,#91c84c);box-shadow:0 10px 28px #b8eb5255;color:#101b0c;font-size:34px;animation:guideBob 3s ease-in-out infinite}.pvp-guide-card header small{font:900 8px var(--mono);letter-spacing:1.5px;color:#d8f24f}.pvp-guide-card h2{margin:3px 0 2px;font:900 24px/1.1 ui-rounded,var(--sans);color:#f0f6f2}.pvp-guide-card header p{margin:0;color:#91aaa2;font:600 11px var(--sans)}.pvp-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pvp-guide-grid article{position:relative;min-height:145px;padding:14px 12px;border:1px solid #35594f;border-radius:17px;background:linear-gradient(155deg,#17372f,#0c211b);box-shadow:inset 0 1px #ffffff0c}.pvp-guide-grid article>i{display:flex;width:39px;height:39px;align-items:center;justify-content:center;margin-bottom:12px;border-radius:13px;background:#0a1a16;border:1px solid #466b61;font-style:normal;font-size:21px}.pvp-guide-grid article>span{position:absolute;right:11px;top:11px;font:900 8px var(--mono);color:#55736b}.pvp-guide-grid article>b{display:block;margin-bottom:6px;color:#ecf5ef;font:900 12px var(--sans)}.pvp-guide-grid article>p{margin:0;color:#9aafa8;font:600 10px/1.48 var(--sans)}.pvp-guide-card footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px}.pvp-guide-card footer span{color:#748d85;font:600 8px var(--mono)}.pvp-guide-card footer button{min-width:165px;padding:11px 18px;border:0;border-radius:13px;background:linear-gradient(135deg,#e9ff65,#badd39);box-shadow:0 8px 24px #cdea3c3d;color:#10180a;font:900 12px var(--sans);cursor:pointer}
@media(max-width:680px){#pvpHud{top:53px;width:calc(100vw - 16px)}.pvp-panel{padding:8px}.pvp-fight{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:7px}.pvp-fighter b{font-size:10px}.pvp-clock strong{font-size:18px}.pvp-clock small{display:none}.pvp-controls button{min-height:46px}.pvp-kicker{margin-bottom:5px}.pvp-bots>div{gap:4px}.pvp-bots button{grid-template-columns:20px 1fr;padding:5px 4px}.pvp-bots button i{font-size:15px}.pvp-bots button span{display:none}.pvp-guide-card{padding:18px;border-radius:22px;max-height:92dvh;overflow:auto}.pvp-guide-card header{gap:11px;margin-bottom:13px}.pvp-guide-mascot{width:50px;height:50px;border-radius:16px;font-size:26px}.pvp-guide-card h2{font-size:18px}.pvp-guide-grid{grid-template-columns:repeat(2,1fr)}.pvp-guide-grid article{min-height:112px;padding:11px}.pvp-guide-grid article>i{width:31px;height:31px;margin-bottom:7px;font-size:17px}.pvp-guide-card footer{align-items:stretch;flex-direction:column}.pvp-guide-card footer button{width:100%}}
@media(max-height:520px){#pvpHud{top:48px;width:min(650px,calc(100vw - 110px))}.pvp-kicker{display:none}.pvp-panel{padding:6px 8px}.pvp-controls{margin-top:5px}.pvp-controls button{min-height:34px}.pvp-fighter i{height:8px}}

@media(max-width:760px){
  #plotModal .plot-editor{overflow-y:auto;padding:14px;max-height:94dvh}
  .plot-editor-layout{display:flex;flex-direction:column;gap:13px}
  .house-preview-panel{width:100%;padding:7px}.hp-stage{height:220px;aspect-ratio:auto}
  .plot-options{max-height:none;overflow:visible;padding-right:2px}
  .plot-tabs{top:-14px;grid-template-columns:repeat(3,1fr)}.plot-card-grid,.plot-card-grid.compact,.plot-card-grid.garden-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plot-choice{min-height:56px}.pc-icon{width:32px;height:32px}.plot-options .modal-actions{position:static}#plotModal .plot-pane .swatches{grid-template-columns:repeat(6,42px)}#plotModal .plot-pane .plot-swatch{width:42px}
  #customModal .cz-card{overflow-y:auto;padding:14px;max-height:94dvh}
  #customModal .cz-wrap{display:flex;flex-direction:column;gap:12px}
  #customModal .cz-preview{min-height:250px;height:250px;flex:none}
  .cz-tabs{position:sticky;top:-1px;z-index:5;background:#0a211c;padding:4px 0;gap:4px}
  .cz-tabs button{flex-direction:column;gap:1px;padding:5px 2px}.cz-tabs button b{font-size:8px}
  #customModal .cz-controls{min-height:0;max-height:none;overflow:visible;padding-right:1px}
  #customModal .cz-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #customModal .cz-color-grid{grid-template-columns:repeat(7,34px)}
}

/* ===== Position History — top-center tab + curtain dropdown ===== */
#posTab.pos-tab{position:fixed;left:50%;top:52px;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:14px;border:1px solid #2f5148;cursor:pointer;
  background:linear-gradient(180deg,rgba(11,26,22,.96),rgba(7,18,15,.92));backdrop-filter:blur(8px);
  color:var(--ink,#eaf5ef);font:800 11px/1 var(--mono,monospace);letter-spacing:1.2px;box-shadow:0 6px 20px -8px #000a;transition:transform .15s,box-shadow .15s}
#posTab.pos-tab:hover{transform:translateX(-50%) translateY(2px);box-shadow:0 10px 26px -8px #000c}
#posTab .pt-ic{font-size:13px}
#posTab .pt-pnl{font-weight:900;color:var(--lime,#d8f24f)}
#posTab .pt-pnl.neg{color:#ff6b69}
#posTab .pt-caret{opacity:.7;transition:transform .25s}
#posTab.open .pt-caret{transform:rotate(180deg)}
.pos-curtain{position:fixed;inset:0;z-index:39;display:flex;justify-content:center;align-items:flex-start;
  background:rgba(3,9,7,0);backdrop-filter:blur(0px);transition:background .28s,backdrop-filter .28s;pointer-events:none}
.pos-curtain:not(.hidden){background:rgba(3,9,7,.55);backdrop-filter:blur(4px);pointer-events:auto}
.pos-curtain .pc-sheet{width:min(680px,94vw);margin-top:0;padding:16px 18px 14px;border-radius:0 0 20px 20px;
  background:linear-gradient(180deg,#0e211c,#0a1814);border:1px solid #2f5148;border-top:none;box-shadow:0 30px 70px -20px #000e;
  transform:translateY(-112%);transition:transform .34s cubic-bezier(.16,1,.3,1);max-height:82vh;display:flex;flex-direction:column}
.pos-curtain:not(.hidden) .pc-sheet{transform:translateY(0)}
.pc-grip{width:42px;height:4px;border-radius:3px;background:#3a5850;margin:0 auto 12px}
.pc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pc-title{font:900 14px/1 var(--mono,monospace);letter-spacing:1.5px;color:var(--ink,#eaf5ef)}
.pc-x{background:#12241d;border:1px solid #2f5148;color:#9db7ad;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:13px}
.pc-x:hover{color:#fff;border-color:#3f6357}
.pc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.pc-stat{background:#0a1a15;border:1px solid #223f37;border-radius:12px;padding:9px 10px;text-align:center}
.pc-sl{display:block;font:700 8.5px var(--mono,monospace);letter-spacing:.8px;color:#6f8b82;margin-bottom:5px;text-transform:uppercase}
.pc-sv{font:900 17px/1 var(--mono,monospace);color:var(--ink,#eaf5ef)}
.pc-sv.pos{color:var(--lime,#d8f24f)}.pc-sv.neg{color:#ff6b69}
.pc-tabs{display:flex;gap:6px;margin-bottom:10px}
.pc-tabb{flex:1;padding:8px;border-radius:10px;border:1px solid #223f37;background:#0a1a15;color:#8fa89f;
  font:800 10px var(--mono,monospace);letter-spacing:1px;cursor:pointer;transition:.15s}
.pc-tabb.on{background:#16352b;border-color:var(--lime,#d8f24f);color:var(--lime,#d8f24f)}
.pc-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px;padding-right:4px;min-height:120px}
.pc-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;
  background:#0b1c17;border:1px solid #1e3a32}
.pc-side{font:900 10px var(--mono,monospace);letter-spacing:.6px;padding:3px 8px;border-radius:7px}
.pc-side.long{color:#8ff2b0;background:#123a29}
.pc-side.short{color:#ff9a8f;background:#3a1f1c}
.pc-mid{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-px{font:700 12px var(--mono,monospace);color:var(--ink2,#c8ddd3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-time{font:600 9px var(--mono,monospace);color:#6f8b82}
.pc-right{text-align:right;display:flex;flex-direction:column;gap:2px}
.pc-verdict{font:900 11px var(--mono,monospace)}
.pc-verdict.hit{color:var(--lime,#d8f24f)}.pc-verdict.miss{color:#ff6b69}
.pc-sp{font:700 10px var(--mono,monospace);color:#9db7ad}
.pc-empty{text-align:center;color:#6f8b82;font:600 12px var(--sans,system-ui);padding:34px 0}
.pc-foot{margin-top:10px;text-align:center;font:600 9.5px var(--mono,monospace);letter-spacing:.5px;color:#5c7168}
@media(max-width:560px){.pc-stats{grid-template-columns:repeat(2,1fr)}#posTab .pt-label{display:none}}

/* Giant-exclusive chat name border (cf-7 Aurora Gift) — animated shimmer */
.cf-7{border-image:linear-gradient(90deg,#ffe14a,#ff9a5c,#ff6ac2,#8ad0ff,#a6f24a,#ffe14a) 1!important;border-width:2px!important;
  color:#fff!important;text-shadow:0 0 10px #ffe14acc;animation:cfAurora 3s linear infinite;background-size:200% 100%}
@keyframes cfAurora{to{filter:hue-rotate(360deg)}}

/* ===== The Giant's Cache — special sparkly shop ===== */
#giantShop.game-ov{display:flex;align-items:center;justify-content:center}
.giant-win{width:min(720px,95vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;border-radius:22px;
  background:radial-gradient(120% 80% at 50% -10%,#2a1f5e 0%,#141033 55%,#0c0a22 100%);
  border:1px solid #6b57c0;box-shadow:0 40px 90px -24px #000,0 0 60px -18px #9b8cff88;position:relative}
.giant-win::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 20% 12%,#ffe14a22,transparent 40%),radial-gradient(circle at 82% 22%,#8ad0ff22,transparent 42%)}
.giant-head{display:flex;align-items:center;gap:12px;padding:18px 20px 12px;position:relative;z-index:1}
.giant-htext{display:flex;flex-direction:column;flex:1}
.giant-title{font:900 18px/1 var(--mono,monospace);letter-spacing:1px;color:#fff;text-shadow:0 0 14px #ffe14a88}
.giant-sub{margin-top:5px;font:600 10px var(--mono,monospace);letter-spacing:.6px;color:#b9aef0}
.giant-timer{font:900 20px/1 var(--mono,monospace);color:#ffe14a;background:#00000055;border:1px solid #ffe14a66;border-radius:10px;padding:7px 11px;text-shadow:0 0 10px #ffe14a}
#giantShop .gx{background:#241a52;border:1px solid #6b57c0;color:#cdbffff0;width:30px;height:30px;border-radius:9px;cursor:pointer}
.giant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:8px 20px 4px;overflow-y:auto;position:relative;z-index:1}
.giant-card{position:relative;overflow:hidden;border-radius:16px;padding:16px 12px 12px;text-align:center;
  background:linear-gradient(180deg,#221a4e,#171240);border:1px solid #4a3d8f}
.giant-card.r-mythic{border-color:#ffe14a;box-shadow:0 0 22px -6px #ffe14a99,inset 0 0 20px -12px #ffe14a}
.giant-card.r-legendary{border-color:#c9a6ff;box-shadow:0 0 20px -8px #b79bff88}
.giant-card.owned{opacity:.62}
.gc-shine{position:absolute;top:-60%;left:-30%;width:60%;height:220%;transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,#ffffff2e,transparent);animation:gcShine 3.4s ease-in-out infinite}
@keyframes gcShine{0%,72%{left:-40%}100%{left:130%}}
.gc-ic{font-size:34px;filter:drop-shadow(0 0 10px #ffe14a88);margin-bottom:7px}
.gc-name{display:block;font:800 12px var(--sans,system-ui);color:#fff;margin-bottom:4px}
.gc-rare{display:inline-block;font:800 8px var(--mono,monospace);letter-spacing:1px;color:#0c0a22;background:linear-gradient(90deg,#ffe14a,#ffb85c);padding:2px 8px;border-radius:6px;margin-bottom:10px}
.giant-buy{width:100%;padding:9px;border-radius:10px;border:none;cursor:pointer;font:800 12px var(--mono,monospace);
  background:linear-gradient(90deg,#ffe14a,#ffcf6a);color:#20180a;transition:.15s}
.giant-buy:hover{filter:brightness(1.08);transform:translateY(-1px)}
.giant-buy.poor{background:#2a2350;color:#8a7fce;cursor:not-allowed}
.giant-buy.owned{background:#1c3a2c;color:#8ff2b0;cursor:default}
.giant-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 18px;position:relative;z-index:1;
  font:800 13px var(--mono,monospace);color:#ffe14a}
.giant-note{font:600 10px var(--mono,monospace);color:#b9aef0}

/* Giant-exclusive chat border cf-8 Cosmic Halo — deep space shimmer */
.cf-8{border-image:linear-gradient(90deg,#9b8cff,#5fb6ac,#8fe4ff,#b79bff,#9b8cff) 1!important;border-width:2px!important;
  color:#eae4ff!important;text-shadow:0 0 10px #9b8cffcc,0 0 18px #5fb6ac66;animation:cfCosmic 4s ease-in-out infinite}
@keyframes cfCosmic{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35) hue-rotate(28deg)}}

/* ===== Giant appearance — big ominous announcement ===== */
#giantAlert{position:fixed;left:0;right:0;top:14%;z-index:70;display:flex;justify-content:center;pointer-events:none;
  opacity:0;transform:translateY(-24px) scale(.96);transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1)}
#giantAlert.show{opacity:1;transform:translateY(0) scale(1)}
#giantAlert .ga-inner{position:relative;text-align:center;padding:22px 40px;border-radius:18px;
  background:radial-gradient(120% 140% at 50% 0%,#241a52 0%,#0c0820 60%,#050310 100%);
  border:1px solid #6b57c0;box-shadow:0 24px 70px -18px #000,0 0 60px -14px #9b8cff88, inset 0 0 40px -18px #ffe14a55;
  animation:gaPulse 1.6s ease-in-out infinite}
@keyframes gaPulse{50%{box-shadow:0 24px 70px -18px #000,0 0 90px -10px #ffe14a99,inset 0 0 50px -14px #ffe14a77}}
#giantAlert .ga-eye{font-size:34px;filter:drop-shadow(0 0 14px #ffe14a);animation:gaEye 2.4s ease-in-out infinite}
@keyframes gaEye{0%,100%{transform:scale(1)}50%{transform:scale(1.18) rotate(-4deg)}}
#giantAlert .ga-title{margin-top:6px;font:900 30px/1.05 var(--mono,monospace);letter-spacing:3px;color:#fff;
  text-shadow:0 0 18px #ffe14a,0 0 40px #9b8cffaa;text-transform:uppercase}
#giantAlert .ga-sub{margin-top:9px;font:700 12px var(--mono,monospace);letter-spacing:1px;color:#c9bdff}
@media(max-width:560px){#giantAlert .ga-title{font-size:20px;letter-spacing:1.5px}#giantAlert .ga-inner{padding:16px 22px}}

/* ===== FOGO room — voice stage channel HUD ===== */
#fogoHud{position:fixed;top:86px;right:18px;width:min(344px,calc(100vw - 28px));margin:0;z-index:56;max-height:calc(100dvh - 108px);display:flex;flex-direction:column;text-align:left;background:radial-gradient(circle at 12% 0,#75301355,transparent 44%),linear-gradient(165deg,rgba(33,16,10,.97),rgba(11,9,13,.98));border:1px solid #c35d2d99;border-radius:20px;box-shadow:0 24px 68px -18px #000,0 0 38px -15px #ff5a1eaa,inset 0 1px #ffd0a03d;backdrop-filter:blur(16px);overflow:hidden;color:#f8eee6;transition:box-shadow .18s,border-color .18s;font-family:var(--sans);font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
#fogoHud.hidden{display:none}
#fogoHud.dragging{transition:none;border-color:#ff965e;box-shadow:0 30px 80px -18px #000,0 0 46px -12px #ff5a1ecc;user-select:none}
#fogoHud .fv-head{display:flex;align-items:center;gap:9px;padding:12px 13px;border-bottom:1px solid #6e351d77;cursor:grab;touch-action:none}
#fogoHud.dragging .fv-head{cursor:grabbing}
#fogoHud .fv-title{display:flex;align-items:center;gap:9px;color:#ffe2cd;text-shadow:0 0 12px #ff5a1e66}.fv-icon{display:inline-grid;place-items:center;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-style:normal;line-height:1;text-transform:none}#fogoHud .fv-title>.fv-icon{width:30px;height:30px;border:1px solid #ff8b4a55;border-radius:9px;background:#ff5a1e16;font-size:17px}#fogoHud .fv-title>span{display:grid;gap:4px}#fogoHud .fv-title b{font:800 16px/1.15 var(--sans);letter-spacing:.045em}#fogoHud .fv-title small{color:#d0aa91;font:700 9px/1.25 var(--sans);letter-spacing:.04em}
#fogoHud .fv-drag{margin-left:auto;color:#b68a74;font:900 17px/1 var(--mono);opacity:.78;transform:rotate(90deg)}
#fogoHud .fv-count{font:800 11px var(--sans);color:#1a0c06;background:linear-gradient(90deg,#ff7a34,#ffc070);padding:5px 9px;border-radius:20px;box-shadow:0 0 14px #ff6a2144}
#fogoHud .fv-adminbar{display:flex;flex-direction:column;gap:7px;padding:8px 10px;border-bottom:1px solid #3a2214}
#fogoHud .fv-sec{display:flex;flex-direction:column;gap:4px}
#fogoHud .fv-sec-h{color:#c8aa96;font:800 9px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
#fogoHud .fv-sec-h:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#b45a3255,transparent)}
#fogoHud[data-room="ama"] .fv-sec-h:after{background:linear-gradient(90deg,#62d6c455,transparent)}
#fogoHud .fv-sec-b{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
#fogoHud .fv-sec-b .fv-btn{flex:0 1 auto}
#fogoHud .fv-btn.xs{padding:4px 7px;font-size:10px;border-radius:7px;flex:0 0 auto}
#fogoHud .fv-btn.stop{color:#ffb0a0;border-color:#6a2f22}
#fogoHud .fv-venue-vol{flex:0 0 auto;min-width:42px;text-align:center;font:800 11px var(--mono);color:#ffd9b8}
#fogoHud .fv-hands{padding:7px 12px;font:700 10px var(--mono);color:#ffcf6a;background:#ff5a1e12;border-bottom:1px solid #3a2214;overflow-wrap:anywhere}
#fogoHud .fv-roster{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}
#fogoHud .fv-section{display:flex;flex-direction:column;gap:5px}.fv-section-title{display:flex;align-items:center;gap:7px;padding:3px 5px 2px;color:#c8aa96;font:800 9px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase}.fv-section-title:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#b45a3266,transparent)}.fv-section-title b{order:3;min-width:18px;text-align:center;color:#e2c5b2;font:800 8px var(--mono)}#fogoHud[data-room="ama"] .fv-section-title:after{background:linear-gradient(90deg,#62d6c466,transparent)}
#fogoHud .fv-empty{color:#b09a8a;font:600 13.5px var(--sans,system-ui);text-align:center;padding:22px 0}
#fogoHud .fv-row{--voice-level:0;--voice-glow:5px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:35px;padding:7px 8px;border:1px solid #ffffff08;border-radius:10px;background:#ffffff05;transition:border-color .16s,background .16s,box-shadow .16s}
#fogoHud .fv-row.adm{background:linear-gradient(90deg,#ff5a1e18,#ffffff04);border-color:#8e4627aa}
#fogoHud .fv-dot{width:8px;height:8px;border:2px solid #20140e;border-radius:50%;background:#655144;box-shadow:0 0 0 1px #ffffff12;flex:none;transition:.15s}
#fogoHud .fv-row[data-connection="local"] .fv-dot,#fogoHud .fv-row.connected .fv-dot{background:#54d69a;box-shadow:0 0 7px #54d69a88}
#fogoHud .fv-row[data-connection="connecting"] .fv-dot{background:#ffb35f;animation:fvConnecting 1.15s ease-in-out infinite}
#fogoHud .fv-row[data-connection="failed"] .fv-dot{background:#ff6f6f;box-shadow:0 0 8px #ff4e4e}
#fogoHud .fv-row.speaking{border-color:#65e69b66;background:linear-gradient(90deg,#4ad98716,#ffffff05);box-shadow:inset 3px 0 #62e49a,0 0 var(--voice-glow) #4ee09422}#fogoHud .fv-row.speaking .fv-dot{background:#72f6ac;box-shadow:0 0 var(--voice-glow) #3fe08a}#fogoHud .fv-row.speaking .fv-name{color:#f2fff7;text-shadow:0 0 var(--voice-glow) #6af0a488;animation:fvVoiceName 1.25s ease-in-out infinite}@keyframes fvVoiceName{50%{filter:brightness(1.16)}}
@keyframes fvConnecting{50%{opacity:.35;transform:scale(.76)}}
#fogoHud .fv-name{flex:1;min-width:0;font:700 13.5px/1.35 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fogoHud .fv-name small{color:#a98d7a;font-size:10px;font-weight:600}
#fogoHud .fv-badges{display:flex;align-items:center;gap:4px;flex:none}
#fogoHud .fv-badges em{display:grid;place-items:center;min-width:20px;height:20px;font-style:normal}#fogoHud .fv-badges em>span{font:13px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}
#fogoHud .fb-adm{width:auto!important;height:auto!important;min-width:0!important;font:900 6px var(--mono)!important;letter-spacing:.5px;color:#160b06;background:linear-gradient(90deg,#ff8a3c,#ffcf6a);padding:3px 4px;border-radius:5px}
#fogoHud .fv-vol{width:100%;height:5px;flex:1 0 60px;accent-color:#ff8a3c;cursor:pointer}
#fogoHud .fv-volume{order:10;flex:0 0 100%;display:grid;grid-template-columns:26px minmax(70px,1fr) 35px;align-items:center;gap:7px;padding:3px 2px 0 15px}#fogoHud .fv-volume output{color:#bfa492;font:700 9px var(--mono);text-align:right}#fogoHud .fv-local-mute{display:grid;place-items:center;width:25px;height:23px;padding:0;border:1px solid #6b3a1e;border-radius:7px;background:#2a1810;color:#f7e8dc;font:13px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;cursor:pointer}#fogoHud .fv-local-mute.off{background:#5a1e1e;border-color:#8c3a32}
#fogoHud .fv-mini{flex:none;font:800 10.5px var(--mono);padding:4px 9px;border-radius:7px;border:1px solid #6b3a1e;background:#2a1810;color:#ffc39c;cursor:pointer}
#fogoHud .fv-mini:hover{background:#3a2214}
#fogoHud .fv-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;border-top:1px solid #4b2918;flex-wrap:wrap}
#fogoHud .fv-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:11px 9px;border-radius:11px;border:1px solid #7b3e2488;background:linear-gradient(180deg,#352016,#21130e);color:#fff8f2;font:700 13px/1.3 var(--sans);cursor:pointer;transition:.15s}#fogoHud .fv-btn .fv-icon{font-size:16px}
#fogoHud .fv-btn:hover{background:#3a2214}
#fogoHud .fv-btn.join{grid-column:1/-1;padding:13px;font-size:12px;background:linear-gradient(100deg,#ff6425,#ffb45d);color:#1a0e06;border:none;box-shadow:0 4px 16px #ff5a1e44}
#fogoHud .fv-btn.leave{color:#ff8a8a;border-color:#5a2a2a}
#fogoHud .fv-btn.off{background:#5a1e1e;color:#ffb0b0;border-color:#7a2a2a}
#fogoHud .fv-btn.on{background:#2a3a5a;color:#a8c8ff;border-color:#3a5a8a}
#fogoHud .fv-btn.sm{min-width:0;padding:9px 7px;font-size:11.5px}
#fogoHud .fv-share-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font:700 12px/1.35 var(--sans);color:#ffd59a;border-top:1px solid #3a2214;text-align:left}#fogoHud .fv-share-note button{border:1px solid #ff8a3c88;border-radius:9px;background:#ff6a2124;color:#fff1e8;padding:8px 10px;font:800 11px/1.2 var(--sans);cursor:pointer}
#fogoHud[data-room="ama"]{background:radial-gradient(circle at 12% 0,#526b4555,transparent 44%),linear-gradient(165deg,rgba(13,35,30,.97),rgba(9,15,14,.98));border-color:#78caba99;box-shadow:0 24px 68px -18px #000,0 0 38px -15px #62d6c499,inset 0 1px #ddffc73d}#fogoHud[data-room="ama"] .fv-head{border-bottom-color:#477d7277}#fogoHud[data-room="ama"] .fv-title{color:#eafff6;text-shadow:0 0 14px #62d6c488}#fogoHud[data-room="ama"] .fv-title>.fv-icon{border-color:#62d6c455;background:#62d6c416}#fogoHud[data-room="ama"] .fv-count{background:linear-gradient(90deg,#62d6c4,#d8f24f)}
#liveScreenPrompt{position:fixed;left:50%;bottom:34px;z-index:58;transform:translateX(-50%);padding:14px 23px;border:2px solid #ff9b62aa;border-radius:999px;background:#090b0bf5;color:#fff4ec;font:800 14px/1.25 var(--sans);letter-spacing:.025em;white-space:nowrap;text-shadow:0 1px 8px #000;box-shadow:0 10px 32px #000c,0 0 15px #ff6a2126;pointer-events:none;animation:livePromptGlow 2.3s ease-in-out infinite}#liveScreenPrompt.hidden{display:none}@keyframes livePromptGlow{50%{border-color:#ffb07dcc;box-shadow:0 10px 32px #000c,0 0 25px #ff6a2147;text-shadow:0 1px 8px #000,0 0 7px #ffb07866}}
#liveScreenViewer{position:fixed;inset:0;height:100dvh;max-height:100dvh;z-index:96;display:grid;grid-template-rows:56px minmax(0,1fr) 58px;overflow:hidden;background:#030506f7;backdrop-filter:blur(14px)}#liveScreenViewer header{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ffffff1c;background:#0a0e0d}#liveScreenViewer header>span{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}#liveScreenViewer header i{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#ff6a21;box-shadow:0 0 14px #ff6a21}#liveScreenViewer[data-room="ama"] header i{background:#d8f24f;box-shadow:0 0 14px #d8f24f}#liveScreenViewer header b{color:#f4eee8;font:900 13px var(--mono);letter-spacing:.1em}#liveScreenViewer header small{color:#80918b;font:700 8px var(--mono)}#liveScreenViewer header div{display:flex;gap:8px}#liveScreenViewer button{border:1px solid #ffffff26;border-radius:9px;background:#ffffff08;color:#e9efec;padding:8px 11px;font:800 9px var(--mono);cursor:pointer}#liveScreenViewer [data-close]{width:34px;padding:0;font-size:19px}.lsv-stage{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;padding:12px 18px 8px}.lsv-stage video{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;background:#000;border:1px solid #ffffff1b;border-radius:12px;box-shadow:0 18px 60px #000}#liveScreenViewer footer{display:flex;align-items:center;justify-content:center;gap:13px;border-top:2px solid #ff8a3c88;background:linear-gradient(90deg,#0a100f,#1d100b,#0a100f);color:#f4faf6;font:800 15px var(--sans);text-shadow:0 1px 8px #000;box-shadow:inset 0 8px 22px #ff6a2110}#liveScreenViewer[data-room="ama"] footer{border-top-color:#d8f24f88;background:linear-gradient(90deg,#08110e,#15200d,#08110e)}#liveScreenViewer footer kbd{display:grid;place-items:center;min-width:34px;height:31px;padding:0 9px;border:1px solid #fff;border-bottom-width:4px;border-radius:7px;background:#f4f7f5;color:#10201b;font:900 14px var(--sans);box-shadow:0 0 16px #ffffff25}
.focused-live-zone #batchPrompt,.focused-live-zone #batchStatus,.focused-live-zone #posTab,.focused-live-zone #posCurtain,.focused-live-zone #posPanel,.focused-live-zone #btnCustom{display:none!important}
.immersive-event-zone #leftpanel,.immersive-event-zone #rightpanel{display:none!important}
html[lang="ko"] #fogoHud .fv-title b,html[lang="ko"] #fogoHud .fv-title small,html[lang="ko"] #fogoHud .fv-btn,html[lang="ko"] #fogoHud .fv-share-note{letter-spacing:0;word-break:keep-all}
@media(max-width:620px){#fogoHud{left:10px!important;right:10px!important;top:auto!important;bottom:94px!important;width:auto;max-height:52dvh;border-radius:17px}#fogoHud .fv-head{cursor:default}#fogoHud .fv-roster{min-height:42px}#fogoHud .fv-row{flex-wrap:wrap}#fogoHud .fv-vol{order:5;flex-basis:100%}#liveScreenPrompt{bottom:25px;padding:11px 17px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#liveScreenPrompt,#fogoHud .fv-row.speaking .fv-name{animation:none}}

/* ---------- F.U.E.L live event ---------- */
#fuelHud{position:fixed;z-index:34;top:74px;right:18px;width:min(340px,calc(100vw - 28px));padding:12px;border:1px solid #ff7a4b66;border-radius:18px;background:linear-gradient(155deg,#180d0bef,#071815f2);box-shadow:0 18px 60px #0009,0 0 34px #ff5a1e18;color:#f5eee7;backdrop-filter:blur(16px)}
#fuelHud.hidden,#fuelAdmin.hidden{display:none!important}#fuelHud header{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding-bottom:9px;border-bottom:1px solid #ff7a4b2b}#fuelHud header b{font:800 13px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fuel-live{padding:5px 7px;border-radius:7px;background:#ff5a1e;color:#180b07;font:900 9px var(--mono);letter-spacing:.08em;box-shadow:0 0 18px #ff5a1e70;animation:fuelLive 1.5s ease-in-out infinite}#fuelClock{color:#d8f24f;font:900 13px var(--mono);font-variant-numeric:tabular-nums}@keyframes fuelLive{50%{box-shadow:0 0 7px #ff5a1e40}}
.fuel-rounds{display:flex;gap:5px;margin:10px 0}.fuel-rounds i{display:grid;place-items:center;width:23px;height:23px;border:1px solid #63534d;border-radius:50%;color:#7f7772;font:800 9px var(--mono);font-style:normal}.fuel-rounds i.on{border-color:#ff7a4b;color:#fff;background:#ff5a1e55;box-shadow:0 0 13px #ff5a1e55}.fuel-rounds i.done{border-color:#d8f24f80;color:#d8f24f}.fuel-status{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;background:#ffffff08;font:700 10px var(--mono)}.fuel-status span{color:#ff926e}.fuel-status b{margin-left:auto;color:#d8f24f}.fuel-status em{padding:3px 5px;border-radius:5px;background:#5fe3dd1b;color:#8ef8e4;font-style:normal}
.fuel-action{display:grid;gap:7px;margin-top:9px}.fuel-action>small{color:#9eb0aa;font:600 9px/1.4 var(--mono)}.fuel-primary,.fuel-pulse{width:100%;border:0;border-radius:11px;padding:12px;background:linear-gradient(100deg,#ff5a1e,#ff9b54);color:#160b08;font:900 12px var(--mono);cursor:pointer;box-shadow:0 7px 24px #ff5a1e28}.fuel-team-card{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:9px;border:1px solid #5fe3dd4d;border-radius:11px;background:#5fe3dd0c}.fuel-team-card small{grid-column:1/3;color:#5fe3dd;font:700 8px var(--mono)}.fuel-team-card b{font:800 12px var(--mono)}.fuel-team-card span{color:#d8f24f;font:800 11px var(--mono)}.fuel-team-card button{grid-column:1/3;margin-top:5px;border:1px solid #ffffff22;border-radius:7px;background:#ffffff08;color:#d7dfdc;padding:6px;cursor:pointer}
.fuel-roster{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:8px;max-height:88px;overflow:auto}.fuel-roster>span{display:flex;gap:5px;align-items:center;min-width:0;padding:4px 5px;border-radius:6px;background:#fff05;color:#bfcac6;font:600 8px var(--mono);white-space:nowrap;overflow:hidden}.fuel-roster>span i{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#d8f24f;box-shadow:0 0 7px #d8f24f}.fuel-roster>span.out{opacity:.42;text-decoration:line-through}.fuel-roster>span.out i{background:#ff665c;box-shadow:none}.fuel-roster>span b{margin-left:auto;color:#8ef8e4;font-size:7px}
.fuel-admin{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #ff7a4b30;border-radius:13px;background:linear-gradient(150deg,#1e100de8,#071713e8);box-shadow:inset 0 1px #ffffff0a}.fuel-admin [hidden]{display:none!important}.fuel-admin-head{display:flex;align-items:center;justify-content:space-between}.fuel-admin-head>b{color:#ff916a;font:900 9px var(--mono);letter-spacing:.12em}.fuel-admin-head>span{padding:4px 6px;border:1px solid #5fe3dd40;border-radius:999px;background:#5fe3dd0c;color:#8ef8e4;font:800 7px var(--mono)}.fuel-admin-round{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.fuel-admin-round>span{color:#869991;font:800 7px var(--mono);letter-spacing:.08em}.fuel-admin select{min-width:0;width:100%;border:1px solid #ff7a4b45;border-radius:8px;background:#100c0b;color:#f1e9e3;padding:7px 9px;font:800 9px var(--mono);cursor:pointer}.fuel-admin select:disabled{opacity:.55;cursor:not-allowed}.fuel-admin-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid #ffffff13;border-radius:10px;background:#050c0a}.fuel-admin-mode button{border:0;border-radius:7px;background:transparent;color:#71817b;padding:7px;font:900 8px var(--mono);cursor:pointer}.fuel-admin-mode button.on{background:linear-gradient(100deg,#ff5a1e,#ff9853);color:#1b0a05;box-shadow:0 3px 12px #ff5a1e35}.fuel-admin-mode button[data-fuel-mode="demo"].on{background:linear-gradient(100deg,#a7c735,#d8f24f);color:#101706}.fuel-admin>p{margin:0;padding:7px 8px;border-left:2px solid #ff7a4b;background:#ffffff05;color:#aebbb6;font:600 8px/1.45 var(--sans)}.fuel-admin-main{display:grid;gap:6px}.fuel-admin-main button{display:grid;gap:3px;width:100%;min-width:0;border:1px solid #ff7a4b55;border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer}.fuel-admin-main button b{font:900 10px var(--mono)}.fuel-admin-main button span{color:#b7aaa4;font:600 8px var(--sans)}.fuel-admin-primary{background:linear-gradient(100deg,#ff5a1e,#ff9853);color:#170a06;box-shadow:0 6px 18px #ff5a1e20}.fuel-admin-primary span{color:#35130b!important}.fuel-admin-main button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.fuel-admin button:disabled{opacity:.38;filter:saturate(.45);cursor:not-allowed}.fuel-admin-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fuel-admin-tools button{min-width:0;border:1px solid #ffffff1c;border-radius:8px;background:#ffffff06;color:#c9d2ce;padding:7px;font:800 8px var(--mono);cursor:pointer}.fuel-admin-tools button:hover{border-color:#ff7a4b66;color:#fff}.fuel-admin-tools button.armed{border-color:#ff665c;background:#ff665c22;color:#ffaaa4}
.fuel-session-locked{display:grid;gap:5px;padding:11px;border:1px solid #ffb85c45;border-radius:10px;background:#ffb85c0b}.fuel-session-locked b{color:#ffd293;font:900 10px var(--mono)}.fuel-session-locked span{color:#acbab5;font:600 9px/1.5 var(--sans)}
#fuelHostChat{position:fixed;z-index:83;left:50%;top:72px;width:min(900px,calc(100vw - 36px));transform:translate(-50%,-14px);display:grid;grid-template-columns:auto 1fr;gap:5px 18px;padding:19px 25px 20px;border:2px solid #ff9b74;border-radius:18px;background:linear-gradient(105deg,#260d0cf8,#06241ff8);box-shadow:0 18px 58px #000d,0 0 40px #ff5a1e55;opacity:0;pointer-events:none;backdrop-filter:blur(18px)}#fuelHostChat.hidden,#fuelHostChat.outside{display:none!important}#fuelHostChat.show{animation:fuelHostChatIn .22s cubic-bezier(.2,.85,.2,1) forwards}#fuelHostChat small{grid-row:1/3;align-self:center;padding:10px 12px;border-radius:9px;background:#ff5a1e;color:#190805;font:950 12px var(--mono);letter-spacing:.1em;box-shadow:0 0 18px #ff5a1e66}#fuelHostChat b{color:#ffd1bc;font:950 16px var(--mono);text-shadow:0 2px 12px #000}#fuelHostChat p{margin:1px 0 0;color:#fff;font:900 24px/1.3 var(--sans);letter-spacing:.005em;overflow-wrap:anywhere;text-shadow:0 2px 14px #000}@keyframes fuelHostChatIn{to{opacity:1;transform:translate(-50%,0)}}
#fuelHostChat[data-zone="fogo"]{border-color:#ff865a;background:linear-gradient(105deg,#32120ef8,#151018f8);box-shadow:0 18px 58px #000d,0 0 40px #ff5a1e55}#fuelHostChat[data-zone="fogo"] small{background:#ff6a21;color:#1b0905}#fuelHostChat[data-zone="ama"]{border-color:#76dcc9;background:linear-gradient(105deg,#092e28f8,#111a16f8);box-shadow:0 18px 58px #000d,0 0 40px #62d6c455}#fuelHostChat[data-zone="ama"] small{background:#79dfca;color:#071815}#fuelHostChat[data-zone="ama"] b{color:#dffcf5}
.fuel-r1-signal{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:8px;font-family:var(--mono);text-align:center}.fuel-r1-signal b{font-size:12px;letter-spacing:.08em}.fuel-r1-signal span{font-size:8px;color:#c7d0cc}.fuel-r1-signal.stop{border:1px solid #ff685b80;background:#34100ee8;color:#ff8c82;box-shadow:0 0 20px #ff3c2624}.fuel-r1-signal.go{border:1px solid #d8f24f66;background:#18200dea;color:#eaff72}
.fuel-votes{display:flex;gap:5px}.fuel-votes button{flex:1;border:1px solid #ffffff1b;border-radius:7px;background:#ffffff06;color:#d8e0dc;padding:6px;cursor:pointer}.fuel-votes i{display:block;width:14px;height:14px;margin:0 auto 3px;border-radius:4px;background:var(--tile);box-shadow:0 0 9px var(--tile)}.fuel-pulse{background:linear-gradient(110deg,#9b8cff,#d8f24f);display:flex;justify-content:center;gap:12px;align-items:center}.fuel-pulse b{font-size:22px}.fuel-pulse span{font-size:9px}.fuel-turn-wait{display:grid;gap:4px;padding:11px;border:1px solid #9b8cff55;border-radius:10px;background:#9b8cff0b}.fuel-turn-wait small{color:#8fa09a;font:700 8px var(--mono)}.fuel-turn-wait b{color:#c9c1ff;font:950 15px var(--mono)}.fuel-turn-wait span{color:#b7c2be;font:650 9px/1.45 var(--sans)}.fuel-spectate{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #9b8cff55;border-radius:9px;background:#9b8cff10}.fuel-spectate b{color:#bcb2ff;font:800 10px var(--mono)}.fuel-spectate span{color:#abb5b1;font:600 8px var(--mono)}
.fuel-results{display:grid;gap:4px;margin:0;padding:0;list-style:none}.fuel-results li{display:flex;justify-content:space-between;padding:7px;border-radius:7px;background:#ffffff07;color:#dbe3df;font:700 9px var(--mono)}.fuel-results li:first-child{background:#d8f24f18;color:#eaff87}.fuel-roster>span.fuel-team-pnl{background:#5fe3dd09;text-decoration:none;opacity:1}.fuel-roster>span.fuel-team-pnl b{font-size:8px;color:#74efd8}.fuel-roster>span.fuel-team-pnl b.neg{color:#ff8179}.fuel-trade{display:grid;gap:7px}.fuel-trade button,.fuel-trade select{border:1px solid #ffffff22;border-radius:8px;background:#10211d;color:#edf4f0;font:800 9px var(--mono);cursor:pointer}.fuel-market-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:7px;align-items:stretch}.fuel-market-row label{display:grid;gap:3px}.fuel-market-row label span,.fuel-market-row small,.fuel-leverage>span{color:#839991;font:700 7px var(--mono);letter-spacing:.06em}.fuel-market-row select{width:100%;padding:8px;border-color:#5fe3dd55}.fuel-market-row>div{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:5px 8px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff05}.fuel-market-row b{color:#f3f7f4;font:900 13px var(--mono);font-variant-numeric:tabular-nums}.fuel-leverage{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:6px 7px;border:1px solid #ffffff0d;border-radius:9px;background:#ffffff04}.fuel-leverage>div{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.fuel-leverage button{padding:5px 2px;border-color:#5fe3dd25;color:#9eb0aa;background:#061612}.fuel-leverage button.on{border-color:#d8f24f;color:#152007;background:#d8f24f;box-shadow:0 0 10px #d8f24f44}.fuel-leverage>b{color:#d8f24f;font:900 10px var(--mono)}.fuel-side{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fuel-side button{display:flex;flex-direction:column;gap:3px;padding:9px}.fuel-side button b{font-size:10px}.fuel-side button span{color:#7f918b;font-size:6px}.fuel-trade #fuelLong{border-color:#5fe3dd88;color:#80f5df;background:#0c2c26}.fuel-trade #fuelShort{border-color:#ff665c77;color:#ff938c;background:#311311}.fuel-position{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;border:1px solid #ffffff13;border-radius:9px;background:#ffffff05}.fuel-position small,.fuel-position span{grid-column:1;color:#899c95;font:700 7px var(--mono)}.fuel-position b{color:#edf4f0;font:900 10px var(--mono)}.fuel-position em{grid-column:2;grid-row:1/4;align-self:center;color:#6cebd4;font:900 14px var(--mono);font-style:normal}.fuel-position.loss em{color:#ff746c}.fuel-position.pending{border-color:#d8f24f55;background:#d8f24f0b}.fuel-position.pending b{color:#eaff8b}.fuel-position.empty{grid-template-columns:1fr}.fuel-trade .fuel-close{padding:7px;border-color:#f3bd6855;color:#ffd793;background:#2b2111}.fuel-book-head{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.fuel-book-head b{color:#c8d7d1;font:800 8px var(--mono)}.fuel-book-head span{color:#61736d;font:600 6px var(--mono)}.fuel-trade .fuel-book{display:flex;flex-direction:column;gap:1px;padding:5px;border:1px solid #ffffff0d;border-radius:8px;background:#020b0a}.fuel-book span{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;padding:2px 4px;font:600 7px var(--mono)}.fuel-book span i{position:absolute;right:0;top:1px;bottom:1px;z-index:0;opacity:.18}.fuel-book span.ask i{background:#ff665c}.fuel-book span.bid i{background:#5fe3dd}.fuel-book span b,.fuel-book span em{position:relative;z-index:1;font-style:normal}.fuel-book span em{text-align:right;color:#80958f}.fuel-book span.ask b{color:#ff8b84}.fuel-book span.bid b{color:#7bead7}.fuel-book>strong{display:flex;justify-content:center;gap:8px;padding:4px;color:#d8f24f;text-align:center;font:800 7px var(--mono)}.fuel-book>strong small{color:#70847d;font-size:6px}.fuel-trade>small{color:#667a74;font:600 6px var(--mono);text-transform:uppercase}.fuel-trade>strong{color:#84958f;font:600 7px var(--mono);text-align:right}
.fuel-session-pnl{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 10px;border:1px solid #5fe3dd55;border-radius:9px;background:#5fe3dd0b}.fuel-session-pnl small{color:#86a099;font:800 7px var(--mono)}.fuel-session-pnl b{grid-column:2;grid-row:1/3;align-self:center;color:#73efd8;font:950 17px var(--mono)}.fuel-session-pnl span{color:#aab9b4;font:700 7px var(--mono)}.fuel-session-pnl.loss{border-color:#ff665c55;background:#ff665c09}.fuel-session-pnl.loss b{color:#ff8179}
.fuel-position.bankrupt{grid-template-columns:1fr;border-color:#ff665c88;background:#3b100ee8}.fuel-position.bankrupt small{color:#ff9a92}.fuel-position.bankrupt b{color:#fff;font-size:11px}.fuel-position.bankrupt span{color:#ffc0bb}.fuel-trade .fuel-close:disabled{cursor:wait;opacity:.58}
#fuelBlackout{position:fixed;inset:0;z-index:84;pointer-events:none;background:#000;opacity:1;transition:none}#fuelBlackout.hidden{opacity:0;visibility:hidden}#fuelBlackout>div{display:none}
#fuelGuide{position:fixed;inset:0;z-index:85;display:grid;place-items:center;padding:22px;background:#020807d6;backdrop-filter:blur(10px)}#fuelGuide.hidden{display:none}#fuelGuide>section{position:relative;width:min(820px,94vw);overflow:hidden;border:1px solid var(--fuel-accent);border-radius:24px;padding:22px;background:linear-gradient(145deg,#0b1715f7,#160e0df7);box-shadow:0 24px 90px #000b} .fuel-guide-x{position:absolute;right:14px;top:14px;width:30px;height:30px;border:1px solid #ffffff22;border-radius:50%;background:#ffffff08;color:#eee;font-size:20px;cursor:pointer}#fuelGuide header{display:flex;gap:16px;align-items:center;padding-right:35px}#fuelGuide header>i{display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:#ffffff0b;color:var(--fuel-accent);font:900 24px var(--mono);font-style:normal;box-shadow:inset 0 0 25px #ffffff0a}#fuelGuide small{color:var(--fuel-accent);font:800 9px var(--mono);letter-spacing:.12em}#fuelGuide h2{margin:3px 0;color:#f3eee7;font:900 clamp(21px,3vw,34px) var(--sans)}#fuelGuide header p{margin:0;color:#98aaa4;font:700 10px var(--mono)}.fuel-guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.fuel-guide-cards article{position:relative;min-height:105px;padding:16px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff06}.fuel-guide-cards article span{position:absolute;right:11px;top:9px;color:#ffffff1a;font:900 24px var(--mono)}.fuel-guide-cards article b{color:var(--fuel-accent);font:900 11px var(--mono)}.fuel-guide-cards article p{margin:12px 0 0;color:#b5c0bc;font:600 11px/1.55 var(--sans)}#fuelGuide footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid #ffffff12;color:#8fa09a;font:600 9px var(--mono)}#fuelGuide footer button{border:0;border-radius:11px;padding:11px 18px;background:var(--fuel-accent);color:#0a0d0c;font:900 10px var(--mono);cursor:pointer}#fuelGuide footer em{color:#d8f24f;font-style:normal}
@media(max-width:700px){#fuelHud{top:auto;right:10px;bottom:96px;width:min(315px,calc(100vw - 20px));padding:9px;max-height:42vh;overflow:auto}#fuelHud .fuel-roster{display:none}.fuel-guide-cards{grid-template-columns:1fr}.fuel-guide-cards article{min-height:54px}.fuel-guide-cards article p{margin-top:5px}#fuelGuide>section{padding:16px;max-height:88vh;overflow:auto}#fuelGuide footer{align-items:stretch;flex-direction:column}#fuelGuide footer button{width:100%}#fuelHostChat{top:54px;width:calc(100vw - 20px);grid-template-columns:auto 1fr;gap:4px 11px;padding:14px 15px}#fuelHostChat small{padding:8px;font-size:9px}#fuelHostChat b{font-size:13px}#fuelHostChat p{font-size:18px;line-height:1.28}}

/* F.U.E.L live-event readability and stage feedback. */
#fuelGuide>section{width:min(1040px,95vw);padding:30px 32px;border-width:2px;background:linear-gradient(145deg,#081714fb,#170f0efb)}
#fuelGuide header>i{width:86px;height:86px;border-radius:24px;font-size:32px}#fuelGuide small{font-size:11px}#fuelGuide h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.025em}#fuelGuide header p{font-size:14px;color:#c1ccc8}
.fuel-guide-intro{margin-top:22px;padding:17px 20px;border-left:4px solid var(--fuel-accent);border-radius:4px 14px 14px 4px;background:#ffffff09;color:#eef3ef;font:700 16px/1.7 var(--sans)}
.fuel-guide-cards{grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0 24px}.fuel-guide-cards article{min-height:142px;padding:20px}.fuel-guide-cards article span{font-size:32px}.fuel-guide-cards article b{font-size:13px;letter-spacing:.08em}.fuel-guide-cards article p{margin-top:16px;color:#d3dcda;font:650 14px/1.65 var(--sans)}
#fuelGuide footer{font-size:11px}#fuelGuide footer button{min-width:230px;padding:14px 20px;font-size:12px}#fuelGuide footer button.is-ready{background:#5fe3dd;box-shadow:0 0 24px #5fe3dd55}
.fuel-pod-help{display:grid;gap:6px;padding:12px 13px;border:1px solid #5fe3dd55;border-radius:12px;background:linear-gradient(120deg,#5fe3dd12,#d8f24f0b)}.fuel-pod-help b{color:#d8f24f;font:900 11px var(--mono)}.fuel-pod-help span{color:#c1cfca;font:650 10px/1.55 var(--sans)}
.fuel-pulse:disabled{cursor:wait;filter:saturate(.35);opacity:.58}.fuel-pulse.waiting b{font-size:0}.fuel-pulse.waiting b::after{content:'READY';font-size:15px}
#fuelBlackout.observer{background:#000;opacity:.72}#fuelBlackout.observer>div{display:block;position:absolute;right:22px;bottom:22px;color:#d8f24f;font:800 10px var(--mono);opacity:.8}#fuelBlackout.observer>div b{display:block;font-size:18px}
#fuelCountdown{position:fixed;inset:0;z-index:88;display:grid;place-content:center;justify-items:center;pointer-events:none;background:radial-gradient(circle,#07151322,#02060582);text-align:center}#fuelCountdown.hidden{display:none}#fuelCountdown small{color:#e9eee9;font:900 clamp(18px,3vw,32px) var(--sans);letter-spacing:.04em;text-shadow:0 3px 18px #000}#fuelCountdown strong{margin:10px 0 0;padding:9px 25px;border:2px solid #d8f24f;border-radius:14px;background:#11190de8;color:#d8f24f;font:950 clamp(42px,8vw,96px)/1 var(--mono);letter-spacing:-.05em;box-shadow:0 0 34px #d8f24f55;text-shadow:0 0 22px #d8f24f66}#fuelCountdown strong.hidden{display:none}#fuelCountdown b{color:#d8f24f;font:950 clamp(110px,20vw,230px)/.95 var(--sans);text-shadow:0 0 34px #d8f24f99,0 12px 40px #000;animation:fuelCountPop .7s ease both}#fuelCountdown span{color:#e1e8e4;font:800 clamp(14px,2vw,20px) var(--sans)}
#fuelCountdown b{animation:none}#fuelCountdown b.pop{animation:fuelCountPop .72s ease both}#fuelCountdown kbd{order:4;display:grid;place-items:center;min-width:190px;margin-top:24px;padding:15px 28px;border:2px solid #f4f1e7;border-bottom-width:7px;border-radius:14px;background:linear-gradient(#fff,#d8ddd8);color:#15201d;font:950 20px var(--mono);box-shadow:0 10px 30px #0008,0 0 30px #d8f24f44;animation:fuelSpacePress 1s ease-in-out infinite}#fuelCountdown kbd.hidden{display:none}@keyframes fuelSpacePress{0%,55%,100%{transform:translateY(0);border-bottom-width:7px}70%,82%{transform:translateY(5px);border-bottom-width:2px}}
@keyframes fuelCountPop{0%{opacity:0;transform:scale(.55)}35%{opacity:1;transform:scale(1.1)}100%{transform:scale(1)}}
#fuelSpectatorHud{position:fixed;inset:0;z-index:82;pointer-events:none;color:#f4f1e7}#fuelSpectatorHud.hidden,#fuelSpectatorHud .hidden{display:none}.fuel-spectator-prompt{position:absolute;left:50%;top:54%;display:grid;justify-items:center;gap:8px;width:min(640px,88vw);padding:20px 28px;border:1px solid #5fe3dd88;border-radius:18px;background:#061513e8;box-shadow:0 18px 60px #000b,0 0 36px #5fe3dd2c;transform:translate(-50%,-50%);text-align:center}.fuel-spectator-prompt b{font:850 clamp(18px,2.5vw,30px) var(--sans)}.fuel-spectator-prompt span{padding:8px 18px;border-radius:10px;background:#d8f24f;color:#102015;font:950 clamp(16px,2vw,24px) var(--mono);box-shadow:0 0 22px #d8f24f66}.fuel-spectator-target{position:absolute;top:78px;left:50%;display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:center;min-width:260px;padding:10px 18px;border:1px solid #5fe3dd77;border-radius:14px;background:#061513e8;box-shadow:0 12px 35px #0009;transform:translateX(-50%);text-align:center}.fuel-spectator-target small{grid-column:1/3;color:#7ee7d3;font:800 9px var(--mono);letter-spacing:.12em}.fuel-spectator-target b{color:#f5f0e8;font:900 17px var(--sans)}.fuel-spectator-target span{color:#d8f24f;font:800 10px var(--mono)}
#fuelDropFx{position:fixed;inset:0;z-index:83;display:grid;place-content:center;justify-items:center;pointer-events:none;background:radial-gradient(circle,transparent 20%,color-mix(in srgb,var(--drop-color),transparent 78%) 65%,#0009);opacity:0}#fuelDropFx.hidden{display:none}#fuelDropFx.play{animation:fuelDropShock 1.5s ease both}#fuelDropFx b{color:var(--drop-color);font:950 clamp(52px,11vw,125px)/1 var(--sans);letter-spacing:.08em;text-shadow:0 0 36px var(--drop-color),0 8px 30px #000}#fuelDropFx span{margin-top:8px;color:#fff;font:900 clamp(16px,2.4vw,28px) var(--sans)}
@keyframes fuelDropShock{0%{opacity:0;transform:scale(1.28)}16%{opacity:1;transform:scale(1)}55%{opacity:.9;transform:translateY(8px)}100%{opacity:0;transform:translateY(70px)}}
@media(max-width:900px){.fuel-guide-cards{grid-template-columns:1fr 1fr}.fuel-guide-cards article{min-height:110px}}
@media(max-width:700px){#fuelGuide>section{padding:19px}.fuel-guide-intro{font-size:13px;line-height:1.55}.fuel-guide-cards{grid-template-columns:1fr}.fuel-guide-cards article{min-height:72px;padding:14px}.fuel-guide-cards article p{font-size:12px;margin-top:6px}#fuelGuide h2{font-size:27px}#fuelGuide header>i{width:60px;height:60px}}

/* F.U.E.L group-test pass: explicit team consent, podium, HP and complete order sizing. */
.fuel-admin-tools{grid-template-columns:repeat(3,1fr)}
.fuel-hp{display:block;margin-top:5px;color:#ff6e70;font:950 15px var(--mono);font-style:normal;letter-spacing:.16em;text-shadow:0 0 12px #ff3f4f88}
.fuel-votes{display:grid;grid-template-columns:repeat(3,1fr)}.fuel-votes button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;text-align:left}.fuel-votes i{margin:0}.fuel-votes b{font:800 7px var(--mono)}.fuel-votes span{color:#d8f24f;font:900 8px var(--mono)}
#fuelTeamPrompt{position:fixed;z-index:90;left:50%;bottom:10%;display:grid;grid-template-columns:auto 1fr;gap:3px 14px;align-items:center;width:min(600px,calc(100vw - 32px));padding:17px 20px;border:2px solid #d8f24f;border-radius:18px;background:linear-gradient(120deg,#071916f5,#17200df5);box-shadow:0 18px 60px #000b,0 0 36px #d8f24f38;transform:translateX(-50%);color:#f4f5ed;backdrop-filter:blur(14px)}#fuelTeamPrompt.hidden{display:none}#fuelTeamPrompt small{grid-column:1/3;color:#78ead6;font:900 9px var(--mono);letter-spacing:.13em}#fuelTeamPrompt b{font:900 clamp(17px,2.3vw,27px) var(--sans)}#fuelTeamPrompt kbd{grid-row:2/4;display:grid;place-items:center;width:58px;height:50px;border:2px solid #fff;border-bottom-width:7px;border-radius:11px;background:#eef4ed;color:#132018;font:950 24px var(--mono);box-shadow:0 0 20px #d8f24f55;order:-1}#fuelTeamPrompt kbd.hidden{display:none}#fuelTeamPrompt span{color:#bfcac5;font:750 12px var(--sans)}#fuelTeamPrompt.success{border-color:#5fe3dd;background:linear-gradient(120deg,#09221df5,#102019f5)}
#fuelPodium{position:fixed;inset:0;z-index:92;display:grid;place-items:center;padding:24px;background:#020806cf;backdrop-filter:blur(12px)}#fuelPodium.hidden{display:none}#fuelPodium>section{width:min(980px,95vw);padding:28px;border:1px solid #d8f24f77;border-radius:26px;background:linear-gradient(145deg,#071b17f7,#1c100ef7);box-shadow:0 28px 100px #000d,0 0 50px #d8f24f20;text-align:center}#fuelPodium header small{color:#77ead7;font:900 10px var(--mono);letter-spacing:.16em}#fuelPodium h2{margin:6px 0 24px;color:#f3f5ec;font:950 clamp(28px,5vw,48px) var(--sans)}.fuel-podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}.fuel-podium-grid article{position:relative;display:grid;gap:10px;min-height:215px;padding:23px 16px 18px;border:1px solid #ffffff20;border-radius:20px;background:#ffffff09}.fuel-podium-grid article.place-1{order:2;min-height:260px;border-color:#d8f24f;background:linear-gradient(#d8f24f16,#ffffff08);box-shadow:0 0 35px #d8f24f22}.fuel-podium-grid article.place-2{order:1}.fuel-podium-grid article.place-3{order:3}.fuel-podium-grid article>strong{display:grid;place-items:center;width:52px;height:52px;margin:-48px auto 0;border:3px solid #07100d;border-radius:50%;background:#d8f24f;color:#10160b;font:950 24px var(--mono);box-shadow:0 0 25px #d8f24f66}.fuel-podium-grid h3{margin:5px 0 0;color:#fff;font:950 19px var(--mono)}.fuel-podium-grid article>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.fuel-podium-grid article span{display:grid;justify-items:center;gap:5px;min-width:92px}.fuel-podium-grid img,.fuel-podium-grid article span>i{width:54px;height:54px;border:2px solid #5fe3dd;border-radius:50%;object-fit:cover;background:#10251f}.fuel-podium-grid article span>i{display:grid;place-items:center;color:#d8f24f;font-style:normal}.fuel-podium-grid article span b{max-width:130px;overflow:hidden;text-overflow:ellipsis;color:#d4dfda;font:800 10px var(--mono)}.fuel-podium-grid article>em{color:#72ead4;font:950 18px var(--mono);font-style:normal}
.fuel-order-grid{display:grid;gap:5px}.fuel-margin{display:grid;gap:4px;padding:6px 7px;border:1px solid #ffffff0d;border-radius:9px;background:#ffffff04}.fuel-margin>span{color:#839991;font:700 7px var(--mono);letter-spacing:.06em}.fuel-margin>div{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.fuel-margin button{padding:5px 2px;border-color:#ffb85c30;color:#afaaa0;background:#17120d}.fuel-margin button.on{border-color:#ffb85c;color:#1f1207;background:#ffb85c;box-shadow:0 0 10px #ffb85c44}.fuel-margin button:disabled{opacity:.28;cursor:not-allowed}.fuel-notional{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;border:1px solid #d8f24f35;border-radius:9px;background:#d8f24f08}.fuel-notional span{color:#8ba098;font:750 7px var(--mono)}.fuel-notional b{grid-row:1/3;grid-column:2;color:#d8f24f;font:950 16px var(--mono)}.fuel-notional em{color:#bdc8c3;font:700 8px var(--mono);font-style:normal}
@media(max-width:700px){.fuel-podium-grid{grid-template-columns:1fr}.fuel-podium-grid article,.fuel-podium-grid article.place-1{order:initial;min-height:140px}.fuel-admin-tools{grid-template-columns:1fr 1fr}#fuelTeamPrompt{bottom:18%;padding:13px}.fuel-podium-grid article>strong{margin:-37px auto 0}}
