@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#0b1017;--surface:#121a24;--line:#26303d;--text:#f1f0ec;--muted:#9da8b7;--gold:#d5b875;--mint:#82c7b8;--red:#e79792}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans KR',system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;letter-spacing:-.045em}h1{font-size:48px}h2{font-size:34px;font-weight:800}h3{font-size:25px}h1 span{color:var(--gold)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--mint);outline-offset:5px}.skip{position:fixed;top:-80px;z-index:100;background:var(--gold);color:#111;padding:10px}.skip:focus{top:0}.header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;padding:0 44px;margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.4;letter-spacing:-.04em}.brand img{flex-shrink:0}.brand small{display:block;font:9px/1.6 system-ui;letter-spacing:2.8px;color:var(--muted);margin-top:3px}.header nav{display:flex;gap:34px;color:var(--muted);font-size:14px}.header nav a{padding:35px 0;position:relative}.header nav a:hover,.header nav a.active{color:var(--text)}.header nav a.active:after{content:'';height:3px;background:var(--gold);position:absolute;bottom:0;left:0;right:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:6px;min-height:48px;padding:13px 22px;font-size:14px;font-weight:700;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary,.header-cta{background:var(--gold);color:#171a20}.primary:hover,.header-cta:hover{background:#e8cc8b}.secondary{border-color:#46505e;background:#161e2980}.secondary:hover{background:#232e3c}.header-cta{font-size:12px;min-height:40px;padding:10px 16px}.hero{max-width:1280px;min-height:615px;margin:auto;position:relative;overflow:hidden;display:flex;align-items:center;padding:60px 44px}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#0b1017 1%,#0b1017dd 26%,#0b101738 60%,#0b101700),linear-gradient(0deg,#0b1017,transparent 30%),url('hero.webp') center right/cover no-repeat;opacity:.95}.hero-content{position:relative;z-index:1}.eyebrow{font:10px/1.5 system-ui,sans-serif;letter-spacing:2.3px;font-weight:600;color:var(--gold);display:inline-block}.live-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:8px;box-shadow:0 0 14px #d5b87588}.hero h1{font-size:62px;font-weight:900;margin:23px 0 24px;letter-spacing:-.065em;line-height:1.25}.hero p{color:#b4becc;font-size:16px;line-height:1.9;margin-bottom:30px}.hero-actions{display:flex;gap:12px}.hero-note{display:flex;align-items:center;gap:8px;font-size:11px;color:#929eae;margin-top:23px}.hero-note i{width:4px;height:4px;background:var(--mint);border-radius:50%}.hero-corner{position:absolute;bottom:35px;right:44px;font:9px/1.8 system-ui;letter-spacing:2px;text-align:right;color:#d0bd92}.hero-corner span{display:block;color:#7e8b9c;font-size:8px}.ticker{max-width:1192px;margin:0 auto;display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.ticker b{color:#dededb;font-weight:500}.ticker-last{font:10px system-ui;letter-spacing:2px;align-self:center;color:#6f7c8d}.section{max-width:1280px;padding:74px 44px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading h2{margin:12px 0 0}.muted{color:var(--muted);font-size:13px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#111822;transition:border-color .25s}.game-card:hover{border-color:#726341}.game-visual{height:250px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.bw-visual{background:radial-gradient(ellipse at 55% 85%,#46403680,transparent 60%),linear-gradient(135deg,#1a212b,#0c1118)}.game-visual:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 40px,#ffffff03 41px,#ffffff03 42px)}.visual-label{position:absolute;top:23px;left:24px;font:9px system-ui;letter-spacing:2px;color:#97a1ad}.visual-caption{position:absolute;bottom:20px;left:24px;font:10px system-ui;letter-spacing:4px;color:#97a1ad}.tile-scene{display:flex;gap:13px;transform:rotate(-10deg) translate(12px,7px);perspective:500px}.tile{height:114px;width:82px;display:grid;place-items:center;border-radius:7px;font:bold 51px Georgia;box-shadow:5px 13px 24px #0008,inset 0 0 0 1px #ffffff30;border-bottom:7px solid #76706b;transform:rotateY(-12deg) rotateX(15deg)}.ivory{background:linear-gradient(135deg,#fffcef,#c1beb3);color:#222}.black{background:linear-gradient(135deg,#3c4654,#10151c);color:#e6e1d5;border-color:#050608;transform:translateY(-15px) rotateY(-12deg) rotateX(15deg)}.gold{background:linear-gradient(135deg,#e4cc91,#8e7139);color:#2c251b;border-color:#675126}.code-visual{background:radial-gradient(ellipse at center,#203f3b88,transparent 75%),#0d181c}.code-scene{display:flex;gap:12px;transform:rotate(-5deg)}.code-scene span{font:46px/1.8 monospace;color:#c4eadf;background:linear-gradient(135deg,#254039,#132b28);width:64px;text-align:center;border:1px solid #477365;border-radius:7px;box-shadow:0 8px 0 #071a17,8px 12px 20px #0005}.code-scene span:nth-child(3){color:#d7b97b;border-color:#827048}.code-hint{position:absolute;bottom:48px;right:28px;font:8px monospace;letter-spacing:2px;color:var(--mint)}.code-hint i{width:5px;height:5px;background:var(--mint);display:inline-block;border-radius:50%}.card-body{padding:28px}.tags{display:flex;gap:7px;margin-bottom:13px}.tags span{font-size:10px;padding:3px 9px;border-radius:4px;color:#b6bfca;border:1px solid #2c3643}.card-body h3{margin:0 0 14px}.card-body h3 small{font-size:11px;letter-spacing:-.01em;color:var(--muted);font-weight:400;margin-left:7px}.card-body p{font-size:13px;color:var(--muted);line-height:1.9}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.text-btn{background:none;border:0;padding:8px 0;font-size:12px;color:var(--muted);text-align:left}.text-btn:hover{color:var(--gold)}.small{font-size:12px;min-height:40px;padding:10px 18px;gap:35px}.challenge{position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;background:linear-gradient(120deg,#171c26,#101720);border:1px solid var(--line);border-radius:12px;max-width:1192px;margin:10px auto;padding:48px 52px;overflow:hidden}.challenge h2{font-size:36px;margin:15px 0 20px}.challenge p{color:var(--muted);font-size:12px;line-height:1.9;margin-bottom:24px}.challenge-orbit{position:absolute;right:270px;top:-115px;font-size:400px;line-height:1;color:#d5b87506}.sample-result{position:relative;text-align:center;border:1px solid #a189543d;background:linear-gradient(140deg,#21242a,#121a24);border-radius:9px;padding:26px 20px;transform:rotate(4deg);box-shadow:10px 15px 35px #0006}.sample-result .eyebrow{font-size:8px}.sample-crown{font-size:38px;color:var(--gold);line-height:1.3;margin:17px 0}.sample-result h3{font-size:22px;line-height:1.5;margin-bottom:18px}.sample-score{font:22px Georgia;color:var(--gold);letter-spacing:2px;border-top:1px solid #494334;padding-top:14px}.sample-result>span:last-child{font-size:9px;color:var(--muted);display:block;margin-top:12px}.how-section h2{margin:15px 0 35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps>div{border-top:1px solid var(--line);padding-top:22px}.steps b{font:14px Georgia;color:var(--gold)}.steps h3{font-size:19px;margin:15px 0 12px}.steps p{color:var(--muted);font-size:12px;line-height:1.9}footer{border-top:1px solid var(--line);max-width:1192px;margin:auto;padding:32px 0 24px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-top .brand{font-size:15px}.footer-top .brand small{font-size:8px;letter-spacing:1.8px}.footer-top>div{display:flex;gap:24px}.footer-bottom{font-size:10px;color:#758293;padding-top:25px}.subpage{min-height:650px}.subpage h1{font-size:39px;margin-top:15px}.filters{display:flex;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:28px 0}.filters label{font-size:11px;color:var(--muted);flex:1}.filters select{display:block;width:100%;margin-top:7px}select,input[type=text]{border:1px solid #3d4959;color:var(--text);background:#0e151f;border-radius:5px;padding:12px;width:100%;font-size:14px}select{padding-right:30px}.rank-table{border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:150px}.rank-row{display:grid;grid-template-columns:70px 1fr 100px 110px;align-items:center;gap:15px;padding:18px 24px;border-bottom:1px solid var(--line);font-size:13px}.rank-row:last-child{border:0}.rank-head{font-size:11px;color:var(--muted);background:var(--surface)}.rank-row b{color:var(--gold);font:23px Georgia}.rank-row .points{text-align:right;font-weight:700}.rank-row .date{text-align:right;color:var(--muted);font-size:10px}.fine{font-size:11px;color:var(--muted);line-height:1.9;margin:18px 0}.empty{padding:50px 25px;text-align:center;color:var(--muted)}.empty strong{display:block;font-size:20px;color:var(--text);margin-bottom:10px}.empty .btn{margin-top:18px}.records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.record-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}.record-card h3{font-size:19px;margin:12px 0}.record-card .score{font-size:35px;color:var(--gold);margin-bottom:10px}.record-card p{font-size:11px;color:var(--muted)}dialog{background:#101822;color:var(--text);border:1px solid #3e4753;border-radius:14px;width:min(740px,calc(100vw - 30px));max-height:90dvh;padding:28px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#03070de0;backdrop-filter:blur(8px)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.close-btn{width:34px;height:34px;background:#222c38;border:1px solid #3a4657;border-radius:50%;font-size:14px}.modal-heading{font-size:31px;margin:5px 0 12px}.modal-desc{color:var(--muted);font-size:13px;line-height:1.9}.setup-field{display:block;color:#c5cdd6;font-size:12px;margin-top:22px}.setup-field input{display:block;margin-top:8px}.difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 18px}.difficulty-options label{border:1px solid #354052;border-radius:7px;padding:13px 9px;text-align:center;cursor:pointer;background:#131d2b}.difficulty-options label:has(input:checked){border-color:var(--gold);background:#d5b87515;color:var(--gold)}.difficulty-options input{accent-color:var(--gold);margin:0 5px 0 0}.difficulty-options small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#acb7c6;margin:18px 0}.consent input{accent-color:var(--gold);margin-top:4px}.wide{width:100%;justify-content:center}.notice{padding:13px 16px;border:1px solid #3e4857;background:#172230;border-radius:6px;color:#adb9c8;font-size:11px;line-height:1.9;margin:18px 0}.error{color:#ffb6b0;line-height:1.8;font-size:12px;min-height:1.8em}.board-top{display:flex;justify-content:space-between;align-items:flex-start}.round-badge{font:11px system-ui;letter-spacing:1px;border:1px solid #3c4858;padding:7px 12px;border-radius:20px;color:var(--muted)}.scoreboard{display:grid;grid-template-columns:1fr 70px 1fr;text-align:center;align-items:center;background:#151f2d;border:1px solid var(--line);padding:18px;border-radius:10px;margin:14px 0 20px}.scoreboard .name{font-size:11px;color:var(--muted)}.scoreboard .value{font:42px/1.4 Georgia;color:var(--gold)}.scoreboard .vs{font:12px Georgia;color:#647082}.ai-area{display:flex;align-items:center;gap:20px;justify-content:center;padding:18px 0 28px}.hidden-tile{height:104px;width:76px;display:grid;place-items:center;font:35px Georgia;border-radius:7px;box-shadow:4px 7px 0 #0007;border:1px solid #586272}.hidden-tile.black{color:#ddd}.hidden-tile.white{background:#e5e0d5;color:#25303b;border-color:#f5f0e5}.ai-area p{color:var(--muted);font-size:12px;margin-bottom:5px}.ai-area b{color:var(--text);font-size:14px}.hand-label{display:flex;justify-content:space-between;font-size:12px;color:#b8c3d2;margin-bottom:13px}.hand{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.hand button{font:25px Georgia;aspect-ratio:.72;border-radius:5px;min-width:0;border:1px solid #5a6777;background:#252f3d;color:var(--text);box-shadow:0 4px 0 #05070a}.hand button.odd{background:#ddd8ca;color:#1a212a;border-color:#fff4dc}.hand button.selected{outline:3px solid var(--gold);outline-offset:2px;transform:translateY(-5px)}.hand button.used{opacity:.16;box-shadow:none;cursor:default}.play-submit{margin-top:22px}.history{margin-top:22px;max-height:200px;overflow:auto}.history h3{font-size:14px;color:#bac5d3;margin-bottom:10px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;border-bottom:1px solid var(--line);gap:10px}.win{color:var(--mint)}.lose{color:var(--red)}.draw{color:var(--muted)}.code-input{font:32px monospace!important;letter-spacing:15px;text-align:center;margin:15px 0}.guess-row{display:flex;gap:8px}.guess-row input{flex:1;min-width:0}.guess-row button{flex-shrink:0}.result-panel{text-align:center;padding:8px 10px}.result-panel .medal{font-size:46px;color:var(--gold)}.result-panel h2{margin:14px 0}.result-points{font:75px/1.2 Georgia;color:var(--gold);margin:18px 0}.result-points small{font:13px system-ui;color:var(--muted);margin-left:6px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.result-actions .btn{justify-content:center;gap:10px}.share-consent{border:1px solid #55492f;background:#d5b87509;border-radius:6px;padding:13px}.rules-list{padding-left:23px;font-size:13px;color:#c0cad6;line-height:2.1}.rules-list li{padding-left:4px;margin-bottom:10px}.rule-example{background:#162335;padding:18px;border-radius:7px;font-size:13px;line-height:1.9;color:var(--mint)}.legal p{font-size:13px;color:#b2bdca;line-height:1.95}.legal h3{font-size:18px;margin-top:23px}.loading{padding:45px;text-align:center;color:var(--muted)}#toast{position:fixed;z-index:1000;left:50%;bottom:30px;transform:translateX(-50%) translateY(100px);background:#d7bb7e;color:#161b23;padding:13px 22px;border-radius:6px;font-size:12px;box-shadow:0 5px 25px #0006;transition:transform .25s;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}@media(min-width:1500px){.hero{min-height:660px}.hero h1{font-size:68px}}@media(max-width:900px){.header{padding:0 24px}.header nav{gap:22px}.hero{padding:55px 24px}.hero h1{font-size:52px}.section{padding:55px 24px}.ticker,footer{margin-left:24px;margin-right:24px}.challenge{margin:0 24px;padding:35px;gap:25px}.challenge h2{font-size:30px}.records-grid{grid-template-columns:1fr 1fr}.section-heading>.muted{display:none}.card-body h3 small{display:block;margin:6px 0 0}.tile{width:70px;height:100px}.code-scene span{width:52px;font-size:40px}}@media(max-width:620px){.header{height:auto;min-height:80px;padding:17px 20px 0;flex-wrap:wrap;gap:8px}.brand{font-size:16px}.brand img{width:30px;height:30px}.brand small{font-size:8px;letter-spacing:1.8px}.header-cta{min-height:34px;padding:8px 11px;gap:10px;font-size:10px}.header nav{order:3;width:100%;justify-content:space-between;gap:0;font-size:12px}.header nav a{padding:14px 10px}.hero{padding:42px 22px 155px;min-height:680px;align-items:flex-start}.hero h1{font-size:44px;line-height:1.3;margin-top:20px}.hero p{font-size:13px}.hero-art{background:linear-gradient(180deg,#0b1017 1%,#0b1017c9 33%,#0b101700 75%,#0b1017),url('hero.webp') 64% bottom/auto 76% no-repeat;opacity:.85}.hero .eyebrow{font-size:8px}.hero-actions{gap:8px}.hero-actions .btn{padding:12px 15px;gap:13px;font-size:12px}.hero-note{font-size:10px}.hero-corner{font-size:8px;right:22px;bottom:20px}.ticker{margin:0 22px;padding:17px 0;font-size:10px}.ticker-last{display:none}.section{padding:48px 22px}.section-heading{margin-bottom:25px}.section-heading h2,h2{font-size:26px}.eyebrow{font-size:9px;letter-spacing:1.7px}.game-grid{grid-template-columns:1fr;gap:23px}.game-visual{height:230px}.tile{width:80px;height:112px}.code-scene span{width:57px;font-size:43px}.card-body{padding:24px}.card-body h3 small{display:inline;margin-left:5px;font-size:10px}.challenge{margin:0 22px;padding:30px 24px;grid-template-columns:1fr;gap:30px}.challenge h2{font-size:29px}.sample-result{max-width:300px;justify-self:center;width:90%;transform:rotate(3deg)}.challenge p{font-size:11px}.steps{grid-template-columns:1fr;gap:20px}.steps>div{display:grid;grid-template-columns:34px 1fr;column-gap:15px;padding-top:18px}.steps b{grid-row:span 2;margin-top:4px}.steps h3{margin:0 0 7px;font-size:18px}.steps p{margin-bottom:0;font-size:12px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:20px}footer{margin:0 22px}.footer-top>div{gap:20px}.footer-bottom{gap:7px;font-size:9px}.subpage h1{font-size:29px}.subpage .section-heading{display:block}.subpage .section-heading>.btn{margin-top:8px}.filters{gap:10px;padding:14px 10px}.filters select{font-size:11px;padding:10px 6px}.rank-row{grid-template-columns:32px 1fr 65px;gap:9px;padding:15px}.rank-row .date{display:none}.rank-row{font-size:12px}.records-grid{grid-template-columns:1fr}.record-card .score{font-size:30px}dialog{padding:20px 17px;width:calc(100vw - 20px);max-height:94dvh}.modal-top{margin-bottom:15px}.modal-heading{font-size:25px}.difficulty-options{gap:6px}.difficulty-options label{font-size:12px;padding:12px 5px}.difficulty-options small{font-size:9px}.hand{gap:5px}.hand button{font-size:21px}.hand-label{font-size:10px}.scoreboard{margin-bottom:12px;padding:12px}.ai-area{padding:12px 0 22px;gap:14px}.hidden-tile{height:88px;width:62px}.modal-desc{font-size:12px}.result-actions .btn{font-size:11px;padding:12px 9px}.result-points{font-size:65px}.guess-row{flex-direction:column}.code-input{font-size:27px!important;letter-spacing:12px}.round-badge{font-size:9px}.rules-list{font-size:12px}.rank-table .empty{padding:35px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Arena 1.1: readable decisions and deliberate reveals. */
.arena-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.sound-control{background:none;border:1px solid #354151;border-radius:20px;padding:6px 12px;color:#a8b5c6;font-size:10px}.round-track{display:flex;justify-content:space-between;gap:6px;margin:0 0 24px}.round-track span{width:30px;height:28px;display:grid;place-items:center;border-radius:5px;font:12px system-ui;border:1px solid #2a3543;color:#758294}.round-track .win{background:#82c7b820;color:#a8e9d9;border-color:#82c7b850}.round-track .lose{background:#e7979212;color:#e79792;border-color:#e7979240}.round-track .draw{background:#a7b6ca18}.round-track .current{background:var(--gold);color:#17202b;border-color:var(--gold);box-shadow:0 0 20px #d5b87522}.opponent-header{display:flex;align-items:center;gap:15px}.ai-avatar{height:61px;width:61px;border-radius:15px;background:linear-gradient(135deg,#273548,#101824);border:1px solid #53637a;position:relative;display:grid;place-items:center;font:27px Georgia;color:#b9cbe5;box-shadow:0 5px 15px #0003;flex-shrink:0}.ai-avatar:before,.ai-avatar:after{content:'';height:3px;width:6px;background:#c0d9ed;position:absolute;bottom:12px}.ai-avatar:before{left:17px}.ai-avatar:after{right:17px}.ai-avatar.normal{border-color:#698e83;color:#a3dec9}.ai-avatar.hard{border-color:#9f8150;color:#e7c485}.opponent-header h2{font-size:23px;margin:2px 0 3px}.opponent-header h2 small{font:10px system-ui;letter-spacing:0;margin-left:9px;color:var(--muted)}.opponent-header p{font-size:11px;color:var(--muted);margin:0}.opponent-header .eyebrow{font-size:8px;letter-spacing:1.8px}.arena-score{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative;padding-bottom:18px}.arena-score b{font:37px Georgia;color:var(--gold)}.arena-score span{color:#687486}.arena-score small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;color:#95a3b5}.battle-status{font-size:12px;color:#d1c09c;padding:12px 0 0;margin-bottom:15px}.arena-table{position:relative;border:1px solid #3a4654;border-radius:14px;min-height:220px;background:radial-gradient(ellipse at 50% 60%,#263c3b88,transparent 73%),repeating-linear-gradient(90deg,#0000,#0000 3px,#ffffff01 3px,#ffffff01 4px),#101c26;box-shadow:inset 0 0 55px #0007,0 10px 25px #0003;display:flex;align-items:center;justify-content:center;gap:65px;padding:28px 20px;margin-bottom:22px;overflow:hidden}.arena-table:before{content:'';position:absolute;inset:8px;border:1px solid #d5b87518;border-radius:10px;pointer-events:none}.table-watermark{position:absolute;inset:0;display:grid;place-items:center;color:#d5b87507;font:44px Georgia;letter-spacing:7px;pointer-events:none;white-space:nowrap}.table-seat{text-align:center;position:relative;z-index:1;min-width:110px}.table-seat>span{display:block;color:#a7b7c8;font-size:10px;margin-bottom:12px}.table-seat>small{display:block;color:#9babbc;font-size:9px;margin-top:11px}.table-versus{font:13px Georgia;color:#708394;letter-spacing:3px;z-index:1}.duel-tile{width:76px;height:107px;border-radius:7px;display:grid;place-items:center;margin:auto;font:49px/1 Georgia;border:1px solid #7e8a9a;box-shadow:0 6px 0 #050b10,0 16px 24px #0006;position:relative}.duel-tile.dark,.mini-tile.dark{background:linear-gradient(130deg,#3b4756,#131d29);color:#eeede7;border-color:#57687b}.duel-tile.light,.mini-tile.light{background:linear-gradient(130deg,#fbf4e5,#c7c4b9);color:#252f39;border-color:#fff4dc}.duel-tile.slot{border:1px dashed #71839455;background:#1d303888;box-shadow:inset 0 0 20px #0003;color:#8396a466;font:32px system-ui}.duel-tile.chosen{animation:tile-arrive .3s ease-out}.deduction{border:1px solid #354637;background:#b4d29208;border-radius:8px;padding:15px;margin:0 0 12px;display:flex;justify-content:space-between;align-items:center;gap:18px}.deduction b{display:block;font-size:12px;color:#d6e0cf}.deduction>div>span{display:block;font-size:10px;color:#94a596;margin-top:3px}.candidate-row,.inventory{display:flex;gap:7px;flex-wrap:wrap}.candidate{width:28px;height:36px;border-radius:4px;display:grid;place-items:center;font:18px Georgia;border:1px solid #536273;background:#273543;color:#e8edf1}.candidate.light{background:#d6d1c5;color:#1a2631;border-color:#ece5d7}.candidate.spent{opacity:.22;text-decoration:line-through}.opponent-inventory,.arena-log{font-size:11px;color:#8fa0b2;margin:12px 0 20px}.opponent-inventory summary,.arena-log summary{cursor:pointer;padding:7px 0}.opponent-inventory .inventory{margin:12px 0}.opponent-inventory p{font-size:10px;line-height:1.8;margin:10px 0}.arena-hand{margin:17px 0 14px}.arena-hand button{transition:transform .18s,box-shadow .18s;min-height:57px}.arena-hand button:not(:disabled):hover{transform:translateY(-6px)}.arena-hand button.selected{transform:translateY(-9px);box-shadow:0 5px 0 #05070a,0 0 22px #d5b87545}.arena-hand button.recommended{outline:2px solid #82c7b8;outline-offset:3px;box-shadow:0 0 20px #82c7b850;animation:coach-pulse 1.7s ease-in-out infinite}.selection-hint{font-size:11px;color:#aebccc;min-height:37px;line-height:1.8;margin:8px 0 13px}.last-round{border-top:1px solid var(--line);padding-top:14px;font-size:11px}.last-round b{float:right}.arena-log{margin-bottom:0}.reveal-heading{text-align:center;padding:10px 0 23px}.reveal-heading h2{font-size:28px;margin:15px 0 9px}.reveal-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.reveal-table{min-height:260px;margin:8px 0 12px}.flip-card{width:76px;height:107px;perspective:800px;transform:translateY(-25px);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.3,1),opacity .4s}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{transform:rotateY(180deg)}.reveal-table.landed .flip-card{transform:translateY(0);opacity:1}.reveal-table.flipped .flip-inner{transform:rotateY(180deg)}.reveal-table .table-seat{min-width:95px}.reveal-verdict{text-align:center;min-height:78px;display:grid;place-items:center;font:29px Georgia;letter-spacing:5px}.reveal-verdict:not(:empty){animation:verdict-in .4s ease-out}.reveal-table.flipped{border-color:#d5b87577}.opponent-path{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.path-stop{display:flex;align-items:center;gap:8px;border:1px solid #334155;border-radius:7px;padding:11px 9px;background:#172230}.path-stop>b{font:18px Georgia;color:#6c8095}.path-stop>span{font-size:11px}.path-stop small{display:block;color:#8899ab;font-size:9px}.path-stop.cleared{border-color:#82c7b866;background:#82c7b80a}.path-stop.cleared>b{color:#82c7b8}.match-recap{border:1px solid #3e4e5a;border-radius:10px;background:#15212d;padding:22px;margin:24px 0}.match-recap h3{font-size:22px;margin:8px 0 0}.match-recap ul{padding-left:18px;color:#c1ccd8;font-size:12px;line-height:1.9}.match-recap li{padding:7px 0}.master-badge{padding:12px;text-align:center;color:var(--gold);border:1px solid #d5b87555;border-radius:6px;font-size:13px}.coach-message{border-left:2px solid var(--mint);padding:8px 0 8px 20px;margin:10px 0 25px}.coach-message h2{font-size:26px;margin:12px 0}.coach-message p{font-size:14px;line-height:2;color:#c2d0dd;margin-bottom:0}.onboarding{text-align:center;padding:10px 15px}.onboarding h2{font-size:33px;margin:18px 0}.onboarding>p{font-size:13px;color:#adbbcb;line-height:1.9}.onboarding .notice{text-align:left;margin:28px 0}.intro-tiles{display:flex;align-items:center;justify-content:center;gap:25px;margin:30px 0}.intro-tiles>b{font:14px Georgia;color:#6e7d90}.mini-tile{width:74px;height:100px;border-radius:6px;display:grid;place-items:center;font:44px Georgia;box-shadow:0 5px 0 #05080c,5px 15px 20px #0005;transform:rotate(-8deg);border:1px solid #7e8a9a}.mini-tile:last-child{transform:rotate(8deg)}@keyframes tile-arrive{from{transform:translateY(15px) scale(.88);opacity:.3}to{transform:translateY(0) scale(1);opacity:1}}@keyframes verdict-in{from{transform:scale(1.15);opacity:0}to{transform:scale(1);opacity:1}}@keyframes coach-pulse{50%{box-shadow:0 0 28px #82c7b880}}@media(max-width:620px){.opponent-header{gap:11px}.ai-avatar{width:49px;height:49px;font-size:23px}.ai-avatar:before{left:12px}.ai-avatar:after{right:12px}.opponent-header h2{font-size:19px}.opponent-header h2 small{font-size:9px;margin-left:5px}.opponent-header p{font-size:9px}.arena-score{gap:7px}.arena-score b{font-size:29px}.round-track{margin-bottom:18px}.round-track span{height:24px;width:24px;font-size:10px}.arena-table{gap:18px;min-height:200px;padding:24px 12px}.table-seat{min-width:98px}.table-versus{font-size:10px;letter-spacing:1px}.duel-tile,.flip-card{width:66px;height:94px}.duel-tile{font-size:42px}.table-seat>small{font-size:8px}.table-watermark{font-size:26px;letter-spacing:4px}.deduction{align-items:flex-start;flex-direction:column;gap:11px;padding:13px}.deduction>div>span{font-size:9px}.candidate{width:26px;height:33px;font-size:17px}.arena-hand{gap:5px}.arena-hand button{font-size:21px;min-height:50px}.selection-hint{font-size:10px;min-height:36px}.battle-status{font-size:10px}.path-stop{padding:9px 6px;gap:6px}.path-stop>span{font-size:10px}.path-stop>b{font-size:16px}.path-stop small{font-size:8px}.match-recap{padding:17px}.match-recap h3{font-size:20px}.match-recap ul{font-size:11px}.reveal-heading h2{font-size:24px}.reveal-heading p{font-size:11px}.reveal-table{min-height:235px}.coach-message{padding-left:15px}.coach-message h2{font-size:23px}.coach-message p{font-size:12px}.onboarding{padding:5px}.onboarding h2{font-size:28px}.onboarding>p{font-size:12px}}@media(prefers-reduced-motion:reduce){.flip-card{transform:none;opacity:1}.flip-inner,.flip-card{transition:none!important}.arena-hand button.recommended,.duel-tile.chosen,.reveal-verdict{animation:none!important}}
.friend-entry{max-width:1192px;margin:24px auto 0;padding:17px 23px;background:#d5b8750b;border:1px solid #d5b87544;border-radius:9px;display:flex;align-items:center;gap:20px}.friend-entry>div{margin-right:auto}.friend-entry b{display:block;font-size:16px;margin-top:4px}.friend-entry .eyebrow{font-size:9px}.room-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-note{font-size:10px;color:var(--mint)}.connection-note.offline{color:var(--red)}.room-players{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0}.room-player{text-align:center;flex:1;min-width:0;padding:18px 8px;border:1px solid #304052;background:#14202e;border-radius:11px}.room-player.is-me{border-color:#d5b87588}.player-orb{color:var(--gold);font:32px Georgia}.room-player>b{display:block;font-size:15px;overflow-wrap:anywhere;margin:9px 0 4px}.room-player>small{font-size:9px;color:#9caec0}.presence{display:block;font-size:9px;color:#778797;margin:8px 0}.presence.online{color:var(--mint)}.room-player>strong{font:31px Georgia;color:var(--gold);display:block}.room-player>strong small{font:9px sans-serif;letter-spacing:1px;color:var(--muted)}.room-vs{font:12px Georgia;color:#8092a7}.room-lobby h2{font-size:25px}.room-lobby p{font-size:12px;color:#b5c3d2;line-height:1.9}.room-lobby .btn,.result-panel .btn{margin-top:10px}.ready-status{display:flex;justify-content:space-between;font-size:11px;color:var(--mint);padding:15px 0}.duel-roundline{display:flex;justify-content:space-between;align-items:center;font:12px sans-serif;letter-spacing:1px;border-top:1px solid #334052;padding:17px 0}.duel-roundline>b{color:var(--gold);font:bold 25px sans-serif}.urgent{color:#ff9d92!important}.duel-roundscore{font-size:11px;color:var(--muted);margin-bottom:15px;display:flex;align-items:center;justify-content:space-between}.duel-roundscore b{font-size:22px;color:var(--text)}.room-reactions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:20px}.room-reactions button{background:#1c2a39;border:1px solid #3b4c60;border-radius:20px;font-size:10px;padding:9px 6px;transition:background .15s}.room-reactions button:hover{background:#354a60}.reaction-feed{min-height:30px;display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.reaction-feed span{border-radius:20px;padding:5px 12px;font-size:11px;background:#d5b87518;color:#e4cca0;animation:verdict-in .25s}.room-link{margin-top:10px}.room-reveal .reveal-verdict{font-size:23px;letter-spacing:1px}.room-reveal .reveal-table{min-height:220px}.room-reveal .flip-card{margin:auto}@media(max-width:900px){.friend-entry{margin-left:24px;margin-right:24px}}@media(max-width:620px){.friend-entry{margin:20px 22px 0;padding:17px;flex-wrap:wrap;gap:10px}.friend-entry>div{width:100%}.friend-entry b{font-size:15px}.friend-entry .btn{font-size:11px}.room-players{gap:10px;margin:20px 0}.room-player{padding:15px 7px}.room-player>b{font-size:13px}.room-vs{font-size:10px}.room-lobby h2{font-size:22px}.room-reactions{gap:4px}.room-reactions button{font-size:9px;padding:9px 4px}.room-topline .connection-note{font-size:9px}.ready-status{font-size:10px;gap:10px}.room-reveal .reveal-verdict{font-size:19px}}

/* GeniusTest 1.3: responsive, optional game feedback */
.fx-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px;flex-wrap:wrap}.fx-controls button{background:#18232f;border:1px solid #354354;border-radius:20px;padding:7px 12px;font:inherit;font-size:12px;color:#cbd6e2;cursor:pointer}.fx-controls button[aria-pressed=true]{border-color:#b69a60;color:#e8cf96}.fx-controls button:focus-visible,.code-memo button:focus-visible{outline:2px solid #e4c786;outline-offset:3px}.fx-submitted{border-color:#d5b875!important;background:linear-gradient(145deg,#354353,#121c27)!important;box-shadow:0 0 25px #d5b87522;animation:fx-deal .35s ease-out}.arena-hand button{transition:transform .18s,box-shadow .18s}.arena-hand button.selected{transform:translateY(-12px) rotate(-2deg);box-shadow:0 10px 24px #d5b87533}.fx-deal{animation:fx-deal .3s ease-out}.room-reveal .reveal-verdict{transition:opacity .2s,transform .2s}.fx-pending{opacity:0;transform:translateY(10px)}.fx-winner .duel-tile{box-shadow:0 0 10px #e3c57d,0 0 45px #d5b87555}.fx-winner{position:relative}.fx-score-chip{position:absolute;left:50%;top:40%;color:#f6d992;font-size:36px;font-weight:800;pointer-events:none;animation:fx-score 1.2s ease-out forwards}.fx-win{position:relative;box-shadow:inset 0 0 60px #d5b87519}.fx-lose{animation:fx-nudge .25s ease-out}.fx-sparks{position:absolute;left:50%;top:50%;pointer-events:none;z-index:5}.fx-sparks i{position:absolute;width:5px;height:9px;background:#e8cd88;animation:fx-spark 1s ease-out forwards;transform:rotate(var(--r))}.code-slots{display:flex;justify-content:center;gap:12px;margin:22px 0}.code-slots span{display:grid;place-items:center;width:68px;height:82px;border:1px solid #45505d;border-radius:12px;background:linear-gradient(#1f2c3d,#0d1621);font:600 40px monospace;color:#718091;box-shadow:inset 0 3px 12px #0006}.code-slots span.filled{color:#f2dfb2;border-color:#b69a60;animation:fx-digit .18s ease-out}.code-memo{border:1px solid #34414f;padding:14px;border-radius:12px;margin:18px 0}.code-memo summary{cursor:pointer;font-weight:600}.code-memo summary small{font-weight:400;color:#a1afbf;margin-left:8px}.code-memo p{font-size:12px;color:#a1afbf}.code-memo>div{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.code-memo button{background:#17212d;color:#d6dce3;border:1px solid #34414f;border-radius:8px;padding:10px 2px;font:600 22px monospace;cursor:pointer}.code-memo button small{display:block;font:11px sans-serif;margin-top:5px}.code-memo button[data-state='1']{border-color:#d5b875;background:#3a3322;color:#f4d68f}.code-memo button[data-state='2']{color:#8d98a5;background:#0e151e;text-decoration:line-through}.code-reveal{text-align:center;position:relative;overflow:hidden;padding:22px 8px}.code-reveal h2{font-size:24px}.code-lock{font-size:46px;color:#d5b875;animation:fx-lock 1s ease-out}.clue-reveal{display:flex;justify-content:center;gap:18px;margin:25px}.clue-reveal strong{display:grid;place-items:center;min-width:100px;padding:15px;background:#182536;border:1px solid #40536a;border-radius:12px;font-size:30px}.clue-reveal strong:first-child{color:#d9c18b}.clue-in{animation:fx-digit .3s ease-out}.code-unlocked .code-lock{animation:fx-unlock 1.2s ease-out}.set-recap{padding:12px;border:1px solid #3b4756;border-radius:10px;text-align:left;margin:15px 0}.set-recap h3{font-size:16px}.set-recap p{font-size:13px;color:#b7c4d3}.room-timer.urgent,#room-timer.urgent{animation:fx-clock 1s ease-in-out infinite}.reaction-feed span{animation:fx-reaction .3s ease-out}.table-seat{position:relative}
@keyframes fx-deal{from{opacity:.3;transform:translateY(30px) scale(.85)}to{opacity:1;transform:none}}@keyframes fx-score{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-130px) scale(1.2)}}@keyframes fx-spark{to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}@keyframes fx-digit{from{transform:translateY(6px) scale(.92);opacity:.3}to{transform:none;opacity:1}}@keyframes fx-lock{from{transform:rotate(-10deg)}50%{transform:rotate(10deg)}to{transform:none}}@keyframes fx-unlock{40%{transform:translateY(-10px) rotate(15deg)}to{transform:translateY(-5px);color:#f6df9e}}@keyframes fx-nudge{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes fx-clock{50%{transform:scale(1.08);color:#edb879}}@keyframes fx-reaction{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
html[data-ga-motion=reduced] *,html[data-ga-motion=reduced] *::before,html[data-ga-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-ga-motion=reduced] .fx-sparks,html[data-ga-motion=reduced] .fx-score-chip{display:none}html[data-ga-motion=reduced] .arena-hand button.selected{transform:none;outline:2px solid #d5b875}@media(prefers-reduced-motion:reduce){.fx-sparks,.fx-score-chip{display:none}}@media(max-width:600px){.code-memo>div{grid-template-columns:repeat(5,1fr)}.code-slots{gap:8px}.code-slots span{width:54px;height:68px;font-size:32px}.fx-controls{gap:6px}.code-memo summary small{display:block;margin:6px 0}.code-reveal h2{font-size:20px}}
