:root{color-scheme:dark;--bg:#09171c;--ink:#e7eee1;--muted:#92aaa9;--line:#b9d7c52b;--mint:#a7efd3;--gold:#e7b18a;font-family:'Pretendard','Malgun Gothic',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg);color:var(--ink);user-select:none}button,input,select{font:inherit}button{cursor:pointer;color:var(--ink);background:transparent;border:1px solid var(--line);padding:13px 19px;border-radius:3px;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#b6edd815;border-color:#c2efd880}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button.primary{background:var(--mint);border-color:var(--mint);color:#122c2c;font-weight:700}button.primary:hover{background:#d1ffe7}button.secondary{border-color:#78979066;background:#10272dcc}button.selected{border-color:var(--mint);background:#94f3d418}p{line-height:1.75;color:var(--muted);font-size:15px}h2{font-size:32px;letter-spacing:-1px;font-weight:600;margin:14px 0}h3{font-size:23px;font-weight:600;margin:16px 0}small{line-height:1.6}canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0}#panel{position:relative;z-index:3;width:100vw;height:100vh;pointer-events:none}#panel button,#panel input,#panel select,#panel section{pointer-events:auto}.hidden{display:none!important}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--muted);display:flex;align-items:center;gap:10px}.dot{width:6px;height:6px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 15px #91ffd588}.edition{font-size:9px;margin-left:20px;color:#e3b594}.menu{position:absolute;left:8vw;top:10vh;width:490px;max-width:47vw}.menu h1{font-size:clamp(66px,7.8vw,118px);line-height:.86;font-weight:800;letter-spacing:-7px;margin:39px 0 0;position:relative}.menu h1 span{color:var(--mint)}.menu h1 i{color:var(--gold);font-style:normal;font-size:.57em;font-weight:300;margin-left:28px;vertical-align:top;display:inline-block;transform:translateY(14px)}.subtitle{font-size:11px;letter-spacing:4px;margin:23px 0 32px;color:#a6c7bf}.menu h2{font-size:22px;margin-bottom:10px}.intro{font-size:14px;margin:0 0 28px}.menu-actions{display:flex;gap:10px;max-width:410px}.menu-actions button{flex:1;text-align:left;font-size:15px;padding:16px 22px}.menu-actions span{float:right}.menu-secondary{display:flex;gap:24px;margin-top:15px}.menu-secondary button{font-size:12px;padding:10px 0;border:none;color:#b5c8c0}.record{display:flex;gap:30px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;color:#86a19e;font-size:10px}.record b{display:block;color:var(--ink);font-weight:400;font-size:22px;margin-top:6px}.build-note{font-size:10px;color:#627e7f;margin-top:19px}.art-note{position:absolute;right:8vw;bottom:12vh;color:#bcd2c3;font-size:10px;line-height:2;letter-spacing:2px}.art-note span{color:#73918e;font-size:8px}#version{position:fixed;bottom:15px;left:25px;font-size:9px;color:#668180;letter-spacing:2px;z-index:4;pointer-events:none}.overlay{display:flex;align-items:center;justify-content:center;background:#041115ab;backdrop-filter:blur(5px)}.dialog{background:linear-gradient(145deg,#152e33f5,#0a1b22f5);border:1px solid #a5d4bd38;box-shadow:0 30px 120px #020a11a0;width:min(940px,92vw);max-height:91vh;overflow-y:auto;padding:38px 42px;border-radius:5px}.dialog.compact{width:460px}.dialog p{margin:10px 0 25px}.dialog-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.dialog-footer button{min-width:160px}.ship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.ship{padding:24px 20px;text-align:left}.ship strong{display:block;font-size:22px;margin-bottom:8px}.ship small{font-size:11px;display:block;color:#9fb8b0}.ship-icon{font-size:44px;color:var(--mint);display:block;height:72px;font-weight:200}.mode-row{display:flex;gap:10px}.mode-row button{font-size:13px;flex:1}.micro{font-size:10px!important;line-height:1.6!important;margin:20px 0 0!important;color:#71918c}.stack{display:flex;flex-direction:column;gap:12px}.setting{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--line);font-size:14px}.setting select{background:#0a2026;border:1px solid var(--line);color:var(--ink);padding:8px 14px}.setting input[type=range]{width:155px;accent-color:var(--mint)}.setting input[type=checkbox]{accent-color:var(--mint);width:18px;height:18px}.guide-diagram{display:flex;align-items:center;gap:20px;color:#8dcbbb;margin:25px 0}.guide-diagram span{border:1px solid #92d7c5;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.guide-diagram i{color:#406c68}.guide-diagram b{font-size:70px;font-weight:200;margin-left:30px}.manual p{font-size:14px}.manual button{width:160px}.muted{color:#66968b!important}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.card{display:flex;flex-direction:column;text-align:left;padding:23px 22px;min-height:315px;--accent:var(--mint)}.family-frost{--accent:#a4d6f6}.family-salvage{--accent:#e3ca83}.family-weapon{--accent:#f0ac95}.family-motion{--accent:#c5b1ed}.card:hover{border-color:var(--accent);transform:translateY(-4px);background:#aad5bc0c}.card-top{display:flex;justify-content:space-between;width:100%;color:var(--accent);font-size:11px}.card kbd{color:#9bb1a9;border:1px solid #9dbdac44;width:22px;height:22px;display:grid;place-items:center;border-radius:3px}.card-symbol{font-size:46px;height:60px;margin:18px 0 0;color:var(--accent)}.card h3{font-size:21px;color:var(--ink);margin:12px 0}.card p{font-size:12px;line-height:1.8;margin:0 0 24px;flex:1}.rank{font-size:9px;color:var(--muted);width:100%;padding-top:16px;border-top:1px solid var(--line)}.rank span{float:right;color:var(--accent);letter-spacing:2px}.installed{font-size:10px;color:#829f95;line-height:1.9;margin-top:24px}.result{width:650px}.result-score{font-size:74px;color:var(--mint);letter-spacing:-4px;margin:25px 0}.result-score small{font-size:11px;letter-spacing:2px;margin-left:20px;color:#90aaa0}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.result-grid b{display:block;font-size:26px;font-weight:400}.result-grid span{font-size:10px;color:var(--muted)}#hud{position:fixed;inset:0;z-index:2;pointer-events:none}.hud-top{height:72px;display:flex;align-items:center;gap:30px;padding:12px 32px;border-bottom:1px solid #a3c6b224;background:#0a1a21d9}.hud-brand{font-size:28px;font-weight:800;letter-spacing:-2px;display:flex;align-items:center;gap:18px}.hud-brand span{font-size:10px;letter-spacing:1px;color:#92b4a5;font-weight:400;white-space:nowrap}.meter{width:210px}.meter div{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:7px}.meter b{color:var(--ink);font-size:11px;font-weight:500}progress{display:block;appearance:none;border:none;width:100%;height:5px;background:#2a3c3e;border-radius:0}progress::-webkit-progress-bar{background:#2a3c3e}progress::-webkit-progress-value{background:#c5d6b4}.energy progress::-webkit-progress-value{background:#8fdfc7}.hud-time{margin-left:auto;font-size:27px;font-variant-numeric:tabular-nums;letter-spacing:2px}.hud-time span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);text-align:center}.hud-level{width:95px;font-size:13px;letter-spacing:2px}.hud-level progress{margin-top:9px;height:3px}.hud-level progress::-webkit-progress-value{background:#e1b18b}.hud-bottom{position:absolute;bottom:0;height:40px;width:100%;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #9bd7c026;background:#0b1a21d9;font-size:9px;color:#95b6aa}.anchor-state b{font-size:17px;color:var(--mint);letter-spacing:5px;vertical-align:middle;margin-right:8px}.anchor-state em{font-style:normal;color:#ebba8e;margin-left:8px}.target-count{margin-left:15px;color:#cdf5d7}.dash-state b{color:#d0ead8;margin-left:12px}.hud-hint{color:#a4bfb3;font-size:10px}.boss-meter{position:absolute;top:84px;left:35%;width:30%;text-align:center}.boss-meter span{font-size:8px;letter-spacing:3px;color:#e7b194}.boss-meter progress{margin-top:7px;height:4px}.boss-meter progress::-webkit-progress-value{background:#edac87}#toast{position:fixed;z-index:10;left:50%;top:19%;transform:translate(-50%,-10px);padding:11px 22px;background:#173032ee;border:1px solid #a6e4bd66;font-size:13px;color:#dcebd3;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-height:740px){.menu{top:7vh}.menu h1{font-size:83px;margin-top:25px}.subtitle{margin:20px 0}.menu h2{font-size:20px}.intro{margin-bottom:18px}.record{margin-top:16px;padding-top:12px}.dialog{padding:25px 30px}.card{min-height:260px;padding:18px}.card-symbol{height:45px;margin-top:7px}.card p{margin-bottom:12px}.dialog h2{font-size:27px}.ship-grid{margin:18px 0}.ship{padding:16px}.ship-icon{height:55px}.hud-top{gap:20px}}
@media(max-width:960px){.menu{max-width:55vw;left:6vw}.menu h1{font-size:76px}.art-note{right:5vw;bottom:10vh;font-size:8px}.hud-top{padding:10px 20px;gap:17px}.meter{width:160px}.hud-brand span{display:none}.hud-bottom{padding:0 18px}.hud-hint{font-size:8px}.card-grid{gap:10px}.dialog{width:94vw}.card{padding:18px}.card h3{font-size:18px}.card p{font-size:11px}}

.lesson-toggle{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:12px;color:#b8d1c2}.lesson-toggle input{accent-color:var(--mint);width:17px;height:17px}.skip-lesson{position:absolute;right:30px;top:90px;font-size:11px;background:#0f282deb}.active-combos{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.active-combos span,.combo-unlock{color:#ead79e;font-size:10px;border:1px solid #d9c18455;border-radius:3px;padding:7px 10px}.combo-unlock{margin-bottom:13px}.guide-combos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:10px;margin-bottom:15px}.guide-combos p{font-size:11px}.guide-combos b{color:#dfcca0}.boss-meter small{display:block;color:#aebdae;font-size:9px;margin-top:4px}.boss-meter{top:78px}

.seed-setting{display:flex;align-items:center;justify-content:space-between;margin-top:19px;color:#8daea3;font-size:11px}.seed-setting input{width:180px;background:#0a2026;border:1px solid var(--line);padding:7px 10px;color:#cce8d9;font-size:12px}
