:root{color-scheme:dark;--bg:#0b1112;--surface:#101718;--paper:#e8dfce;--muted:#a5aaa2;--line:#3d4845;--faint:#6c7b76;--red:#df8068;--red-deep:#a84e3b;--serif:'Source Serif 4',Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;font-family:var(--serif);background:var(--bg);color:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100vh;background:var(--bg)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);border-radius:2px;box-shadow:none;background:transparent;min-height:44px;touch-action:manipulation}button:disabled{cursor:default;opacity:.44}button:hover:not(:disabled){border-color:var(--paper)}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:4px}a{color:inherit;text-decoration:none}p{line-height:1.55}h1,h2,h3,p{margin:0}strong{font-weight:500}[hidden]{display:none!important}.world{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(90deg,#0b1112d9 0%,#0b1112f5 28%,#0b1112fa 69%,#0b1112ca 100%),var(--landscape-x);background-position:center;background-size:cover;opacity:.9}.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.masthead,.layout,footer{position:relative;z-index:1}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:var(--paper);color:var(--bg);padding:12px}.skip:focus{top:10px}.masthead{max-width:1440px;margin:auto;padding:21px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d0d1ba16;gap:20px}.brand{font-size:25px;letter-spacing:.12em}.brand span{font:10px var(--mono);color:var(--faint);letter-spacing:.06em}.header-note{font-style:italic;color:var(--muted);font-size:13px}.quiet{border:1px solid transparent;border-radius:0;box-shadow:none;font-size:13px;min-height:44px;padding:8px 0;text-align:left;color:var(--muted)}.quiet:hover:not(:disabled){border-color:transparent;color:var(--paper)}.masthead .quiet{font-size:13px}.layout{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:210px minmax(380px,660px) 168px;justify-content:center;column-gap:36px;padding:42px 36px 44px;align-items:start}.intro{padding-top:4px}.title-lockup{position:relative}.calligraphy{font-family:'Kaiti SC',STKaiti,KaiTi,'Noto Serif CJK SC',serif;font-size:104px;line-height:1.03;letter-spacing:-.04em;writing-mode:vertical-rl;height:228px;color:#ded6c3;opacity:.95}.seal{position:absolute;left:115px;top:100px;color:#b9533e;border:1px solid currentColor;outline:1px solid currentColor;outline-offset:3px;padding:3px 2px;font-family:serif;font-size:19px;line-height:1}.eyebrow{font:9px/1.6 var(--mono);letter-spacing:.15em;color:var(--muted)}.intro .eyebrow{margin:20px 0 6px;color:#98a39c;font-size:8px}h1{font-size:37px;letter-spacing:.035em;font-weight:400;line-height:1.1}.subtitle{font-style:italic;color:var(--muted);font-size:14px;margin-top:7px}.poem{margin:26px 0 24px;font-style:italic;color:#bfc2b6;font-size:15px;line-height:1.65}.primary,.secondary{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;min-height:46px;font-size:14px;border:1px solid #dfd6c2;border-radius:2px;box-shadow:none}.primary{background:var(--paper);color:#171d1b}.primary:hover:not(:disabled){background:#f4ead6;border-color:#f4ead6}.secondary{background:#10171866;border-color:#4b5650;margin-top:9px}.player-name__label,.second-name,label{display:block;font:10px/1.5 var(--mono);letter-spacing:.01em;color:var(--muted)}input{width:100%;display:block;background:#101718bd;border:1px solid #526059;border-radius:2px;box-shadow:none;padding:9px 11px;min-height:42px;color:var(--paper);font:13px var(--sans);margin:5px 0 12px}.player-name__hint{display:none}.second-name{margin-bottom:18px}.art-link{font:11px/1.5 var(--serif);display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 0;margin:18px 0 13px;border:0;border-top:1px solid #5362535e;border-radius:0;width:100%;color:#b9bfae;box-shadow:none}.art-link:hover:not(:disabled){color:var(--paper);border-top-color:var(--paper)}.realm-key{display:grid;gap:9px}.realm-key>span{display:flex;align-items:center;gap:10px;font:22px/1 var(--serif)}.realm-key span span{font:10px var(--mono);letter-spacing:0}.key-x{color:#d2dace}.key-o{color:var(--red)}.intro-foot{margin-top:35px;font-size:12px;color:#7e8e81;font-style:italic}.players{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:70px}.player{display:flex;align-items:center;gap:10px;min-width:0;max-width:32%;opacity:.75;transition:opacity .2s}.player.active{opacity:1}.player strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;font-size:15px}.player small{font:8px var(--mono);letter-spacing:.045em;color:var(--muted);display:block;margin-top:5px}.player-mark{font:39px/1 var(--serif)}.player-x .player-mark{color:#e1e3d3}.player-o .player-mark{color:var(--red)}.player-o{text-align:right}.turn-meta{text-align:center;min-width:112px;flex-shrink:0}.turn-meta>span:first-child{font-size:17px;display:block;height:22px;color:var(--red)}.turn-meta h2{font-weight:400;font-size:18px;line-height:1.35}.turn-meta #move-number{font:8px/1 var(--mono);letter-spacing:.08em;color:#93a197;display:block;margin-top:5px}.instruction{text-align:center;color:#aeb6a7;font-size:12px;min-height:35px;line-height:1.4;padding:8px 4px 12px}.macro-board{aspect-ratio:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;border:1px solid #65726245;background:#090f10b5;position:relative}.small-board{aspect-ratio:1;position:relative;border:1px solid #65706375;min-width:0;overflow:visible;background:#0d1516}.board-landscape{position:absolute;inset:0;background-size:300% 300%;opacity:.065;transition:opacity .45s ease;pointer-events:none;filter:saturate(.7)}.small-board[data-claim="X"] .board-landscape,.small-board[data-claim="O"] .board-landscape{opacity:1;filter:none}.small-board[data-claim="draw"] .board-landscape{opacity:.35;filter:grayscale(1)}.small-board.legal{border-color:#909a806e}.small-board.required,.small-board.selected-board{border-color:#d9d4b4;outline:1px solid #d9d4b499;outline-offset:3px}.small-board.required:before,.small-board.selected-board:before{content:'';position:absolute;z-index:4;width:5px;height:5px;background:#ddd8be;left:5px;top:5px;border-radius:50%;pointer-events:none}.small-board.destination:after{content:'';position:absolute;inset:-5px;border:1px dashed var(--red);pointer-events:none;z-index:6}.small-board.winning{outline:2px solid var(--red);outline-offset:3px}.small-board.claimed .small-cells{opacity:0;pointer-events:none}.small-cells,.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));height:100%;position:relative;z-index:1}.cell{border:0;border-right:1px solid #9ba08736;border-bottom:1px solid #9ba08736;border-radius:0;box-shadow:none;min-height:0;aspect-ratio:1;padding:18%;position:relative;display:flex;align-items:center;justify-content:center;color:var(--paper);width:100%;opacity:1!important;background:transparent}.cell:nth-child(3n){border-right:0}.cell:nth-child(n+7){border-bottom:0}.cell:hover:not(:disabled),.cell.preview{background:#d6d9b915}.cell:focus-visible{outline:2px solid var(--red);outline-offset:-3px;z-index:5}.cell svg{width:100%;height:100%;overflow:visible;display:block;pointer-events:none}.cell svg path,.cell svg circle{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.cell[data-mark="O"]{color:var(--red)}.cell[data-mark="X"]{color:#e6e5d6}.cell.ghost svg{opacity:.38}.cell.last:after{content:'';position:absolute;bottom:9%;left:45%;width:10%;height:2px;background:currentColor;opacity:.8}.cell:not([data-mark])::before{content:'';height:3px;width:3px;border-radius:50%;background:#b9b99e;opacity:.13}.cell:not(:disabled):not([data-mark])::before{opacity:.36}.cell.placed svg{animation:ink-settle .2s ease-out}.board-pick{display:none;position:absolute;inset:0;z-index:5;background:transparent;border:0;border-radius:0;min-height:0;width:100%;padding:0}.small-board.claimed .board-pick{display:block}.ownership{display:none;position:absolute;left:7px;bottom:7px;z-index:4;min-width:27px;min-height:27px;align-items:center;justify-content:center;background:#101919e8;color:#efead9;border:1px solid #e6e2c185;font:20px/1 var(--serif);padding:2px 5px;pointer-events:none}.small-board.claimed .ownership{display:flex}.small-board[data-claim="O"] .ownership{background:#59251bea;color:#ffe0c8;border-color:#f6a386}.small-board[data-claim="draw"] .ownership{font:9px var(--mono);padding:5px;min-height:24px;color:#d0d0c2}.board-caption{display:flex;justify-content:space-between;gap:10px;font:9px/1.6 var(--mono);color:#899a8d;padding:13px 1px}.board-caption span:last-child{white-space:nowrap;color:#b7bcab}.margin-notes{padding-top:123px}.next-note .eyebrow{font-size:8px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:79px;height:79px;margin:13px 0 15px}.destination-grid i{border:1px solid #74816b66;background:#19212177}.destination-grid i.chosen{background:#b76c54;border-color:#ebad88}.destination-grid i.free{border-color:#c19a7c;background:#87584366}.next-note p{font-size:12px;color:#adb6a8;line-height:1.55;min-height:76px}.margin-verse{position:relative;margin:22px 0 34px}.small-rule{display:block;width:31px;height:1px;background:#969c85;margin-bottom:14px}.margin-verse p{font-size:16px;font-style:italic;color:#c5c9b9;line-height:1.55}.vertical-note{font-family:'Kaiti SC',STKaiti,KaiTi,serif;writing-mode:vertical-rl;white-space:nowrap;height:160px;font-size:24px;letter-spacing:.18em;color:#a1aa936e;position:absolute;right:4px;top:0}.connection-panel{border-top:1px solid #65706350;padding-top:17px}.connection-panel>strong{display:block;font:12px var(--mono);letter-spacing:.1em;margin:10px 0}.connection-panel .secondary{font-size:12px;padding:9px;min-height:42px}.connection-panel p{margin:12px 0;font:10px/1.6 var(--mono);color:#a3b399;overflow-wrap:anywhere}.margin-help{margin-top:30px;font:10px/1.8 var(--serif);color:#82927f}.focus-pane{display:none}.error{border-left:2px solid var(--red);padding:10px 12px;background:#a7492d18;color:#f3b69b;font:12px/1.5 var(--sans);margin:15px 0;overflow-wrap:anywhere}.save-note{font:10px var(--sans);color:var(--muted);padding:9px 0}.results-host{margin-top:5px}.results-reopen{font-size:12px;padding:9px 12px}.results-dialog,.ninefold dialog{color:var(--paper);background:#101919;border:1px solid #65715b;padding:32px;max-height:calc(100dvh - 30px);width:min(460px,calc(100vw - 28px));border-radius:3px;box-shadow:0 22px 95px #0009;overflow:auto}.ninefold dialog::backdrop{background:#040909d9;backdrop-filter:blur(5px)}.ninefold dialog h2{font-size:28px;font-weight:400;line-height:1.2;margin:9px 25px 15px 0}.ninefold dialog>p{font-size:13px;color:#acb7a7;margin-bottom:18px}.ninefold dialog p.eyebrow{font-size:9px}.dialog-close{position:absolute;top:9px;right:10px;width:42px;min-height:42px;border:0;font-size:26px;color:#a9b39e;box-shadow:none}.or{font-style:italic;color:#849780;text-align:center;margin:22px 0;font-size:12px}.optional{font-family:var(--serif);font-style:italic;font-size:11px}.rule-step{display:flex;align-items:start;gap:14px;margin:22px 0}.rule-step>b{font:11px var(--mono);color:var(--red);padding-top:4px}.rule-step p{font-size:14px;color:#aeb9a8}.rule-step strong{display:block;color:var(--paper);margin-bottom:3px}.help-foot{font:11px/1.7 var(--sans)!important;color:#9eae96!important;border-top:1px solid var(--line);padding-top:18px}.confirm-actions{display:flex;gap:10px}.confirm-actions .secondary{margin:0}.results-inspect{font-size:12px;padding:8px 11px;margin-bottom:14px}.results-summary{font-size:14px;color:var(--muted)}.results-table-wrap{margin:20px 0}.results-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.results-table-wrap td,.results-table-wrap th{text-align:left;border-bottom:1px solid var(--line);padding:9px 5px}.results-table-wrap th{font:10px var(--mono);color:var(--muted)}.results-actions{display:flex;gap:10px}.results-actions button{padding:11px 16px;font-size:13px}.results-actions .primary{margin:0}.ninefold .art-dialog{width:min(760px,calc(100vw - 28px))}.art-switch{display:flex;gap:6px;margin:18px 0}.art-switch button{flex:1;padding:10px 7px;font-size:12px}.art-switch button[aria-pressed="true"]{background:var(--paper);color:var(--bg);border-color:var(--paper)}.art-board{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;aspect-ratio:1;border:1px solid #79816d55;padding:7px;margin:18px 0;background:#091111}.art-tile{position:relative;background-size:300% 300%;aspect-ratio:1}.art-tile span{position:absolute;left:7px;bottom:7px;background:#122020df;padding:2px 7px;min-width:25px;text-align:center;color:#eee7d9;font-size:22px;border:1px solid #dad6c480}.art-tile[data-realm="O"] span{background:#632a1eea;border-color:#eda686;color:#ffe1c4}.ninefold dialog .art-disclaimer{font:10px/1.6 var(--sans);color:#869b85;margin-bottom:0}.focus-grid{aspect-ratio:1;height:auto;border:1px solid #899374;max-width:360px;background:#0c1517;margin:14px auto}.focus-grid .cell{padding:23%;min-height:0}.focus-grid .cell.small-win{background:#e5dcb51c}footer{border-top:1px solid #71866c2c;max-width:1360px;padding:20px 36px 25px;display:flex;justify-content:space-between;gap:20px;margin:0 auto;font:9px var(--mono);color:#78917b;letter-spacing:.03em}footer a{color:#a0b39a}#match-menu .quiet{display:block;width:100%}#match-menu .primary{margin:15px 0 5px}#cancel-connect{width:100%;text-align:center}
@keyframes ink-settle{from{opacity:.2;transform:scale(.87)}to{opacity:1;transform:scale(1)}}

#join-form .new-seat-option{display:flex;align-items:center;gap:9px;font:11px/1.4 var(--sans);color:var(--paper);margin:1px 0 5px}
#join-form .new-seat-option input{width:17px;height:17px;min-height:0;flex:none;display:inline-block;margin:0;accent-color:var(--red)}
#join-form .rejoin-hint{font:10px/1.5 var(--sans);color:var(--muted);margin:0 0 12px}

/* Brush marks live in the painted world, from the play grid to the player seals. */
.ink-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ink-glyph{display:block;width:1em;height:1em;overflow:visible;flex:none}
.ink-glyph .ink-under{fill:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.ink-glyph .ink-stroke{fill:none;stroke:currentColor;stroke-width:5.8;stroke-linecap:round;stroke-linejoin:round}
.ink-glyph .ink-echo{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;opacity:.38}
.cell[data-mark]::before{content:"";position:absolute;inset:17%;width:auto;height:auto;border-radius:50%;pointer-events:none;mix-blend-mode:screen}
.cell[data-mark="X"]::before{background:radial-gradient(circle,#dce9dd2b,transparent 70%)}
.cell[data-mark="O"]::before{background:radial-gradient(circle,#bf62473d,transparent 70%)}
.cell[data-mark="X"] .ink-glyph{filter:drop-shadow(0 1px 1px #071011aa);transform:rotate(-3deg)}
.cell[data-mark="O"] .ink-glyph{filter:drop-shadow(0 1px 1px #071011aa);transform:rotate(4deg)}
.cell.ghost .ink-glyph{opacity:.38}
.cell.placed .ink-stroke{stroke-dasharray:100;animation:ink-draw .45s ease-out both}
.cell.placed .ink-stroke:nth-child(4){animation-delay:.13s}
.player-mark,.key-glyph,.mark-pair i{display:inline-grid;place-items:center;font-style:normal}
.player-mark .ink-glyph,.key-glyph .ink-glyph,.mark-pair .ink-glyph,#turn-symbol .ink-glyph{width:1em;height:1em}
.key-glyph{font-size:22px}
.mark-pair{display:inline-flex;align-items:center;gap:3px;font-size:19px}
.mark-pair i:first-child{color:#b9cfc7}.mark-pair i:last-child{color:#b65c46}
#turn-symbol .ink-glyph{margin:auto}
#turn-symbol[data-mark="X"]{color:#d5e8dc}
#turn-symbol[data-mark="O"]{color:var(--red)}
@keyframes ink-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}

/* A captured field opens its landscape with a brief seal impression. */
.small-board[data-claim="X"]{border-color:#cbded7;box-shadow:0 0 0 1px #b9d6d03d,0 0 18px #a4c9cf1e}
.small-board[data-claim="O"]{border-color:#e6a388;box-shadow:0 0 0 1px #e6a3884d,0 0 18px #d9765c24}
.small-board.claimed .small-cells{opacity:1;pointer-events:none}
.small-board.claimed .cell{border-color:transparent}
.small-board.claimed .cell .ink-glyph{opacity:.38;filter:drop-shadow(0 1px 2px #101819b8)}
.small-board.claimed .cell.small-win .ink-glyph{opacity:.68}
.small-board[data-claim="X"].claimed .cell .ink-under{stroke:#163940;opacity:.7}
.small-board[data-claim="O"].claimed .cell .ink-glyph{opacity:.62;filter:drop-shadow(0 0 1px #ffe5c5) drop-shadow(0 1px 1px #301513)}
.small-board[data-claim="O"].claimed .cell.small-win .ink-glyph{opacity:.82}
.small-board[data-claim="O"].claimed .cell .ink-under{stroke:#fff0d6;opacity:.72}
.small-board[data-claim="X"] .ownership,.small-board[data-claim="O"] .ownership{left:9px;bottom:9px;width:1.25em;height:1.25em;min-width:0;min-height:0;padding:0;font-size:30px;border-width:2px;box-shadow:0 2px 12px #07101199}
.small-board[data-claim="X"] .ownership{border-radius:50%;background:radial-gradient(circle at 35% 30%,#edf3e8e0,#a5bcc1d9);border-color:#e1eee1;color:#233b3d}
.small-board[data-claim="O"] .ownership{background:linear-gradient(135deg,#a94a32f0,#713023e8);border-color:#ffd2a8;color:#ffead6;transform:rotate(-4deg)}
.board-landscape{overflow:hidden}
.small-board.claim-reveal .board-landscape{animation:landscape-unveil .8s ease-out both}
.claim-impact{position:absolute;inset:0;z-index:1;display:grid;place-items:center;font-size:clamp(34px,8vw,88px);opacity:0;pointer-events:none}
.small-board[data-claim="X"] .claim-impact{color:#f2f6e4}
.small-board[data-claim="O"] .claim-impact{color:#ffe0bd}
.small-board.claim-reveal .claim-impact{animation:claim-emblem .8s ease-out both}
.small-board.claim-reveal .board-landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#f6f2d588 48%,transparent 70%);animation:claim-sweep .75s ease-out both}
.small-board[data-claim="O"].claim-reveal .board-landscape::after{background:linear-gradient(110deg,transparent 28%,#ffd0a266 48%,transparent 70%)}
.small-board.claim-reveal .ownership{animation:seal-impression .65s cubic-bezier(.2,1.5,.4,1) both}
@keyframes landscape-unveil{0%{opacity:.08;filter:saturate(.35) brightness(1.5)}35%{opacity:1;filter:saturate(1.35) brightness(1.2)}100%{opacity:1;filter:none}}
@keyframes claim-sweep{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes claim-emblem{0%{opacity:0;transform:scale(1.8)}30%{opacity:1;transform:scale(1)}60%{opacity:.9}100%{opacity:0;transform:scale(.8)}}
@keyframes seal-impression{0%{opacity:0;transform:scale(2) rotate(-9deg)}60%{opacity:1;transform:scale(.92) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.art-tile span{width:1.35em;height:1.35em;min-width:0;padding:0;display:grid;place-items:center}
.art-tile[data-realm="X"] span{border-radius:50%;background:#dce7d5dc;border-color:#f4f6e8;color:#244145}
.art-tile[data-realm="O"] span{background:#95402de8;color:#ffe7ca;transform:rotate(-4deg)}
@media(min-width:1550px){.layout{padding-top:60px;column-gap:48px}.masthead{padding-block:27px}}
@media(max-width:1160px){.layout{grid-template-columns:185px minmax(370px,620px);gap:27px;padding:30px 28px}.margin-notes{grid-column:2;padding:0;display:flex;align-items:flex-start;gap:25px}.next-note{display:none}.margin-verse,.margin-help{display:none}.connection-panel{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:0;padding:0}.connection-panel>strong{margin:0}.connection-panel .secondary{width:auto;margin:0}.connection-panel p{flex-basis:100%;margin:0}.intro{grid-row:1/3}.calligraphy{font-size:90px;height:200px}.seal{left:98px;top:88px}.intro .poem{font-size:14px;margin:20px 0}.intro-foot{margin-top:22px}.player strong{font-size:13px;max-width:112px}.turn-meta h2{font-size:16px}}
@media(max-width:700px){.masthead{padding:10px 18px;min-height:61px}.brand{font-size:21px}.header-note{display:none}.masthead .quiet{font-size:12px}.layout{display:flex;flex-direction:column;gap:16px;padding:19px 16px 27px;max-width:510px}.intro{width:100%;display:flex;flex-direction:column}.title-lockup{display:flex;gap:15px;align-items:center}.calligraphy{font-size:39px;height:auto;writing-mode:horizontal-tb;white-space:nowrap}.seal{display:none}.title-lockup>div:last-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.title-lockup .eyebrow{display:none}h1{font-size:28px}.subtitle{font-size:12px;margin:0}.poem{display:none}.intro-foot,.realm-key{display:none}.art-link{position:relative;margin:5px 0 0;padding:6px 0;min-height:37px;border:0;width:max-content;gap:12px;font-size:10px;align-self:flex-end;color:#8f9e8c}#setup{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin-top:16px}#setup .second-name{margin:0}#setup .primary,#setup .secondary{margin:4px 0 0;min-height:45px;font-size:13px;padding:10px 12px}#resume{grid-column:1/-1;text-align:center}#match-menu{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:5px}#match-menu .eyebrow{margin:0;font-size:8px;margin-right:auto}#match-menu .quiet{width:auto;font-size:11px;min-height:36px}#match-menu .primary{margin:0;min-height:36px;width:auto;padding:8px 12px;font-size:11px}.play-area{width:100%}.players{min-height:56px;gap:4px}.player{gap:6px;max-width:32%}.player-mark{font-size:30px}.player strong{font-size:12px;max-width:100px}.player small{font-size:7px;letter-spacing:0;margin-top:3px}.turn-meta{min-width:104px}.turn-meta h2{font-size:15px}.turn-meta #move-number{font-size:7px}.turn-meta>span:first-child{height:20px;font-size:15px}.instruction{font-size:11px;min-height:34px;padding:6px 0 10px}.macro-board{max-width:360px;margin:auto;padding:7px;gap:7px}.small-board .cell{pointer-events:none}.board-pick{display:block}.small-board.required,.small-board.selected-board{outline-offset:2px}.small-board.destination:after{inset:-4px}.board-caption{font-size:8px;max-width:360px;margin:auto;padding:10px 0}.ownership{min-width:23px;min-height:23px;font-size:17px;padding:1px 5px;left:4px;bottom:4px}.small-board[data-claim="draw"] .ownership{font-size:7px;min-height:18px}.focus-pane{display:block;max-width:360px;margin:6px auto 0;padding-top:12px;border-top:1px solid #61705d66}.focus-top{display:flex;align-items:center;justify-content:space-between;min-height:28px}.focus-top h3{font-size:16px;font-weight:400}.focus-top .quiet{min-height:28px;padding:2px 0;font-size:10px}.focus-grid{margin:10px 0 10px;max-width:none;background:#101a1ba6;width:100%}.focus-grid .cell{padding:23%}.focus-pane p{font-size:11px;color:#a1b095;min-height:32px}.focus-pane .primary{margin-top:7px;background:#b65c46;color:#ffeedb;border-color:#d58b70;font-size:13px;min-height:45px;justify-content:center}.margin-notes{width:100%;font-size:11px}.connection-panel{max-width:360px;margin:auto}.connection-panel .eyebrow{font-size:7px}.connection-panel>strong{font-size:10px}.connection-panel .secondary{font-size:11px;min-height:40px}.connection-panel p{font-size:9px}.error{font-size:11px}.ninefold dialog{padding:26px 20px}.ninefold dialog h2{font-size:25px}.ninefold .art-dialog{padding:25px 15px}.art-switch{gap:5px}.art-switch button{font-size:10px;padding:8px 5px;min-height:44px}.art-board{gap:5px;padding:5px}.art-tile span{font-size:17px;min-width:22px;bottom:4px;left:4px}.art-disclaimer{font-size:9px!important}footer{padding:18px 17px;gap:8px;font-size:8px}footer span:last-child{display:none}.world{background-image:linear-gradient(#0b1112ef,#0b1112ec),var(--landscape-x)}}
@media(max-width:350px){.layout{padding-inline:12px}.player strong{max-width:72px;font-size:11px}.player-mark{font-size:27px}.turn-meta h2{font-size:14px}.title-lockup{gap:10px}.calligraphy{font-size:33px}h1{font-size:24px}.subtitle{font-size:11px}.title-lockup>div:last-child{gap:5px}.instruction{font-size:10px}.macro-board{gap:6px;padding:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-motion:reduce){.small-board.claim-reveal .claim-impact,.small-board.claim-reveal .board-landscape::after{display:none}}

/* The overview remains a nine-target navigator, not 81 miniature touch buttons. */
footer .quiet{font:9px var(--mono);min-height:30px;padding:0;color:#a0b39a}
@media(max-width:700px){
 .in-match .masthead{min-height:50px;padding-block:4px}
 .in-match .layout{padding-top:12px;gap:8px}
 .in-match .calligraphy{font-size:31px}.in-match h1{font-size:25px}
 .in-match .intro .art-link{display:none}
 .in-match #match-menu{margin-top:0;min-height:32px}
 .in-match .macro-board{width:clamp(148px,21dvh,184px);padding:4px;gap:4px}
 .in-match .macro-board .ownership{font-size:11px;min-width:17px;min-height:17px;left:2px;bottom:2px;padding:0 3px}
 .in-match .macro-board .small-board[data-claim="draw"] .ownership{font-size:6px;min-height:15px}
 .in-match .board-caption{max-width:320px;padding:8px 0 5px}
 .in-match .focus-pane{margin-top:2px;padding-top:5px;max-width:320px}
 .in-match .focus-top{min-height:24px}
 .in-match .focus-top h3{font-size:14px}
 .in-match .focus-grid{width:clamp(198px,31dvh,270px);max-width:100%;margin:7px auto}
 .in-match .focus-pane p{min-height:27px;font-size:10px;line-height:1.4;text-align:center}
 .in-match .focus-pane .primary{min-height:44px;margin-top:4px}
 .ninefold:not(.in-match) .focus-pane{display:none}
 footer .quiet{font-size:8px}
}

@media(min-width:1161px){.margin-verse{min-height:175px}.margin-verse>p{padding-right:40px}}

/* Claimed fields carry a brush impression in the sky, without a badge over
   the painted terrain or the smaller marks left by the players. */
.small-board[data-claim="X"] .ownership,.small-board[data-claim="O"] .ownership{
 left:auto;right:4%;top:4%;bottom:auto;width:1.15em;height:1.15em;
 font-size:clamp(17px,2vw,22px);padding:0;border:0;border-radius:0;
 background:none;box-shadow:none;opacity:.7;mix-blend-mode:screen;
 filter:drop-shadow(0 1px 2px #101c1b);
}
.small-board[data-claim="X"] .ownership{color:#e8eee0;transform:rotate(-6deg)}
.small-board[data-claim="O"] .ownership{color:#ffd3ad;transform:rotate(7deg)}
.small-board.claim-reveal .ownership{animation:brush-impression .7s ease-out both}
@keyframes brush-impression{from{opacity:0;filter:blur(4px)}to{opacity:.7;filter:drop-shadow(0 1px 2px #101c1b)}}
.art-tile span,.art-tile[data-realm="X"] span,.art-tile[data-realm="O"] span{
 left:auto;right:4%;top:4%;bottom:auto;min-width:0;width:1.2em;height:1.2em;
 padding:0;background:none;border:0;border-radius:0;box-shadow:none;
 color:#f4ecdc;opacity:.72;mix-blend-mode:screen;
 filter:drop-shadow(0 1px 2px #101c1b);
}
.art-tile[data-realm="O"] span{color:#ffdfbc;transform:rotate(7deg)}
@media(max-width:700px){
 .in-match .macro-board .small-board.claimed .ownership{right:3%;top:3%;bottom:auto;left:auto;font-size:clamp(12px,3dvh,18px);width:1.15em;height:1.15em;padding:0}
}
