/* Age of Agents — HUD over the 3D world. Warm dark glass, honey accents, tabular numbers. Nothing here changes size with its content. */
:root{--ink:#fff4e2;--ink-2:rgba(255,238,212,.74);--ink-3:rgba(255,230,196,.5);--ink-4:rgba(255,226,190,.3);--honey:#ffb21a;--honey-2:#ffd36a;--honey-3:#ffe9b0;--raid:#ff5a3d;--win:#7fe39a;--glass:rgba(20,13,6,.56);--glass-strong:rgba(18,12,6,.84);--line:rgba(255,200,120,.13);--line-2:rgba(255,200,120,.22);--hi:rgba(255,255,255,.06);--r:16px;--r-sm:10px;--gut:16px;--shadow:0 18px 50px rgba(0,0,0,.34),0 2px 8px rgba(0,0,0,.25);--display:'Unbounded',system-ui,sans-serif;--ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;--ease:cubic-bezier(.2,.8,.2,1);--col:352px;--top:166px;--bot:16px}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden;background:#0d0904;color:var(--ink);font-family:var(--ui);font-size:13px;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
b{font-weight:700}
#gl{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab}
#gl.drag{cursor:grabbing}
#labels,#callouts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:3}
#hud{position:fixed;inset:0;pointer-events:none;z-index:5}
#hud>*{pointer-events:auto}
.glass{background:var(--glass);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow),inset 0 1px 0 var(--hi)}
.glass-strong{background:var(--glass-strong);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 30px 90px rgba(0,0,0,.55),inset 0 1px 0 var(--hi)}
.mono{font-family:var(--mono)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---- top left: brand and the facts of the match */
.top-left{position:absolute;left:var(--gut);top:var(--gut);display:flex;flex-direction:column;gap:8px;width:var(--col)}
.brand{height:46px;display:flex;align-items:center;gap:11px;padding:0 14px 0 12px;white-space:nowrap}
.mark{display:inline-block;background:linear-gradient(180deg,#fff3d6 10%,#ffc444 60%,#e58a00);-webkit-mask:url(logo-mask.png) center/contain no-repeat;mask:url(logo-mask.png) center/contain no-repeat;filter:drop-shadow(0 0 10px rgba(255,178,26,.35))}
.brand .mark{width:30px;height:30px;flex:0 0 30px}
.ic-mark{width:92px;height:92px;margin:0 auto 14px}
.veil-mark{width:110px;height:110px;margin-bottom:14px}
.brand .word{font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:.2em;background:linear-gradient(180deg,#fff3d6 10%,#ffc444 60%,#e58a00);-webkit-background-clip:text;background-clip:text;color:transparent;flex:1}
.brand .live{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:#ffb7a8;background:rgba(255,77,61,.12);border:1px solid rgba(255,77,61,.3)}
.brand .live i{width:7px;height:7px;border-radius:50%;background:#ff4d3d;box-shadow:0 0 10px #ff4d3d;animation:blink 1.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.facts{height:100px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;padding:4px 6px}
.fact{position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 12px;min-width:0}
.fact:nth-child(2)::before,.fact:nth-child(3)::before,.fact:nth-child(5)::before,.fact:nth-child(6)::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:1px;background:var(--line)}
.fact:nth-child(n+4)::after{content:'';position:absolute;left:10px;right:10px;top:0;height:1px;background:var(--line)}
.fact .k{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;white-space:nowrap;overflow:hidden;height:13px;line-height:13px}
.fact b{font-family:var(--mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;height:20px;line-height:20px}

/* ---- top centre: the pot */
.pot{position:absolute;left:50%;top:var(--gut);transform:translateX(-50%);width:420px;height:150px;padding:12px 18px 10px;cursor:pointer;text-align:center;border-color:rgba(255,178,26,.35);box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 50px rgba(255,178,26,.12),inset 0 1px 0 var(--hi)}
.pot:hover{border-color:rgba(255,178,26,.6)}
.pot-k{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.3em;color:var(--honey-2);height:16px;line-height:16px;white-space:nowrap;overflow:hidden}
.pot-k i{font-family:var(--ui);font-style:normal;font-weight:500;letter-spacing:.02em;color:var(--ink-3);font-size:11px}
.pot-v{height:46px;line-height:46px;font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:.02em;background:linear-gradient(180deg,#fff3d6 10%,#ffc444 60%,#e58a00);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.pot-v small{font-size:13px;font-weight:700;letter-spacing:.2em;margin-left:8px;vertical-align:middle}
.pot-h{height:18px;line-height:18px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.pot-h .dot{width:10px;height:10px;border-radius:50%;background:#7d6b4e;box-shadow:0 0 12px rgba(255,178,26,0)}
.pot-h.held .dot{box-shadow:0 0 14px currentColor}
.pot-h.contested .dot{background:var(--raid);animation:blink 1s infinite}
.pot-bar{height:4px;margin:7px 30px 0;border-radius:4px;background:rgba(255,200,120,.1);overflow:hidden}
.pot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b86a00,#ffb21a 70%,#ffe08a);box-shadow:0 0 14px rgba(255,178,26,.55);transition:width .9s var(--ease)}
.pot-s{margin-top:7px;height:30px;line-height:15px;font-size:11px;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ---- top right: controls */
.top-right{position:absolute;right:var(--gut);top:var(--gut);display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:auto;max-width:470px}
.ctrl{height:46px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 7px;max-width:100%}
.pill.ca{font-family:var(--mono);letter-spacing:.02em;gap:7px;max-width:180px}
.pill.ca small{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.pill.ca span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill.ca.live{color:var(--honey-2);border-color:rgba(255,178,26,.4)}
.pill.ca.copied{color:#1a1206;background:linear-gradient(180deg,#ffd36a,#ffab1a)}
.pill{height:30px;padding:0 13px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-2);background:rgba(255,220,160,.06);border:1px solid var(--line);white-space:nowrap;transition:background .2s,color .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.pill:hover{color:var(--ink);background:rgba(255,220,160,.12)}
.pill.x{padding:0 11px;gap:7px}.pill.x svg{width:13px;height:13px;fill:currentColor}
.pill.on,.pill.gold{color:#1a1206;background:linear-gradient(180deg,#ffd36a,#ffab1a);border-color:transparent;box-shadow:0 2px 10px rgba(255,170,30,.35)}
.hint{height:16px;line-height:16px;font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding-right:6px}

/* ---- the two columns */
.col{position:absolute;top:var(--top);bottom:var(--bot);width:var(--col);display:flex;flex-direction:column;gap:10px;min-height:0}
.col.left{left:var(--gut)}
.col.right{right:var(--gut);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding-bottom:2px}
.col.right::-webkit-scrollbar{display:none}
.col-h{height:20px;display:flex;align-items:baseline;justify-content:space-between;padding:0 6px;font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.24em;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.col-h small{display:none}

/* kingdom cards */
.card{position:relative;height:198px;margin-bottom:10px;padding:11px 14px 10px 18px;border-radius:var(--r);background:var(--glass);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px 0 var(--hi);cursor:pointer;overflow:hidden;transition:border-color .2s,transform .2s var(--ease)}
.card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--tc),color-mix(in srgb,var(--tc) 50%,#000));box-shadow:0 0 18px color-mix(in srgb,var(--tc) 60%,transparent)}
.card:hover{border-color:var(--line-2)}
.card.sel{border-color:color-mix(in srgb,var(--tc) 70%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--tc) 50%,transparent),var(--shadow)}
.card.dead{opacity:.42;filter:saturate(.3)}
.c1{display:flex;align-items:center;gap:8px;height:22px}
.c1 .nm{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.03em;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.c1 .mk{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;flex:0 0 auto}
.c2{display:flex;align-items:center;gap:8px;height:20px;margin-top:3px}
.c2 .sp{flex:1}
.c2 .burn{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.c2 .burn b{font-family:var(--mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--honey-2);letter-spacing:.01em;min-width:92px;text-align:right}
.c2 .burn small{font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--ink-3)}
.c2 .burn b.tick{animation:tick .5s var(--ease)}
@keyframes tick{0%{color:#fff;text-shadow:0 0 12px rgba(255,211,106,.9)}100%{color:var(--honey-2);text-shadow:none}}
.c1 .age{height:20px;min-width:30px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:10px;color:#1a1206;background:var(--tc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.c2 .wins{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--honey-2);white-space:nowrap}
.c2 .wins.new{color:var(--ink-4)}
.c2 .sc{font-family:var(--mono);font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap}
.st{height:15px;line-height:15px;margin-top:3px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st.war{color:#ff8f7d}.st.up{color:var(--honey-2)}
.cpu{display:flex;align-items:center;gap:8px;height:14px;margin-top:4px}
.cpu .k{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3);width:58px;flex:0 0 58px}
.cpu .bar{flex:1;height:5px;border-radius:5px;background:rgba(255,200,120,.1);overflow:hidden}
.cpu .bar i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#4aa3ff,#9ad1ff);box-shadow:0 0 10px rgba(120,180,255,.6);transition:width .8s var(--ease)}
.cpu .v{font-family:var(--mono);font-size:11px;font-weight:600;width:36px;text-align:right;flex:0 0 36px}
.cpu .tier{font-size:9px;font-weight:700;letter-spacing:.12em;width:84px;flex:0 0 84px;text-align:right;white-space:nowrap;color:var(--ink-2)}
.cpu.b0 .bar i{background:linear-gradient(90deg,#b86a00,#ffb21a 70%,#ffe08a);box-shadow:0 0 14px rgba(255,178,26,.6)}.cpu.b0 .tier{color:var(--honey-2)}
.cpu.b2 .tier{color:var(--raid)}.cpu.b2 .v{color:var(--ink-3)}
.res{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px;height:26px}
.r{display:flex;align-items:center;gap:5px;height:26px;padding:0 5px;border-radius:8px;background:rgba(255,220,160,.05);border:1px solid var(--line);overflow:hidden}
.r svg{width:14px;height:14px;flex:0 0 14px}
.r b{font-family:var(--mono);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.ppl{display:flex;align-items:center;gap:8px;height:13px;margin-top:5px}
.ppl .k{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3);width:58px;flex:0 0 58px}
.ppl .v{font-family:var(--mono);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;width:48px;flex:0 0 48px;white-space:nowrap}
.split{display:flex;flex:1;height:5px;border-radius:4px;overflow:hidden;background:rgba(0,0,0,.35)}
.split i{display:block;height:100%;width:25%;transition:width .6s}
.split .f{background:#e0523f}.split .w{background:#a9733f}.split .g{background:#ffc83a}.split .s{background:#b4b2aa}.split .b{background:#5b8fd6}
.army{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;margin-top:5px;height:27px}
.u{display:flex;flex-direction:column;align-items:center;justify-content:center;height:28px;border-radius:7px;background:rgba(255,220,160,.04);border:1px solid var(--line);color:var(--ink-4)}
.u svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.u b{font-family:var(--mono);font-size:9.5px;font-weight:600;line-height:11px;height:11px}
.u.has{color:var(--ink);border-color:var(--line-2);background:rgba(255,178,26,.08)}
.th{margin-top:5px;height:15px;line-height:16px;font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}

/* graphs */
.graphs{padding:9px 12px 6px}
.g-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g-t{grid-column:1/3;font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.22em;color:var(--ink-3);height:16px}
.gc{display:block;width:100%;grid-column:1/3}

/* ---- left column: profile */
.profile{display:none;flex:0 0 auto;padding:12px 14px 10px}
.profile.on{display:block}
.pf-head{display:flex;align-items:center;gap:10px;height:40px}
.crest{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:var(--tc,#7d6b4e);box-shadow:0 0 18px color-mix(in srgb,var(--tc,#7d6b4e) 55%,transparent),inset 0 0 0 1px rgba(255,255,255,.2);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:13px;color:#1a1206}
.pf-t{flex:1;min-width:0}
.pf-n{font-family:var(--display);font-weight:700;font-size:14px;height:19px;line-height:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-k{font-size:11px;color:var(--ink-3);height:15px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xbtn{height:28px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ink-2);background:rgba(255,220,160,.06);border:1px solid var(--line);flex:0 0 auto}
.xbtn:hover{color:var(--ink)}.xbtn.on{color:#1a1206;background:linear-gradient(180deg,#ffd36a,#ffab1a);border-color:transparent}
.hp{position:relative;height:10px;margin-top:8px;border-radius:5px;background:rgba(0,0,0,.4);overflow:hidden}
.hp i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4caf50,#9be37f);transition:width .5s var(--ease)}
.hp b{position:absolute;right:6px;top:-1px;font-family:var(--mono);font-size:9px;font-weight:600;color:#fff;text-shadow:0 1px 2px #000}
.pf-q{margin-top:9px}
.pf-q .k{display:block;font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--ink-3);height:12px}
.pf-q .q{height:36px;line-height:18px;font-size:12px;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-style:italic}
.pf-q .q::before{content:'“'}.pf-q .q::after{content:'”'}
.pf-rows{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:8px}
.pf-r{height:30px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.pf-r .k{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;height:12px;line-height:12px;white-space:nowrap}
.pf-r .v{font-size:12px;font-weight:600;height:16px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- left column: live panel */
.live{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 8px 6px}
.seg{display:flex;gap:2px;padding:3px;border-radius:11px;background:rgba(255,220,160,.05);border:1px solid var(--line);height:34px;flex:0 0 34px}
.seg button{flex:1;height:26px;border-radius:8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);transition:background .2s,color .2s;white-space:nowrap}
.seg button.on{color:#1a1206;background:linear-gradient(180deg,#ffd36a,#ffab1a);box-shadow:0 2px 10px rgba(255,170,30,.35)}
.pane{display:none;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,200,120,.2) transparent;padding:10px 4px 4px}
.pane.on{display:block}
.who{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:60px}
.who button{height:28px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--ink-3);background:rgba(255,220,160,.04);border:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;display:flex;align-items:center;gap:5px;justify-content:center}
.who button i{width:8px;height:8px;border-radius:2px;background:var(--tc);flex:0 0 8px}
.who button.on{color:var(--ink);border-color:color-mix(in srgb,var(--tc) 60%,transparent);background:color-mix(in srgb,var(--tc) 14%,transparent)}
.dec-sum{display:grid;grid-template-columns:1fr 1fr 1fr;height:40px;margin-top:8px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.dec-sum div{display:flex;flex-direction:column;justify-content:center;padding:0 10px;border-left:1px solid var(--line)}
.dec-sum div:first-child{border-left:0}
.dec-sum .k{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;height:12px;white-space:nowrap}
.dec-sum .v{font-family:var(--mono);font-size:13px;font-weight:600;height:17px;line-height:17px;white-space:nowrap}
.dec-list{margin-top:8px}
.thk{padding:8px 10px 8px;margin-bottom:6px;border-radius:10px;background:rgba(255,220,160,.04);border:1px solid var(--line);animation:thk .4s var(--ease)}
@keyframes thk{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.thk-h{display:flex;align-items:center;gap:8px;height:16px;font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.thk-h b{color:var(--ink-2);font-weight:600}
.thk-h .tok{color:var(--honey-2);font-weight:600}
.thk-h .br{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--ink-3)}
.thk-h .br.b0{color:var(--honey-2)}.thk-h .br.b2{color:var(--raid)}
.ln{position:relative;display:flex;gap:8px;align-items:flex-start;padding:3px 0 3px 12px;font-size:11.5px;line-height:15px;color:var(--ink-2)}
.ln::before{content:'';position:absolute;left:3px;top:0;bottom:0;width:1px;background:var(--line-2)}
.ln::after{content:'';position:absolute;left:3px;top:10px;width:6px;height:1px;background:var(--line-2)}
.ln .cat{flex:0 0 38px;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--ink-4);padding-top:2px}
.ln.act{color:var(--ink)}
.ln.act .cat{color:var(--honey-2)}
.ln.ord{color:var(--honey-3);font-weight:600;cursor:pointer}
.ln.ord .cat{color:var(--honey)}
.ln.ord:hover{color:#fff}
.fe{display:flex;gap:9px;height:30px;align-items:center;border-bottom:1px solid var(--line);font-size:12px}
.fe .t{color:var(--ink-4);width:38px;flex:0 0 38px;font-family:var(--mono);font-size:10.5px}
.fe .tm{width:6px;height:14px;border-radius:2px;flex:0 0 6px;background:var(--tc,#7d6b4e)}
.fe .m{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.fe.start .m{color:var(--ink)}.fe.war .m{color:#ff9f8f}.fe.build .m{color:var(--ink-2)}.fe.raze .m{color:#ff9f8f}.fe.age .m,.fe.pot .m{color:var(--honey-2);font-weight:600}.fe.tech .m{color:#a9cbe8}.fe.elim .m,.fe.win .m{color:#fff;font-weight:700}.fe.th .m{font-style:italic}
.dy-gen{display:flex;align-items:baseline;gap:12px;height:44px;padding:0 4px}
.dy-gen .k{font-size:10px;letter-spacing:.2em;color:var(--ink-3);font-weight:700}.dy-gen .v{font-family:var(--display);font-weight:900;font-size:30px;background:linear-gradient(180deg,#fff3d6 10%,#ffc444 60%,#e58a00);-webkit-background-clip:text;background-clip:text;color:transparent}
.dy-note{color:var(--ink-2);font-size:11.5px;line-height:16px;padding:0 4px 8px}
.dy-h{font-size:9.5px;font-weight:700;letter-spacing:.22em;color:var(--ink-3);height:26px;line-height:26px;padding:0 4px;border-top:1px solid var(--line);margin-top:4px}
.dy-r{display:flex;gap:10px;height:66px;margin-bottom:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,220,160,.04);overflow:hidden}
.dy-r .sh{width:8px;flex:0 0 8px;border-radius:3px;background:var(--tc)}
.dy-r .tx{flex:1;min-width:0}.dy-r .n{font-family:var(--display);font-weight:700;font-size:12px;color:var(--ink);height:19px;line-height:19px;white-space:nowrap}
.dy-r .n i{font-style:normal;font-family:var(--ui);font-weight:600;font-size:10px;color:var(--honey-2);margin-left:9px}
.dy-r .p{font-size:10.5px;color:var(--ink-3);height:15px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dy-r .t{font-size:11px;color:var(--ink-2);height:16px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}
.dy-c{display:flex;align-items:center;gap:9px;height:28px;border-bottom:1px solid var(--line);font-size:11.5px}
.dy-c .g{width:26px;flex:0 0 26px;color:var(--ink-4);font-family:var(--mono);font-size:10.5px;text-align:right}.dy-c .tm{width:6px;height:14px;border-radius:2px;flex:0 0 6px;background:var(--tc)}
.dy-c .n{width:104px;flex:0 0 104px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden}.dy-c .w{flex:1;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* minimap */
.mini{flex:0 0 226px;height:226px;padding:5px}
.mini canvas{width:214px;height:214px;display:block;border-radius:10px;cursor:crosshair}

/* ---- in-world labels */
.lab{position:absolute;left:0;top:0;height:26px;display:flex;align-items:center;gap:7px;padding:0 11px 0 5px;border-radius:999px;background:var(--glass-strong);border:1px solid var(--line-2);font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.06em;color:var(--ink);white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.4);will-change:transform;pointer-events:auto;cursor:pointer}
.lab .sh{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--tc);color:#1a1206;font-size:9px;border-radius:999px}
.lab.dead{opacity:.4;text-decoration:line-through}
.lab.pot{border-color:rgba(255,178,26,.5);color:var(--honey-2);height:28px;font-size:11.5px}
.lab.pot .sh{background:var(--tc);color:#1a1206}
.call{position:absolute;left:0;top:0;transform:translate(-50%,-100%);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#1a1206;background:var(--tc,#ffd36a);box-shadow:0 4px 14px rgba(0,0,0,.4);white-space:nowrap;animation:rise 2.6s var(--ease) forwards;will-change:transform,opacity}
.call.soft{color:var(--ink);background:var(--glass-strong);border:1px solid var(--line-2)}
@keyframes rise{0%{opacity:0;margin-top:0}12%{opacity:1}70%{opacity:1}100%{opacity:0;margin-top:-44px}}

/* ---- heralds, banner, intro, veil */
#herald{position:absolute;left:50%;top:19%;transform:translateX(-50%);text-align:center;pointer-events:none;opacity:0;transition:opacity .6s;width:760px;max-width:90%}
#herald.on{opacity:1}
#herald .h1{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:.1em;color:var(--hc,var(--honey-2));text-shadow:0 2px 0 #000,0 0 30px rgba(0,0,0,.9),0 0 60px rgba(0,0,0,.6);white-space:nowrap}
#herald .h2{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.42em;color:var(--ink);text-shadow:0 1px 0 #000,0 0 16px #000;margin-bottom:4px;white-space:nowrap}
#banner{position:absolute;left:50%;top:30%;transform:translateX(-50%);text-align:center;padding:26px 60px 22px;width:560px;z-index:10}
#banner.hide{display:none}
#banner .k{font-size:11px;letter-spacing:.4em;color:var(--ink-3);font-weight:700}
#banner .v{font-family:var(--display);font-size:34px;font-weight:900;letter-spacing:.06em;margin:8px 0;height:46px;line-height:46px;white-space:nowrap}
#banner .s{color:var(--ink-2);height:18px}
#intro{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(8,5,2,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#intro.hide{display:none}
.intro-card{width:720px;max-width:calc(100vw - 40px);padding:34px 38px 28px;border-radius:22px;text-align:center}
.ic-word{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:.26em;padding-left:.26em;background:linear-gradient(180deg,#fff1cf,#ffb21a 70%,#c56a00);-webkit-background-clip:text;background-clip:text;color:transparent}
.ic-lead{margin-top:10px;font-size:16px;color:var(--ink)}
.ic-lead b{color:var(--honey-2)}
.ic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}
.ic-grid div{padding:14px 16px;border-radius:14px;background:rgba(255,220,160,.05);border:1px solid var(--line);font-size:12.5px;line-height:18px;color:var(--ink-2);min-height:112px}
.ic-grid b{display:block;color:var(--ink);margin-bottom:4px}
.ic-foot{display:flex;justify-content:center;gap:12px;margin-top:22px}
.ic-foot .pill{height:40px;padding:0 24px;font-size:12px}
#veil{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#2a1b0a 0%,#0d0904 72%);z-index:40;text-align:center}
#veil.hide{display:none}
#veil .big{font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:.3em;padding-left:.3em;background:linear-gradient(180deg,#fff1cf,#ffb21a 70%,#c56a00);-webkit-background-clip:text;background-clip:text;color:transparent}
#veil .rule{height:2px;width:260px;margin:18px 0 22px;background:linear-gradient(90deg,transparent,var(--honey),transparent)}
#veil .sp{width:30px;height:30px;border:3px solid rgba(255,200,120,.15);border-top-color:var(--honey);border-radius:50%;animation:sp 1s linear infinite;margin-bottom:16px}
@keyframes sp{to{transform:rotate(360deg)}}
#veil .b{font-size:11px;font-weight:700;letter-spacing:.34em;color:var(--ink-2)}
#veil .s{margin-top:8px;color:var(--ink-3);max-width:520px;line-height:18px;height:36px}

@media (max-width:1500px){:root{--col:320px}.pot{width:380px}.hint{display:none}.c2 .burn b{min-width:80px;font-size:13px}}
@media (max-width:1250px){.pot{width:340px;top:72px}.c1 .wins{display:none}}

/* PLAY: the command panel of the human seat */
.card.you{border-color:rgba(255,178,26,.55);box-shadow:0 0 0 1px rgba(255,178,26,.35),var(--shadow)}
.card.you .c1 .mk{color:var(--honey-2)}.card.you .c1 .mk::before{content:'YOU · '}
.cmd-h{height:44px;display:flex;align-items:center;gap:10px;padding:0 4px 0 2px;border-bottom:1px solid var(--line);margin-bottom:6px}
.cmd-h .sw{width:12px;height:12px;border-radius:4px;background:var(--tc,#ffd36a);flex:0 0 12px}
.cmd-h .t{flex:1;min-width:0;font-family:var(--display);font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd-h .leave{height:26px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ink-2);border:1px solid var(--line-2);background:rgba(255,220,160,.06)}
.cmd-h .leave:hover{color:#fff;border-color:rgba(255,120,90,.5)}
.cmd-k{height:18px;line-height:18px;font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--ink-3);margin-top:6px}
.cmd-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.cmd-grid.three{grid-template-columns:1fr 1fr 1fr}
.cb{height:40px;border-radius:9px;border:1px solid var(--line);background:rgba(255,220,160,.05);text-align:left;padding:0 8px;display:flex;flex-direction:column;justify-content:center;min-width:0;transition:background .15s,border-color .15s;cursor:pointer}
.cb:hover{background:rgba(255,220,160,.1);border-color:var(--line-2)}
.cb.on{border-color:var(--honey);background:rgba(255,178,26,.16);box-shadow:inset 0 0 0 1px rgba(255,178,26,.35)}
.cb.no{opacity:.38;cursor:default}
.cb.big{height:34px;justify-content:center;align-items:center;flex-direction:row;font-weight:700;letter-spacing:.08em;font-size:11px}
.cb.war{border-color:rgba(255,90,61,.35)}.cb.war:hover{background:rgba(255,90,61,.14)}
.cb.pot{border-color:rgba(255,178,26,.4);color:var(--honey-2)}
.cb .n{font-size:11px;font-weight:600;height:15px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb .c{height:13px;line-height:13px;font-family:var(--mono);font-size:9.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;display:flex;gap:6px}
.cb .c svg{width:9px;height:9px;vertical-align:-1px;margin-right:2px}
.al{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px}
.al .a{height:46px;border-radius:9px;border:1px solid var(--line);background:rgba(255,220,160,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.al .a svg{width:12px;height:12px}
.al .a b{font-family:var(--mono);font-size:11px;height:14px;line-height:14px}
.al .a .pm{display:flex;gap:4px}.al .a .pm button{width:18px;height:14px;line-height:12px;border-radius:4px;font-size:11px;font-weight:700;color:var(--ink-2);background:rgba(255,220,160,.08);border:1px solid var(--line)}
.al .a .pm button:hover{color:#fff;background:rgba(255,220,160,.16)}
.cmd-mode{height:24px;line-height:24px;margin-top:6px;font-size:10.5px;color:var(--honey-2);text-align:center;border-radius:8px;background:rgba(255,178,26,.1);border:1px solid rgba(255,178,26,.25);visibility:hidden}
.cmd-mode.on{visibility:visible}
#gl.aim{cursor:crosshair}

/* the world's labels never cross the glass: the two columns and the top band are cut out of the label layers */
#labels,#callouts{clip-path:inset(var(--top) calc(var(--col) + var(--gut)*2) 0 calc(var(--col) + var(--gut)*2))}
#selbox{position:fixed;left:0;top:0;display:none;border:1px solid var(--honey);background:rgba(255,178,26,.12);pointer-events:none;z-index:4}
.cmd-sel{height:30px;line-height:15px;font-size:10.5px;color:var(--ink-3);text-align:center;padding:0 6px;overflow:hidden}
