@font-face{font-family:Plex;src:url('/assets/plex-regular.woff2') format('woff2');font-display:swap}

:root{color-scheme:dark;--bg:#071421;--panel:#0e2133;--line:#233a4b;--muted:#a4b9c9;--blue:#32d0f9;--text:#eff7fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px Plex,sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:4px}#stars{position:fixed;inset:0;z-index:-1;pointer-events:none}header,footer{max-width:1380px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}header{border-bottom:1px solid #ffffff0c}.brand{font:bold 28px Plex;color:white;text-decoration:none;letter-spacing:-1.5px}.brand span{color:var(--blue)}.brand small{display:block;font:9px Plex;letter-spacing:2px;margin-top:7px;color:var(--muted)}.tools{display:flex;gap:12px}.icon,footer button{border:1px solid var(--line);background:#0a1b2a;color:var(--muted);padding:10px 14px;border-radius:9px;font-size:12px}.icon:hover{color:white;border-color:var(--blue)}main{max-width:1280px;margin:auto;min-height:calc(100vh - 205px);padding:44px 5%}footer{font-size:10px;letter-spacing:1px;color:var(--muted);border-top:1px solid #ffffff10}footer button{border:none;background:none}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--blue);display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--blue);box-shadow:0 0 14px var(--blue);border-radius:50%}h1,h2,h3,.number{font-family:Plex,sans-serif}h1{font-size:clamp(48px,6.7vw,86px);line-height:1.02;letter-spacing:-4px;margin:23px 0}h1 em{font-style:normal;color:var(--blue)}h2{font-size:32px;letter-spacing:-1px;margin:14px 0}h3{margin:12px 0}p{color:var(--muted);line-height:1.65}.intro{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:45px}.lead{max-width:480px;font-size:17px}.pill{display:inline-block;border:1px solid #28708a;border-radius:30px;padding:7px 12px;font-size:10px;color:#9feaff;letter-spacing:1px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:35px;border:0;background:var(--blue);color:#051523;border-radius:9px;padding:16px 23px;font-weight:700;box-shadow:0 5px 30px #32d0f915}.primary:hover{background:#7ce2ff;transform:translateY(-2px)}.secondary{border:1px solid var(--line);background:#0d2335;color:white;border-radius:9px;padding:14px 19px}.primary,.secondary{transition:transform .2s,background .2s}.micro{font-size:11px;color:var(--muted)}.intro-stats{display:flex;gap:25px;margin:32px 0}.intro-stats span{font-size:10px;letter-spacing:1px;color:var(--muted)}.intro-stats strong{font:24px Plex;color:white;display:block;margin-bottom:4px}.scene{position:relative;min-height:430px;display:grid;place-items:center;perspective:1000px}.orb{width:300px;height:300px;border:1px solid #32d0f925;border-radius:50%;position:absolute;box-shadow:0 0 90px #1675b515,inset 0 0 80px #32d0f908}.orb:after{content:'';position:absolute;inset:-30px;border:1px dashed #32d0f918;border-radius:50%}.shield-wrap{width:230px;height:280px;position:relative;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 25px 35px #008dd135)}.shield{width:100%;height:100%;background:linear-gradient(130deg,#b1f5ff,#1b9dc4 22%,#14394f 50%,#051526 70%,#44dcff);clip-path:polygon(50% 0,95% 17%,91% 61%,75% 83%,50% 100%,25% 83%,9% 61%,5% 17%);padding:6px}.shield-inner{width:100%;height:100%;clip-path:inherit;background:linear-gradient(145deg,#164d68,#0a1d31 70%);display:grid;place-items:center}.ribbon{font:150px Georgia;color:#32d0f9;transform:rotate(-12deg);text-shadow:0 4px 20px #32d0f950}.floating{position:absolute;background:linear-gradient(145deg,#193449,#0c1b2b);border:1px solid #3f6275;border-radius:13px;padding:18px;width:150px;box-shadow:0 15px 40px #0006;transform:rotate(-13deg);left:0;top:65px}.floating.right{left:auto;right:-10px;top:auto;bottom:35px;transform:rotate(13deg)}.floating i{font-style:normal;font-size:28px;color:var(--blue)}.floating b{display:block;font:12px Plex;margin-top:15px}.floating small{font-size:9px;color:var(--muted)}.scene-note{position:absolute;bottom:0;font:10px Plex;letter-spacing:2px;color:#6b94aa}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}.strip div{display:flex;gap:15px}.strip b{color:var(--blue);font-family:Plex}.strip p{font-size:12px;margin:0}.strip strong{display:block;color:white;font-size:13px;margin-bottom:5px}.setup{max-width:780px;margin:0 auto}.setupgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.box{background:linear-gradient(130deg,#102638ee,#0b1c2cee);border:1px solid var(--line);border-radius:16px;padding:25px}.field{display:block;font-size:12px;color:#c8d9e5;margin:16px 0 7px}input,select{width:100%;background:#071725;border:1px solid #315064;border-radius:8px;color:white;padding:12px}input::placeholder{color:#748b9c}.avatars{display:flex;gap:12px;margin:15px 0}.avatar-choice{background:#16384c;border:2px solid transparent;border-radius:50%;padding:0;width:61px;height:61px;overflow:hidden}.avatar-choice.active{border-color:var(--blue);box-shadow:0 0 0 4px #32d0f918}.face{width:100%;height:100%}.check{display:flex;gap:10px;font-size:12px;color:var(--muted);align-items:flex-start;line-height:1.5;margin:20px 0}.check input{width:18px;height:18px;flex-shrink:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.mode-desc{font-size:12px;line-height:1.7;color:var(--muted)}.boardtop{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.rounds{display:flex;gap:7px}.rounds i{width:22px;height:5px;background:#284154;border-radius:10px}.rounds i.done{background:var(--blue)}.rounds i.current{background:white}.layout{display:grid;grid-template-columns:250px 1fr;gap:28px}.friend{text-align:center;padding:25px 20px}.portrait{width:110px;height:110px;margin:10px auto;border-radius:50%;border:2px solid #2f6b85;background:#173849;overflow:hidden}.vital{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:25px}.vital strong{font:24px Plex;color:var(--blue)}.bar{height:7px;background:#23394b;border-radius:8px;overflow:hidden;margin-top:9px}.bar>div{height:100%;background:linear-gradient(90deg,#187da5,#32d0f9);transition:width .6s}.score{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.score span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.score b{font:32px Plex}.badge{font-size:10px;background:#123445;color:#9ae6f8;padding:6px 10px;border-radius:7px;display:inline-block}.threat{display:flex;gap:20px;align-items:center;border:1px solid #80565b;background:linear-gradient(110deg,#322630,#162536);padding:24px;border-radius:15px;min-height:145px}.threat-symbol{font-size:37px;color:#ffa6a6;flex-shrink:0}.threat h2{font-size:24px;margin:7px 0}.threat p{font-size:12px;margin:0}.threat small{font-size:9px;color:#ffb3b8;letter-spacing:2px}.handtitle{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px;font-size:12px}.handtitle span{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{position:relative;background:linear-gradient(150deg,#173b50,#0d2233);border:1px solid #326078;color:white;border-radius:13px;min-height:230px;padding:19px;text-align:left;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;flex-direction:column}.card:hover:not(:disabled){transform:translateY(-9px) rotate(1deg);border-color:var(--blue);box-shadow:0 10px 35px #0005}.card .symbol{color:var(--blue);font-size:34px;margin:5px 0 25px}.card b{font:16px Plex;margin-bottom:10px}.card p{font-size:11px;line-height:1.6;margin:0}.card small{margin-top:auto;padding-top:18px;font-size:9px;color:#75d6f2;letter-spacing:1px}.card.selected{border-color:var(--blue);box-shadow:0 0 35px #32d0f930;transform:translateY(-8px)}.card.wrong{border-color:#ff9d9d}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0}.swap{background:none;border:0;color:var(--blue);font-size:11px;padding:6px}.swap:disabled{color:var(--muted)}.feedback{margin-top:18px;background:#0d3342;border:1px solid #2e7081;border-radius:13px;padding:20px;animation:rise .3s ease}.feedback.bad{background:#302833;border-color:#77535b}.feedback p{font-size:13px;margin:8px 0 15px;color:#d2e4ed}.feedback strong{color:#a2edff}.feedback.bad strong{color:#ffc1bd}.timer{font:18px Plex;color:var(--blue)}.result{max-width:900px;margin:auto}.resultgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.result-card{border:1px solid #39b8d4;background:radial-gradient(ellipse at top,#155571,#0a2034 65%);border-radius:20px;padding:30px;text-align:center}.result-card h2{font-size:28px}.result-card .mini-shield{font-size:62px;color:var(--blue)}.result-card .bigscore{font:60px Plex;color:white}.result-card p{font-size:13px}.result-card .eyebrow{justify-content:center}.result .box p{font-size:13px}.success{color:#8cebc0;font-size:13px}.error{color:#ffb8b8;font-size:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:12px 15px;border:1px solid #344a5a;border-radius:9px;font-size:11px;line-height:1.6;color:var(--muted)}dialog{max-width:560px;width:calc(100% - 30px);border:1px solid #42667c;border-radius:18px;background:#0c2031;color:white;padding:30px}dialog::backdrop{background:#020b14ce;backdrop-filter:blur(6px)}dialog p,dialog li{font-size:14px;line-height:1.8;color:var(--muted)}.close{float:right;background:none;border:0;color:white;font-size:26px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.screen{animation:rise .45s ease}.game-note{font-size:10px;text-align:center;color:#839eaf;margin-top:25px}.tutorial{border-left:3px solid var(--blue);padding:12px 18px;background:#112c40;font-size:12px;line-height:1.7;margin:20px 0}@keyframes float{0%,100%{transform:rotateY(-15deg) rotateZ(-5deg) translateY(0)}50%{transform:rotateY(10deg) rotateZ(3deg) translateY(-15px)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){header{padding:20px 5%}.brand{font-size:24px}.brand small{font-size:7px}.tools{gap:5px}.icon{font-size:10px;padding:9px}main{padding:30px 5%}.intro{grid-template-columns:1fr;gap:10px}.scene{min-height:320px;max-width:460px;width:100%;margin:auto;grid-row:2}.shield-wrap{width:170px;height:215px}.orb{width:220px;height:220px}.ribbon{font-size:110px}.floating{width:125px;padding:13px;top:35px}.floating.right{bottom:25px;right:0}.strip{gap:15px;margin-top:30px}.strip div{display:block}.strip b{display:block;margin-bottom:8px}h1{letter-spacing:-2.5px}.layout{grid-template-columns:1fr}.friend{display:grid;grid-template-columns:60px 1fr 70px;text-align:left;gap:14px;padding:15px;align-items:center}.portrait{width:55px;height:55px;margin:0}.friend h3{margin:0;font-size:15px}.friend .vital{margin-top:7px;font-size:10px}.vital strong{font-size:15px}.friend .micro,.friend .badge{display:none}.score{margin:0;border:0;padding:0;text-align:right}.score b{font-size:24px}.card{min-height:210px;padding:13px}.card b{font-size:14px}.card p{font-size:10px}.card .symbol{margin-bottom:15px}.threat{padding:18px;gap:12px}.threat h2{font-size:21px}.setupgrid,.resultgrid{grid-template-columns:1fr}.result-card{padding:25px}.boardtop{gap:8px}.rounds i{width:17px}footer{flex-wrap:wrap;font-size:9px}footer span:nth-child(2){display:none}}@media(max-width:420px){.cards{gap:7px}.card{padding:10px}.card b{font-size:12px}.card small{font-size:8px}.handtitle{font-size:10px}.boardtop .eyebrow{font-size:9px}.two{grid-template-columns:1fr}.intro-stats{gap:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#stars{display:none}}

.blue-ribbon{width:110px;height:170px;filter:drop-shadow(0 0 14px #32d0f940)}
/* The table: cards are physical pieces; interface stays at the edges. */
main.table-mode{max-width:1420px;padding:20px 4% 30px}.table-title{display:flex;justify-content:space-between;align-items:center;margin:0 5px 20px;gap:12px}.table-title h2{font-size:23px;margin:7px 0 0}.table-title .eyebrow{font-size:9px;letter-spacing:2px}.table-hud{display:flex;gap:30px}.table-hud>span{font-size:9px;color:#8198a7;letter-spacing:1px}.table-hud b{font:25px Plex;display:block;color:#e8f5f5;letter-spacing:0;margin-top:4px}.table-hud small{font-size:12px;color:#779bab;letter-spacing:0}.game-table{position:relative;isolation:isolate;min-height:750px;border:12px solid #293e45;border-radius:36px;background:radial-gradient(ellipse at 50% 38%,#214c57 0,#153943 40%,#0c252f 100%);box-shadow:0 0 0 2px #637a7a,0 0 0 6px #111d24,inset 0 0 0 2px #a5a58555,inset 0 0 80px #010f1a99,0 25px 80px #0008;padding:22px 38px 20px;overflow:hidden}.game-table:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.3' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}.table-trim{position:absolute;inset:13px;border:1px solid #d7c89730;border-radius:18px;pointer-events:none}.table-trim:after{content:'◇';position:absolute;left:calc(50% - 160px);top:130px;font:500px Georgia;color:#b4c6b105;line-height:1;pointer-events:none}.round-track{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0 auto;position:relative}.track-node{width:26px;height:26px;display:grid;place-items:center;border:1px solid #a1bbb161;border-radius:50%;font:11px Plex;color:#a3b6b4;background:#16383f;z-index:1}.track-node.active{border-color:#dddbb2;color:#162f36;background:#e5dcb0;box-shadow:0 0 20px #e2d3a126}.track-node.complete{background:#57b8af;border-color:#78d7c6;color:#08242b}.round-track>i{height:1px;background:#9caa8750;width:27px}.friend-token{display:flex;align-items:center;gap:12px;width:225px;margin:12px auto 10px;border:1px solid #9baf9c70;border-radius:36px;background:#0b2831bd;padding:7px 14px 7px 7px;box-shadow:0 4px 15px #0003}.token-face{height:44px;width:44px;border-radius:50%;border:2px solid #c4c69b;overflow:hidden;flex-shrink:0}.friend-token strong{font:12px Plex;display:block;max-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-token .bar{width:112px;height:4px;margin-top:7px}.tiny-shield{color:#c6d49d;font-size:24px}.table-center{display:flex;align-items:center;justify-content:center;gap:42px;position:relative;min-height:240px}.duel{display:flex;align-items:center;gap:22px;z-index:2}.playing-card{--ink:#274b45;--accent:#68a991;--paper:#e8e9cb;position:relative;display:flex;align-items:center;flex-direction:column;width:158px;height:224px;flex-shrink:0;background:linear-gradient(135deg,#fbf6dd,var(--paper));border:5px solid #e9e0c2;border-radius:12px;box-shadow:0 1px 0 #fbf6e7,inset 0 0 0 1px #a29573,0 9px 13px #0004;color:var(--ink);padding:13px 12px 17px;text-align:center;transform-origin:50% 100%;user-select:none;touch-action:pan-y}.playing-card:before{content:'';position:absolute;inset:5px;border:1px solid #6a79574d;border-radius:5px;pointer-events:none}.card-corner{position:absolute;top:5px;left:7px;font:17px Georgia;color:var(--ink);line-height:1}.card-corner.bottom{top:auto;left:auto;bottom:5px;right:7px;transform:rotate(180deg)}.card-type{font:8px Plex;letter-spacing:2px;margin:0 0 4px;color:var(--ink);opacity:.8}.art-window{border:1px solid #6b765646;border-radius:70px 70px 8px 8px;background:linear-gradient(160deg,#fff9e54d,var(--accent));width:100%;height:114px;display:grid;place-items:center;overflow:hidden}.card-art{width:100%;height:100%;color:var(--ink)}.card-name{font:bold 16px Plex;line-height:1.05;margin:11px 0 6px;letter-spacing:-.3px}.card-effect{font:10px Plex;line-height:1.3;color:var(--ink);margin:auto 0 0}.suit-talk{--ink:#58346c;--accent:#ba9ac9;--paper:#e6dbea}.suit-move{--ink:#284f6f;--accent:#9ac4d9;--paper:#dce6e6}.suit-time{--ink:#785f2f;--accent:#dbc894;--paper:#f4e7bf}.suit-risk{--ink:#235572;--accent:#83b5cb;--paper:#d5e4e7}.suit-food{--ink:#45643e;--accent:#a6c293;--paper:#e5e9cd}.threat-card{--ink:#683d41;--paper:#e8c9b7;--accent:#cba49a;transform:rotate(-5deg);animation:cardReveal .6s ease;box-shadow:0 12px 18px #0006}.threat-card .card-effect{font-size:11px}.threat-card .art-window{background:linear-gradient(150deg,#edd1b8,#a96d78)}.threat-card.defeated{transform:rotate(-12deg) scale(.93);opacity:.48;filter:saturate(.35);transition:all .5s}.threat-card.unanswered{box-shadow:0 0 30px #d77b6355}.versus{font:25px Georgia;color:#c4bc955e}.play-zone{width:158px;height:224px;border:1px dashed #c3d1ab70;border-radius:12px;background:#071f2a33;color:#b7c4ad;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:15px;position:relative;transition:background .2s,box-shadow .2s}.play-zone:disabled{opacity:1;cursor:default}.zone-glyph{font:47px Georgia;color:#9aaf9d66}.zone-label{font:9px Plex;letter-spacing:2px}.play-zone small{font:10px Plex;color:#92aaa5;text-align:center}.play-zone.ready{border:1px solid #8ce0da;background:#1d61654d;cursor:pointer;box-shadow:0 0 0 5px #83d6c608,0 0 30px #5bdfda15}.play-zone.ready .zone-glyph{color:#a1ece1}.play-zone.ready .zone-label{color:#dbf8e4}.play-zone.ready small{color:#a6d9cf}.play-zone.drag-ready{box-shadow:0 0 0 5px #92e8d43b,0 0 50px #66dfd766;background:#39887b66}.play-zone.resolved{padding:0;border:0;background:none;box-shadow:none}.play-zone.resolved>.playing-card{width:100%;height:100%;transform:none}.play-zone.won:after{content:'✓';position:absolute;right:-12px;top:-12px;background:#9ad3b1;color:#19422d;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-weight:bold;border:3px solid #e0e8c7;box-shadow:0 5px 15px #0004}.play-zone.missed>.playing-card{filter:saturate(.5)}.deck-station,.discard-station{display:flex;flex-direction:column;align-items:center;gap:19px;width:94px}.deck-station>small,.discard-station>small{font:8px Plex;color:#9cb1a8;letter-spacing:2px}.deck-stack{width:91px;height:133px;position:relative;transform:rotate(-9deg)}.deck-stack:before,.deck-stack:after{content:'';position:absolute;inset:0;border:3px solid #c8c8a9;border-radius:8px;background:#0e2d3d;transform:translate(4px,-4px)}.deck-stack:after{transform:translate(8px,-8px);z-index:-1}.card-back{position:relative;z-index:1;width:100%;height:100%;background:repeating-linear-gradient(45deg,#1a3e50,#1a3e50 3px,#183849 3px,#183849 7px);border:4px solid #cccfb3;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 3px #7e9b8c,0 8px 14px #0005}.card-back:before{position:absolute;content:'';inset:7px;border:1px solid #b7bea06b;border-radius:2px}.card-back span{font:36px Georgia;color:#c5d9b8}.card-back small{font:7px Plex;color:#bac7ad;text-align:center;letter-spacing:1px}.discard-slot{width:91px;height:133px;border:1px solid #8fa38e36;border-radius:8px;display:grid;place-items:center;transform:rotate(8deg);background:#071d2433}.discard-slot span{color:#83947d44;font:40px Georgia}.table-feedback{height:103px;display:flex;align-items:center;justify-content:center;position:relative;z-index:5;max-width:650px;margin:0 auto}.turn-message{font:12px Plex;color:#d6dfc6}.round-result{text-align:center;animation:rise .25s ease;width:100%}.round-result>strong{color:#c2efc7;font:14px Plex}.round-result>strong>span{margin-left:12px;font-size:10px;color:#b4cab8}.round-result.negative>strong{color:#f7d1b1}.round-result p{font-size:11px;line-height:1.4;color:#d1ddcc;margin:6px 0}.next-turn{background:#dfd8ae;color:#183a3a;border:0;border-radius:6px;font:bold 11px Plex;padding:8px 16px}.next-turn:hover{background:#fff0bd}.round-result .swap{font-size:10px}.hand-area{position:relative;z-index:4;margin-top:0}.hand-caption{display:flex;justify-content:center;gap:30px;align-items:center;margin-bottom:10px}.hand-caption>span{font:9px Plex;color:#c6d0b5;letter-spacing:2px}.hand-caption .swap{font-size:10px;color:#a0cabb}.player-hand{display:flex;align-items:flex-end;justify-content:center;gap:7px;height:237px;padding-top:12px}.player-hand>.playing-card{cursor:grab;transition:transform .2s,box-shadow .2s,filter .2s;animation:drawCard .5s ease both}.player-hand>.playing-card:nth-child(1){transform:rotate(-10deg) translateY(6px);animation-delay:.03s}.player-hand>.playing-card:nth-child(2){transform:translateY(-7px);animation-delay:.11s;z-index:2}.player-hand>.playing-card:nth-child(3){transform:rotate(10deg) translateY(6px);animation-delay:.19s}.player-hand>.playing-card:hover:not(:disabled),.player-hand>.playing-card.picked{transform:translateY(-28px) rotate(0);z-index:4;box-shadow:0 0 0 3px #97e4cd,0 14px 25px #0006}.player-hand>.playing-card:disabled{cursor:default;opacity:.7}.player-hand>.playing-card.card-leaving{opacity:0;transform:translateY(-40px)}.table-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;position:relative;z-index:4}.table-bottom .timer{font:10px Plex;color:#9bb9af}.table-bottom .swap{font-size:10px}.table-note{font-size:9px;color:#8fa89d}.round-won:after{content:'';position:absolute;inset:0;border:3px solid #a2edbc55;border-radius:20px;pointer-events:none;animation:pulseWin .7s ease forwards}.flying-card{box-shadow:0 25px 60px #0008!important}.table-mode~footer{font-size:9px}@keyframes cardReveal{from{transform:translate(-100px,-35px) rotateY(100deg) rotate(-15deg);opacity:.3}to{transform:rotate(-5deg);opacity:1}}@keyframes drawCard{from{opacity:0;margin-bottom:-80px}to{opacity:1;margin-bottom:0}}@keyframes pulseWin{0%{opacity:1;box-shadow:inset 0 0 100px #8ae9b630}100%{opacity:0;box-shadow:none}}@media(min-width:1300px) and (min-height:900px){.game-table{padding-top:24px}.table-center{min-height:260px}}@media(max-width:850px){.game-table{padding:20px 20px 16px;border-width:9px;border-radius:27px;min-height:730px}.table-center{gap:20px}.duel{gap:12px}.deck-station,.discard-station{width:60px}.deck-stack,.discard-slot{width:65px;height:98px}.deck-station>small,.discard-station>small{font-size:7px;letter-spacing:1px}.table-hud{gap:16px}.table-title h2{font-size:20px}.table-title .eyebrow{font-size:8px}.game-table .playing-card,.play-zone{width:146px;height:214px}.table-center{min-height:230px}.card-name{font-size:15px}}@media(max-width:620px){main.table-mode{padding:15px 3% 20px}body:has(.table-mode) header{padding:14px 4%}body:has(.table-mode) .brand{font-size:22px}body:has(.table-mode) .brand small{display:none}body:has(.table-mode) footer{padding:15px 5%}.table-title{margin-bottom:12px;align-items:center}.table-title h2{font-size:16px;letter-spacing:-.5px}.table-title .eyebrow{font-size:6px;letter-spacing:1px}.table-hud{gap:12px}.table-hud>span{font-size:6px;letter-spacing:.5px}.table-hud b{font-size:20px}.table-hud small{font-size:9px}.game-table{border-width:7px;border-radius:22px;min-height:655px;padding:17px 13px 14px}.table-trim{inset:7px;border-radius:12px}.track-node{width:21px;height:21px;font-size:9px}.round-track>i{width:15px}.friend-token{width:180px;margin:10px auto 12px;gap:9px;padding:5px 10px 5px 5px}.token-face{width:32px;height:32px}.friend-token strong{font-size:10px;max-width:95px}.friend-token .bar{width:88px;height:3px;margin-top:5px}.tiny-shield{font-size:20px}.table-center{min-height:197px;gap:0}.deck-station{position:absolute;left:0;top:2px;transform:rotate(-8deg);width:36px;opacity:.8}.deck-stack{width:34px;height:53px;transform:none}.card-back{border-width:2px;gap:0}.card-back:before{inset:3px}.card-back span{font-size:22px}.card-back small,.deck-station>small{display:none}.discard-station{position:absolute;right:0;bottom:4px;width:33px;opacity:.65}.discard-slot{width:30px;height:45px;border-radius:4px}.discard-slot span{font-size:17px}.discard-station>small{display:none}.duel{gap:9px}.versus{font-size:18px}.game-table .threat-card,.play-zone{width:123px;height:180px}.playing-card{border-width:4px;padding:11px 9px 13px;border-radius:9px}.card-type{font-size:6px;letter-spacing:1.4px}.card-corner{font-size:13px;left:5px;top:4px}.card-corner.bottom{right:5px;bottom:4px}.art-window{height:87px}.card-name{font-size:12px;margin:9px 0 5px;line-height:1.05}.card-effect{font-size:8px}.threat-card .card-effect{font-size:9px}.zone-glyph{font-size:34px}.zone-label{font-size:8px;letter-spacing:1px}.play-zone small{font-size:8px}.table-feedback{height:111px;padding:3px 1px}.turn-message{font-size:11px}.round-result>strong{font-size:12px}.round-result>strong>span{font-size:8px;margin-left:5px}.round-result p{font-size:10px;margin:5px 0;line-height:1.35}.next-turn{font-size:10px;padding:8px 12px}.hand-caption{margin-bottom:3px;gap:22px}.hand-caption>span{font-size:8px}.hand-caption .swap{font-size:9px}.player-hand{height:180px;gap:0;padding-top:15px}.game-table .player-hand>.playing-card{width:106px;height:161px;padding:9px 7px 12px;margin-left:-4px;margin-right:-4px}.player-hand .art-window{height:73px}.player-hand .card-name{font-size:11px;margin:8px 0 4px}.player-hand .card-effect{font-size:8px}.player-hand .card-type{font-size:6px}.player-hand>.playing-card:hover:not(:disabled),.player-hand>.playing-card.picked{transform:translateY(-18px) rotate(0)}.table-bottom{margin-top:13px}.table-bottom .timer,.table-note{font-size:8px}.table-bottom .swap{font-size:8px}.play-zone.resolved>.playing-card{width:100%;height:100%}}@media(max-width:360px){.game-table{padding-left:8px;padding-right:8px}.game-table .threat-card,.play-zone{width:110px;height:169px}.game-table .player-hand>.playing-card{width:96px;height:151px}.table-hud{gap:8px}.table-title h2{font-size:14px}.player-hand .art-window{height:64px}.player-hand .card-name{font-size:10px}.deck-station{left:-5px;top:-5px}.table-center{min-height:185px}}
body:has(.table-mode)>header{padding-top:13px;padding-bottom:13px}body:has(.table-mode)>footer{display:none}.playing-card.flying-card{animation:none!important}.table-hud>span{position:relative}.table-hud>span>small{position:absolute;right:-20px;bottom:3px}.table-hud>span:first-child{margin-right:14px}
/* Approved identity: original satin ribbon, royal blue and white. */
:root{--blue:#176de6;--bg:#050e22;--panel:#0b1c3b;--line:#24466e;--muted:#acc0df}.primary{background:#176de6;color:white}.primary:hover{background:#367ff0}.brand span{color:#4d93ff}.entry{max-width:490px;margin:0 auto;padding:5px 0 10px}.entry-ribbon{display:block;width:62px;height:93px;object-fit:contain;margin:0 auto 14px}.entry>.eyebrow{justify-content:center;color:#7caeff;font-size:10px}.entry h1{font-size:38px;line-height:1.1;letter-spacing:-1.8px;text-align:center;margin:15px 0}.entry>p{text-align:center;font-size:14px;line-height:1.6;margin:10px 0 23px}.entry-form{border:1px solid #29456f;background:#0a1932;border-radius:15px;padding:22px 27px}.entry-form .field:first-child{margin-top:0}.entry-form .primary{width:100%;justify-content:space-between;padding:14px 19px}.entry-form input{border-color:#34547e;background:#061128}.entry-form .check{margin:19px 0 12px;font-size:11px}.entry-form .check input{accent-color:#176de6}.entry-note{text-align:center;font-size:10px;color:#97b3dc;margin:14px 0 0}.entry-form .micro{font-size:10px}.game-table{border-color:#183563;background:radial-gradient(ellipse at 50% 38%,#143b73 0,#0c2957 45%,#071a3b 100%);box-shadow:0 0 0 2px #45699d,0 0 0 6px #070f23,inset 0 0 0 2px #8aa8d533,inset 0 0 80px #000b2588,0 25px 80px #0008}.table-trim{border-color:#6c98de33}.table-trim:after{display:none}.table-title .eyebrow{color:#80adf6}.table-title h2{color:#eff5ff}.track-node{border-color:#7296cf66;background:#102c58;color:#a7bce0}.track-node.active{border-color:#96bfff;background:#176de6;color:white;box-shadow:0 0 20px #176de655}.track-node.complete{background:#d3e5ff;border-color:#e6f0ff;color:#0c4190}.round-track>i{background:#799bd34d}.personal-token{background:#061a3dbd;border-color:#6689c166;width:200px;min-height:51px;padding-left:11px}.personal-token strong{color:#e8f1ff}.personal-token .bar{background:#244166}.personal-token .bar>div{background:#357ff2}.token-ribbon{width:28px;height:41px;object-fit:contain;margin-right:3px}.playing-card,.threat-card{--ink:#0c3783;--paper:#e8f0ff;--accent:#b9d1f7;background:linear-gradient(140deg,#fff,#e7effe);border-color:#f2f6ff;color:#0c3783;box-shadow:0 1px 0 #fff,inset 0 0 0 1px #7596cb,0 9px 13px #0005}.playing-card:before{border-color:#819ed444}.playing-card .card-type{color:#174b9d}.playing-card .art-window,.threat-card .art-window{background:radial-gradient(ellipse,#d5e7ff77,#f3f7ff33);border-color:#9ab5de4d;border-radius:6px;overflow:visible}.card-ribbon{display:block;width:63px;height:104px;object-fit:contain}.playing-card .card-name{color:#103d86}.playing-card .card-effect{color:#143768}.answer-card .card-name{font-size:15px;line-height:1.12;max-width:100%;margin:10px 0 0}.card-signature{margin-top:auto;font:6px Plex;letter-spacing:1.4px;color:#5b79a7;padding-top:5px}.question-card .card-name{font-size:14px;margin:8px 0 5px}.question-card .card-effect{font-size:11px;margin-top:auto;line-height:1.35}.deck-stack:before,.deck-stack:after{border-color:#a2b8dc;background:#052254}.card-back{background:linear-gradient(135deg,#f3f7ff,#d7e6ff);border-color:#c5d6f1;box-shadow:inset 0 0 0 2px #638ac7,0 8px 14px #0005}.card-back:before{border-color:#7b9ed05c}.deck-ribbon{width:52px;height:88px;object-fit:contain}.deck-station>small,.discard-station>small{color:#98b2da}.discard-slot{background:#06193744;border-color:#6384b24d}.discard-ribbon{width:45px;height:80px;object-fit:contain;opacity:.55}.zone-ribbon{width:40px;height:60px;object-fit:contain;opacity:.45}.play-zone{border-color:#8baae377;background:#061a3a44;color:#a2bde6}.play-zone small{color:#9cb6dd}.play-zone.ready{border-color:#8cb7ff;background:#1453a144;box-shadow:0 0 0 5px #528eff08,0 0 30px #176de633}.play-zone.ready .zone-ribbon{opacity:1}.play-zone.ready .zone-label{color:#e1edff}.play-zone.ready small{color:#b7d2fc}.play-zone.drag-ready{background:#2466cb66;box-shadow:0 0 0 5px #8ab7ff33,0 0 50px #176de655}.play-zone.won:after{background:#cde2ff;border-color:#eff6ff;color:#114995}.round-result>strong,.round-result.negative>strong{color:#dae9ff}.round-result>strong>span{color:#9dc0f5}.round-result p{color:#c5d8f6}.next-turn{background:#d9e8ff;color:#0c367c}.next-turn:hover{background:#fff}.round-won:after{border-color:#7caeff77;animation:blueWin .7s ease forwards}.hand-caption>span,.turn-message{color:#c5d7f3}.table-bottom>span{font-size:10px;color:#9cb7de}.player-hand>.playing-card:hover:not(:disabled),.player-hand>.playing-card.picked{box-shadow:0 0 0 3px #7eafff,0 14px 25px #0006}.threat-card.unanswered{box-shadow:0 0 24px #6c9ad84d}.result-heading{display:flex;align-items:center;gap:24px}.result-heading h2{font-size:30px}.result-heading p{font-size:14px}.result-ribbon{width:65px;height:98px;object-fit:contain;flex-shrink:0}.personal-result .result-card{border-color:#456da8;background:radial-gradient(ellipse at top,#144c94,#0b1d3e 65%)}.personal-result .result-card .eyebrow{color:#96bdf6}.result-card-ribbon{width:95px;height:143px;object-fit:contain;display:block;margin:20px auto}.bigscore small{font-size:27px;color:#9db9de}.report-section{margin-top:45px}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.report-heading h2{font-size:25px}.report-item{border:1px solid #294773;background:#0a1b35;border-radius:12px;padding:22px;margin:15px 0}.report-item-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#9ab8e4}.report-item-top>strong{color:#a3cbff}.report-item.learning .report-item-top>strong{color:#d0dcf0}.report-item h3{font-size:18px;margin:15px 0}.report-item p{font-size:13px;margin:8px 0}.report-item a{font-size:11px;color:#94bfff}.personal-result .box a{color:#94bfff}@keyframes blueWin{0%{opacity:1;box-shadow:inset 0 0 100px #287cec40}100%{opacity:0;box-shadow:none}}
@media(max-width:620px){.entry{max-width:440px}.entry h1{font-size:33px}.entry>p{font-size:12px}.entry-ribbon{width:45px;height:68px}.entry-form{padding:18px 20px}.personal-table .track-node{width:18px;height:18px;font-size:8px}.personal-table .round-track>i{width:9px}.personal-token{width:180px;min-height:43px}.token-ribbon{width:21px;height:32px}.playing-card .card-ribbon{width:45px;height:75px}.game-table .player-hand .card-ribbon{width:35px;height:62px}.answer-card .card-name,.player-hand .answer-card .card-name{font-size:11px;line-height:1.13;margin-top:7px}.question-card .card-name{font-size:12px;margin:6px 0 4px}.question-card .card-effect{font-size:9px;line-height:1.3}.card-signature{font-size:5px;letter-spacing:.8px}.deck-ribbon{width:20px;height:32px}.discard-ribbon{width:18px;height:30px}.zone-ribbon{width:31px;height:47px}.table-bottom>span{font-size:8px}.personal-table .table-feedback{height:118px}.personal-table .round-result p{font-size:10px;line-height:1.35}.result-heading{gap:15px}.result-heading h2{font-size:23px}.result-heading p{font-size:12px}.result-ribbon{width:45px;height:68px}.report-heading{display:block}.report-heading h2{font-size:22px}.report-item{padding:17px}.report-item-top{font-size:8px}.report-item h3{font-size:16px}.report-item p{font-size:12px}}
@media(min-width:621px){.personal-table{min-height:690px;padding-top:14px;padding-bottom:10px}.personal-table .table-center{min-height:215px}.personal-table .friend-token{margin-top:7px;margin-bottom:7px}.personal-table .table-feedback{height:90px}.personal-table .player-hand{height:207px}.personal-table .hand-caption{margin-bottom:6px}.personal-table .playing-card,.personal-table .play-zone{height:210px}.personal-table .table-bottom{margin-top:10px}.personal-table .card-ribbon{height:94px}.personal-table .art-window{height:104px}}
/* Companion occupies the left strip of the approved tabletop. */
.personal-table{position:relative;padding-left:190px!important}.companion{position:absolute;left:10px;top:125px;bottom:40px;width:170px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:2}.companion img{width:100%;height:100%;max-height:510px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 12px #0004)}.completion{text-align:center}.completion .actions{justify-content:center}.completion h1{font-size:32px}.completion .notice{font-size:13px;text-align:left}
@media(min-width:621px) and (max-width:1000px){.personal-table{padding-left:140px!important}.companion{width:125px;left:6px}.personal-table .table-center{gap:12px}.personal-table .deck-station,.personal-table .discard-station{width:45px}.personal-table .deck-stack{width:47px;height:77px}.personal-table .discard-slot{width:40px;height:65px}}
@media(max-width:620px){.personal-table{padding-left:13px!important;padding-top:100px!important}.companion{top:10px;left:14px;width:50px;height:88px;bottom:auto}.personal-table .round-track{position:absolute;top:25px;left:77px;right:15px}.personal-table .friend-token{position:absolute;top:46px;left:83px;margin:7px 0}.personal-table .round-track>i{width:6px}.companion img{max-height:88px}.completion h1{font-size:27px}}
.companion img{width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center bottom}@media(max-width:620px){.companion img{width:100%;max-width:100%;height:88px}}
.turn-popup{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:#020b1dcc;backdrop-filter:blur(7px)}.turn-popup-card{width:min(100%,460px);padding:32px 30px 24px;border:1px solid #6c9ee4;border-radius:22px;background:linear-gradient(145deg,#123b73,#091d3c);text-align:center;box-shadow:0 25px 90px #0008;animation:rise .18s ease}.popup-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;background:#dbeaff;color:#104695;border-radius:50%;font:bold 30px system-ui}.turn-popup-card .eyebrow{justify-content:center;font-size:10px;color:#a9ccff}.turn-popup-card h2{font-size:27px;line-height:1.25;letter-spacing:-.6px;margin:17px 0;color:white}.turn-popup-card p{font-size:15px;color:#d2e5ff;margin:12px 0 22px;line-height:1.5}.turn-popup-card small{font-size:11px;color:#a3bde0}.popup-progress{height:4px;background:#284466;margin-top:20px;border-radius:4px;overflow:hidden}.popup-progress span{display:block;height:100%;background:#8ebaff;transform-origin:left;animation:popupTimer 5s linear forwards}@keyframes popupTimer{from{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:620px){.turn-popup-card{padding:28px 23px 22px}.turn-popup-card h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.turn-popup-card{animation:none}.popup-progress span{animation:none}}
.invite-box{margin-top:28px;padding:27px 24px;border:1px solid #315d98;border-radius:17px;background:#0b2143;text-align:left}.invite-box .eyebrow{font-size:9px;letter-spacing:1.4px}.invite-box h2{font-size:25px;line-height:1.2;margin:15px 0}.invite-box>p{font-size:14px}.invite-box .primary{font-size:13px;gap:12px}.invite-box form[hidden]{display:none}.invite-box form{margin-top:20px}.invite-box input{border-color:#426da9;background:#07172e}.invite-box .micro{font-size:12px}.invite-preview{padding:17px;border-radius:10px;background:#06162f;border-left:3px solid #5397f5;margin:18px 0}.invite-preview strong{font-size:11px;color:#accbfa}.invite-preview p{font-size:13px;line-height:1.6;margin:8px 0 0}.invite-box button:disabled{opacity:.5}.invite-box #inviteStatus{min-height:18px;margin-bottom:0}
.question-symbol{display:grid;place-items:center;color:#0e57b9;font:700 90px/1 Plex,sans-serif;text-shadow:0 2px 0 #fff;user-select:none}@media(max-width:620px){.question-symbol{font-size:68px}}
.invite-box [hidden]{display:none!important}

.campaign-back{font-size:12px;text-decoration:none;padding:9px 12px;border:1px solid #4b7395;border-radius:8px;color:#bedbff}.game-brand-logo{width:32px;height:32px;vertical-align:middle;margin-right:8px}.brand small{display:none}

/* Campaign integration */
header{justify-content:flex-end}.tools{flex-wrap:wrap;justify-content:flex-end}

/* Explanations stay open until the player continues. */
.turn-popup{overflow-y:auto}.turn-popup-card{max-height:calc(100dvh - 48px);overflow-y:auto}.turn-popup-card .next-turn{display:inline-flex;justify-content:center;min-height:48px;margin-top:8px;padding:13px 24px;background:#176de6;color:#fff;border:1px solid #70a9ff;border-radius:9px;font:600 15px/1.4 Plex,sans-serif;cursor:pointer}.turn-popup-card .next-turn:hover{background:#327deb}.turn-popup-card .next-turn:focus-visible{outline:3px solid #b4d5ff;outline-offset:4px}

/* Score image and native sharing are available immediately after ten turns. */
.completion:has([data-game-result]){max-width:760px}.game-result-panel{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center;text-align:left;margin:30px 0;padding:25px;border:1px solid #38659b;border-radius:15px;background:linear-gradient(135deg,#13386a,#0b1c36)}.game-result-summary h2{font-size:64px;line-height:1;color:#dcecff;margin:0 0 10px}.game-result-summary>strong{display:block;font-size:23px;color:#9dc5ff;margin:24px 0}.game-result-summary>p{font-size:13px;color:#b5ccec;line-height:1.65}.game-result-panel>img{width:100%;height:auto;border:1px solid #3d6699;border-radius:10px;box-shadow:0 12px 30px #0004}.game-result-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px}.game-result-panel>.micro{grid-column:1/-1;margin:0;font-size:12px;color:#b5ccec;line-height:1.6}.game-result-actions button{min-height:46px}.game-result-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:520px){.game-result-panel{padding:19px;gap:18px;grid-template-columns:minmax(0,1fr) 130px}.game-result-summary h2{font-size:44px}.game-result-summary>strong{font-size:18px;margin:18px 0}.game-result-summary>p{font-size:11px}.game-result-actions{flex-direction:column}.game-result-actions button{width:100%;justify-content:center}}

.completion h1{overflow-wrap:anywhere}@media(max-width:360px){.game-result-panel{grid-template-columns:1fr;text-align:center}.game-result-panel>img{width:170px;justify-self:center}}
