.cgc-app{max-width:900px;margin:0 auto;padding:0 1rem 2rem}.cgc-stage{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#94a3b826);border-radius:var(--radius-lg,20px);margin-top:1rem;padding:1.25rem 1rem 1.5rem}.cgc-head{text-align:center;margin-bottom:1rem}.cgc-badge{letter-spacing:.02em;color:#a5b4fc;background:#818cf81f;border:1px solid #818cf84d;border-radius:9999px;margin-bottom:.6rem;padding:.25rem .7rem;font-size:.72rem;font-weight:700;display:inline-block}.cgc-title{color:var(--text-primary,#f8fafc);margin:0 0 .4rem;font-size:1.5rem;font-weight:800}.cgc-lead{color:var(--text-secondary,#94a3b8);margin:0;font-size:.9rem;line-height:1.6}.cgc-hud{grid-template-columns:repeat(3,1fr) auto;align-items:stretch;gap:.5rem;max-width:400px;margin:0 auto .75rem;display:grid}.cgc-stat{text-align:center;background:#0f172a99;border:1px solid #94a3b824;border-radius:12px;min-width:0;padding:.45rem .5rem}.cgc-stat-label{letter-spacing:.04em;color:var(--text-secondary,#94a3b8);margin-bottom:.15rem;font-size:.62rem;display:block}.cgc-stat-value{color:var(--text-primary,#f8fafc);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;display:block}.cgc-stat-value.is-hot{color:#fcd34d}.cgc-next{text-align:center;background:#0f172a99;border:1px solid #94a3b824;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:62px;padding:.35rem .5rem;display:flex}.cgc-next canvas{width:48px;height:34px;display:block}.cgc-board-wrap{max-width:400px;margin:0 auto;position:relative}.cgc-board{aspect-ratio:360/520;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#0b1220;border:1px solid #94a3b82e;border-radius:14px;width:100%;display:block}.cgc-overlay{backdrop-filter:blur(2px);text-align:center;background:#080d1ad1;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0}.cgc-overlay[hidden]{display:none!important}.cgc-overlay-title{color:#f8fafc;margin:0;font-size:1.35rem;font-weight:800}.cgc-overlay-sub{color:#94a3b8;margin:0;font-size:.85rem;line-height:1.6}.cgc-hint-keys{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.2rem;display:flex}.cgc-hint-keys kbd{color:#cbd5e1;background:#94a3b824;border:1px solid #94a3b847;border-radius:6px;padding:.12rem .4rem;font-size:.72rem}.cgc-result-rank{background:linear-gradient(135deg,#a5b4fc 0%,#6ee7b7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.6rem;font-weight:900;line-height:1}.cgc-result-title{color:#f8fafc;margin:0;font-size:1.1rem;font-weight:800}.cgc-result-score{color:#fcd34d;font-variant-numeric:tabular-nums;margin:0;font-size:1.9rem;font-weight:900}.cgc-result-meta{color:#94a3b8;margin:0;font-size:.78rem;line-height:1.6}.cgc-best-badge{color:#0b1220;background:#fcd34d;border-radius:9999px;padding:.18rem .6rem;font-size:.7rem;font-weight:800;display:inline-block}.cgc-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.3rem;display:flex}.cgc-btn{color:#f8fafc;cursor:pointer;touch-action:manipulation;background:#1e293be6;border:1px solid #94a3b840;border-radius:9999px;min-height:44px;padding:0 1.1rem;font-size:.9rem;font-weight:700;transition:background .18s,transform .18s}.cgc-btn:hover{background:#273549}.cgc-btn:active{transform:translateY(1px)}.cgc-btn.is-primary{background:var(--primary-accent,#6366f1);border-color:#0000}.cgc-btn.is-primary:hover{background:var(--primary-hover,#4f46e5)}.cgc-pad{grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:400px;margin:.75rem auto 0;display:grid}.cgc-pad button{color:#e2e8f0;cursor:pointer;touch-action:manipulation;background:#1e293be6;border:1px solid #94a3b833;border-radius:14px;min-height:54px;font-size:1.15rem;font-weight:700}.cgc-pad button:active{background:#273549}.cgc-pad .cgc-pad-drop{color:#a5b4fc;grid-column:span 1;font-size:.82rem}.cgc-toolbar{justify-content:center;gap:.5rem;margin-top:.6rem;display:flex}.cgc-guide-bar{text-align:center;max-width:400px;margin:1rem auto 0}.cgc-guide-bar button{color:#94a3b8;cursor:pointer;background:0 0;border:1px dashed #94a3b84d;border-radius:12px;width:100%;min-height:44px;font-size:.85rem;font-weight:600}.cgc-guide-bar button:hover{color:#cbd5e1;border-color:#94a3b880}.tool-guide .cgc-piece-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.tool-guide .cgc-piece-list li{background:#0f172a80;border:1px solid #94a3b824;border-radius:10px;margin:0;padding:.6rem .7rem;font-size:.85rem}.tool-guide .cgc-piece-list b{color:#e2e8f0;margin-bottom:.15rem;display:block}.tool-guide .cgc-shape{font-family:var(--font-mono);color:#a5b4fc;white-space:pre;margin-top:.3rem;font-size:.78rem;line-height:1.15;display:block}@media (width<=430px){.cgc-app{padding:0 .6rem 1.5rem}.cgc-stage{padding:1rem .6rem 1.2rem}.cgc-title{font-size:1.3rem}.cgc-hud{grid-template-columns:repeat(3,1fr) auto;gap:.35rem}.cgc-stat{padding:.35rem .25rem}.cgc-stat-value{font-size:.92rem}.cgc-next{min-width:54px}}@media (prefers-reduced-motion:reduce){.cgc-btn,.cgc-pad button{transition:none}}
