:root{color-scheme:dark;--bg:#171e22;--panel:#20282d;--line:#344045;--muted:#a2adae;--text:#ecf0e9;--lime:#d5e4a4;--blue:#579ae2;--yellow:#eec557;--red:#e67871;--green:#7bbb9e;font-family:Inter,'Hiragino Kaku Gothic ProN','Noto Sans JP',Meiryo,system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,svg:focus-visible{outline:2px solid var(--lime);outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button{transition:background .16s,border-color .16s,color .16s,transform .16s}button:not(:disabled):active{transform:translateY(1px)}.site-header{height:86px;max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:850;letter-spacing:2px;line-height:1.15}.brand-sub{display:block;font-size:8px;font-weight:600;color:var(--muted);letter-spacing:2.7px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:19px}.quiet-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:var(--muted);padding:8px 3px}.quiet-btn:hover:not(:disabled){color:var(--text)}.nav-question{border:1px solid #8f9c9b;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:11px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;font-size:23px;color:var(--muted)}.icon-btn:hover{background:#ffffff09;color:var(--text)}.icon-btn svg{width:19px;height:19px}.outline-btn{padding:10px 16px;border:1px solid #596449;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:19px;font-size:12px;color:#d6e3ba;min-height:40px}.outline-btn:hover:not(:disabled){background:#d5e4a40c;border-color:var(--lime)}.page{max-width:1200px;margin:auto;padding:36px 32px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.7px;color:var(--muted);margin:0 0 11px}.intro h1{font-size:32px;font-weight:600;letter-spacing:2px;line-height:1.25;margin:0}.intro h1 span{color:var(--lime)}.intro-caption{font-size:11px;color:var(--muted);margin:12px 0 0;letter-spacing:.3px}.match-tags{display:flex;gap:8px;align-items:center}.mode-tag,.small-tag{font-size:10px;border:1px solid var(--line);padding:8px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:7px;color:#bcc8c5}.mode-tag:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--lime)}.small-tag{color:var(--muted)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 337px;gap:28px;align-items:start}.board-top{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;min-height:35px}.turn-status{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:550}.color-dot{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--blue);flex-shrink:0}.round-label{color:#798888;font-size:9px;letter-spacing:1.5px}.round-label b{font-size:13px;font-weight:500;color:#cbd5cb;margin-left:4px;font-variant-numeric:tabular-nums}.board-shell{display:grid;grid-template-columns:16px minmax(0,1fr);grid-template-rows:17px minmax(0,1fr);gap:3px;background:#283135;border:1px solid #46534f;border-radius:12px;padding:12px 15px 15px 10px;box-shadow:0 12px 36px #00000018,inset 0 1px #ffffff08}.axis{font-size:8px;color:#9ba8a2;font-variant-numeric:tabular-nums;display:grid;align-items:center;text-align:center}.axis-x{grid-template-columns:repeat(20,1fr)}.axis-y{grid-template-rows:repeat(20,1fr)}#board{width:100%;aspect-ratio:1;display:block;overflow:hidden;border-radius:3px;cursor:crosshair;touch-action:pan-y}#piece-layer,#corner-layer,#frontier-layer,#preview-layer,#cursor-layer{pointer-events:none}.board-bottom{display:flex;justify-content:space-between;padding:12px 3px;font-size:9px;color:#85938f;letter-spacing:.7px}.mini-grid{font-size:13px;vertical-align:-1px;margin-right:3px}.players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:5px}.player-card{border:1px solid var(--line);border-radius:8px;background:#ffffff02;padding:12px 10px;min-width:0;position:relative}.player-card.current{background:color-mix(in srgb,var(--pc) 7%,transparent);border-color:color-mix(in srgb,var(--pc) 65%,var(--line))}.player-name{display:flex;gap:7px;align-items:center;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden}.player-name span:last-child{text-overflow:ellipsis;overflow:hidden}.player-detail{font-size:8px;color:var(--muted);margin:6px 0 0 16px}.player-stats{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 0}.player-stats strong{font-size:20px;letter-spacing:-.5px;font-weight:550;font-variant-numeric:tabular-nums}.player-stats small{font-size:8px;color:var(--muted)}.player-track{height:3px;background:#ffffff08;border-radius:2px;margin-top:8px;overflow:hidden}.player-track i{display:block;height:100%;background:var(--pc)}.piece-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:21px 21px 17px;margin-top:35px}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-top .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:7px}.panel-top h2{font-size:16px;font-weight:550;letter-spacing:.5px;margin:0}.pieces-count{font-size:26px;font-weight:450;letter-spacing:-1px}.pieces-count span{font-size:10px;color:var(--muted);letter-spacing:0;margin-left:5px}.size-filters{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:12px}.size-filters button{padding:6px 10px;font-size:10px;min-width:29px;border-radius:5px;color:var(--muted)}.size-filters button:first-child{margin-right:auto}.size-filters button.active{background:#39433f;color:var(--lime)}.rack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-height:260px;align-content:start}.piece-btn{height:52px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;position:relative;color:var(--active-color,var(--blue));background:#141d212d;padding:6px}.piece-btn svg{width:100%;height:37px;max-width:49px;overflow:visible}.piece-btn:hover:not(:disabled){background:#ffffff06;border-color:#526062}.piece-btn.selected{background:color-mix(in srgb,var(--active-color,var(--blue)) 8%,transparent);border-color:var(--active-color,var(--blue));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--active-color,var(--blue)) 20%,transparent)}.piece-btn.used{opacity:.12;cursor:default}.piece-btn.used svg{filter:grayscale(1)}.piece-btn .piece-tag{position:absolute;right:4px;bottom:3px;font-size:6px;color:var(--muted)}.rack-empty{grid-column:1/-1;font-size:12px;color:var(--muted);padding:40px 0;text-align:center}.selection{border-top:1px solid var(--line);display:flex;gap:11px;align-items:center;padding-top:15px;margin-top:12px}.selection-icon{width:39px;height:39px;display:grid;place-items:center;color:var(--active-color);background:#151e23;border-radius:6px;padding:5px}.selection-icon svg{width:100%;height:100%}.selection-kicker{display:block;font-size:8px;color:var(--muted);margin-bottom:4px}.selection strong{font-size:11px;font-weight:500}.selection>.icon-btn{margin-left:auto;font-size:19px}.transform-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.transform-controls button{background:#2c363b;border:1px solid #3e494c;border-radius:6px;font-size:9px;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px}.transform-controls button>span{font-size:18px;line-height:1}.transform-controls button:hover:not(:disabled){border-color:#718274;background:#35403f}.placement-help{font-size:10px;color:var(--muted);line-height:1.8;min-height:37px;margin:13px 0 10px}.placement-help.valid{color:#b3d9bd}.placement-help.invalid{color:#e9a49d}.primary-btn{background:var(--lime);color:#283326;border-radius:7px;padding:13px 18px;width:100%;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:22px;min-height:44px}.primary-btn:hover:not(:disabled){background:#e3efbd}.primary-btn:disabled{opacity:1;background:#344038;color:#8f9f8d}.primary-btn span{font-size:17px;font-weight:400}.secondary-actions{display:flex;justify-content:space-between;margin-top:7px}.secondary-actions .quiet-btn{font-size:10px}.secondary-actions span{font-size:17px;margin-right:2px}.corner-note{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:12px}.corner-note-icon{position:relative;width:28px;height:28px;flex-shrink:0}.corner-note-icon i{width:12px;height:12px;background:#7b9070;border-radius:2px;display:block;position:absolute;top:1px;left:1px}.corner-note-icon i+ i{top:14px;left:14px;background:#afc492}.corner-note p{font-size:9px;color:#9caaa1;line-height:1.9;margin:0}.corner-note strong{color:#d3ddc6;font-weight:500}.site-footer{display:flex;justify-content:space-between;padding:25px 0 22px;margin-top:17px;border-top:1px solid #2c373b;color:#748581;font-size:9px;letter-spacing:.5px}.thinking{display:inline-flex;gap:3px}.thinking i{width:3px;height:3px;background:var(--muted);border-radius:50%;animation:thinking 1s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes thinking{50%{opacity:.25;transform:translateY(-2px)}}.online-banner{display:flex;align-items:center;justify-content:space-between;background:#23322b;border:1px solid #435244;padding:8px 13px;border-radius:7px;margin-bottom:15px;font-size:11px;gap:7px}.online-banner>span{display:flex;gap:8px;align-items:center}.online-banner>div{display:flex;gap:13px}.online-banner strong{letter-spacing:1px;font-size:11px}.online-banner #connection-status{font-size:9px;color:var(--muted);margin-left:5px}.connection-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}
dialog{color:var(--text);background:#202a2d;border:1px solid #53604f;border-radius:17px;width:calc(100% - 30px);max-width:560px;padding:33px;box-shadow:0 25px 100px #0009;max-height:calc(100dvh - 36px);overflow-y:auto}dialog::backdrop{background:#091014b8;backdrop-filter:blur(6px)}dialog h2{font-size:25px;font-weight:600;letter-spacing:.5px;margin:0 0 10px}dialog .eyebrow{color:#b3c395;margin-bottom:13px}.dialog-caption{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 22px}.dialog-close{position:absolute;right:15px;top:12px}.mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:23px 0}.mode-options>button{border:1px solid #414e4e;border-radius:9px;padding:17px 7px;display:flex;flex-direction:column;align-items:center;gap:8px}.mode-options strong{font-size:11px;font-weight:550}.mode-options small{font-size:9px;color:var(--muted)}.mode-icon{font-size:26px;color:#c9d4c4;line-height:1.2}.mode-options>button.active{border-color:#b9ce8e;background:#d5e4a408}.mode-options>button.active .mode-icon{color:var(--lime)}.setup-options>label,.setup-options>div>label{font-size:11px;color:#d2d8ca;display:block;margin:18px 0 10px}.choice-row{display:flex;gap:8px}.choice-row button{flex:1;border:1px solid #465451;border-radius:6px;font-size:11px;padding:10px 6px;color:#a8b8aa;min-height:38px}.choice-row button.active{background:#364331;color:var(--lime);border-color:#90a471}.color-options button{display:flex;gap:6px;align-items:center;justify-content:center;font-size:10px}.color-options button.active{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,transparent);color:var(--text)}.option-note{font-size:10px;color:var(--muted);line-height:1.9;margin:15px 0}.setup-dialog>.primary-btn{margin-top:24px}.setup-options input{width:100%;height:44px;background:#172225;border:1px solid #506055;border-radius:6px;color:var(--text);padding:10px 12px;font-size:13px}.setup-options input::placeholder{color:#788b80}.code-input{letter-spacing:4px;font-size:20px!important;text-transform:uppercase}.form-error{font-size:11px;color:#efaca0;line-height:1.7}.restart-note{font-size:9px;line-height:1.8;color:var(--muted);margin:18px 0 0}.setup-options #online-action{margin:17px 0 0}.wide{width:100%}.room-code-box{padding:18px;background:#152225;border:1px solid #3c5045;border-radius:9px;text-align:center;margin:18px 0 12px;display:flex;align-items:center;flex-direction:column;gap:9px}.room-code-box>span{font-size:10px;color:var(--muted)}.room-code-box>strong{font-size:30px;font-weight:500;letter-spacing:5px;color:var(--lime);font-family:ui-monospace,monospace}.lobby-players{display:grid;gap:8px;margin:22px 0 14px}.lobby-player{display:flex;align-items:center;gap:10px;background:#ffffff03;padding:12px;border-radius:6px;font-size:12px}.lobby-player .seat-colors{display:flex;gap:4px}.lobby-player small{margin-left:auto;color:var(--muted);font-size:9px}.lobby-player.empty{color:var(--muted);border:1px dashed #47564f;background:none}.rules-list{list-style:none;padding:0;margin:27px 0;display:grid;gap:24px}.rules-list li{display:flex;gap:14px}.rule-number{font-size:12px;color:var(--lime);font-family:ui-monospace,monospace;margin-top:2px}.rules-list strong{font-size:13px;font-weight:550}.rules-list p{font-size:11px;color:var(--muted);line-height:1.95;margin:8px 0 0}.rule-diagrams{display:flex;gap:29px;margin-top:15px}.rule-diagrams>div{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted)}.rule-diagrams b{color:var(--green);margin-left:4px;font-size:15px}.rule-diagrams>div+div b{color:var(--red)}.diagram{width:42px;height:42px;position:relative;display:block}.diagram i{display:block;position:absolute;width:19px;height:19px;border-radius:2px;background:var(--blue);top:1px;left:1px}.diagram.allowed i+i{top:21px;left:21px}.diagram.forbidden i+i{top:1px;left:21px}.keyboard-note{padding:15px;background:#152225;border-radius:7px;margin-bottom:24px}.keyboard-note strong{font-size:11px;font-weight:500}.keyboard-note p{font-size:10px;line-height:1.9;color:var(--muted);margin:7px 0 0}kbd{background:#334138;padding:1px 4px;border-radius:3px;color:#d7dfc6;font-size:9px}.result-dialog{text-align:center}.result-mark{font-size:52px;color:var(--lime);margin-bottom:15px}.result-rows{display:grid;gap:8px;margin:23px 0}.result-row{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 12px;border:1px solid var(--line);border-radius:7px}.result-row.winner{border-color:#809765;background:#b6cc850a}.result-row .rank{font-size:13px;color:var(--muted);font-family:ui-monospace,monospace}.result-row .result-name{font-size:12px;flex:1}.result-row .score{font-size:22px;font-weight:500}.result-row .score small{font-size:9px;color:var(--muted)}.result-row .result-colors{display:flex;gap:4px}.result-dialog>.quiet-btn{margin-top:9px}.confirm-dialog{max-width:410px}.confirm-dialog h2{font-size:21px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#344330;color:#e6edda;box-shadow:0 8px 40px #0005;border:1px solid #6c8157;border-radius:9px;padding:13px 22px;max-width:calc(100vw - 32px);width:max-content;font-size:12px;z-index:50;line-height:1.6}
@media(min-width:1320px){.page{padding-top:43px}.intro{margin-bottom:35px}.game-layout{gap:34px;grid-template-columns:minmax(0,1fr) 350px}.piece-panel{padding:22px 23px}.rack{gap:6px;min-height:273px}.piece-btn{height:54px}}
@media(max-width:1000px){.site-header{padding:0 24px;height:77px}.page{padding:27px 24px 0}.game-layout{grid-template-columns:minmax(0,1fr) 296px;gap:20px}.piece-panel{padding:17px 16px}.rack{gap:2px;min-height:247px}.piece-btn{height:49px}.intro h1{font-size:28px}.intro-caption{font-size:10px}.players{gap:5px}.player-card{padding:9px 7px}.player-name{font-size:8px;gap:5px}.player-detail{margin-left:13px}.player-stats strong{font-size:18px}.size-filters button{padding:6px 8px}}
@media(max-width:760px){.site-header{height:69px;padding:0 18px}.brand{font-size:19px;gap:7px;letter-spacing:1.5px}.brand img{width:30px;height:30px}.brand-sub{font-size:6px;letter-spacing:2px}.site-header nav{gap:8px}.site-header .quiet-btn{font-size:0;gap:0}.site-header .nav-question{font-size:11px}.site-header .outline-btn{font-size:10px;padding:7px 10px;gap:7px;min-height:34px}.site-header .icon-btn{width:29px}.page{padding:25px 18px 0}.intro{gap:15px;align-items:flex-start;margin-bottom:25px}.intro .eyebrow{font-size:7px;letter-spacing:1.1px;margin-bottom:9px}.intro h1{font-size:25px;letter-spacing:1px}.intro-caption{font-size:9px;letter-spacing:0;margin-top:10px;line-height:1.6}.match-tags{flex-direction:column;align-items:flex-end;gap:5px;padding-top:14px}.mode-tag,.small-tag{font-size:8px;padding:6px 8px}.mode-tag{white-space:nowrap}.game-layout{grid-template-columns:1fr;gap:19px}.board-top{padding-bottom:12px}.turn-status{font-size:11px}.board-shell{padding:8px 10px 11px 5px;grid-template-columns:14px minmax(0,1fr);grid-template-rows:14px minmax(0,1fr);border-radius:9px;gap:2px}.axis{font-size:6px}.board-bottom{padding:10px 2px;font-size:8px}.players{gap:6px}.player-card{padding:10px 8px}.player-name{font-size:9px}.player-stats strong{font-size:20px}.player-stats small{font-size:7px}.piece-panel{margin-top:0;padding:20px}.panel-top{margin-bottom:15px}.rack{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-height:160px}.piece-btn{height:49px}.size-filters{padding-bottom:10px}.size-filters button{padding:6px 12px}.selection{margin-top:8px;padding-top:12px}.transform-controls button{font-size:11px;min-height:40px}.transform-controls{gap:9px}.placement-help{font-size:11px;min-height:20px}.secondary-actions .quiet-btn{font-size:11px;padding-top:10px}.corner-note{margin-top:10px;padding-top:12px}.corner-note p{font-size:10px}.site-footer{margin-top:19px;padding:21px 0;gap:10px;flex-wrap:wrap;font-size:8px}.online-banner{font-size:10px;flex-wrap:wrap;padding:7px 10px}.online-banner #connection-status{margin-left:0}.online-banner>div{gap:10px}.online-banner .quiet-btn{font-size:9px}.online-banner strong{font-size:10px}.round-label{font-size:8px}}
@media(max-width:390px){.page{padding-left:12px;padding-right:12px}.site-header{padding:0 12px}.intro h1{font-size:22px}.intro-caption{font-size:8px}.piece-panel{padding:17px}.player-card{padding:9px 5px}.player-name{font-size:8px}.player-detail{font-size:7px}.player-stats strong{font-size:19px}.rack{gap:2px}.piece-btn{height:45px}.size-filters button{padding:6px 10px}}
@media(max-width:540px){dialog{padding:29px 21px;border-radius:13px}dialog h2{font-size:23px}.dialog-caption{font-size:11px}.mode-options{gap:6px;margin:21px 0}.mode-options>button{padding:14px 4px;gap:8px}.mode-options strong{font-size:9px}.mode-options small{font-size:8px}.mode-icon{font-size:23px}.choice-row{gap:6px}.choice-row button{font-size:10px}.color-options button{font-size:9px;gap:4px}.room-code-box>strong{font-size:26px;letter-spacing:4px}.rules-list li{gap:11px}.rules-list p{font-size:10px}.rule-diagrams{gap:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}dialog::backdrop{backdrop-filter:none}}

/* The board gets the available screen space; tools keep generous hit areas. */
.site-header,.page{max-width:1320px}
.site-header{height:56px;padding:0 24px}
.brand{font-size:20px}.brand img{width:31px;height:31px}.brand-sub{font-size:7px}
.page{padding:12px 24px 0}
.intro{margin-bottom:8px;gap:12px;align-items:center}
.intro .eyebrow,.intro-caption{display:none}.intro h1{font-size:21px;letter-spacing:1px}
.match-tags{padding:0;flex-direction:row}.mode-tag,.small-tag{padding:6px 10px;font-size:9px}
.game-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px}
.board-top{min-height:48px;padding:0 0 8px;gap:8px;flex-wrap:wrap}
.round-label{display:none}.turn-status{min-width:0;font-size:11px}
.board-view-tools{display:flex;align-items:center;gap:8px;margin-left:auto;min-height:40px}
.zoom-controls,.board-drag-modes{display:flex;border:1px solid #46564e;border-radius:7px;overflow:hidden;background:#222d2d}
.zoom-controls button,.board-drag-modes button{min-height:38px;font-size:10px;padding:0 10px}
.zoom-controls button:not(:last-child),.board-drag-modes button:not(:last-child){border-right:1px solid #46564e}
.zoom-controls #zoom-in,.zoom-controls #zoom-out{width:39px;font-size:21px;padding:0}
.zoom-controls #zoom-reset{min-width:48px;color:var(--lime);font-variant-numeric:tabular-nums}
.board-drag-modes button{min-width:77px;padding:0 8px;color:var(--muted)}
.board-drag-modes button.active{background:#41513b;color:#e0edbe}
.board-view-tools button:hover:not(:disabled){background:#344238}
.board-shell{max-width:var(--board-fit,calc(100dvh - 155px));margin:0 auto;padding:8px 9px 9px 6px;grid-template-columns:13px minmax(0,1fr);grid-template-rows:14px minmax(0,1fr);gap:2px}
.axis-window{position:relative;overflow:hidden;min-width:0;min-height:0}.axis-window .axis{position:absolute;left:0;top:0}.axis-window-x{height:14px}.axis-window-y{width:13px}
.axis-x{height:100%}.axis-y{width:100%}
.board-viewport{position:relative;width:100%;aspect-ratio:1;align-self:start;min-width:0;min-height:0;overflow:auto;scrollbar-width:none;border-radius:3px;overscroll-behavior:contain;touch-action:none;background:#eceee8}
.board-viewport::-webkit-scrollbar{display:none}
#board{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;aspect-ratio:1;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
#board.dragging{cursor:grabbing}.board-viewport.pan-mode #board{cursor:move}
.board-bottom{padding:9px 3px}.players{margin-top:2px}.player-card{padding:10px}
.side-workspace{margin-top:48px}
.side-workspace .piece-panel{margin:0;padding:16px}
.panel-top{margin-bottom:12px}.panel-top .eyebrow{margin-bottom:5px}.panel-top h2{font-size:14px}
.size-filters{margin-bottom:10px;padding-bottom:9px}.size-filters button{min-height:32px}
.rack{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-height:160px}
.piece-btn{height:50px;padding:5px}.piece-btn svg{height:38px}
.control-guide,.corner-note{display:none}
.placement-dock{margin-top:12px;padding:12px;border:1px solid #52644f;border-radius:12px;background:#222d2d;box-shadow:0 6px 24px #00000012}
.placement-feedback{display:flex;align-items:center;gap:5px;min-height:30px;margin-bottom:8px}
.placement-feedback .placement-help{min-height:0;margin:0;flex:1;font-size:10px;line-height:1.5}
.placement-feedback .icon-btn{width:28px;height:28px;flex-shrink:0;font-size:18px}
.dock-workspace{display:grid;grid-template-columns:minmax(0,1fr) 136px;gap:10px;align-items:stretch}
.selected-piece-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #47594d;border-radius:7px;padding:5px;color:var(--text);background:#1b2628}
.selected-piece-trigger:hover:not(:disabled){border-color:var(--active-color)}
.selection-icon{width:28px;height:26px;padding:1px}.selection-name{font-size:9px;line-height:12px;font-weight:500;color:var(--muted);margin-top:3px}
.change-piece-label{font-size:8px;color:var(--lime)}
.dock-tools{display:flex;flex-direction:column;gap:0}
.transform-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0}
.move-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;margin:0;min-height:140px}
.move-pad [data-move="up"]{grid-area:1/2}.move-pad [data-move="left"]{grid-area:2/1}.move-pad #choose-piece{grid-area:2/2}.move-pad [data-move="right"]{grid-area:2/3}.move-pad [data-move="down"]{grid-area:3/2}
.transform-controls button{min-height:44px;font-size:9px;flex-direction:column;gap:3px;padding:4px 1px}
.transform-controls button>span{font-size:20px}
.move-pad button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:2px;background:#2c3837;border:1px solid #47584c;border-radius:6px;font-size:21px;line-height:1;touch-action:none;user-select:none;-webkit-user-select:none}
.move-pad button small{font-size:7px;color:#bbcab9}.move-pad #choose-piece{background:#192727;border-color:#718961;gap:1px}.move-pad #choose-piece .change-piece-label{font-size:7px}
.move-pad button:hover:not(:disabled),.move-pad button.held{border-color:#a3ba85;background:#41513b}
.placement-actions{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:8px;margin-top:10px;align-items:center}
.placement-details{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.position-readout{font-size:10px;letter-spacing:.2px;color:var(--muted);font-variant-numeric:tabular-nums}.position-readout.invalid{color:#e9a49d}
.placement-actions .quiet-btn{font-size:9px;min-height:24px;padding:1px 0;gap:4px}
.placement-actions .primary-btn{min-height:46px;padding:10px 8px;font-size:12px;gap:12px}
.piece-dialog{max-width:530px}.piece-dialog h2>span{color:var(--muted);font-size:13px;margin-left:8px;font-weight:400}
.picker-rack{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:0}
.picker-rack .piece-btn{height:66px;background:#192325;border:1px solid #3f4e46}
.picker-rack .piece-btn svg{height:49px;max-width:62px}.picker-rack .piece-btn.selected{border-color:var(--active-color)}
.picker-rack .piece-btn .piece-tag{font-size:8px;right:6px;bottom:5px}
@media(min-width:761px) and (max-width:1100px){
 .site-header,.page{padding-left:16px;padding-right:16px}.game-layout{grid-template-columns:minmax(0,1fr) 320px;gap:16px}
 .board-top .turn-status{font-size:10px}.board-drag-modes button{min-width:67px;font-size:9px;padding:0 5px}
 .side-workspace .piece-panel{padding:12px}.piece-btn{height:44px}.piece-btn svg{height:33px}.rack{min-height:142px}
 .dock-workspace{grid-template-columns:minmax(0,1fr) 132px;gap:8px}.placement-actions{grid-template-columns:minmax(0,1fr) 125px}
 .transform-controls button{font-size:8px}.placement-feedback .placement-help{font-size:9px}
}
@media(max-width:760px){
 .site-header{height:52px;padding:0 10px}.brand{font-size:18px}.brand img{width:28px;height:28px}.site-header nav{gap:6px}
 .page{padding:8px 6px calc(215px + env(safe-area-inset-bottom))}.intro{margin-bottom:6px;gap:6px}.intro h1{font-size:18px}
 .match-tags{gap:4px}.mode-tag{font-size:8px;padding:5px 7px}.small-tag{display:none!important}
 .game-layout{display:block}.side-workspace{margin:0}.piece-panel{display:none}
 .board-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:0 3px 6px;min-height:0}
 .turn-status{font-size:10px;min-height:24px;gap:6px}.round-label{display:block;font-size:8px}
 .board-view-tools{grid-column:1/-1;width:100%;justify-content:space-between;margin:0;gap:6px;min-height:40px}
 .zoom-controls button,.board-drag-modes button{min-height:38px}.board-drag-modes button{font-size:9px;min-width:73px}
 .board-shell{max-width:var(--board-fit,100%);padding:4px 4px 4px 2px;grid-template-columns:10px minmax(0,1fr);grid-template-rows:10px minmax(0,1fr);gap:1px;border-radius:7px}
 .axis-window-x{height:10px}.axis-window-y{width:10px}.axis{font-size:6px}
 .board-bottom{font-size:8px;padding:8px 3px}.board-bottom #save-label{font-size:7px;letter-spacing:0}.board-bottom #undo-btn{font-size:9px}
 .players{gap:5px;margin-top:2px}.player-card{padding:6px}.player-detail{display:none}.player-stats{margin-top:3px}.player-stats strong{font-size:16px}.player-stats small{font-size:6px}.player-track{margin-top:3px;height:2px}
 .placement-dock{position:fixed;left:6px;right:6px;bottom:max(6px,env(safe-area-inset-bottom));z-index:12;margin:0;padding:8px 9px;border-color:#697c57;border-radius:11px;background:#24312ff5;box-shadow:0 -6px 35px #060f1470;backdrop-filter:blur(12px)}
 .placement-feedback{min-height:28px;margin-bottom:6px}.placement-feedback .placement-help{font-size:9px;line-height:1.5;max-height:28px;overflow:hidden}.placement-feedback .icon-btn{width:25px;height:25px}
 .dock-workspace{grid-template-columns:minmax(0,1fr) 134px;gap:8px}.dock-tools{gap:0}
 .transform-controls{gap:5px}.move-pad{gap:4px;min-height:134px}.transform-controls button,.move-pad button{min-height:42px}.transform-controls button{font-size:9px;gap:2px}.transform-controls button>span{font-size:19px}
 .selection-icon{width:28px;height:26px}.selected-piece-trigger{gap:1px}.selection-name{font-size:8px;line-height:11px}
 .placement-actions{grid-template-columns:minmax(0,1fr) 143px;gap:8px;margin-top:6px}.placement-actions .primary-btn{min-height:44px;font-size:11px}
 .position-readout{font-size:9px}.placement-actions .quiet-btn{font-size:9px;min-height:24px}
 body:has(dialog[open]) .placement-dock{visibility:hidden}
 .piece-dialog{margin:auto auto 0;max-width:560px;width:100%;max-height:83dvh;border-radius:17px 17px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .piece-dialog .dialog-caption{font-size:10px;margin-bottom:15px}.picker-rack{gap:7px}.picker-rack .piece-btn{height:62px}.picker-rack .piece-btn svg{height:44px;max-width:53px}
 .toast{bottom:calc(207px + env(safe-area-inset-bottom));font-size:11px}.online-banner{margin-bottom:6px}
 .site-footer{margin-top:14px}
}
@media(max-width:370px){
 .dock-workspace{grid-template-columns:minmax(0,1fr) 134px;gap:8px}.placement-dock{padding-left:8px;padding-right:8px}
 .transform-controls button{font-size:8px}.board-drag-modes button{min-width:69px;padding:0 6px}
}
@media(min-width:761px) and (max-height:700px){
 .side-workspace .panel-top .eyebrow{display:none}.rack{min-height:136px}.piece-btn{height:42px}.piece-btn svg{height:31px}
 .side-workspace .piece-panel{padding:10px}.panel-top{margin-bottom:6px}.size-filters{padding-bottom:6px;margin-bottom:6px}
}
@media(min-width:761px) and (max-height:550px){
 .intro,.piece-panel{display:none}.side-workspace{margin-top:48px}.placement-dock{margin-top:0}
 .site-header{height:44px}.page{padding-top:4px}
}
@media(min-width:761px) and (max-height:640px){
 .piece-panel{display:none}.placement-dock{margin-top:0}
}
@media(max-width:760px) and (min-width:500px) and (max-height:500px){
 .site-header{height:44px}.intro{display:none}.page{padding:4px 6px 20px}
 .game-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:10px}
 .board-top{display:flex;min-height:46px;gap:4px;padding:0 0 6px}.turn-status{font-size:8px;min-height:18px}
 .round-label{display:none}.board-view-tools{width:auto;min-height:38px;margin-left:auto}
 .board-drag-modes button{min-width:61px;font-size:8px;padding:0 4px}
 .side-workspace{margin-top:46px}.placement-dock{position:static;margin:0;padding:8px}
 .dock-workspace{grid-template-columns:minmax(0,1fr) 128px;gap:8px}.transform-controls,.move-pad{gap:4px}
 .transform-controls button{font-size:8px}.selected-piece-trigger strong{font-size:8px}.change-piece-label{font-size:7px}
 .placement-actions{grid-template-columns:minmax(0,1fr) 116px;gap:5px}.placement-actions .quiet-btn{font-size:8px}
 .placement-actions .primary-btn{font-size:10px}.board-bottom #save-label{display:none}.players,.site-footer{display:none}
 .toast{bottom:12px}
}

/* A short landing response, followed by a score tally with a final reveal. */
#effects-layer{pointer-events:none}
.piece-cell.landing{transform-box:fill-box;transform-origin:center;animation:piece-land .42s cubic-bezier(.2,.8,.3,1) both}
@keyframes piece-land{0%{transform:translateY(-9px) scale(.7);opacity:.2}50%{transform:translateY(2px) scale(1.08);opacity:1}75%{transform:translateY(-1px) scale(.97)}100%{transform:none}}
.place-ring{transform-box:fill-box;transform-origin:center;animation:place-ring .5s ease-out forwards}
@keyframes place-ring{from{transform:scale(.4);opacity:.85}to{transform:scale(1.8);opacity:0}}
.place-pop{animation:place-pop .52s ease-out forwards}
@keyframes place-pop{0%{opacity:0;transform:translateY(6px)}22%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(-19px)}}
.result-dialog{max-width:590px;padding-top:25px}
.result-mark{font-size:36px;line-height:1;margin-bottom:12px}.result-dialog h2{font-size:23px;line-height:1.5}
.result-dialog .dialog-caption{margin-bottom:17px;line-height:1.7}
.result-counting{padding:14px;background:#172427;border:1px solid #475749;border-radius:11px;text-align:left}
.tally-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:13px}
.tally-step{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;padding:7px 2px;border-radius:6px;border:1px solid #3a4946;font-size:9px;color:var(--muted);transition:border-color .2s,background .2s}
.tally-step b{font-size:8px;font-weight:500;width:100%;text-align:center;min-height:10px}
.tally-step.active{border-color:var(--tally-color);background:color-mix(in srgb,var(--tally-color) 10%,transparent);color:var(--text)}
.tally-step.counted{border-color:#607b55}.tally-step .color-dot{width:7px;height:7px}
.tally-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px}
.tally-heading strong{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:550}
.tally-heading>span{font-size:9px;color:var(--muted);text-align:right}
.tally-pieces{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-height:42px;align-items:center}
.tally-piece{padding:4px;height:40px;display:grid;place-items:center;border-radius:5px;background:#233133;color:var(--tally-color)}
.tally-piece svg{width:100%;height:32px;max-width:42px}.tally-piece svg rect{opacity:.18}
.tally-piece svg rect.counted{opacity:1;animation:tally-square .22s ease-out}
.tally-piece svg path{opacity:.08}
@keyframes tally-square{from{filter:brightness(1.8)}to{filter:brightness(1)}}
.tally-number{display:flex;align-items:baseline;justify-content:space-between;margin-top:12px}
.tally-number>span{display:flex;align-items:baseline;gap:6px}.tally-number strong{font-size:34px;font-weight:550;font-variant-numeric:tabular-nums}
.tally-number small{font-size:10px;color:var(--muted)}.tally-number>b{font-size:23px;font-weight:550;font-variant-numeric:tabular-nums;color:var(--lime)}
.tally-equation{font-size:10px;color:#b5c1ac;line-height:1.6;margin:6px 0 0;min-height:16px}
.tally-bonus{background:#435633;border:1px solid #9ab66d;border-radius:7px;padding:9px;font-size:12px;color:#e8f3cb;text-align:center;margin-top:9px}
.bonus-pop{animation:bonus-pop .4s ease-out}
@keyframes bonus-pop{0%{transform:scale(.8);opacity:0}65%{transform:scale(1.03);opacity:1}100%{transform:scale(1)}}
.all-pieces-clear{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 0;color:var(--lime);font-size:12px;letter-spacing:1px}.all-pieces-clear span{font-size:26px}
.result-count-actions{display:flex;justify-content:center;min-height:28px;margin-top:9px}.result-count-actions .quiet-btn{font-size:10px}
.result-dialog.counting .result-rows{margin:12px 0 0;gap:6px}.result-dialog.counting .result-row{padding:8px 10px}.result-dialog.counting .result-row .score{font-size:19px}
.result-dialog.counting #rematch-btn,.result-dialog.counting #result-new{display:none}
.result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0 12px}
.color-total{display:flex;align-items:center;flex-direction:column;gap:7px;padding:11px 5px;border:1px solid color-mix(in srgb,var(--tally-color) 50%,#34453b);background:color-mix(in srgb,var(--tally-color) 6%,#172427);border-radius:7px}
.color-total>span{display:flex;align-items:center;gap:5px;font-size:9px}.color-total>strong{font-size:22px;font-weight:550;font-variant-numeric:tabular-nums}.color-total>strong small{font-size:8px;font-weight:400;margin-left:3px}.color-total>small{font-size:8px;color:var(--muted);line-height:1.5;text-align:center}
.result-team-detail{display:block;margin-top:5px;font-size:8px;font-weight:400;color:var(--muted);line-height:1.5}
.result-row.winner{animation:bonus-pop .45s ease-out}
.result-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.result-confetti i{position:absolute;width:7px;height:13px;border-radius:2px;top:-25px;animation:result-confetti 1.8s ease-out both}
@keyframes result-confetti{0%{transform:translateY(-20px) rotate(0deg);opacity:0}15%{opacity:1}100%{transform:translate(var(--drift),600px) rotate(var(--spin));opacity:0}}
@media(max-width:540px){
 .result-dialog{padding:23px 17px}.result-dialog h2{font-size:19px}.result-mark{font-size:30px;margin-bottom:10px}.result-dialog .eyebrow{font-size:8px;margin-bottom:9px}
 .result-counting{padding:11px}.tally-steps{gap:4px;margin-bottom:10px}.tally-step{font-size:8px;padding:6px 1px}
 .tally-heading strong{font-size:9px}.tally-heading>span{font-size:8px}.tally-pieces{gap:4px}.tally-piece{height:34px;padding:3px}.tally-piece svg{height:27px}
 .tally-number strong{font-size:30px}.tally-number>b{font-size:22px}.tally-equation{font-size:9px}
 .result-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.color-total{padding:9px 4px;gap:5px}
 .result-dialog .result-rows{gap:6px;margin:14px 0}.result-dialog .result-row{padding:10px 8px;gap:8px}.result-dialog .result-row .result-name{font-size:11px}.result-dialog .result-row .score{font-size:21px}
 .result-dialog .option-note{font-size:9px;margin:11px 0}
}
button{touch-action:manipulation}

.legal-count{font-size:9px;color:#c4deb4;border:1px dashed #718b62;border-radius:6px;padding:9px 8px;white-space:nowrap}
.legal-spot{pointer-events:all;cursor:pointer}.legal-dot{stroke:#fffdf0;stroke-width:1.1;opacity:.9}
.legal-spot:hover .legal-dot{stroke-width:1.6;opacity:1}
@media(max-width:760px){.legal-count{font-size:8px;padding:8px 7px}.pieces-count span{font-size:8px}}
@media(max-width:760px) and (min-width:500px) and (max-height:500px){.legal-count{font-size:7px;padding:6px 4px}}

/* KADOMOZA: quiet midnight colors, warm star targets, and room for the board. */
:root{--bg:#171f2c;--panel:#202a39;--line:#3a485b;--lime:#f5d58c;--text:#f1efe8;--muted:#b0b8c4}
.brand{letter-spacing:1px}.brand-sub{letter-spacing:1.2px}.board-shell{background:#273549;border-color:#506176}.piece-panel{background:#202a39}.placement-dock{background:#263545;border-color:#61748a}.move-pad #choose-piece{background:#1b293b;border-color:#c4ac78}
.board-star{pointer-events:none}.board-star path{fill:#f7df9f;stroke:#a38a49;stroke-width:1}.board-star text{font-size:6px;fill:#765e30;font-weight:700}.board-star.captured path{fill:#ffffff;stroke:#ffffff;stroke-width:0;opacity:.85}.board-star.captured text{display:none}
.player-stars{margin-left:auto;font-size:9px;color:#f5d58c;white-space:nowrap}.tally-stars{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:8px 0}.tally-stars span{font-size:22px;color:#f5d58c;opacity:.18}.tally-stars span.counted{opacity:1;animation:bonus-pop .35s ease}
.offline-notice{padding:8px 12px;margin:4px 0 10px;border:1px solid #786a47;background:#3b352a;border-radius:7px;font-size:11px;color:#f5d58c}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.footer-links a:hover{text-decoration:underline}.footer-links .quiet-btn{font-size:10px}.install-logo{margin-bottom:20px}.install-instructions{display:grid;gap:12px;margin:22px 0}.install-instructions p{margin:0;padding:14px;border:1px solid var(--line);border-radius:9px;font-size:12px;line-height:1.8}.install-instructions strong{color:var(--lime)}
.result-products{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;text-align:left}.recommend-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recommend-heading .eyebrow{font-size:8px;margin-bottom:7px}.recommend-heading h3{font-size:17px;margin:0}.pr-label{font-size:10px;color:var(--lime);border:1px solid #80704d;padding:4px 7px;border-radius:4px}.recommend-caption{font-size:10px;color:var(--muted);line-height:1.7}.product-cards{display:grid;gap:10px;margin-top:15px}.product-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#1b2635}.product-art{height:64px;background:#2d3b4e;color:var(--lime);display:grid;place-items:center;font-size:35px;border-radius:8px}.product-category{font-size:9px;color:var(--lime)}.product-card h4{font-size:13px;line-height:1.5;margin:5px 0}.product-card p{font-size:10px;line-height:1.7;margin:5px 0 12px;color:var(--muted)}.product-card .outline-btn{font-size:10px;min-height:38px;padding:8px 12px;display:inline-flex}
.document-body .site-header{max-width:1100px}.document-page,.studio-page{max-width:880px;margin:0 auto;padding:55px 24px 70px}.document-page h1,.studio-page h1{font-size:30px;margin:0;line-height:1.5;letter-spacing:.5px}.document-lead{font-size:12px;color:var(--muted);line-height:1.8}.document-page section{margin-top:35px;padding-top:25px;border-top:1px solid var(--line);scroll-margin-top:25px}.document-page h2,.studio-section h2{font-size:20px;font-weight:600;margin:0 0 16px}.document-page p,.document-page dd{font-size:12px;line-height:1.95;color:var(--muted)}.operator-details div{display:grid;grid-template-columns:120px minmax(0,1fr);padding:7px 0}.operator-details dt,.privacy-details dt{font-size:12px;font-weight:600}.operator-details dd{margin:0;overflow-wrap:anywhere}.operator-details a{color:var(--lime);text-decoration:underline}.privacy-details div{margin:20px 0}.privacy-details dd{margin:7px 0}.privacy-controls{padding:20px;margin-top:25px;border:1px solid var(--line);border-radius:12px;background:#202a39}.privacy-controls label{display:flex;align-items:center;gap:8px;font-size:13px}.privacy-controls input{width:18px;height:18px;accent-color:var(--lime)}.updated-note{margin-top:28px;font-size:10px!important}.document-back{display:inline-flex;margin-top:30px;min-height:44px}
.studio-page{max-width:1040px}.studio-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.studio-intro h1{font-size:28px}.readiness-badge{border:1px solid #7d6d49;color:var(--lime);padding:8px 12px;font-size:11px;white-space:nowrap;border-radius:20px;margin-top:7px}.studio-section{margin-top:32px;padding:26px;border:1px solid var(--line);border-radius:14px;background:#1e2938}.studio-section .option-note{font-size:11px;line-height:1.8;margin:10px 0}.readiness-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.readiness-item{display:flex;align-items:center;gap:9px;font-size:11px;border:1px solid #3c4858;border-radius:8px;padding:13px;background:#192432}.readiness-item>span{color:#929aaa;font-size:15px}.readiness-item.ready>span{color:#84c8b3}.readiness-item strong{font-weight:500;flex:1}.readiness-item small{font-size:8px;color:var(--muted);white-space:nowrap}.studio-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.studio-section-heading h2{margin-bottom:0}.metric-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.metric-card{padding:18px 12px;border:1px solid var(--line);border-radius:9px;background:#192432}.metric-card>span{display:block;font-size:9px;color:var(--muted);margin-bottom:14px}.metric-card strong{font-size:30px;font-weight:500;font-variant-numeric:tabular-nums}.metric-card small{font-size:10px;color:var(--muted);margin-left:6px}.metrics-chart{display:flex;gap:8px;height:135px;padding-top:5px;margin:18px 0}.chart-column{flex:1;display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0}.chart-column strong{font-size:9px;font-weight:500}.chart-track{height:85px;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.chart-track i{width:100%;background:#8eabed;border-radius:3px 3px 0 0;min-height:2px}.chart-column>span{font-size:9px;color:var(--muted)}.server-metrics{margin-top:20px;font-size:11px}.server-metrics summary{cursor:pointer;color:var(--lime)}.server-metrics p{font-size:11px;line-height:1.8;color:var(--muted)}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input{flex:1;min-width:0}.studio-page input,.studio-page textarea{border:1px solid #4f6075;background:#152131;border-radius:7px;color:var(--text);padding:11px;width:100%;font:inherit;font-size:12px;min-height:42px}.studio-page textarea{resize:vertical;min-height:76px}.forecast-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.studio-page label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted)}.forecast-result{text-align:center;padding:25px 12px;margin-top:20px;background:#152131;border:1px solid #6e644a;border-radius:10px}.forecast-result>span{font-size:10px;color:var(--muted)}.forecast-result strong{display:block;font-size:48px;color:var(--lime);font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}.forecast-result small{font-size:16px;margin-left:8px}.forecast-result p{font-size:10px;line-height:1.8;color:var(--muted)}.catalog-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.catalog-basics label:last-child{grid-column:1/-1}.catalog-editor{border:1px solid var(--line);border-radius:10px;margin:23px 0 14px;padding:18px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}.catalog-editor legend{font-size:11px;color:var(--lime);padding:0 7px}.catalog-editor .remove-product{position:absolute;right:12px;top:-24px;font-size:9px;background:#1e2938;padding:5px 8px}.catalog-editor label:nth-of-type(2),.catalog-editor label:nth-of-type(4),.catalog-editor label:last-child{grid-column:1/-1}.catalog-editor .product-reviewed,.approval-fields label{flex-direction:row;align-items:center;font-size:11px}.studio-page input[type="checkbox"]{width:17px;min-height:17px;height:17px;accent-color:var(--lime);flex-shrink:0;padding:0}.approval-fields{display:grid;gap:12px;margin:22px 0}.catalog-actions{display:flex;gap:12px;align-items:center}.catalog-actions .primary-btn{min-height:44px;padding:12px 16px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.brand{font-size:18px}.brand-sub{font-size:6px;letter-spacing:.8px}.intro h1{font-size:17px}.player-stars{font-size:8px}.document-page,.studio-page{padding:30px 17px 50px}.document-page h1,.studio-intro h1{font-size:24px}.studio-intro{flex-direction:column;gap:8px}.readiness-badge{margin:0}.studio-section{padding:20px 15px;margin-top:22px}.readiness-list{grid-template-columns:1fr}.studio-section-heading{align-items:flex-start}.studio-section-heading h2{font-size:17px}.studio-section-heading .outline-btn{font-size:9px;min-height:38px;padding:7px 9px;white-space:nowrap}.metric-cards{grid-template-columns:repeat(2,1fr);gap:8px}.forecast-inputs{grid-template-columns:repeat(2,1fr)}.catalog-basics,.catalog-editor{grid-template-columns:1fr}.catalog-editor label{grid-column:1!important}.catalog-actions{flex-wrap:wrap;gap:8px}.catalog-actions .outline-btn{font-size:11px}.operator-details div{grid-template-columns:80px minmax(0,1fr)}.footer-links{gap:12px}.footer-links a{font-size:9px}.result-products{margin-top:18px}.recommend-heading h3{font-size:15px}.product-card{grid-template-columns:48px minmax(0,1fr);padding:11px;gap:10px}.product-art{height:48px;font-size:26px}.product-card h4{font-size:12px}.document-body .site-header{height:58px}}

.star-capture path{transform-origin:center;animation:star-capture .7s ease-out}@keyframes star-capture{0%{transform:scale(.6);opacity:.4}45%{transform:scale(1.8);fill:#f5d58c;opacity:1}100%{transform:scale(1);opacity:.85}}

.piece-btn.unplaceable{opacity:.65;border-color:#4b5360;background:#28303b}.piece-btn.unplaceable svg{filter:grayscale(1);opacity:.65}

#board-key{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.star-key.ring-0{color:#f5d58c}.star-key.ring-1{color:#aac3ed}.star-key.ring-2{color:#c7b1e5}.board-star[data-ring="1"] path{fill:#b7cdeb;stroke:#7996b9}.board-star[data-ring="2"] path{fill:#d6c0ed;stroke:#9c80b7}.board-star.captured path{fill:#ffffff;stroke:#ffffff}
.application-profile{line-height:1.8;font-size:12px!important;min-height:290px!important}.draft-actions{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 10px}.draft-actions .outline-btn,.draft-actions .quiet-btn{min-height:44px;font-size:11px}.draft-actions input[hidden]{display:none}.launch-steps{padding-left:23px;margin:24px 0 10px}.launch-steps li{padding:0 0 15px 6px;font-size:12px;color:var(--lime)}.launch-steps strong{display:block;color:var(--text);font-weight:500}.launch-steps span{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.8}.catalog-actions{flex-wrap:wrap}

.studio-link{color:var(--lime);text-decoration:underline;text-underline-offset:3px}

.rules-guide-link{display:block;margin:8px 0 22px;color:var(--lime);text-decoration:underline;text-underline-offset:4px;font-size:12px;line-height:1.8}
.invite-entry{display:inline-flex;align-items:center;min-height:32px;padding:5px 0 0;color:var(--lime);font-size:10px}.invite-link-label{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:10px;color:var(--muted)}.invite-link-label input{min-width:0;width:100%;border:1px solid var(--line);border-radius:7px;background:#152131;padding:12px;color:var(--text);font-size:11px;min-height:44px}.lobby-dialog #share-invite{margin-top:10px;min-height:44px}.result-share-panel{border:1px solid #5d5c48;border-radius:11px;background:#202d3d;margin:22px 0;padding:20px;text-align:left}.result-share-panel[hidden]{display:none}.share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.share-heading h3{font-size:18px;font-weight:500;margin:5px 0 14px}.share-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.share-heading label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.share-heading select{max-width:180px;min-height:36px;border:1px solid var(--line);border-radius:6px;background:#142132;color:var(--text);padding:6px;font-size:11px}.result-share-panel .option-note{font-size:10px;line-height:1.8;margin:10px 0 15px}.result-card-details{font-size:11px;color:var(--muted);margin:6px 0 15px}.result-card-details summary{cursor:pointer;min-height:30px}.result-card-details canvas{width:100%;max-width:330px;height:auto;margin:10px auto;display:block;border-radius:10px}.result-card-details canvas[hidden]{display:none}.result-share-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.result-share-actions>button{min-height:42px;font-size:11px}.result-share-actions .primary-btn{padding:10px 16px}.result-share-panel #result-invite{min-height:44px;font-size:12px}.result-share-panel textarea{width:100%;padding:12px;background:#142132;color:var(--text);border:1px solid var(--line);border-radius:7px;font-size:12px;line-height:1.8;margin:8px 0 15px}.result-share-panel #result-share-fallback label{font-size:10px;color:var(--muted)}
@media(max-width:540px){.result-share-panel{padding:16px}.share-heading{flex-direction:column;gap:0}.share-heading label{flex-direction:row;align-items:center;margin-bottom:12px}.share-heading h3{font-size:17px}.result-share-actions{gap:8px}.result-share-actions .quiet-btn{padding-left:0}.invite-entry{font-size:10px}}
.affiliate-banners{margin-top:18px;display:grid;justify-items:center;gap:15px}.official-affiliate-banner{padding:16px;border:1px solid var(--line);border-radius:9px;background:#f8f9f5;max-width:100%;color:#26364a}.official-affiliate-banner>p{font-size:11px;margin:0 0 10px;text-align:left;font-weight:500}.share-conditions{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0}.share-conditions summary{cursor:pointer;min-height:28px}.share-conditions p{font-size:10px;line-height:1.9;margin:8px 0}

.board-bottom .invite-entry{font-size:9px;min-height:28px;padding:0 4px;white-space:nowrap}

.ads-setup-fields{margin-top:22px}.ads-setup-steps{padding-left:20px;color:var(--muted);font-size:12px;line-height:2}.ads-setup-steps li{margin:8px 0}#display-ads-setup>p a{color:var(--lime);text-decoration:underline}#ads-setup-meta-panel{margin-top:24px}#ads-setup-meta{width:100%;margin:8px 0 12px;overflow-wrap:anywhere}#advertising a{color:var(--lime);text-decoration:underline}
