@charset "UTF-8";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#root{max-width:1280px;margin:0 auto;padding:1rem;text-align:center;width:100%;box-sizing:border-box}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:inherit;cursor:pointer;transition:border-color .25s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media (max-width: 768px){#root{padding:.5rem}h1{font-size:2.5em}button{padding:.5em 1em;font-size:.9em}}@media (max-width: 480px){#root{padding:.25rem}h1{font-size:2em}button{padding:.4em .8em;font-size:.85em}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.home-page{--primary: #4fc3ff;--text: #0f2a4a}.home-page .main{min-height:calc(100vh + -0px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px 16px;box-sizing:border-box;text-align:center;background:#fff;color:var(--text);margin-top:-10vh;padding-bottom:10vh}.home-page .icons{width:100%;max-width:360px;display:flex;justify-content:center}.home-page .seesaw-box{width:100%;aspect-ratio:16/10}.home-page .seesaw-svg{width:100%;height:100%;filter:drop-shadow(0 6px 14px rgba(0,0,0,.15))}.home-page .title{margin:0;font-size:clamp(22px,4.8vw,28px);font-weight:800;letter-spacing:.2px}.home-page .subtitle{margin:6px 0 0;font-size:clamp(13px,3.4vw,14px);color:#365f91}.home-page .actions{width:100%;display:flex;justify-content:center}.home-page .btn.primary{width:100%;max-width:320px;padding:14px 18px;border:none;border-radius:12px;background:var(--primary);color:#fff;font-size:16px;font-weight:800;letter-spacing:.2px;cursor:pointer;box-shadow:0 8px 18px #4fc3ff59;transition:transform .12s ease,filter .12s ease}.home-page .btn.primary:hover{filter:brightness(1.06)}.home-page .btn.primary:active{transform:translateY(1px) scale(.99)}.home-page .btn.primary:focus{outline:3px solid rgba(79,195,255,.35);outline-offset:2px}@media (min-width: 480px){.home-page .main{gap:28px}}@media (max-height: 640px){.home-page .main{margin-top:-8vh;padding-bottom:8vh}}.match-page{--text: #0f2a4a}.match-page .main{min-height:calc(100vh + -0px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px 16px;text-align:center;background:#fff;color:var(--text);margin-top:-10vh}.match-page .icons{width:100%;max-width:360px;display:flex;justify-content:center}.match-page .seesaw-box{width:100%;aspect-ratio:16/10}.match-page .seesaw-svg{width:100%;height:100%;filter:drop-shadow(0 6px 14px rgba(0,0,0,.15))}.match-page .title{margin:0;font-size:clamp(22px,4.8vw,28px);font-weight:800;letter-spacing:.2px}.match-page .subtitle{margin:6px 0 0;font-size:clamp(13px,3.4vw,14px);color:#365f91}.match-page .actions{width:100%;display:flex;justify-content:center}.match-page .btn.ghost{border:1px dashed #9bbcf0;padding:10px 14px;border-radius:10px;background:transparent;color:#2a5ea3;cursor:pointer}.match-page .btn.ghost:hover{background:#00000008}.match-page .seesaw-svg .board{transform-origin:210px 110px;animation:sway 1.2s ease-in-out infinite}@keyframes sway{0%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}to{transform:rotate(-10deg)}}@media (min-width: 480px){.match-page .main{gap:28px}}.seesaw-game-container{padding:6px;max-width:100vw;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.status-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;align-items:center;margin-bottom:12px;background:#f8f9fa;border-radius:8px;padding:6px;overflow:hidden;width:100%;box-sizing:border-box}.player-status{background:#fff;border-radius:6px;padding:6px 8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e9ecef;min-width:0;overflow:hidden;font-size:12px}.player-status div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-timer{text-align:center;background:#fff;border-radius:6px;padding:6px 8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e9ecef;min-width:80px;flex-shrink:0}.game-board-container{width:100%;margin:0 auto 16px;position:relative;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:8px;overflow:hidden}.game-board-container canvas{max-width:100%;max-height:100%;display:block;margin:0 auto}.control-section{display:flex;flex-direction:column;gap:12px;margin-top:8px;flex:1}.player-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.player-switch button{padding:12px 16px;border:none;border-radius:8px;font-size:16px;font-weight:700;min-height:48px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.control-grid{display:flex;flex-direction:column;gap:16px}.control-panel{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000001a;border:1px solid #e9ecef}.control-panel h4{margin:0 0 12px;font-size:16px;font-weight:700;color:#495057}.catalog-section{margin-bottom:16px}.position-slider{width:100%;margin:12px 0;height:8px;-webkit-appearance:none;appearance:none;background:#e9ecef;border-radius:4px;outline:none}.position-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:#007bff;border-radius:50%;cursor:pointer}.position-slider::-moz-range-thumb{width:24px;height:24px;background:#007bff;border-radius:50%;cursor:pointer;border:none}.position-labels{display:flex;justify-content:space-between;font-size:14px;margin-top:8px;color:#6c757d}.action-button{padding:12px 16px;border:none;border-radius:8px;font-size:15px;font-weight:500;min-height:48px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a;border:1px solid transparent}.action-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.action-button:active{transform:translateY(1px);box-shadow:0 1px 2px #0000001a}.add-ghost-button{background:#28a745;color:#fff;width:100%;font-size:16px;min-height:52px}.add-ghost-button:hover:not(:disabled){background:#218838}.remove-button{background:#dc3545;color:#fff;padding:8px 12px;font-size:13px;min-height:40px;border-radius:6px}.remove-button:hover{background:#c82333}.ghost-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding:4px}.ghost-item{display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:12px;font-size:14px;min-height:48px}.ghost-item-info{display:flex;gap:12px;align-items:center;flex:1}.ghost-color-indicator{width:16px;height:16px;border-radius:8px;flex-shrink:0;border:2px solid #fff;box-shadow:0 1px 3px #0003}.ability-purchase-section{margin-top:16px;padding-top:16px;border-top:2px dashed #dee2e6}.ability-buttons{display:flex;flex-direction:column;gap:8px}.ability-button{background:#007bff;color:#fff;font-size:14px;padding:12px 16px;text-align:left;min-height:56px;display:flex;flex-direction:column;justify-content:center}.ability-button:hover:not(:disabled){background:#0056b3}.ready-section{margin-top:16px;display:grid;grid-template-columns:3fr 1fr;gap:12px}.ready-button{background:#28a745;color:#fff;font-size:16px;min-height:52px}.ready-button:hover:not(:disabled){background:#218838}.unready-button{background:#ffc107;color:#212529;font-size:14px;min-height:52px}.unready-button:hover:not(:disabled){background:#e0a800}.playing-controls,.playing-grid{display:flex;flex-direction:column;gap:16px}.player-abilities{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000001a;border:1px solid #e9ecef}.player-abilities h4{margin:0 0 12px;font-size:16px;font-weight:700;color:#495057}.ability-grid{display:flex;flex-direction:column;gap:10px}.ability-action-button{background:#007bff;color:#fff;font-size:14px;padding:12px 16px;text-align:center;min-height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center}.ability-action-button:hover:not(:disabled){background:#0056b3}.ability-action-button:disabled{background:#6c757d}.victory-screen{text-align:center;margin-top:24px;padding:24px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 4px 12px #00000026;border:1px solid #dee2e6}.victory-screen h3{margin:0 0 12px;font-size:24px;color:#495057}.reset-button{background:#28a745;color:#fff;padding:16px 32px;margin-top:20px;font-size:18px;min-height:56px;border-radius:8px}.reset-button:hover{background:#218838}@media (max-width: 768px){.seesaw-game-container{padding:4px}.status-bar{gap:3px;padding:4px;margin-bottom:8px}.player-status{padding:4px 6px;font-size:11px}.player-status div{font-size:11px}.game-timer{font-size:12px;padding:4px 6px;min-width:70px}.control-panel{padding:10px}.control-panel h4{font-size:14px}}@media (max-width: 480px){.seesaw-game-container{padding:2px}.status-bar{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:4px;text-align:center;padding:4px}.player-status,.game-timer{width:100%;box-sizing:border-box;padding:4px 8px;font-size:11px}.player-status div{font-size:11px}.game-timer{min-width:auto;order:2}.player-status:first-child{order:1}.player-status:last-child{order:3}.player-switch{gap:6px}.player-switch button,.action-button{font-size:13px;padding:8px 12px}.ability-button,.ability-action-button{font-size:12px;padding:8px 12px;min-height:48px}.add-ghost-button{font-size:14px;min-height:44px}}@media (orientation: portrait){.game-board-container{margin-bottom:20px}.control-section{gap:16px}.playing-grid{gap:20px}.action-button{min-height:50px}.ability-action-button{min-height:58px}}@media (orientation: landscape) and (max-height: 600px){.seesaw-game-container{padding:4px}.control-section{gap:8px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.playing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ghost-list{max-height:160px}.action-button{min-height:44px;font-size:13px;padding:8px 12px}.ability-action-button{min-height:48px;font-size:12px;padding:8px 12px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.ghost-color-indicator{border-width:1px}.action-button{border:1px solid rgba(0,0,0,.05)}.control-panel{border-width:1px}}@media (max-width: 360px){.seesaw-game-container{padding:1px}.status-bar{padding:3px;gap:2px}.player-status,.game-timer{padding:3px 6px;font-size:10px}.player-status div{font-size:10px}.control-panel{padding:8px}.control-panel h4{font-size:13px;margin-bottom:8px}.player-switch button{font-size:12px;padding:6px 10px;min-height:40px}.action-button{font-size:12px;padding:6px 10px;min-height:42px}}
