.game-shell{box-sizing:border-box;background:var(--g-bg);min-height:100%;color:var(--g-text);place-items:center;padding:20px;font-family:DM Mono,monospace;display:grid}.game-card{box-sizing:border-box;border:1px solid var(--g-border);background:var(--g-surface);border-radius:18px;width:min(900px,100%);padding:28px 34px}.game-card--wide{width:min(1100px,100%)}.game-mark{letter-spacing:.18em;text-align:center;font-size:28px;font-weight:800}.game-mark--small{text-align:left;font-size:18px}.game-subtitle{color:var(--g-muted);text-align:center;margin:6px 0 24px;font-size:11px}.game-head{justify-content:space-between;align-items:flex-end;display:flex}.game-head span{color:var(--g-muted);margin-top:4px;font-size:9px;display:block}.game-head strong{font-size:16px;font-weight:400}.game-page{color:var(--g-muted-2);text-align:center;margin-top:18px;font-size:9px}.game-focus{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.game-card--focus{position:relative}.game-card--focus>.game-mark{text-align:left;font-size:18px;position:absolute;top:24px;left:24px}.game-focus span{color:var(--g-muted);letter-spacing:.16em;font-size:10px}.game-focus strong{margin:16px 0 12px;font-size:clamp(72px,12vw,110px);font-weight:800;line-height:.8}.game-focus small{color:var(--g-muted-2);letter-spacing:.08em;font-size:10px}.game-level{border-block:1px solid var(--g-border-soft);text-align:center;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;padding:14px 0;display:grid}.game-level span,.game-level small{color:var(--g-muted);font-size:9px;display:block}.game-level strong{margin:2px 0;font-size:20px;display:block}.game-level button,.game-nav button{border:1px solid var(--g-border);height:42px;color:var(--g-text);cursor:pointer;font:inherit;background:0 0;border-radius:8px;font-size:18px}.game-level button:disabled,.game-nav button:disabled{opacity:.2;cursor:not-allowed}.game-config{margin:24px 0 10px;display:block}.game-config>span{color:var(--g-muted);letter-spacing:.12em;margin-bottom:8px;font-size:9px;display:block}.game-config input,.game-config select{box-sizing:border-box;border:1px solid var(--g-border);background:var(--g-input);width:100%;height:52px;color:var(--g-text);font:inherit;border-radius:9px;outline:none;padding:0 16px;font-size:16px}.game-config input:focus,.game-config select:focus{border-color:var(--g-text)}.game-config small{color:var(--g-muted-2);margin-top:7px;font-size:9px;display:block}.game-preview{border:1px solid var(--g-border-faint);color:var(--g-muted);white-space:nowrap;border-radius:8px;margin-bottom:18px;padding:12px;font-size:11px;overflow:hidden}.game-btn-primary{background:var(--g-primary-bg);width:100%;min-height:42px;color:var(--g-primary-text);cursor:pointer;font:inherit;letter-spacing:.06em;border:0;border-radius:9px;padding:12px 16px;font-weight:700}.game-btn-primary:hover:not(:disabled){opacity:.9}.game-btn-primary:disabled{opacity:.25;cursor:not-allowed}.game-btn-primary--sm{width:auto;min-width:130px}.game-btn-save{color:var(--g-muted);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin:10px auto 0;padding:0;font-size:11px;text-decoration:underline;display:block}.game-btn-save:hover{color:var(--g-text)}.game-chunks{justify-content:center;align-items:center;gap:18px;min-height:250px;display:flex}.game-chunks span{border:1px solid var(--g-border);background:var(--g-input);border-radius:8px;padding:14px 18px;font-size:32px}.game-nav{grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;display:grid}.game-nav span{color:var(--g-muted-2);text-align:center;font-size:9px}.game-result-scroll{scrollbar-gutter:stable;height:100%;min-height:0;padding:20px;display:block;overflow:hidden auto}.game-result-scroll .game-card{margin:0 auto 20px}.game-result-top{justify-content:space-between;align-items:center;gap:24px;margin-top:10px;display:flex}.game-score{letter-spacing:-.035em;align-items:baseline;font-size:clamp(48px,6vw,64px);font-weight:700;line-height:.95;display:flex}.game-score span{color:var(--g-muted-2);letter-spacing:-.01em;margin-left:5px;font-size:23px;font-weight:400}.game-result-message{color:var(--g-muted);margin:8px 0 14px;font-size:10px}.game-stats{border-block:1px solid var(--g-border-soft);grid-template-columns:repeat(4,1fr);margin:20px 0;display:grid}.game-stats>div{text-align:center;border-right:1px solid var(--g-border-soft);padding:14px 10px}.game-stats>div:last-child{border-right:0}.game-stats small{color:var(--g-muted-2);letter-spacing:.1em;margin-bottom:5px;font-size:8px;display:block}.game-stats strong{color:var(--g-text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;display:block}.game-comparison{text-align:left;grid-template-columns:1fr;gap:20px;margin:0;display:grid}.game-comparison-col{min-width:0}@media (width<=700px){.game-shell{padding:10px}.game-card{border-radius:14px;padding:20px 16px}.game-chunks{gap:8px;min-height:220px}.game-chunks span{padding:12px 10px;font-size:24px}.game-result-top{align-items:flex-end}.game-comparison{grid-template-columns:1fr;gap:14px}.game-stats>div{padding:12px 4px}.game-stats strong{font-size:12px}}.game-toast{z-index:20;border:1px solid var(--g-border-soft);background:var(--g-surface);color:var(--g-text);letter-spacing:.04em;pointer-events:none;padding:8px 10px;font-size:10px;line-height:1.2;animation:2.8s forwards game-toast-in;position:absolute;top:14px;left:14px}@keyframes game-toast-in{0%{opacity:0;transform:translateY(-4px)}12%,82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.cards-setup-header{justify-content:center;align-items:center;display:flex;position:relative}.cards-settings{width:34px;height:34px;color:var(--g-muted-2);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.cards-settings:hover{color:var(--g-text)}.cards-settings:before{content:"";background:currentColor;width:22px;height:22px;display:block;-webkit-mask:url(/icons/settings.svg) 50%/contain no-repeat;mask:url(/icons/settings.svg) 50%/contain no-repeat}.cards-setup-switcher{grid-template-areas:"content";width:100%;min-width:0;display:grid;overflow:hidden}.cards-setup-switcher>.cards-setup-content,.cards-setup-switcher>.cards-settings-view{box-sizing:border-box;grid-area:content;width:100%;min-width:0}.cards-setup-content,.cards-settings-view{transition:opacity .12s ease-out,transform .18s ease-out,visibility 0s linear .18s}.cards-setup-content{opacity:1;visibility:visible;transform:translateY(0)}.cards-settings-view{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px)}.cards-setup-switcher.settings-open .cards-setup-content{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px)}.cards-setup-switcher.settings-open .cards-settings-view{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s ease-out,transform .18s ease-out,visibility linear;transform:translateY(0)}.cards-setup-meta{border-block:1px solid var(--g-border-soft);grid-template-columns:1fr 1fr;margin:12px 0;display:grid}.cards-setup-meta>div{flex-direction:column;align-items:center;gap:4px;padding:10px 12px;display:flex}.cards-setup-meta>div+div{border-left:1px solid var(--g-border-soft)}.cards-setup-meta small,.cards-example>span,.cards-setup-step>span,.cards-setting-group>span{letter-spacing:.08em;color:var(--g-muted);font-size:9px;font-weight:700}.cards-setup-meta strong{color:var(--g-text);font-size:15px;font-weight:700}.cards-example{border:1px solid var(--g-border-soft);background:var(--g-input);border-radius:8px;flex-direction:column;align-items:center;gap:6px;margin-top:10px;padding:10px 18px;display:flex}.cards-example-groups{justify-content:center;align-items:center;gap:7px;min-height:31px;display:flex}.cards-example-stack{justify-content:center;align-items:flex-start;height:44px;display:flex}.cards-example-card{color:#17191d;box-sizing:border-box;background:#fff;border:1px solid #c9cdd3;border-radius:6px;flex-direction:column;flex:0 0 31px;justify-content:flex-start;align-items:flex-start;width:31px;height:44px;padding:4px 0 0 5px;display:flex}.cards-example-card .fan-rank{font-size:9px;line-height:1.1}.cards-example-card .fan-sym{font-size:8px;line-height:1}.cards-example-card+.cards-example-card{margin-left:-16px}.cards-example-card.red{color:#dc2626}.cards-example-stack:has(.cards-example-card:only-child){align-items:center}.cards-example-card:only-child{justify-content:center;align-items:center;gap:1px;padding:0}.cards-setup-bottom{margin-top:16px}.cards-setup-bottom .game-btn-primary{width:100%}.cards-settings-panel{border:1px solid var(--g-border);background:var(--g-input);border-radius:10px;margin-top:14px;padding:10px 14px}.cards-settings-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cards-settings-header strong{letter-spacing:.1em;font-size:10px}.cards-settings-header button{color:var(--g-muted-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px}.cards-settings-header button:hover{color:var(--g-text)}.cards-setting-group{flex-direction:column;gap:7px;display:flex}.cards-grouping-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cards-grouping-option{border:1px solid var(--g-border);background:var(--g-input);color:var(--g-muted);font-family:var(--font-mono,monospace);cursor:pointer;border-radius:7px;padding:9px 0;font-size:13px;font-weight:700;transition:border-color .12s,background .12s,color .12s}.cards-grouping-option:hover{border-color:var(--g-text);background:var(--g-hover);color:var(--g-text)}.cards-grouping-option.active{border-color:var(--g-accent-light);background:var(--g-hover);color:var(--g-text)}.cards-setting-group small{color:var(--g-muted);font-size:10px}.cards-result-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.cards-result-actions .game-btn-primary,.cards-result-actions .game-btn-save{width:100%}@media (width<=600px){.cards-setup-meta{gap:6px}.cards-setup-meta>div,.cards-example{padding:9px 10px}.cards-result-actions{flex-direction:column}.cards-result-actions .game-btn-primary,.cards-result-actions .game-btn-save{width:100%}}.cards-hud2{justify-content:center;align-items:center;min-height:30px;margin-bottom:14px;display:flex;position:relative}.cards-placed-center{color:var(--g-muted);letter-spacing:.02em;font-size:12px;font-weight:600}.cards-timer-tr{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:700;position:absolute;top:0;right:0}.cards-timer-tr.low{color:var(--g-wrong)}.cards-big{box-sizing:border-box;color:#17191d;user-select:none;background-color:#fff;border:2px solid #c9cdd3;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:200px;display:flex;position:relative}.cards-big.red{color:#dc2626;border-color:#dc2626}.cards-big.overlap{margin-left:-95px}.cards-corner{flex-direction:column;align-items:center;font-size:22px;font-weight:800;line-height:1;display:flex;position:absolute}.cards-corner.top{top:9px;left:11px}.cards-corner.bot{bottom:9px;right:11px;transform:rotate(180deg)}.cards-corner span:last-child{font-size:20px}.cards-center{font-size:60px;line-height:1}.cards-stage{justify-content:center;align-items:center;min-height:230px;padding:20px 0 24px;display:flex}.cards-nav{color:var(--g-muted);text-align:center;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.cards-nav-btn{border:1px solid var(--g-border);background:var(--g-surface);color:var(--g-text);cursor:pointer;border-radius:8px;flex-shrink:0;padding:8px 18px;font-size:14px;font-weight:700;transition:border-color .12s,background .12s}.cards-nav-btn:hover:not(:disabled){border-color:var(--g-text);background:var(--g-hover)}.cards-nav-btn:disabled{opacity:.3;cursor:default}.game-card--wide{width:min(1200px,100%);margin-inline:auto}.cards-recall-wrap{flex-direction:column;gap:5px;margin:8px 0;display:flex}.cards-recall-row{grid-template-columns:repeat(26,minmax(0,1fr));gap:3px;display:grid}.cards-rslot{aspect-ratio:2/3;border:1px solid var(--g-border);background:var(--g-surface);cursor:pointer;user-select:none;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:100%;font-weight:700;line-height:1.1;transition:border-color 80ms,background 80ms,transform 60ms;display:flex;position:relative}.cards-rslot.empty{background:var(--g-input);color:var(--g-muted)}.cards-rslot.red{color:#e53e3e}.cards-rslot.sel{border-color:var(--g-accent-light);background:var(--g-hover);z-index:2;border-width:2px;transform:translateY(-2px)}.cards-rslot:hover:not(.sel){border-color:var(--g-text);background:var(--g-hover)}.rs-num{color:var(--g-muted);font-size:8px}.rs-rank{font-size:clamp(8px,1.3vw,13px)}.rs-sym{font-size:clamp(7px,1.1vw,11px)}.cards-fan-wrap{width:100%;height:clamp(64px,9vw,96px);margin-top:8px;padding-top:4px;position:relative}.cards-fan-heading{border-top:1px solid var(--g-border-soft);letter-spacing:.06em;color:var(--g-muted);margin-top:26px;margin-bottom:8px;padding-top:18px;font-size:11px;font-weight:700}.cards-fan-btn{cursor:pointer;background:0 0;border:0;height:calc(100% - 4px);padding:0;position:absolute;top:4px}.cards-fan-btn:not(.used):hover .cards-fan-card{background:var(--g-hover);border-color:#17191d}.cards-fan-btn:not(.used):active .cards-fan-card{border-color:var(--g-text);background:var(--g-input)}.cards-fan-btn.used{cursor:default}.cards-fan-card{color:#17191d;box-sizing:border-box;background:#fff;border:1px solid #c9cdd3;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;width:100%;height:100%;padding:6px 0 0 7px;transition:border-color .1s;display:flex}.cards-fan-card.red{color:#dc2626}.cards-fan-card.used{opacity:.3;pointer-events:none}.fan-rank{font-size:clamp(10px,1.35vw,15px);font-weight:800;line-height:1.15}.fan-sym{font-size:clamp(9px,1.2vw,14px);line-height:1}.cards-result-title{text-align:center;letter-spacing:.12em;color:var(--g-text);font-size:22px;font-weight:600}.cards-result-divider{background:var(--g-border-soft);height:1px;margin:18px 0}@media (width<=700px){.cards-result-title{font-size:20px}}@media (width<=420px){.cards-result-stats{gap:4px}.cards-result-stats strong{font-size:13px}}.cards-rescard{aspect-ratio:2/3;cursor:default;border:1.5px solid var(--g-border);background:var(--g-surface);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;font-weight:700;line-height:1.1;display:flex}.cards-rescard.exp.correct,.cards-rescard.fill.correct{border-color:var(--g-border);background:var(--g-surface);color:var(--g-correct)}.cards-rescard.exp.wrong,.cards-rescard.fill.wrong{border-color:var(--g-border);background:var(--g-surface);color:var(--g-wrong)}.cards-rescard.exp.neutral{border-color:var(--g-border);background:var(--g-surface)}.cards-rescard.exp.red,.cards-rescard.fill.red{color:#dc2626}.cards-rescard.exp:not(.red),.cards-rescard.fill:not(.red){color:var(--g-text)}.cards-rescard.empty{border-color:var(--g-border);background:0 0}.rc-rank{font-size:clamp(8px,1.3vw,13px)}.rc-sym{font-size:clamp(7px,1.1vw,11px)}@media (width<=600px){.cards-big{width:96px;height:138px}.cards-big.overlap{margin-left:-65px}.cards-corner{font-size:15px}.cards-corner span:last-child{font-size:14px}.cards-center{font-size:38px}.cards-timer-tr{font-size:16px}.cards-recall-row{grid-template-columns:repeat(13,minmax(0,1fr));gap:2px}.rs-rank{font-size:7px}.rs-sym{font-size:6px}.cards-fan-wrap{box-sizing:border-box;grid-template-columns:repeat(13,1fr);grid-auto-rows:48px;gap:4px;height:auto;padding-top:4px;display:grid;position:relative;overflow:visible}.cards-fan-btn{height:48px;position:relative;top:auto;z-index:auto!important;width:auto!important;left:auto!important}.cards-fan-card{border-radius:6px;padding:4px 0 0 5px}.fan-rank{font-size:9px}.fan-sym{font-size:8px}.rc-rank{font-size:7px}.rc-sym{font-size:6px}}.cards-review-cards{justify-content:center;align-items:center;gap:5px;min-width:0;padding:6px 4px;display:flex}.cards-review-cards .cards-rescard{aspect-ratio:auto;border-radius:4px;flex:0 0 24px;width:24px;height:34px}@media (width<=600px){.cards-review-cards{gap:3px;padding:5px 2px}.cards-review-cards .cards-rescard{flex-basis:20px;width:20px;height:29px}.cards-review-cards .rc-rank{font-size:7px}.cards-review-cards .rc-sym{font-size:6px}}
