@layer verto-base{.language-toggle{border:0;padding:7px 2px;background:transparent;color:#716e67;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1;cursor:pointer}.language-toggle:hover{color:#262522}.language-toggle:focus-visible{outline:2px solid #736044;outline-offset:4px;border-radius:4px}}@layer verto-base{:root{color:#262522;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.45}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{width:min(1100px,100%);margin:0 auto;padding:24px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.home-screen{display:flex;min-height:calc(100dvh - 112px);flex-direction:column}.eyebrow{margin:0 0 4px;color:#8b5d16;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(30px,5vw,48px);line-height:1.02}h2{margin-bottom:6px;font-size:21px}.subtitle,.muted{color:#716e67}.panel{border:1px solid #ded8cb;border-radius:16px;background:#fffc;box-shadow:0 8px 28px #3f311a0f}.lobby-panel{display:grid;grid-template-columns:1fr auto;gap:24px;padding:24px}.lobby-actions{display:flex;align-items:center;gap:10px}.join-row{display:flex;gap:8px}input{width:180px;border:1px solid #c9c1b3;border-radius:10px;padding:10px 12px;background:#fff}.button{border:0;border-radius:10px;padding:10px 14px;font-weight:750;transition:transform .12s ease,background .12s ease}@media(hover:hover)and (pointer:fine){.button:hover:not(:disabled){transform:translateY(-1px)}.cell:not(:disabled):hover{background:#fff5d6}}.button-primary{color:#fff;background:#282723}.button-secondary{color:#302f2a;background:#e6e1d7}.button-danger{color:#fff;background:#a23b31}.button-quiet{color:#67645c;background:transparent}.button-small{padding:8px 10px;font-size:13px}.feedback{grid-column:1 / -1;min-height:22px;margin:0;color:#9a3a2d}.lobby-footer{margin-top:auto;padding:28px 0 8px;text-align:center}.lobby-footer a{color:#716e67;font-size:13px;text-underline-offset:2px}.lobby-footer a:hover{color:#39362f}.connection-status{border-radius:999px;padding:7px 11px;color:#fff;background:#8b8a83;font-size:13px;font-weight:750;white-space:nowrap}.connection-status[data-kind=online]{background:#2d7c52}.connection-status[data-kind=waiting]{color:#5f4816;background:#f0d28b}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.game-main{min-width:0}.game-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.role-display{margin:0;font-weight:750}.status-message{min-height:28px;margin:14px 0 10px;color:#5b4b2e;font-weight:750}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:12px;overflow:hidden}.score-item{padding:12px 10px;background:#fff;text-align:center}.score-item span{display:block;color:#77736b;font-size:12px}.score-item strong{display:block;margin-top:2px;font-size:17px}.board-wrap{position:relative;width:min(88vw,620px);margin:0 auto 26px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:100%;aspect-ratio:1;padding:6px;border-radius:14px;background:#2b2a27;color-scheme:only light;forced-color-adjust:none}.cell{position:relative;min-width:0;border:0;border-radius:8px;background:#ece8df}.board .cell{forced-color-adjust:none}.cell.cell-opponent{cursor:default}.cell.selected{outline:3px solid #c48416;outline-offset:-3px}.piece{position:absolute;inset:12%;display:grid;place-items:center;border:3px solid #292825;border-radius:50%;font-size:clamp(18px,5vw,38px);font-weight:900}.board .piece{forced-color-adjust:none}.piece[data-color=white]{color:#292825;background-color:#faf9f5;border-color:#292825;filter:none;opacity:1}.piece[data-color=black]{color:#fff;background-color:#292825;border-color:#151412;filter:none;opacity:1}.controls-panel{padding:15px}.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.color-popover{position:absolute;z-index:2;display:flex;gap:7px;padding:6px;border:1px solid #c9c1b3;border-radius:999px;background:#fffdf8;box-shadow:0 8px 20px #3f311a33;transform:translate(-50%,8px)}.color-popover[data-placement=above]{transform:translate(-50%,calc(-100% - 8px))}.piece-choice{display:grid;width:40px;height:40px;place-items:center;border:2px solid #36342f;border-radius:50%;padding:0;font-size:23px;font-weight:850;line-height:1}.piece-choice-white{color:#272622;background:#faf9f5}.piece-choice-black{color:#fff;background:#292825}.cancel-choice{color:#67645c;background:#eeebe4;font-size:27px;font-weight:500}.draw-response{margin-top:14px;padding-top:14px;border-top:1px solid #e5dfd3;font-size:14px;font-weight:750}.draw-response .action-row{margin-top:8px}.result-panel{display:grid;gap:4px;margin:14px 0 10px;padding:16px 18px;border:1px solid #ded8cb;border-radius:14px;background:#fffdf8}.result-panel strong{font-size:18px}.result-panel span{color:#716e67;font-weight:650}.help-panel{padding:20px}.help-panel ul{padding-left:20px;color:#5f5b53}.help-panel li+li{margin-top:10px}.sync-message{margin:20px 0 0;color:#2d7c52;font-size:13px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.app-shell{padding:16px}.app-header{display:block}.connection-status{display:inline-block;margin-top:10px}.lobby-panel,.game-layout{grid-template-columns:1fr}.lobby-actions{align-items:stretch;flex-direction:column}.join-row,.join-row input,.join-row .button,.lobby-actions>.button{width:100%}.game-layout{gap:14px}.help-panel{order:2}}.game-topline-compact{padding:2px 2px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.room-line{margin:0;color:#77736b;font-size:13px;font-weight:650}.game-topline-compact .button-quiet{padding-right:2px;color:#77736b;font-weight:700}.status-message-primary{margin:8px 2px 10px;min-height:24px;color:#302f2a;font-size:16px;font-weight:800}@media(max-width:760px){.game-layout{gap:10px}.game-topline-compact{padding-top:0}.status-message-primary{margin-top:6px}}.app-header-minimal{display:flex;align-items:center;margin-bottom:14px}.verto-wordmark{margin:0;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-size:clamp(30px,8vw,42px);font-weight:700;text-align:left;cursor:pointer;line-height:1;letter-spacing:-.035em}.verto-wordmark:focus-visible{outline:2px solid #c48416;outline-offset:4px;border-radius:4px}.connection-status-minimal[data-kind=online]{display:none!important}@media(max-width:760px){.app-header-minimal{display:flex;margin-bottom:12px}}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;min-width:0;align-items:center;gap:8px;margin-left:auto}.help-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #c9c1b3;border-radius:50%;padding:0;color:#514e48;background:transparent;font-size:18px;font-weight:750;line-height:1}.help-overlay{position:fixed;inset:0;z-index:20}.help-backdrop{position:absolute;inset:0;width:100%;border:0;background:#2625223d}.help-sheet{position:absolute;top:64px;right:max(16px,calc((100vw - 1100px)/2 + 24px));width:min(340px,calc(100vw - 32px));padding:18px;border:1px solid #ded8cb;border-radius:16px;background:#fffdf8;box-shadow:0 14px 38px #3f311a29}.help-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.help-sheet-header h2{margin:0;font-size:18px}.close-help{width:30px;height:30px;display:grid;place-items:center;border:0;padding:0;color:#67645c;background:transparent;font-size:24px;line-height:1}.help-sheet ul{margin:0;padding-left:20px;color:#5f5b53;font-size:14px}.help-sheet li+li{margin-top:8px}.game-layout{grid-template-columns:minmax(0,1fr)}@media(max-width:760px){.help-sheet{top:58px;right:12px;width:calc(100vw - 24px)}}.lobby-panel-minimal{display:block;padding:10px;width:min(100%,620px);margin-inline:auto}.lobby-lane{display:grid;grid-template-columns:116px 1fr;align-items:center;gap:18px;padding:18px 14px}.lobby-lane+.lobby-lane{border-top:1px solid #e1dbcf}.lobby-lane-title{font-size:17px}.lobby-lane .lobby-actions{display:flex;flex-direction:row;gap:10px}.lobby-lane .lobby-actions>.button{width:0;flex:1 1 0;white-space:nowrap}.lobby-lane-tutorial .lobby-actions{justify-content:center}.lobby-lane-tutorial{grid-template-columns:1fr}.lobby-lane-tutorial .lobby-actions>.button{width:min(100%,calc((100% - 10px)/2));flex:0 1 calc((100% - 10px)/2)}.lobby-actions-stack{align-items:stretch;gap:10px}.join-dialog{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:18px;background:#29272342}.join-dialog[hidden]{display:none}.join-dialog-card{width:min(100%,390px);padding:18px;border:1px solid #ded8cb;border-radius:16px;background:#fffdf8;box-shadow:0 18px 50px #3f311a2e}.join-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.join-dialog-header h2{margin:0}.join-dialog .join-row input{min-width:0;flex:1;width:auto}.join-dialog .join-row{align-items:stretch;flex-direction:column}.join-dialog .join-row input,.join-dialog .join-row .button{width:100%}.share-link-row{display:flex;align-items:stretch;gap:8px}.share-link-row input{min-width:0;flex:1;width:auto}.share-dialog-message{min-height:20px;margin:10px 0 0;color:#2d7c52;font-size:13px;font-weight:700}.lobby-panel-minimal .feedback:empty{display:none}.timer-setup-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.timer-field{min-width:0}.timer-field-label{display:block;margin-bottom:7px;color:#716e67;font-size:12px;font-weight:750}.timer-stepper{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;min-height:56px;overflow:hidden;border:1px solid #c9c1b3;border-radius:14px;background:#fffdf8}.timer-stepper-button{display:grid;width:30px;height:54px;place-items:center;border:0;color:#67645c;background:transparent}.timer-stepper-button:hover{color:#302f2a;background:#eeebe4}.timer-stepper-button svg{width:15px;height:15px}.timer-input{width:100%;min-width:0;border:0;padding:0;color:#302f2a;background:transparent;font-size:26px;font-weight:850;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.timer-input:focus{outline:0}.timer-input::-webkit-outer-spin-button,.timer-input::-webkit-inner-spin-button{margin:0;appearance:none}.timer-input{appearance:textfield}.timer-setup-card:has(#noTimer:checked) .timer-stepper{opacity:.42}.timer-setup-card:has(#noTimer:checked) .timer-stepper-button,.timer-setup-card:has(#noTimer:checked) .timer-input{cursor:not-allowed}.timer-setup-actions{display:flex;justify-content:flex-end}.timer-no-time{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#5f5b53;font-size:13px;font-weight:700;cursor:pointer}.timer-no-time input{width:17px;height:17px;margin:0;accent-color:#302f2a}.online-timer-card{width:min(100%,330px);padding:22px;border-radius:22px}.online-timer-card .join-dialog-header{margin-bottom:18px}.timer-presets{display:grid;grid-template-columns:repeat(3,minmax(0,86px));justify-content:center;gap:8px}.timer-preset{display:grid;grid-template-columns:1fr;align-items:center;width:86px;aspect-ratio:1;min-height:0;border:1px solid #ded8cb;border-radius:16px;padding:8px;color:#302f2a;background:#fffdf8;box-shadow:inset 0 0 0 4px #f4f1ea;text-align:center;transition:transform .12s ease,border-color .12s ease,background .12s ease}.timer-preset:hover,.timer-preset:focus-visible{border-color:#b9ad9b;background:#f7f3eb;transform:translateY(-1px);box-shadow:inset 0 0 0 4px #302f2a}.timer-preset-value{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;font-size:18px;font-weight:850;font-variant-numeric:tabular-nums}.timer-preset-separator{color:#b0a899;font-weight:500}@media(max-width:760px){.lobby-panel-minimal{padding:8px}.lobby-lane{grid-template-columns:1fr;gap:10px;padding:16px 10px}.lobby-lane .lobby-actions{gap:8px}.lobby-lane .lobby-actions>.button{padding-inline:8px}.lobby-lane-tutorial .lobby-actions>.button{width:100%;flex-basis:100%}.online-timer-card{padding:16px}.timer-presets{grid-template-columns:repeat(3,minmax(0,68px));gap:7px}.timer-preset{width:68px}.timer-setup-block{gap:8px}.timer-field-label{font-size:11px}.timer-stepper{grid-template-columns:26px minmax(0,1fr) 26px}.timer-stepper-button{width:26px}.share-link-row{flex-direction:column}.share-link-row input,.share-link-row .button{width:100%}}.board{grid-template-rows:repeat(5,1fr)}.cell{width:100%;height:100%;aspect-ratio:1;overflow:hidden;appearance:none;-webkit-appearance:none}.cell-empty{background:#ece8df}.piece{font-size:0}.piece-choice-white,.piece-choice-black{position:relative;font-size:0}.piece-choice-white{background:#faf9f5;border:3px solid #292825}.piece-choice-black{background:#292825;border:3px solid #151412}.cancel-choice{font-size:27px}.tutorial-sheet{position:absolute;top:58px;right:12px;width:min(420px,calc(100vw - 24px));overflow:hidden;border:1px solid #ded8cb;border-radius:18px;background:#fffdf8;box-shadow:0 14px 38px #3f311a29}.tutorial-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 6px}.tutorial-header h2{margin:0;font-size:18px}.tutorial-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.tutorial-track::-webkit-scrollbar{display:none}.tutorial-slide{flex:0 0 100%;scroll-snap-align:start;padding:8px 16px 10px}.tutorial-visual{display:grid;place-items:center;min-height:220px;margin-bottom:8px}.tutorial-copy h3{margin:0 0 6px;font-size:18px}.tutorial-copy p{margin:0;color:#5f5b53;font-size:14px}.tutorial-dots{display:flex;justify-content:center;gap:7px;padding:10px 0 16px}.dot{width:6px;height:6px;appearance:none;-webkit-appearance:none;border:0;padding:0;border-radius:50%;background:#c9c1b3;cursor:pointer}.dot.is-active{background:#282723}.mini-board,.verto-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:4px;width:190px;aspect-ratio:1;padding:5px;border-radius:12px;background:#2b2a27}.mini-board>span,.verto-grid:before{border-radius:6px;background:#ece8df}.mini-board>span{position:relative}.mini-piece{position:relative!important;display:block;width:72%;aspect-ratio:1;margin:14%;border-radius:50%!important;z-index:2}.white{background:#faf9f5!important;border:2px solid #292825}.black{background:#292825!important;border:2px solid #151412}.pono-cell{position:relative;width:150px;aspect-ratio:1;border:5px solid #2b2a27;border-radius:14px;background:#ece8df}.pono-choice{position:absolute;left:50%;top:50%;display:flex;gap:12px;padding:8px 10px;border:1px solid #c9c1b3;border-radius:999px;background:#fffdf8;transform:translate(-50%,-50%);animation:ponoChoice 2.8s infinite}.choice,.placed-piece,.count-piece{display:block;border-radius:50%}.choice{width:36px;aspect-ratio:1}.white-choice{background:#faf9f5;border:3px solid #292825}.black-choice{background:#292825;border:3px solid #151412}.placed-piece{position:absolute;inset:24%;background:#faf9f5;border:3px solid #292825;opacity:0;animation:ponoPlace 2.8s infinite}@keyframes ponoChoice{0%,45%{opacity:1;transform:translate(-50%,-50%) scale(1)}55%,to{opacity:0;transform:translate(-50%,-50%) scale(.94)}}@keyframes ponoPlace{0%,50%{opacity:0;transform:scale(.8)}60%,90%{opacity:1;transform:scale(1)}to{opacity:0}}.verto-grid{background:linear-gradient(#ece8df 0 0) content-box;background-color:#2b2a27;overflow:hidden}.verto-grid:before{content:"";position:absolute;inset:5px;background:linear-gradient(to right,transparent calc(20% - 2px),#2b2a27 calc(20% - 2px),#2b2a27 calc(20% + 2px),transparent calc(20% + 2px)),linear-gradient(to right,transparent calc(40% - 2px),#2b2a27 calc(40% - 2px),#2b2a27 calc(40% + 2px),transparent calc(40% + 2px)),linear-gradient(to right,transparent calc(60% - 2px),#2b2a27 calc(60% - 2px),#2b2a27 calc(60% + 2px),transparent calc(60% + 2px)),linear-gradient(to right,transparent calc(80% - 2px),#2b2a27 calc(80% - 2px),#2b2a27 calc(80% + 2px),transparent calc(80% + 2px)),linear-gradient(to bottom,transparent calc(20% - 2px),#2b2a27 calc(20% - 2px),#2b2a27 calc(20% + 2px),transparent calc(20% + 2px)),linear-gradient(to bottom,transparent calc(40% - 2px),#2b2a27 calc(40% - 2px),#2b2a27 calc(40% + 2px),transparent calc(40% + 2px)),linear-gradient(to bottom,transparent calc(60% - 2px),#2b2a27 calc(60% - 2px),#2b2a27 calc(60% + 2px),transparent calc(60% + 2px)),linear-gradient(to bottom,transparent calc(80% - 2px),#2b2a27 calc(80% - 2px),#2b2a27 calc(80% + 2px),transparent calc(80% + 2px));border-radius:8px}.line-highlight{position:absolute;z-index:1;border:2px solid #c48416;border-radius:7px;pointer-events:none;opacity:.9}.row-highlight{left:5px;right:5px;top:calc(20% + 3px);height:calc(20% - 2px)}.col-highlight{top:5px;bottom:5px;left:calc(40% + 3px);width:calc(20% - 2px)}.vpiece{grid-row:var(--r);grid-column:var(--c);place-self:center;width:62%;aspect-ratio:1;border-radius:50%;z-index:2;animation:vertoFlip 3s infinite}.vpiece.selected{outline:3px solid #c48416;outline-offset:2px;animation:none}.vpiece[style*="--r:2"][style*="--c:3"]{background:#faf9f5!important;border:2px solid #292825}@keyframes vertoFlip{0%,35%{filter:invert(0)}50%,85%{filter:invert(1)}to{filter:invert(0)}}.majority-count{display:flex;gap:24px;align-items:center}.majority-count>div{display:flex;align-items:center;gap:8px;font-size:24px}.count-piece{width:46px;aspect-ratio:1}@media(prefers-reduced-motion:reduce){.pono-choice,.placed-piece,.vpiece{animation:none}}.objective-board>span,.majority-board>span{display:grid;place-items:center}.objective-board .mini-piece,.majority-board .mini-piece{width:68%;aspect-ratio:1;margin:0;border-radius:50%;box-sizing:border-box}.majority-board .winner-piece{box-shadow:0 0 0 2px #b4873d,0 2px 4px #3f311a2e}.objective-board .path-cell{box-shadow:inset 0 0 0 3px #c48416}.verto-cross{position:relative;width:210px;height:210px}.cross-line{position:absolute;z-index:0;border-radius:14px;background:#c4841624;border:2px solid #c48416}.cross-row{left:8px;right:8px;top:50%;height:54px;transform:translateY(-50%)}.cross-col{top:8px;bottom:8px;left:50%;width:54px;transform:translate(-50%)}.cross-piece{position:absolute;z-index:2;width:52px;aspect-ratio:1;border-radius:50%;transition:background .35s ease,border-color .35s ease;animation:crossFlip 3s infinite}.cross-piece.top{top:2px;left:50%;transform:translate(-50%)}.cross-piece.bottom{bottom:2px;left:50%;transform:translate(-50%)}.cross-piece.left{left:2px;top:50%;transform:translateY(-50%)}.cross-piece.right{right:2px;top:50%;transform:translateY(-50%)}.cross-piece.center{left:50%;top:50%;transform:translate(-50%,-50%)}.cross-piece.selected{outline:3px solid #c48416;outline-offset:4px;animation:none}@keyframes crossFlip{0%,32%{background:var(--start-bg);border-color:var(--start-border)}48%,82%{background:var(--end-bg);border-color:var(--end-border)}to{background:var(--start-bg);border-color:var(--start-border)}}.cross-piece.white{--start-bg: #faf9f5;--start-border: #292825;--end-bg: #292825;--end-border: #151412;border:3px solid var(--start-border);background:var(--start-bg)}.cross-piece.black{--start-bg: #292825;--start-border: #151412;--end-bg: #faf9f5;--end-border: #292825;border:3px solid var(--start-border);background:var(--start-bg)}.cross-piece.center.white{background:#faf9f5!important;border:3px solid #292825!important}.majority-board{width:210px}.verto-cross{position:relative;width:210px;height:210px;border-radius:18px;background:#ece8df}.cross-line,.cross-piece.selected{display:none!important}.cross-piece{animation:vertoCrossFlip 3s infinite}.cross-piece.center{animation:none!important;background:#faf9f5!important;border:3px solid #292825!important}@keyframes vertoCrossFlip{0%,30%{background:var(--start-bg);border-color:var(--start-border);transform:var(--base-transform) scale(1)}42%{transform:var(--base-transform) scale(.82)}52%,82%{background:var(--end-bg);border-color:var(--end-border);transform:var(--base-transform) scale(1)}94%{transform:var(--base-transform) scale(.82)}to{background:var(--start-bg);border-color:var(--start-border);transform:var(--base-transform) scale(1)}}.cross-piece.top,.cross-piece.bottom{--base-transform: translateX(-50%)}.cross-piece.left,.cross-piece.right{--base-transform: translateY(-50%)}.cross-piece.center{--base-transform: translate(-50%, -50%)}.verto-board{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:4px;width:210px;aspect-ratio:1;padding:5px;border-radius:12px;background:#2b2a27}.verto-cell{border-radius:6px;background:#ece8df}.verto-piece{position:absolute;width:30px;aspect-ratio:1;border-radius:50%;border:2px solid #292825;z-index:2;animation:vertoColorFlip 2.8s infinite}.verto-piece.white{--start-bg: #faf9f5;--start-border: #292825;--end-bg: #292825;--end-border: #151412;background:var(--start-bg);border-color:var(--start-border)}.verto-piece.black{--start-bg: #292825;--start-border: #151412;--end-bg: #faf9f5;--end-border: #292825;background:var(--start-bg);border-color:var(--start-border)}.verto-piece.center{animation:none;background:#faf9f5!important;border-color:#292825!important}.verto-piece.top{left:50%;top:calc(10% - 15px);transform:translate(-50%)}.verto-piece.left{left:calc(10% - 15px);top:50%;transform:translateY(-50%)}.verto-piece.center{left:50%;top:50%;transform:translate(-50%,-50%)}.verto-piece.right{right:calc(10% - 15px);top:50%;transform:translateY(-50%)}.verto-piece.bottom{left:50%;bottom:calc(10% - 15px);transform:translate(-50%)}@keyframes vertoColorFlip{0%,34%{background:var(--start-bg);border-color:var(--start-border)}50%,84%{background:var(--end-bg);border-color:var(--end-border)}to{background:var(--start-bg);border-color:var(--start-border)}}@media(prefers-reduced-motion:reduce){.verto-piece{animation:none}}.verto-board-3x3{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;width:210px;aspect-ratio:1;padding:6px;border-radius:12px;background:#2b2a27}.verto-board-3x3 .verto-cell{display:grid;place-items:center;border-radius:7px;background:#ece8df}.verto-board-3x3 .verto-piece{position:static;width:68%;aspect-ratio:1;border-radius:50%;box-sizing:border-box;transform:none}.verto-board-3x3 .verto-piece.verto-start-white{background:#faf9f5;border:3px solid #292825}.verto-board-3x3 .verto-piece.verto-start-black{background:#292825;border:3px solid #151412}.verto-board-3x3 .verto-piece.flip.verto-start-white{animation:flipWhiteBlack 2.8s infinite}.verto-board-3x3 .verto-piece.flip.verto-start-black{animation:flipBlackWhite 2.8s infinite}.verto-board-3x3 .verto-piece.center{animation:none!important;background:#faf9f5;border-color:#292825}@keyframes flipWhiteBlack{0%,34%{background:#faf9f5;border-color:#292825}50%,84%{background:#292825;border-color:#151412}to{background:#faf9f5;border-color:#292825}}@keyframes flipBlackWhite{0%,34%{background:#292825;border-color:#151412}50%,84%{background:#faf9f5;border-color:#292825}to{background:#292825;border-color:#151412}}@media(prefers-reduced-motion:reduce){.verto-board-3x3 .verto-piece.flip{animation:none}}.verto-board-3x3 .verto-piece.center{animation:centerTap 2.8s infinite!important;transform-origin:center}@keyframes centerTap{0%,24%{transform:scale(1)}30%{transform:scale(.88)}36%,to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.verto-board-3x3 .verto-piece.center{animation:none!important}}.mode-choice{display:flex;gap:8px;margin-bottom:12px}.mode-choice-button{flex:1;color:#67645c;background:#eeebe4}.mode-choice-button.is-selected{color:#fff;background:#282723}.local-lobby{display:flex}.local-lobby .button{width:100%}.local-controls{margin-top:8px}.cell:disabled{opacity:1;cursor:default}.board-stage{display:flex;align-items:center;justify-content:center;gap:12px}@media(min-width:761px){.game-layout:not([hidden]) .board-wrap{width:min(88vw,620px,calc(100dvh - 376px))}.game-layout:not([hidden])>.game-main>.player-strip-opponent,.game-layout:not([hidden])>.game-main>.player-bar-bottom{width:min(88vw,620px,calc(100dvh - 376px))}}.game-tools{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}.tool-button{position:relative;display:grid;width:46px;height:46px;place-items:center;border:1px solid #c9c1b3;border-radius:11px;padding:0;color:#4e4b45;background:#fffdf8;font-size:21px;line-height:1;box-shadow:0 3px 10px #3f311a0f}.tool-button-danger{color:#8d342c}.tool-button:disabled{opacity:.42}.tool-button svg{display:block;width:22px;height:22px}.controls-panel{border:0;padding:0;background:transparent;box-shadow:none}.local-controls{justify-content:center;margin-top:12px}.tutorial-sheet{position:absolute}.tutorial-nav{position:absolute;z-index:2;top:50%;display:grid;width:30px;height:40px;place-items:center;border:0;border-radius:9px;padding:0;color:#67645c;background:#f4f1eadb;font-size:28px;line-height:1;transform:translateY(-50%)}.tutorial-nav-prev{left:4px}.tutorial-nav-next{right:4px}.tutorial-nav[hidden]{display:none!important}.tutorial-panel{display:flex;width:min(88vw,620px);min-height:68px;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 12px;padding:12px 14px;border:1px solid #ded8cb;border-radius:14px;color:#302f2a;background:#fffdf8;box-shadow:0 5px 16px #3f311a14}.tutorial-progress{width:min(88vw,620px);height:7px;margin:0 auto 10px;overflow:hidden;border-radius:999px;background:#e3ded4;box-shadow:inset 0 0 0 1px #3f311a0f}.tutorial-progress[hidden]{display:none!important}.tutorial-progress-fill{display:block;width:0;height:100%;border-radius:inherit;background:#bd8a2f;transition:width .22s ease-out}.tutorial-panel[hidden]{display:none!important}.board-stage{position:relative;width:min(88vw,620px);margin-inline:auto}.board.tutorial-board-muted{opacity:.58;transition:opacity .18s ease-out}.tutorial-step-text{min-width:0;flex:1 1 auto;margin:0;color:#5f5b53;font-size:13px;line-height:1.35;text-align:center}.tutorial-step-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d5cec1;border-radius:9px;padding:0;color:#4e4b45;background:#f4f1ea;font-size:20px;line-height:1}.tutorial-step-button:disabled{cursor:default;opacity:.35}.tutorial-step-button svg{display:block;width:18px;height:18px}.tutorial-step-button:first-child svg{transform:scaleX(-1)}.tutorial-step-progress{min-width:29px;color:#8b8579;font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.tutorial-final{display:grid;grid-template-columns:34px minmax(0,1fr) auto 34px;row-gap:12px}.tutorial-final .tutorial-step-button:first-child{grid-column:1;grid-row:1}.tutorial-final .tutorial-step-text{grid-column:2;grid-row:1}.tutorial-final .tutorial-step-progress{grid-column:3;grid-row:1}.tutorial-final .tutorial-step-button:nth-of-type(2){grid-column:4;grid-row:1}.tutorial-secondary-text{grid-column:1 / -1;margin:0;color:#6b665d;font-size:12px;line-height:1.4;text-align:center}.tutorial-start-bot{position:absolute;z-index:10;top:calc(50% - 13px);left:50%;transform:translate(-50%,-50%);transition:background .12s ease;white-space:nowrap}.tutorial-start-bot:hover:not(:disabled){transform:translate(-50%,-50%)}.cell.tutorial-path{background:#fff1c9;box-shadow:inset 0 0 0 3px #bd8a2f,0 0 0 2px #bd8a2f2e}.cell.tutorial-path .piece{box-shadow:0 0 0 3px #bd8a2f,0 3px 8px #3f311a2e}.cell.tutorial-changed .piece{animation:tutorialVertoChanged .72s ease-out both;box-shadow:0 0 0 3px #bd8a2f,0 3px 8px #3f311a2e}@keyframes tutorialVertoChanged{0%{transform:scale(.82);filter:brightness(1.35)}65%{transform:scale(1.08);filter:brightness(1.12)}to{transform:scale(1);filter:brightness(1)}}.objective-animation{position:relative;display:grid;width:190px;min-height:220px;place-items:center}.objective-frame{position:absolute;inset:0;display:grid;place-items:center;animation:objectiveValid 8s infinite both}.objective-frame-invalid{opacity:0;animation:objectiveInvalid 8s infinite both}.objective-badge{position:absolute;right:-8px;bottom:-8px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:#fff;font-size:16px;font-weight:900}.objective-badge-valid{background:#2d7c52}.objective-badge-invalid{background:#a23b31}.objective-board-invalid .diag-cell{box-shadow:inset 0 0 0 2px #a23b31}@keyframes objectiveValid{0%,20%{opacity:1}30%,70%{opacity:0}80%,to{opacity:1}}@keyframes objectiveInvalid{0%,30%{opacity:0}40%,60%{opacity:1}70%,to{opacity:0}}.verto-board-wide{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:5px;width:235px;aspect-ratio:5 / 3;padding:6px;border-radius:12px;background:#2b2a27}.verto-board-wide .verto-cell{display:grid;place-items:center;border-radius:7px;background:#ece8df}.verto-board-wide .verto-piece{position:static;width:68%;aspect-ratio:1;transform:none}.verto-board-wide .verto-piece.center{animation:centerTap 2.8s infinite!important;background:#faf9f5;border-color:#292825}.verto-board-wide .verto-piece.verto-start-white{background:#faf9f5;border:3px solid #292825}.verto-board-wide .verto-piece.verto-start-black{background:#292825;border:3px solid #151412}.verto-board-wide .verto-piece.flip.verto-start-white{animation:flipWhiteBlack 2.8s infinite}.verto-board-wide .verto-piece.flip.verto-start-black{animation:flipBlackWhite 2.8s infinite}@media(max-width:520px){.board-stage{gap:8px}.tool-button{width:42px;height:42px;font-size:19px}.game-tools{gap:8px}.objective-animation{transform:scale(.88);transform-origin:center}}@media(prefers-reduced-motion:reduce){.objective-frame,.cell.tutorial-changed .piece{animation:none}}.player-strip{display:flex;height:64px;min-height:64px;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border:1px solid #ded8cb;border-radius:14px;background:#fffdf8;box-shadow:0 5px 16px #3f311a0d;transition:opacity .16s ease,background .16s ease,border-color .16s ease}.game-main>.player-strip-opponent,.game-main>.player-bar-bottom{width:min(88vw,620px);margin-inline:auto;box-sizing:border-box}.player-strip[data-active=false]{border-color:#e7e2d8;color:#8a867e;background:#ffffff70;box-shadow:none;opacity:.68}.player-identity{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:6px;padding-left:6px}.player-clock{min-width:54px;padding:3px 7px;border-radius:6px;color:#5c5548;background:#eee9df;font-variant-numeric:tabular-nums;text-align:center;font-size:14px;font-weight:800}.player-clock[data-active=true]{color:#fffaf0;background:#80612e}.player-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.player-piece-indicator{display:block;width:24px;height:24px;flex:0 0 auto;border:2px solid #292825;border-radius:50%;background:#faf9f5}.player-piece-indicator[data-color=black]{border-color:#151412;background:#292825}.player-turn-message{position:absolute;left:50%;color:#716e67;font-size:13px;font-weight:750;white-space:nowrap;transform:translate(-50%)}.player-turn-message{display:none!important}.turn-indicator{position:absolute;z-index:3;left:0;top:50%;display:grid;width:30px;height:30px;place-items:center;box-sizing:border-box;border:1px solid #c7a05a;border-radius:999px;background:#fffdf8;color:#80612e;box-shadow:0 2px 6px #3f311a1f;opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .18s ease,transform .22s ease;pointer-events:none}.turn-indicator svg{display:block;width:18px;height:18px}.player-strip[data-active=true] .turn-indicator{opacity:1;transform:translate(-50%,-50%) scale(1)}.player-clock{margin-left:auto}#opponentPlayerName{font-size:13px;white-space:nowrap}.player-strip[data-left=true] .player-identity{min-width:0}.player-strip[data-left=true] .player-identity strong{font-size:clamp(10px,2.5vw,13px);line-height:1.15;white-space:normal}.player-strip{position:relative;overflow:visible}.player-stock{position:absolute;z-index:2;left:50%;bottom:-10px;display:flex;height:20px;align-items:flex-end;transform:translate(-50%);pointer-events:none}.stock-piece{display:block;width:18px;height:18px;flex:0 0 18px;margin-left:-7px;border:2px solid #292825;border-radius:50%;background:#faf9f5;box-shadow:0 2px 3px #3f311a24}.stock-piece:first-child{margin-left:0}.stock-piece[data-color=black]{border-color:#151412;background:#292825}.player-strip-opponent .player-stock{top:-10px;bottom:auto}.player-strip[data-active=true] .player-turn-message{color:#5b4b2e}.player-bar-bottom{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;margin-top:0}.player-bar-bottom .player-strip{width:auto;min-width:0;flex:1 1 auto;padding-right:14px}.player-bar-bottom .game-tools{position:absolute;z-index:6;bottom:calc(100% + 12px);left:50%;display:flex;width:max-content;max-width:calc(100vw - 32px);align-items:center;justify-content:center;padding:8px;border:1px solid #ded8cb;border-radius:14px;background:#fffdf8;box-shadow:0 14px 34px #3f311a2e;transform:translate(-50%)}.player-bar-bottom .game-tools[hidden]{display:none!important}.player-bar-bottom.menu-for-opponent .game-tools,.player-bar-bottom.menu-for-opponent .draw-response{top:calc(-1*min(88vw,620px) + 12px);bottom:auto}.more-actions-button,.more-actions-opponent{position:absolute;top:50%;left:50%;z-index:2;width:42px;height:42px;padding:0;transform:translate(-50%,-50%)}.player-exit-button{position:static;flex:0 0 42px;margin-left:auto;transform:none}.more-actions-button[aria-expanded=true],.more-actions-opponent[aria-expanded=true]{color:#fff;background:#282723}.more-actions-button.tutorial-controls-highlight{box-shadow:0 0 0 3px #bd8a2f47,0 0 0 6px #bd8a2f1a}.more-actions-button svg,.more-actions-opponent svg{width:23px;height:23px}.more-actions-opponent{display:grid;place-items:center}.notification-badge{position:absolute;top:-5px;right:-5px;display:none;width:19px;height:19px;place-items:center;border:2px solid #f4f1ea;border-radius:50%;color:#fff;background:#c5352d;font-size:11px;font-weight:900;line-height:1}.tool-button.has-notification .notification-badge{display:grid}.player-bar-bottom .tool-button{width:42px;height:42px}.player-bar-bottom .game-tools{flex-direction:row;gap:8px}.board-stage .board-wrap{order:1;margin-bottom:0}.board-stage .game-tools{order:2}.controls-panel{position:relative}.draw-response{position:absolute;z-index:5;left:50%;bottom:calc(100% + 12px);width:min(320px,calc(100vw - 32px));margin:0;padding:18px 46px 16px 18px;border:1px solid #ded8cb;border-radius:16px;background:#fffdf8;box-shadow:0 14px 34px #3f311a2e;color:#302f2a;transform:translate(-50%)}.draw-response>span{display:block;font-weight:800}.draw-response .action-row{margin-top:14px}.draw-response-close{position:absolute;top:8px;right:10px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:50%;padding:0;color:#67645c;background:transparent;font-size:24px;line-height:1}.draw-response-close:hover{background:#eeebe4}.move-history{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(88vw,620px);min-height:48px;margin:8px auto 12px;gap:10px;padding:6px 8px;border:1px solid #ded8cb;border-radius:13px;color:#5f5b53;background:#fffdf8db}.move-history[hidden]{display:none!important}.history-controls{display:flex;align-items:center;gap:4px;height:100%}.history-controls-next{justify-content:flex-end}.history-control{display:grid;width:32px;height:32px;place-items:center;border:1px solid #d5cec1;border-radius:8px;padding:0;color:#67645c;background:transparent;cursor:pointer}.history-control svg{width:16px;height:16px}.history-control:disabled{cursor:default;opacity:.35}.history-label{display:inline-flex;min-width:110px;align-items:center;justify-content:center;gap:7px;color:#5f5b53;font-size:12px;font-weight:750;line-height:1;white-space:nowrap}.history-piece{display:inline-block;width:13px;height:13px;flex:0 0 13px;border:2px solid #151412;border-radius:50%;background:#292825}.history-piece[data-color=white]{border-color:#292825;background:#faf9f5}.history-kind{color:#8b5d16;font-weight:900;letter-spacing:.08em}.history-action-piece{width:11px;height:11px;flex-basis:11px;border-width:1.5px}@media(max-width:520px){.move-history{gap:4px;width:min(88vw,620px);padding-inline:5px}.history-control{width:29px;height:29px}.history-control svg{width:14px;height:14px}.history-label{min-width:92px;gap:4px;font-size:11px}}@media(min-width:761px){.move-history{width:min(88vw,620px,calc(100dvh - 376px))}}@media(max-width:760px){.player-turn-message,.player-identity strong,#opponentPlayerName{font-size:12px}.player-bar-bottom{flex-wrap:nowrap}}#game.local-mirror-mode .player-bar-bottom.menu-for-opponent .game-tools,#game.local-mirror-mode .player-bar-bottom.menu-for-opponent .draw-response{transform:translate(-50%) rotate(180deg)}.cell.last-move{box-shadow:inset 0 0 0 3px #b4873d,0 0 0 2px #b4873d2e}.cell.last-move-origin{box-shadow:inset 0 0 0 3px #7b5720,0 0 0 3px #b4873d4d}@media(min-width:761px){.player-bar-bottom.menu-for-opponent .game-tools,.player-bar-bottom.menu-for-opponent .draw-response{top:calc(-1*min(88vw,620px,calc(100dvh - 350px)) + 12px);bottom:auto}}.board-stage{flex-direction:column;align-items:center}.board-stage .board-wrap{order:1;margin-bottom:26px}.board-row-coordinates,.board-column-coordinates{position:absolute;z-index:1;display:grid;color:#8a867e;font-size:12px;font-weight:700;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.board-row-coordinates{top:6px;bottom:6px;left:-22px;grid-template-rows:repeat(5,1fr);align-items:center;justify-items:end;width:16px}.board-column-coordinates{right:6px;bottom:-20px;left:6px;grid-template-columns:repeat(5,1fr);justify-items:center}@media(max-width:360px){.board-row-coordinates{left:-18px}.board-column-coordinates{bottom:-18px}.board-row-coordinates,.board-column-coordinates{font-size:11px}}.board-stage .game-tools{order:2;flex-direction:row;gap:10px}@media(max-width:520px){.board-stage .game-tools{gap:8px}.stock-piece{width:16px;height:16px;flex-basis:16px;margin-left:-6px}}@media(max-width:760px){#game.local-mirror-mode .player-strip-opponent{transform:rotate(180deg)}#game.local-mirror-mode .player-strip-opponent .player-stock{top:auto;bottom:-10px;transform:translate(-50%) rotate(180deg)}}.account-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #c9c1b3;border-radius:50%;padding:0;color:#514e48;background:transparent}.account-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.account-panel{width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow-y:auto;padding:24px;border:1px solid #d8d3c8;border-radius:18px;background:#f4f1ea;color:#262522;box-shadow:0 20px 70px #0003}.account-panel::backdrop{background:#26252280}.account-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.account-heading h2{font-size:1.3rem;margin:0}.account-heading button{border:0;background:transparent;color:inherit;font-size:1.6rem;cursor:pointer;min-width:32px}.account-stack{display:grid;gap:14px}.account-stack p{margin:0;line-height:1.5}.account-stack label{display:grid;gap:6px;font-size:.9rem;font-weight:600}.account-stack input{box-sizing:border-box;min-width:0;width:100%;border:1px solid #bdb8ae;border-radius:8px;padding:11px 12px;background:#fffaf2;color:inherit;font:inherit;font-size:16px}.account-stack input[aria-invalid=true]{border-color:#a63a2b;box-shadow:0 0 0 1px #a63a2b}.account-panel small,.account-hint{color:#615d56;font-size:.8rem;line-height:1.5}.account-field-error{margin:-7px 0 0;color:#852d1e;font-size:.82rem;line-height:1.4}.account-panel [data-error]{border-radius:8px;padding:12px;background:#f3dfd9;color:#852d1e;font-size:.9rem;line-height:1.5}.account-panel [data-notice]{margin:0 0 14px;color:#514e48;font-size:.9rem;line-height:1.5}.account-link{border:0;background:transparent;padding:8px;text-decoration:underline;cursor:pointer;color:inherit;font:inherit;font-size:.9rem}.account-signout{margin-top:20px;width:100%}.account-panel :focus-visible{outline:2px solid #625541;outline-offset:3px}.account-panel button:disabled{cursor:wait;opacity:.6}}
