:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;border-inline:none;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;padding:0;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.game-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;overflow:hidden}.game-header{color:#fff;text-align:center;background:#0000004d;border-bottom:2px solid #fff3;padding:1.5rem}.game-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700}.stats{justify-content:center;gap:2rem;font-size:1.1rem;display:flex}.game-content{flex-wrap:nowrap;flex:1;justify-content:space-between;gap:1rem;min-height:0;padding:1.5rem;display:flex;overflow:hidden}.board-wrapper{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.game-board{aspect-ratio:1;background:#0003;border-radius:12px;gap:.5rem;width:100%;max-width:500px;height:100%;max-height:500px;padding:1rem;display:grid}.game-cell{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffffe6;border:2px solid #ffffff80;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.game-cell:hover:not(.filled){background:#fff;transform:scale(.95);box-shadow:0 2px 8px #0003}.game-cell.filled{cursor:not-allowed;color:#fff;border-color:#0003;font-weight:700;box-shadow:inset 0 2px 4px #0000001a}.shape-label{opacity:.7;pointer-events:none;font-size:.8rem}.shape-selector{background:#fffffff2;border-radius:12px;width:300px;padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #0003}.shape-selector h2{color:#333;margin:0 0 1rem;font-size:1.3rem}.shapes-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.shape-button{cursor:pointer;color:#fff;border:3px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100px;padding:1rem;font-weight:600;transition:all .2s;display:flex}.shape-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.shape-button.selected{border-color:#fff;transform:scale(1.05);box-shadow:0 0 0 3px #ffffff80,0 6px 16px #0000004d}.shape-name{text-transform:capitalize;font-size:.9rem;line-height:1.2}.shape-count{opacity:.9;font-size:.75rem}.game-footer{background:#0000004d;border-top:2px solid #fff3;justify-content:center;gap:1rem;padding:1.5rem 2rem;display:flex}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:#ff6b6b}.btn-primary:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.btn-secondary{color:#667eea;background:#ffffffe6}.btn-secondary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #0003}@media (width<=1024px){.game-content{flex-direction:column;gap:1rem;padding:1rem}.board-wrapper{order:2}.shape-selector{order:1;width:100%;max-height:200px}.shapes-grid{grid-template-columns:repeat(4,1fr)}.shape-button{min-height:80px;padding:.8rem}.shape-name{font-size:.75rem}}@media (width<=640px){.game-header h1{font-size:1.5rem}.stats{flex-direction:column;gap:.5rem}.game-board{gap:.3rem;max-width:100%;max-height:100%;padding:.5rem}.shape-selector{padding:1rem}.shapes-grid{grid-template-columns:repeat(6,1fr);gap:.5rem}.shape-button{min-height:60px;padding:.5rem;font-size:.8rem}.shape-name{font-size:.65rem}.shape-count{display:none}.game-footer{gap:.5rem;padding:1rem}.btn{padding:.6rem 1rem;font-size:.9rem}}.triangle-game-container{background:0 0;width:100%;height:auto;min-height:0;margin:0;font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif}.triangle-game-container .game-content{background:linear-gradient(145deg,#ffffff9e,#eaf3fc80);border:1px solid #214d7c1a;border-radius:18px;padding:14px;box-shadow:0 12px 26px #0a1b3414}.triangle-board{touch-action:none;width:auto;max-width:100%;height:auto;max-height:100%}.triangle-cell{filter:none;transition:fill .2s;stroke:none!important}.triangle-cell.empty{fill:#fff;stroke:#999;opacity:.9}.triangle-cell.empty:hover{fill:#f5f5f5;stroke:#666;stroke-width:2px}.triangle-cell.filled{fill-opacity:.85;stroke:#ddd}.triangle-cell.filled:hover{fill-opacity:1}.board-section{flex-direction:column;flex:2;justify-content:center;align-items:center;min-width:0;padding:10px;display:flex}.board-wrapper{justify-content:center;align-items:center;width:100%;display:flex}.triangle-game-container .shape-section{box-shadow:none;scrollbar-width:none;background:0 0;border:none;flex-direction:column;flex:0 0 528px;gap:6px;padding:4px 8px;display:flex;overflow-y:auto}.triangle-game-container .shape-section::-webkit-scrollbar{display:none}.triangle-game-container .shape-title{color:#fff;margin:0;font-size:16px;line-height:1.2}.triangle-game-container .shapes-grid{grid-template-columns:repeat(3,minmax(160px,1fr));align-content:start;gap:6px;display:grid}.triangle-game-container .shape-card{cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:9px;transition:transform .15s;display:flex;position:relative}.triangle-game-container .shape-card:hover{transform:translateY(-1px)}.triangle-game-container .shape-card.selected{outline:none}.triangle-game-container .shape-card svg{width:100%;height:auto;display:block}.triangle-game-container .shape-action-menu{z-index:1200;background:#141414eb;border-radius:12px;gap:6px;padding:6px;display:flex;position:fixed;transform:translate(-50%,-120%);box-shadow:0 8px 20px #00000059}.triangle-game-container .shape-action-menu-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:8px;padding:5px 10px;font-size:12px;line-height:1}.triangle-game-container .shape-action-menu-btn:hover{background:#fff3}.triangle-game-container .shape-action-menu-btn:active{transform:translateY(1px)}.floating-shape-preview{pointer-events:none;z-index:999;filter:drop-shadow(0 4px 8px #00000040);position:fixed;transform:translate(-50%,-50%)}@media (width<=900px){.triangle-game-container{width:100%}.triangle-game-container .game-content{border-radius:14px;padding:10px}}.app-shell{--stage-width:min(1480px, 98vw);background:radial-gradient(circle at 10% 12%,#ff993338,#0000 35%),radial-gradient(circle at 90% 22%,#09c3,#0000 34%),repeating-linear-gradient(-35deg,#ffffff0d 0 18px,#13385e08 18px 36px),linear-gradient(155deg,#edf4fb 0%,#dbe9f8 100%);flex-direction:column;align-items:center;gap:20px;min-height:100vh;padding:20px 12px 26px;font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif;display:flex}.app-header-card{width:var(--stage-width);box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#fffffff0,#f3f9ffe0);border:1px solid #2049781f;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex;box-shadow:0 22px 48px #0a1b3424}.lobby-copy{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.lobby-label{letter-spacing:.18em;text-transform:uppercase;color:#2d5a88;margin:0;font-size:11px;font-weight:700}.lobby-title{color:#14253d;letter-spacing:.02em;text-shadow:0 2px #fffc;margin:0;font-family:Rockwell,Georgia,Times New Roman,serif;font-size:clamp(28px,3.2vw,40px);line-height:1.1}.lobby-subtitle{color:#44607f;margin:0;font-size:14px}.lobby-stats{gap:12px;display:flex}.stat-item{color:#16335a;background:linear-gradient(160deg,#f7fbff 0%,#e8f1fb 100%);border:1px solid #224f811f;border-radius:14px;flex-direction:column;align-items:flex-start;min-width:176px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffffbf}.stat-item span{opacity:.75;letter-spacing:.04em;font-size:12px}.stat-item strong{color:#0f3b66;font-size:30px;line-height:1.1}.start-btn{color:#fff;letter-spacing:.03em;cursor:pointer;background:linear-gradient(135deg,#0077b6,#023e8a);border:0;border-radius:999px;padding:12px 24px;font-size:15px;font-weight:700;transition:transform .14s,box-shadow .2s,filter .2s;box-shadow:0 10px 24px #023e8a52}.ghost-btn{color:#1a4674;letter-spacing:.02em;cursor:pointer;background:#ffffff9e;border:1px solid #123f6940;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700}.ghost-btn:hover{background:#ffffffdb}.stat-link{cursor:pointer;border:1px solid #224f811f;transition:transform .15s,box-shadow .2s}.stat-link:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1034581f}.start-btn:hover{filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 14px 30px #023e8a61}.start-btn:active{transform:translateY(1px)}.game-stage{width:var(--stage-width);box-sizing:border-box;justify-content:center;display:flex}.game-stage>.triangle-game-container{width:100%}.solutions-card{background:#f8fcffd9;border:1px solid #1d578a1f;border-radius:18px;width:min(920px,96vw);padding:14px;box-shadow:0 10px 24px #142a461a}.solutions-page{width:var(--stage-width);box-sizing:border-box;background:linear-gradient(150deg,#fcfffff2,#eff8ffeb);border:1px solid #184a7a1f;border-radius:20px;padding:18px;box-shadow:0 16px 36px #102a481f}.solutions-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.solutions-title-row{flex-wrap:nowrap;align-items:baseline;gap:10px;display:flex}.solutions-head h2{color:#143b63;margin:0;font-size:22px}.solutions-subtitle{color:#3b628c;white-space:nowrap;font-size:14px}.solutions-head p{color:#3b628c;white-space:nowrap;margin:0;font-size:14px}.empty-tip{color:#48698d;margin:12px 0 4px}.solutions-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:12px;display:grid}.pagination-bar{color:#234b74;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}.page-btn{color:#1a4674;cursor:pointer;background:#fffc;border:1px solid #123f6940;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.page-btn:disabled{opacity:.45;cursor:not-allowed}.solution-item{text-align:left;cursor:pointer;background:linear-gradient(160deg,#fdfefe 0%,#edf5fd 100%);border:1px solid #235e9324;border-radius:12px;padding:10px;transition:transform .15s,box-shadow .2s}.solution-item:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0e2d4b1f}.solution-item.selected{border-color:#14538f6b;box-shadow:0 0 0 2px #14538f1a}.solution-item p{color:#274f79;margin:2px 0;font-size:12px}.solution-rank{color:#fff;background:linear-gradient(135deg,#0284c7,#1d4ed8);border-radius:999px;padding:1px 8px;font-size:11px;display:inline-block}.solution-detail-panel{background:#ffffffc7;border:1px solid #1e507e24;border-radius:14px;margin-top:14px;padding:12px}.solution-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.solution-detail-head h3{color:#18436d;margin:0}.layout-switch{gap:8px;display:flex}.switch-btn{color:#1f4d79;cursor:pointer;background:#ffffffbd;border:1px solid #123f6933;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.switch-btn.active{color:#fff;background:linear-gradient(135deg,#1e73be,#1d4ed8);border-color:#0000}.solution-detail-content{margin-top:10px}.solution-detail-content p{color:#285179;margin:3px 0;font-size:13px}.solution-board-preview{background:#fafdff;border:1px solid #184a7a1f;border-radius:10px;width:100%;max-width:360px;margin-top:10px}.first-play-guide-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1500;background:#06142666;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.first-play-guide{text-align:left;background:linear-gradient(150deg,#fffffffa,#f0f8fff5);border:1px solid #184a7a29;border-radius:18px;width:min(620px,96vw);padding:18px;box-shadow:0 18px 36px #0b1f3638}.first-play-guide h2{color:#153d66;margin:0;font-size:24px}.first-play-guide p{color:#355a82;margin:10px 0 6px;font-size:14px}.first-play-guide ul{color:#1f4a75;margin:0;padding-left:20px}.first-play-guide li{margin:6px 0;line-height:1.5}.first-play-guide-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#0077b6,#023e8a);border:0;border-radius:999px;margin-top:14px;padding:10px 16px;font-size:14px;font-weight:700}.first-play-guide-btn:hover{filter:saturate(1.08)}.clear-solution-guide-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1600;background:#0614266b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.clear-solution-guide{text-align:left;background:linear-gradient(150deg,#fffffffa,#f1f9fff5);border:1px solid #184a7a2e;border-radius:18px;width:min(520px,94vw);padding:18px;box-shadow:0 16px 30px #0b1f3638}.clear-solution-guide h2{color:#134067;margin:0;font-size:24px}.clear-solution-guide p{color:#315f8a;margin:10px 0 0;font-size:14px;line-height:1.55}.clear-solution-guide-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.clear-solution-guide-btn,.clear-solution-guide-ghost{cursor:pointer;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700}.clear-solution-guide-btn{color:#fff;background:linear-gradient(135deg,#0077b6,#023e8a);border:0}.clear-solution-guide-ghost{color:#1a4674;background:#ffffffd9;border:1px solid #123f6947}@media (width<=900px){.app-header-card{text-align:center;justify-content:center;padding:14px}.lobby-copy{align-items:center}.lobby-stats{flex-wrap:wrap;justify-content:center;width:100%}.solutions-head{flex-direction:column;align-items:flex-start}.solutions-title-row{justify-content:flex-start;width:100%}.solution-detail-head{flex-direction:column;align-items:flex-start}.stat-item{min-width:134px}.first-play-guide,.clear-solution-guide{padding:14px}.clear-solution-guide-actions{flex-direction:column-reverse;justify-content:stretch}}
