.tic-tac-rn-host{width:100%;color:#f5efff;background:#281744;border:3px solid #1c1033;border-radius:18px;overflow:hidden;box-shadow:8px 8px 0 #9b7ad1}
.tr-game{--ink:#281744;--paper:#faf8f3;--coral:#bd98f1;--gold:#e0d0fa;font-family:Arial,sans-serif;padding:clamp(14px,3vw,32px);background:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:28px 28px}
.tr-game *{box-sizing:border-box}.tr-game h1,.tr-game h2,.tr-game h3,.tr-game p{color:inherit}.tr-game button,.tr-game input{font:inherit}.tr-game button{cursor:pointer;border:2px solid var(--ink);border-radius:10px;padding:12px 16px;min-height:44px;background:var(--gold);color:var(--ink);font-weight:800;line-height:1.35;white-space:normal}.tr-game button:disabled{cursor:default;opacity:.55}.tr-game :focus-visible{outline:4px solid #c09aff;outline-offset:3px}.tr-game .tr-quiet{background:var(--paper);color:var(--ink)}
.tr-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.tr-header h1{font-weight:950;font-size:clamp(30px,5vw,56px);line-height:1.05;letter-spacing:-2px;margin:4px 0 8px}.tr-header h1 span{color:var(--coral)}.tr-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.6px;margin:0 0 8px}.tr-tagline{font-style:italic;margin:0;font-size:17px}.tr-panel{border:2px solid var(--gold);border-radius:16px;background:var(--paper);color:var(--ink);padding:clamp(18px,3vw,30px);margin:16px 0}.tr-panel h2{margin:0 0 14px;line-height:1.2}.tr-panel p,.tr-panel li{line-height:1.6}.tr-panel button{margin:6px 10px 6px 0}.tr-panel label{display:block;font-weight:700;margin:16px 0 8px}.tr-panel input{display:block;padding:12px;margin-top:6px;width:100%;border:2px solid var(--ink);border-radius:8px;color:var(--ink);background:#fff}.tr-intro{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center}.tr-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;transform:rotate(-6deg)}.tr-mini-grid span{display:grid;place-items:center;aspect-ratio:1;border:2px solid var(--ink);border-radius:12px;font-size:38px;font-weight:900;box-shadow:3px 3px 0 var(--ink)}.tr-X{background:var(--coral)}.tr-O{background:var(--gold)}.tr-code{letter-spacing:3px}.tr-notice{padding:12px;background:var(--gold);color:var(--ink)!important;border-radius:10px}
.tr-hud{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:4;background:#281744;padding:10px 0}.tr-players{display:flex;gap:12px;flex-wrap:wrap}.tr-player{border:2px solid transparent;border-radius:10px;padding:10px 14px;color:var(--ink);opacity:.7}.tr-player b{font-size:23px;margin-right:8px}.tr-player.tr-active{opacity:1;outline:2px solid var(--paper);outline-offset:3px}.tr-hud>[role=timer]{font-size:28px;color:var(--gold);white-space:nowrap}.tr-urgent{color:var(--coral)!important}.tr-turn{min-height:24px;line-height:1.5}.tr-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.tr-card{min-width:0;min-height:350px;perspective:1400px;position:relative}.tr-card-inner{display:grid;min-height:100%;height:100%;transform-style:preserve-3d;transition:transform .4s}.tr-flipped .tr-card-inner{transform:rotateY(180deg)}.tr-face{grid-area:1/1;display:flex;flex-direction:column;gap:14px;padding:20px;border:3px solid #9b7ad1;border-radius:16px;backface-visibility:hidden;background:var(--paper);color:var(--ink);box-shadow:4px 5px 0 #190e2b;overflow-wrap:anywhere}.tr-face p{font-size:16px;font-weight:650;line-height:1.5;margin:0;flex:1}.tr-front>button{margin-top:auto;background:#eeebe5}.tr-card-number{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#66507f}.tr-back{transform:rotateY(180deg);background:#f3f0e9}.tr-card-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:11px;font-weight:800}.tr-card-top button{font-size:12px;padding:8px}.tr-options{display:grid;gap:10px}.tr-options button{display:flex;align-items:flex-start;text-align:left;gap:10px;background:#fffefa;font-size:15px;padding:12px}.tr-options b{flex:none;color:#65408a}.tr-selected .tr-face{border-color:var(--coral)}.tr-claim{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:3px solid var(--paper);border-radius:16px;color:var(--ink);padding:20px;overflow-wrap:anywhere}.tr-claim>span{font-size:110px;font-weight:900;line-height:1}.tr-claimed{border-radius:16px}.tr-winning{outline:5px solid #f5efff;outline-offset:3px}.tr-feedback small{display:block;margin-top:12px}.tr-footnote{font-size:12px;text-align:center;margin:24px 0 0;opacity:.8}

/* Fixed board geometry; questions never participate in its sizing. */
.tr-game{container-type:inline-size;padding:clamp(12px,2vw,28px)}
.tr-header{margin-bottom:12px}.tr-header h1{font-size:clamp(28px,4vw,44px)}
.tr-hud{position:static}.tr-turn{text-align:center;margin:12px 0 20px;scroll-margin-top:45px}.tr-turn:focus,.tr-question:focus,.tr-feedback:focus{outline:none}
.tr-play-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:1180px;margin:auto;align-items:start}
.tr-board-viewport{width:100%;max-width:580px;margin:0 auto;aspect-ratio:1}
.tr-board{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:0;background:var(--paper);border-radius:0;overflow:hidden}
.tr-board .tr-square{position:relative;min-width:0;min-height:0;margin:0;padding:8px;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;opacity:1;aspect-ratio:1}
.tr-board .tr-square:not(:nth-child(3n)){border-right:5px solid #9b7ad1}
.tr-board .tr-square:nth-child(-n+6){border-bottom:5px solid #9b7ad1}
.tr-board .tr-square:not(:disabled):hover{background:#e9ddfa}.tr-board .tr-square:focus-visible{outline:4px solid #65408a;outline-offset:-8px}
.tr-square-number{font-size:clamp(22px,5vw,38px);font-weight:500;color:#8b7d9c}.tr-square-cue{font-size:clamp(9px,1.5vw,12px);font-weight:500;color:#66507f}
.tr-board .is-selected{background:#e5d9fa;box-shadow:inset 0 0 0 5px #65408a}
.tr-board .tr-mark{font-size:clamp(52px,15vw,132px);font-weight:900;line-height:1}.tr-board .mark-O{color:#8560ae}.tr-board .is-winning{background:#e0d0fa}
.tr-win-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tr-win-line line{stroke:#65408a;stroke-width:5;stroke-linecap:round;opacity:.8}
.tr-interaction{min-width:0}.tr-interaction .tr-panel{margin:0;border:0;border-radius:12px;padding:clamp(18px,3vw,28px)}
.tr-question h2{font-size:clamp(19px,2.2vw,25px);line-height:1.4;letter-spacing:0}.tr-answer-list{display:grid;gap:10px}
.tr-answer-list button{display:flex;gap:12px;align-items:baseline;text-align:left;background:#fffefa;font-size:16px;font-weight:500;padding:12px;min-height:48px;width:100%;margin:0}
.tr-answer-list button b{color:#65408a}.tr-question-hint{font-size:13px;margin-bottom:0}.tr-example{font-size:60px;letter-spacing:16px;text-align:center;color:#9b7ad1;font-weight:900;margin:25px 0}
.tr-feedback{position:static;transform:none;width:auto;max-height:none;overflow:visible;box-shadow:none}.tr-feedback h2{font-size:24px}.tr-feedback small{font-size:12px}
.tr-footnote{margin:20px 0 0}.tr-players{gap:8px}.tr-player{padding:8px}.tr-player b{margin-right:4px}
@container(min-width:850px){.tr-play-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
@media(max-width:500px){.tr-header{gap:10px}.tr-header button{font-size:12px;padding:8px}.tr-tagline{font-size:13px}.tr-eyebrow{font-size:10px}.tr-player{font-size:12px}.tr-player b{font-size:22px}.tr-hud>[role=timer]{font-size:24px}.tr-turn{font-size:14px}.tr-play-layout{gap:18px}.tr-game{padding:10px}}
.tr-game .tr-board .tr-square:disabled{opacity:1}
.tr-question,.tr-feedback{scroll-margin-top:56px}
/* Approved September 27 card prototype, connected to Core room state. */
.tic-tac-rn-host{max-width:692px;margin:auto;border:1px solid #665080;border-radius:24px;box-shadow:0 14px 38px #180d3026;background:#160e2b;overflow:visible}
.tr-game{padding:20px;font-family:Nunito,system-ui,sans-serif;background:radial-gradient(ellipse at 50% 0,#342052,transparent 65%),#160e2b;border-radius:24px;container-type:normal}
.tr-header{gap:10px;align-items:center}.tr-header h1{font-family:Bungee,system-ui,sans-serif;font-size:32px;font-weight:400;letter-spacing:0;white-space:nowrap}.tr-header h1 span{-webkit-text-stroke:1px #100822;paint-order:stroke fill;text-shadow:0 -2px #f792d9,2px 0 #f792d9,0 2px #f792d9,-2px 0 #f792d9,3px 4px #0bbcc9}.tr-header h1 .rn-tic{color:#33e7ec}.tr-header h1 .rn-tac{color:#ee69cc}.tr-header h1 .rn-rn{color:#ffeb8b}.tr-tagline{font-size:12px}.tr-eyebrow{font-size:10px}.tr-header .tr-quiet{padding:6px 8px;font-size:12px;min-height:32px}.tr-turn{font-size:13px;margin:10px 0}
.rn-board{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;aspect-ratio:1;width:100%;max-width:650px;margin:auto}
.rn-board:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(#39d5d2,#39d5d2) 33.333% 0/6px 100% no-repeat,linear-gradient(#39d5d2,#39d5d2) 66.667% 0/6px 100% no-repeat,linear-gradient(#39d5d2,#39d5d2) 0 33.333%/100% 6px no-repeat,linear-gradient(#39d5d2,#39d5d2) 0 66.667%/100% 6px no-repeat}
.rn-card{min-width:0;min-height:0;position:relative;background:#faf8f3;color:#352c42}.rn-face{position:absolute;inset:0;display:flex;flex-direction:column;background:#faf8f3;padding:12px;gap:7px;border-radius:0;min-height:0}.rn-front{cursor:pointer}.rn-front small{font-size:10px;font-weight:800;color:#099db3}.rn-card:nth-child(3n+1) small{color:#d93898}.tr-game .rn-front p{line-height:1.25;font-weight:400;margin:0;min-height:0;overflow:hidden;color:#352c42;overflow-wrap:normal;word-break:normal}.tr-game .rn-read{align-self:flex-start;flex:none;background:transparent;color:#087e91;text-decoration:underline;border:0;border-radius:0;padding:0;min-height:20px;font-size:11px;font-weight:400;margin:0}
.rn-expanded{z-index:5}.rn-expanded .rn-face{inset:auto;left:-20px;top:-20px;width:calc(100% + 40px);height:calc(100% + 40px);padding:10px;outline:2px solid #39d5d2;box-shadow:0 3px 12px #0005}.rn-expanded:nth-child(3n+1) .rn-face{left:0}.rn-expanded:nth-child(3n) .rn-face{left:auto;right:0}.rn-expanded:nth-child(-n+3) .rn-face{top:0}.rn-expanded:nth-child(n+7) .rn-face{top:auto;bottom:0}.tr-game .rn-expanded p{overflow:auto}.rn-options{display:flex;flex-direction:column;gap:4px;min-height:0;overflow:auto;flex:1}.tr-game .rn-back>button{border:0;border-bottom:1px solid #b5dedc;background:transparent;border-radius:0;font-size:11px;min-height:24px;padding:1px 3px;color:#087e91;flex:none}.tr-game .rn-options button{display:flex;align-items:center;gap:6px;text-align:left;background:#fffdfa;border:1px solid #ddd3e7;border-radius:4px;padding:6px 8px;min-height:28px;font-size:15px;font-weight:400;line-height:1.15;flex:none}.rn-options b{color:#098b9d}.rn-options span{flex:1}.tr-game .rn-options button:hover:not(:disabled){background:#d2f2ed}.tr-game .rn-options button:disabled{opacity:.7}
.rn-owned{display:grid;place-items:center;background:radial-gradient(ellipse at center,#251231,#080b23 75%);color:#fa49c7}.rn-owned.rn-o{color:#20e6ef;background:radial-gradient(ellipse at center,#063441,#080b23 75%)}.rn-owned svg{width:72%;height:72%;filter:drop-shadow(0 0 4px currentColor);overflow:visible}.rn-owned path,.rn-owned circle{fill:none;stroke:currentColor;stroke-width:16;stroke-linecap:round}.rn-winning{box-shadow:inset 0 0 20px currentColor}.rn-win-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.rn-win-line line{stroke:#ffe59a;stroke-width:4;stroke-linecap:round}
.rn-strip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px;font-size:12px}.rn-strip>div{display:flex;justify-content:space-between;border:2px solid #d945af;color:#fa49c7;border-radius:7px;padding:6px 8px;background:#110a23}.rn-strip>div:last-child{color:#20e6ef;border-color:#17aeba}.rn-strip .active{box-shadow:0 0 6px currentColor}.rn-strip>strong{color:#ffe59a;text-align:center;min-width:60px}.tr-feedback{font-family:Nunito,system-ui,sans-serif}.tr-feedback h2{font-size:20px}.tr-feedback p{font-size:15px}.tr-feedback:focus{outline:none}
@media(max-width:799px){.tr-game{padding:10px}.rn-face{padding:8px;gap:5px}}
@media(max-width:500px){.tr-game{padding:6px 0 10px;border-radius:18px}.tr-header{padding:8px 10px 0;flex-wrap:wrap;justify-content:center;text-align:center}.tr-header h1{font-size:30px}.tr-turn{padding:0 8px;font-size:11px}.rn-face{padding:9px;gap:5px}.rn-front small{font-size:9px}.tr-game .rn-options button{font-size:12px;padding:5px;gap:4px}.rn-strip{margin:10px 7px 0;gap:6px;font-size:11px}.tr-feedback{margin:12px 6px 0;padding:14px}}
.tr-game .tr-feedback-popup{position:fixed;z-index:1000;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;margin:0;padding:20px;border:2px solid #39d5d2;box-shadow:0 10px 40px #0007}.tr-feedback-popup h2{font-size:20px}.tr-feedback-popup p{font-size:14px;line-height:1.4}.tr-feedback-popup small{font-size:12px;color:#087e91}
