:root{color-scheme:dark;--bg:#121513;--panel:#1a1f1b;--line:#333c33;--text:#ecf0e8;--muted:#99a496;--green:#c4ee95;--orange:#f0a085;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;font-size:14px;line-height:1.5}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.4;cursor:default}button,a{transition:color .15s,background .15s,border-color .15s}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:inherit}[hidden]{display:none!important}.site-shell{max-width:860px;margin:auto;padding:0 32px}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29312a}.wordmark{text-decoration:none;font:11px var(--mono);letter-spacing:2px;display:flex;align-items:center;gap:10px;color:#b3bead}.wordmark>span{font:34px/1 var(--mono);color:var(--green);letter-spacing:0}.quiet-button{font-size:12px;color:#c8d0c2;display:flex;align-items:center;gap:16px}.quiet-button>span{font-size:18px;color:var(--green)}.quiet-button:hover{color:var(--green)}main{max-width:680px;margin:auto}.intro{text-align:center;padding:37px 0 28px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.5px;margin:0 0 10px}h1{font-size:33px;letter-spacing:-1.8px;font-weight:750;margin:0 0 9px;line-height:1.35}h1>span{color:var(--green)}.mobile-break{display:none}.intro-copy{font-size:12px;color:var(--muted);margin:0}.simulator{background:var(--panel);border:1px solid #455140;border-radius:12px;overflow:hidden}.card-top{padding:15px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.card-top>span:first-child{font:9px var(--mono);letter-spacing:1.5px;color:#94a08a}.status-badge{font-size:10px;color:var(--green);background:#2c3825;padding:4px 8px;border:1px solid #405534;border-radius:4px}.status-badge>i{display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;vertical-align:middle;margin-right:5px}.equipment{text-align:center;padding:23px 25px 21px;background:radial-gradient(ellipse at 50% 40%,#b5eb8b09,transparent 60%)}.equipment-label{font-size:11px;color:#a3af9a;margin:0}.level-display{display:flex;align-items:baseline;justify-content:center;gap:15px;margin:6px 0 15px}.level-display>#star{font:88px/1.2 var(--mono);font-weight:300;letter-spacing:-7px;color:var(--green)}.level-limit{font:12px var(--mono);color:#77876d}.stars{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;max-width:315px;margin:0 auto;color:#45503e;font:12px/1.15 var(--mono)}.stars>span.filled{color:var(--green)}.outcome{color:#8e9c83;font-size:11px;min-height:17px;margin:15px 0 0}.spending{padding:21px 27px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#151b15}.metric-label{display:block;font-size:10px;color:#9ca992;margin-bottom:7px}.money{display:flex;gap:8px;align-items:baseline}.money>strong{font:28px var(--mono);letter-spacing:-1px;color:#dce8cf}.money>span{font:12px var(--mono);color:#9dab93}.attempts{text-align:right}.attempts>strong{font:21px var(--mono);font-weight:400}.attempts>strong>span{font:10px sans-serif;color:#a0ad95;margin-left:5px}.probabilities{display:grid;grid-template-columns:repeat(3,1fr);padding:19px 27px 18px;gap:20px}.probabilities>div>span{display:block;font-size:10px;color:#a2af99;margin-bottom:5px}.probabilities strong{font:23px var(--mono);letter-spacing:-.5px}.probabilities strong>span{font-size:12px;margin-left:2px}.probabilities>div:first-child strong{color:var(--green)}.probabilities>div:last-child strong{color:var(--orange)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:7px;vertical-align:middle}.green{background:var(--green)}.gray{background:#8a9980}.orange{background:var(--orange)}.probabilities b{font-weight:400;font-size:8px;border:1px solid #74513e;padding:1px 4px;color:var(--orange);margin-left:4px}.controls{padding:0 24px}.primary{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#1a2315;width:100%;border-radius:6px;padding:17px 19px;font-weight:650;font-size:14px}.primary:hover:not(:disabled){background:#d7ffac}.primary>span:last-child{font:12px var(--mono);font-weight:500}.primary b{font-weight:500;font-size:18px;margin-left:14px}.primary kbd{font:8px var(--mono);border:1px solid #7fa15e;padding:2px 4px;border-radius:2px;opacity:.7;margin-left:7px}.secondary-controls{display:flex;gap:18px;margin-top:10px;align-items:center}.secondary{border:1px solid #4b5b43;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 16px;font-size:12px;color:#d0dcc7}.secondary-controls>.secondary{flex:1}.secondary:hover:not(:disabled){background:#293525;border-color:var(--green);color:var(--green)}.restart-button{font-size:11px;color:#9fab96;white-space:nowrap}.restart-button:hover{color:var(--text)}.card-note{text-align:center;font-size:9px;color:#809075;margin:15px 12px 20px}.under-card{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px}.under-card>button{font-size:10px;color:#9eac93;padding:0}.under-card>button>span{margin-left:5px}.under-card>span{font:9px var(--mono);color:#6f8064}footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#687a5e;border-top:1px solid #29312a;padding:21px 0;margin-top:40px}.simulator.destroyed{border-color:#8d6048}.simulator.destroyed .status-badge{color:var(--orange);background:#3c2c23;border-color:#78513f}.simulator.destroyed #star{color:var(--orange)}.simulator.destroyed .level-limit{color:#b48c76}.simulator.destroyed .outcome{color:var(--orange)}.simulator.destroyed .equipment-label{color:#c2aa97}.simulator.destroyed .stars>span.filled{color:#e6b08c}.simulator.max .status-badge{color:#d0c4ff;background:#342e44;border-color:#625679}.simulator.max #star{color:#d0c4ff}.result-score{padding:24px;display:flex;align-items:center;gap:19px}.rank{font:64px/1 var(--mono);font-weight:700;letter-spacing:-4px;color:var(--green);min-width:75px}.rank[data-rank="SSS"]{font-size:47px;min-width:95px}.rank[data-rank="SS"]{font-size:54px;min-width:85px}.rank-copy{flex:1;min-width:0}.rank-copy .metric-label{margin-bottom:3px;font-size:9px}.rank-copy h2{font-size:18px;letter-spacing:-.7px;font-weight:600;margin:0}.rank-copy p{font-size:10px;color:var(--muted);margin:5px 0 0;word-break:keep-all}.score{text-align:right}.score>.metric-label{margin-bottom:4px}.score>strong{display:block;font:28px var(--mono);color:var(--green);letter-spacing:-1.5px}.score>span:last-child{font:9px var(--mono);color:#839976}.score-breakdown{margin:0 24px 22px;padding:10px 12px;background:#151b15;border-radius:4px;display:flex;justify-content:center;gap:18px;color:#86997b;font-size:9px}.score-breakdown b{font:10px var(--mono);font-weight:400;color:#b0c2a3;margin-left:4px}.result-actions{display:flex;gap:10px;padding:0 24px}.result-actions>.primary{flex:1;font-size:12px;padding:15px}.result-actions>.secondary{flex:1;font-size:12px;justify-content:space-between;padding:15px}.retry{width:100%;padding:18px;font-size:11px;color:#b8c9ab}.retry>span{margin-left:12px;color:var(--green)}.retry:hover{background:#222e1e}.under-card>button:hover{color:var(--green)}.pulse{animation:pulse .22s ease}@keyframes pulse{0%{background-color:#c4ee9525}100%{background-color:transparent}}.burst{animation:burst .5s ease}@keyframes burst{0%,25%{box-shadow:0 0 65px #edac8640}100%{box-shadow:none}}dialog{width:560px;max-width:calc(100% - 28px);max-height:85vh;padding:0;background:#1a211a;border:1px solid #57654d;border-radius:10px;color:var(--text);box-shadow:0 24px 90px #0009}dialog::backdrop{background:#080d09d9;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;background:#1a211a;position:sticky;top:0;padding:17px 22px;border-bottom:1px solid var(--line);z-index:2;font-size:12px;color:var(--green)}.modal-head>button{font:25px var(--mono);padding:0 3px;color:#9aaa8e}#modal-body{padding:22px}#modal-body h2{font-size:19px;margin:0 0 14px}#modal-body h3{font-size:12px;margin-top:23px}#modal-body p{font-size:11px;color:#acbba0;line-height:1.9}#modal-body a{color:var(--green)}.formula{border:1px solid #45563a;background:#25321f;border-radius:5px;padding:13px;font-size:12px;color:var(--green);line-height:2}.grade-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.grade-row{font-size:10px;display:flex;justify-content:space-between;padding:8px 10px;background:#141b13;border-radius:3px;color:#aebfa1}.grade-row>b{font-family:var(--mono);color:var(--green)}.rates{width:100%;border-collapse:collapse;font:11px var(--mono)}.rates td,.rates th{text-align:right;padding:8px 5px;border-bottom:1px solid #35402f}.rates td:first-child,.rates th:first-child{text-align:left}.rates td:last-child{color:var(--orange)}.rates th{font-size:9px;color:#9daf90}.rate-details summary{cursor:pointer;font-size:11px;color:var(--green);padding:10px 0}.link-field{display:flex;gap:8px;margin-top:15px}.link-field input{min-width:0;flex:1;background:#111810;border:1px solid #485c3c;border-radius:5px;padding:10px;color:#d3e2c6;font:11px var(--mono)}.link-field button{padding:10px;background:var(--green);color:#15200f;border-radius:5px;font-size:11px}.result-preview{display:block;width:100%;height:auto;border-radius:5px;border:1px solid #405435}.image-hint{text-align:center}.image-download{display:flex;text-decoration:none;justify-content:center;gap:15px;background:var(--green);color:#172410!important;padding:13px;border-radius:5px;font-size:12px;font-weight:600;margin-top:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;max-width:calc(100% - 32px);background:#2b3923;color:var(--green);border:1px solid #647b4e;border-radius:7px;padding:12px 19px;font-size:11px;box-shadow:0 8px 40px #0006;z-index:10;transition:transform .15s,opacity .15s;white-space:normal;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){.site-shell{padding:0 18px}header{height:69px}.wordmark{font-size:9px;letter-spacing:1.6px}.wordmark>span{font-size:29px}.quiet-button{font-size:11px;gap:10px}.intro{padding:28px 0 24px}h1{font-size:28px;letter-spacing:-1.5px}.eyebrow{font-size:10px}.intro-copy{font-size:11px}.card-top{padding:13px 18px}.card-top>span:first-child{font-size:8px;letter-spacing:1px}.status-badge{font-size:9px}.equipment{padding:21px 18px 19px}.equipment-label{font-size:10px}.level-display>#star{font-size:83px}.level-display{margin:8px 0 15px;gap:13px}.level-limit{font-size:11px}.stars{max-width:270px;font-size:11px}.outcome{font-size:10px;margin-top:14px}.spending{padding:19px 20px}.metric-label{font-size:9px}.money>strong{font-size:26px}.attempts>strong{font-size:20px}.probabilities{padding:19px 20px;gap:10px}.probabilities>div>span{font-size:9px}.probabilities strong{font-size:22px}.probabilities b{font-size:7px;margin-left:3px}.controls{padding:0 17px}.primary{padding:16px 14px;font-size:13px}.primary>span:last-child{font-size:11px}.primary b{margin-left:8px;font-size:16px}.primary kbd{font-size:7px;margin-left:5px}.secondary-controls{gap:14px}.secondary{font-size:11px;padding:12px}.restart-button{font-size:10px}.card-note{font-size:8px;margin:14px 9px 17px}.under-card{margin-top:16px}.under-card>button{font-size:9px}.under-card>span{font-size:8px}footer{margin-top:30px;font-size:8px;gap:10px;flex-wrap:wrap;padding:18px 0}.result-score{padding:21px 18px;gap:13px;flex-wrap:wrap}.rank{font-size:54px;min-width:65px}.rank-copy h2{font-size:17px}.rank-copy p{font-size:9px}.score{margin-left:auto}.score>strong{font-size:24px}.score>.metric-label{font-size:8px}.rank[data-rank="SSS"]{font-size:41px;min-width:82px}.rank[data-rank="SS"]{font-size:47px;min-width:75px}.result-score .rank-copy{min-width:120px}.score-breakdown{margin:0 17px 20px;font-size:8px;gap:10px;padding:9px 7px}.score-breakdown b{font-size:9px}.result-actions{padding:0 17px;gap:9px}.result-actions>.primary,.result-actions>.secondary{font-size:11px;padding:14px 12px}.retry{font-size:10px;padding:17px}#modal-body{padding:19px}}@media(max-width:370px){h1{font-size:29px}.mobile-break{display:block}.probabilities strong{font-size:20px}.money>strong{font-size:22px}.primary kbd{display:none}.primary>span:last-child{font-size:10px}.score{width:100%;display:flex;align-items:baseline;gap:7px;padding-top:12px;border-top:1px solid var(--line)}.score>.metric-label{margin-right:auto}.score>strong{font-size:25px}.under-card{align-items:flex-start}.under-card>span{text-align:right;max-width:100px;font-size:7px}.grade-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* 22-star spend challenge */
.equipment{padding-top:20px;padding-bottom:18px}.stars{grid-template-columns:repeat(11,1fr);max-width:250px;gap:5px;font-size:13px}.spending{display:block;padding:20px 27px 15px}.spending>.metric-label{display:flex;justify-content:space-between;align-items:center}.receipt-label{font:8px var(--mono);color:#809475}.money>strong{font-size:31px;overflow-wrap:anywhere}.spent-readable{font-size:11px;color:var(--green);margin:5px 0 12px;min-height:16px}.cost-breakdown{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed #394330;padding-top:12px;font-size:9px;color:#839577}.cost-breakdown>span{display:flex;flex-wrap:wrap;gap:4px 8px}.cost-breakdown b{color:#b6c7a7;font:9px var(--mono);font-weight:400}.run-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 27px;border-bottom:1px solid var(--line);gap:15px}.run-metrics>div:nth-child(2){text-align:center}.run-metrics>div:last-child{text-align:right}.run-metrics .metric-label{font-size:9px;margin-bottom:3px}.run-metrics strong{font:20px var(--mono);font-weight:400}.run-metrics strong>span{font:9px sans-serif;color:#9daa93;margin-left:5px}.run-metrics>div:nth-child(2) strong{color:var(--orange)}.outcome{min-height:34px;max-width:500px;margin:13px auto 0;line-height:1.7;word-break:keep-all}.level-display{margin:4px 0 12px}.celebration{padding:24px 25px 18px;border-bottom:1px solid #34432c;background:#222e1c}.mini-caption{color:#8ba276;letter-spacing:.4px;font-size:9px}.celebration h2{color:var(--green);font-size:21px;font-weight:650;line-height:1.6;letter-spacing:-.6px;margin:8px 0 12px;word-break:keep-all}.celebration p{font-size:12px;line-height:1.9;color:#b6c5a7;margin:0;word-break:keep-all}.simulator.completed{border-color:#92b76b}.simulator.completed .status-badge{color:var(--green);background:#344828;border-color:#799d58}.result-score{gap:16px}.rank-copy h2{font-size:18px}.score>strong{font-size:25px}.score-breakdown{font-size:9px}.simulator.replacing .status-badge{color:var(--orange);background:#3c2c23;border-color:#78513f}.simulator.replacing #star{color:var(--orange)}.simulator.replacing .outcome{color:var(--orange)}.note-box{border:1px solid #71513e;background:#34281e;border-radius:5px;padding:12px;font-size:11px;color:#e9bc9d;line-height:1.9}.costs-table{font-size:10px}.costs-table td{white-space:nowrap}footer a{text-decoration:none;color:#90a47f;font-size:9px}footer a:hover{color:var(--green)}.manual-pace{color:#8ea57e}.mobile-cost{font:10px var(--mono)}.toast.break-toast{background:#3b2d24;color:var(--orange);border-color:#967155}@media(max-width:600px){.spending{padding:17px 20px 14px}.money>strong{font-size:26px;letter-spacing:-1px}.spent-readable{font-size:10px}.cost-breakdown{font-size:8px;gap:9px;align-items:start}.cost-breakdown b{font-size:8px}.cost-breakdown>span{max-width:49%}.run-metrics{padding:13px 20px;gap:10px}.run-metrics .metric-label{font-size:8px}.run-metrics strong{font-size:19px}.outcome{font-size:10px;min-height:34px}.equipment{padding-bottom:17px}.equipment-label{font-size:9px}.celebration{padding:20px 19px 16px}.celebration h2{font-size:18px;line-height:1.65}.celebration p{font-size:11px}.result-score{gap:12px}.result-score .rank-copy{min-width:110px}.rank-copy h2{font-size:16px}.rank-copy .metric-label{font-size:8px}.score>strong{font-size:23px}.score-breakdown{font-size:8px;line-height:1.8}.score-breakdown>span{text-align:center}footer{justify-content:space-between;gap:13px}footer>span:first-child{width:100%}footer a{font-size:8px}.primary>span:last-child{font-size:10px}.probabilities b{font-size:7px}.card-note{font-size:8px;line-height:1.8;margin-left:15px;margin-right:15px}}@media(max-width:370px){.money>strong{font-size:24px}.card-top>span:first-child{font-size:7px}.level-display>#star{font-size:77px}.primary>span:last-child{font-size:9px}.cost-breakdown b{font-size:7px}.celebration h2{font-size:17px}.grade-list{grid-template-columns:1fr}.run-metrics{gap:5px}}
/* Reserved banner space: beside the game on wide screens, below it on mobile. */
.site-shell{max-width:1120px}
.play-layout{display:grid;grid-template-columns:minmax(0,680px) 300px;gap:32px;justify-content:center;align-items:start}
.play-layout>main{width:100%;min-width:0;margin:0;max-width:680px}
.ad-sidebar{width:300px;margin-top:163px;align-self:start}
.ad-label{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#7a8a71;line-height:15px;margin-bottom:8px}
.ad-label>span:last-child{font:8px var(--mono)}
.ad-slot{width:300px;height:250px;min-height:250px;overflow:hidden;background:#171d17;contain:layout paint;isolation:isolate}
.ad-frame{display:block;width:300px;height:250px;border:0;margin:0;padding:0;background:transparent}
@media(max-width:1099px){
 .site-shell{max-width:860px}
 .play-layout{display:block}
 .play-layout>main{margin:0 auto}
 .ad-sidebar{position:relative;left:50%;transform:translateX(-50%);margin:34px 0 0}
}
@media(max-width:600px){.ad-sidebar{margin-top:32px}.ad-label{font-size:8px}}
