*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f8f6f1;color:#253d36;font-family:Inter,Pretendard,"Malgun Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #c6812c;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app{max-width:1200px;padding:0 38px;margin:auto;--accent:#2a7561;--soft:#e8f1ec}header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e6dc}.brand{display:flex;align-items:center;gap:13px}.brand-icon{background:#2a5147;color:#efd393;width:37px;height:37px;border-radius:11px;display:grid;place-items:center;font-size:27px}.brand strong{font-size:22px;letter-spacing:-1px}.brand-en{border-left:1px solid #d6ddd2;padding-left:18px;margin-left:7px;color:#68776d;font-size:10px;letter-spacing:1.7px}.header-right{display:flex;align-items:center;gap:24px}.quiet{font-size:11px;color:#758377}.sound{background:transparent;border:1px solid #dadfd6;border-radius:30px;padding:12px 17px;color:#66766b;font-size:14px}.sound span{font-size:10px;margin-left:7px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#687b70;margin:0 0 17px;display:flex;align-items:center;gap:9px}.eyebrow i{width:6px;height:6px;background:#6d9b88;border-radius:50%}.hero{display:flex;align-items:center;justify-content:space-between;padding:56px 4px 52px}.hero h1{font-size:54px;line-height:1.2;letter-spacing:-2.9px;margin:0 0 22px;font-weight:750}.hero h1 span{color:#608775}.hero-copy{color:#687b70;font-size:14px;line-height:1.9;margin:0}.hero-meta{display:flex;gap:14px;align-items:center;font-size:10px;color:#829083;margin-top:24px}.hero-meta b{font-weight:400}.hero-art{height:220px;width:300px;position:relative;margin-right:55px}.art-orbit{position:absolute;width:210px;height:210px;border:1px solid #d9e1d5;border-radius:50%;left:45px;top:0}.art-tile{position:absolute;width:74px;height:74px;border-radius:18px;display:grid;place-items:center;font-size:35px;box-shadow:0 8px 20px #2945370b;transform:rotate(-10deg);border:1px solid #ffffff95}.art-tile.a{background:#e6cc96;color:#8d6230;left:17px;top:69px}.art-tile.b{background:#d7e5da;color:#537563;left:180px;top:111px;transform:rotate(9deg)}.art-tile.c{background:#253f38;color:#9bd2bd;left:105px;top:5px;transform:rotate(13deg)}.art-tile.d{background:#d9ddec;color:#687698;left:92px;top:112px;transform:rotate(-3deg)}.hero-art>span{position:absolute;bottom:-21px;left:81px;font-size:8px;letter-spacing:2px;color:#92a091}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.collection-heading h2{font-size:17px;margin:0;letter-spacing:-.5px}.collection-heading>span{font-size:11px;color:#738471}.game-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:23px}.game-card{background:#fff;border:1px solid #e3e8de;border-radius:24px;overflow:hidden;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #253e3610}.card-art{height:185px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-art svg{height:155px;width:240px;filter:drop-shadow(0 7px 6px #223a3912)}.card-label{position:absolute;top:18px;left:23px;display:flex;gap:8px;align-items:center;color:#425c50;font-size:9px;font-weight:700;letter-spacing:1px}.card-label i{width:5px;height:5px;border-radius:50%;background:currentColor}.card-content{padding:24px 26px 22px}.card-heading{display:flex;align-items:center;justify-content:space-between}.card-heading h3{font-size:23px;letter-spacing:-.8px;margin:0}.card-heading>span{font-size:9px;color:#829083}.card-content p{font-size:12px;line-height:1.8;color:#697c70;margin:10px 0 20px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e8;padding-top:16px}.card-progress{font-size:10px;color:#7e8d7b}.card-action{font-size:12px;font-weight:700;color:#2b6a54}.home-note{display:flex;gap:18px;align-items:center;background:#ecf0e7;border-radius:17px;padding:23px 28px;margin-top:28px}.home-note>span{font-size:28px;color:#729b84}.home-note p{margin:0;color:#6f7e6b;font-size:11px;line-height:1.8}.home-note strong{color:#43624e;font-weight:650}.game-nav{display:flex;justify-content:space-between;align-items:center;padding-top:25px;gap:20px}.back{background:none;border:0;color:#6b7b6d;padding:8px 0;font-size:11px}.game-nav nav{display:flex;gap:6px;flex-wrap:wrap}.game-tab{border:0;padding:8px 13px;background:none;font-size:10px;color:#738171;border-radius:20px}.game-tab.active{background:var(--soft);color:var(--accent);font-weight:700}.game-intro{display:flex;justify-content:space-between;align-items:center;padding:31px 0 28px}.game-intro h1{font-size:33px;letter-spacing:-1.2px;line-height:1.35;margin:0 0 12px}.game-intro .eyebrow{margin-bottom:11px;color:var(--accent)}.game-intro p:not(.eyebrow){font-size:12px;color:#6f8174;line-height:1.7;margin:0}.game-emblem{font-size:50px;color:var(--accent);opacity:.35;margin-right:24px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:25px;align-items:start}.play-card{background:#fff;border:1px solid #e2e7de;border-radius:24px;padding:24px 27px 15px;box-shadow:0 10px 30px #253d3604}.play-header{display:flex;align-items:center;justify-content:space-between;font-size:10px}.stage-label{background:var(--soft);color:var(--accent);border-radius:6px;padding:8px 11px;letter-spacing:1.2px;font-weight:700;display:inline-block}.tier{margin-left:11px;color:#7b8b7d}.timer{color:#819081;font-variant-numeric:tabular-nums}.board-caption{font-size:10px;color:#6f8174;line-height:1.7;text-align:center;margin:23px 0 15px}.board-wrap{position:relative;max-width:510px;margin:auto}.board{width:100%;aspect-ratio:1;position:relative;background:#1c302a;border:12px solid #182c26;border-radius:20px;overflow:hidden;box-shadow:0 5px 9px #1c302a14;touch-action:pan-y;user-select:none}.board.net,.board.lights{display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);gap:2px;padding:5px}.cell{border:0;background:none;position:relative;padding:0;display:grid;place-items:center;border-radius:6px;min-width:0;min-height:0}.cell svg{width:100%;height:100%;overflow:visible}.net-cell{background:#263c34}.net-cell svg .wire{stroke:#65796d;transition:stroke .15s}.net-cell.live{background:#29483c}.net-cell.live .wire{stroke:#9fdabc;filter:drop-shadow(0 0 2px #8ad6b176)}.net-cell .port{stroke:#a07467}.net-cell.live .terminal{fill:#b3e6cc}.net-cell.fixed{opacity:1;cursor:default}.net-cell .fixed-mark{position:absolute;right:2px;bottom:2px;font-size:8px;color:#c2cebc;background:#24372dde;padding:2px 3px;border-radius:3px}.net-cell .source-mark{position:absolute;font-size:9px;color:#132d22;background:#c2e5b3;border-radius:5px;padding:2px 4px;font-weight:700}.net-cell.hinted{outline:2px solid #f0cd74;outline-offset:-3px}.lamp{background:#23382f;border:1px solid #354c3e;transition:background .18s,box-shadow .18s}.lamp .bulb{width:49%;height:49%;border-radius:50%;background:#31453a;box-shadow:inset 0 2px 2px #132b22;display:grid;place-items:center;color:#6f8571;font-size:18px;transition:background .18s,box-shadow .18s}.lamp.on{background:#525139;border-color:#77734b}.lamp.on .bulb{background:#f0cf7c;color:#97773c;box-shadow:0 0 16px #efd08066,inset 0 1px 2px #fff8d9}.lamp.diagonal .bulb{border-radius:9px;color:#678895}.lamp.diagonal.on .bulb{background:#a6d2d6;color:#47717d;box-shadow:0 0 15px #a6d2d64d}.lamp .toggle-mark{position:absolute;right:5px;bottom:4px;font-size:11px;color:#7a927b}.lamp.diagonal .toggle-mark{color:#93b9c4}.lamp.hinted{outline:2px solid #f0cd74;outline-offset:-3px}.board.warehouse{display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);gap:2px;padding:4px}.warehouse-cell{border-radius:4px;transition:background .15s}.warehouse-cell.wall{background:#35483e;box-shadow:inset 0 1px 0 #536152;cursor:default}.warehouse-cell.floor{background:#274438}.warehouse-cell.goal{background:#395345}.goal-dot{position:absolute;width:40%;height:40%;border:2px solid #b6c798;border-radius:50%;opacity:.65}.crate{position:absolute;inset:10%;background:linear-gradient(145deg,#d6ac75,#b9884e);border:2px solid #eac690;border-radius:5px;box-shadow:0 2px 4px #0c241a66,inset 0 0 0 3px #91623744;display:grid;place-items:center;color:#91673d;font-size:28px;font-family:monospace}.crate:before,.crate:after{content:"";position:absolute;background:#9b704743;width:88%;height:2px;transform:rotate(45deg)}.crate:after{transform:rotate(-45deg)}.warehouse-cell.filled .crate{background:linear-gradient(145deg,#b2c790,#7fac77);border-color:#c5dfa8;color:#65855f}.player{position:absolute;inset:14%;border-radius:50%;background:#a9d9c7;box-shadow:0 2px 5px #0a241966;display:grid;place-items:center;color:#2a5b49;font-size:20px;font-weight:800;border:3px solid #d3efe0}.player:before{content:"";width:35%;height:22%;position:absolute;top:23%;border-radius:20px;background:#436f5b}.player:after{content:"";width:48%;height:28%;position:absolute;bottom:20%;border-radius:40% 40% 25% 25%;background:#436f5b}.warehouse-cell.hint-path:after{content:"";width:7px;height:7px;background:#edce77;border-radius:50%;opacity:.8}.warehouse-cell.hint-box .crate{outline:3px solid #f0cd74;outline-offset:1px}.hint-arrow{position:absolute;font-size:25px;z-index:2;color:#213d2d;background:#efcc78bd;line-height:1;border-radius:3px;bottom:0;right:0}.dpad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,35px);gap:4px}.dpad button{border:1px solid #dfe7da;border-radius:7px;background:#f3f6ef;color:#537464;font-size:18px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad span{grid-column:2;grid-row:2;display:grid;place-items:center;color:#a8b8a7}.dpad button:nth-child(4){grid-column:3;grid-row:2}.dpad button:last-child{grid-column:2;grid-row:3}.warehouse-controls{display:flex;justify-content:center;gap:24px;padding:12px 0 17px;min-height:115px;align-items:center}.warehouse-controls p{font-size:10px;color:#728470;line-height:1.8}.net-controls{display:flex;justify-content:center;gap:7px;align-items:center;margin-bottom:12px;font-size:10px;color:#798c7c}.net-controls>span{margin-right:8px}.net-controls button{border:1px solid #e0e7dc;border-radius:7px;background:#f7f9f4;padding:7px 13px;color:#7a8c7a;font-size:10px}.net-controls button[aria-pressed=true]{color:var(--accent);border-color:#8cbaa4;background:var(--soft)}.board.screws{background:#e4d8c1;border:10px solid #cab894;background-image:radial-gradient(#d6c6a7 1px,transparent 1px);background-size:14px 14px}.screws>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.plank{transition:opacity .35s,transform .4s;transform-origin:center}.plank.dropped{opacity:0;transform:translateY(100%)}.hole-button{position:absolute;border:0;background:none;border-radius:50%;padding:0;display:grid;place-items:center;z-index:2;transition:filter .15s}.hole-button:disabled{opacity:1;cursor:default}.hole-button svg{width:72%;height:72%;overflow:visible}.hole-button.empty .hole-ring{fill:#4a493c;stroke:#b19f7c;stroke-width:3}.hole-button.empty:not(:disabled):before{content:"";position:absolute;inset:9%;border:2px dashed #518363;border-radius:50%;opacity:.8}.hole-button.selected svg{filter:drop-shadow(0 0 5px #ffe99a)}.hole-button.selected:after,.hole-button.hinted:after{content:"";position:absolute;inset:4%;border:3px solid #fff0a9;border-radius:50%}.hole-button.destination:after{content:"";position:absolute;inset:4%;border:3px solid #83c28e;border-radius:50%;animation:breathe 1.2s ease-in-out infinite}.hole-button.occupied .hole-ring{fill:#777569;stroke:#56594f;stroke-width:2}.hole-button.occupied .screw-face{fill:#e7e8db;stroke:#8f998c;stroke-width:2}.hole-button.occupied .screw-slot{stroke:#617160;stroke-width:4;stroke-linecap:round}.hole-button.stored .screw-face{fill:#aebba4}.stats{display:flex;justify-content:center;align-items:center;gap:28px;padding:20px 0 16px}.stats>div:not(.best-label){display:flex;align-items:center;gap:7px}.stats strong{font-size:19px;font-weight:650;color:#4a6858;font-variant-numeric:tabular-nums}.stats span{font-size:9px;color:#8a9883}.best-label{font-size:9px;color:#8f9e86}.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding-top:16px;border-top:1px solid #edf0e8}.tools button{border:0;background:#f2f5ef;border-radius:9px;padding:14px 4px;color:#60795f;font-size:11px}.tools button:hover:not(:disabled){background:var(--soft);color:var(--accent)}.status{font-size:10px;color:#7b8d77;text-align:center;line-height:1.8;margin:13px 0 0;min-height:29px}.status.error{color:#ad704f}.guide{background:var(--soft);border-radius:22px;padding:28px 25px 23px}.guide-icon{width:39px;height:39px;display:grid;place-items:center;background:#ffffff5c;border-radius:11px;font-size:23px;color:var(--accent);margin-bottom:24px}.guide .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:16px}.guide h2{font-size:22px;letter-spacing:-.7px;line-height:1.5;margin:0 0 23px;color:#4c6a58}.guide ol{list-style:none;margin:0;padding:0;counter-reset:guide}.guide li{counter-increment:guide;position:relative;padding-left:29px;margin-bottom:18px}.guide li:before{content:counter(guide);position:absolute;left:0;top:1px;width:18px;height:18px;border:1px solid #96ae9777;border-radius:50%;display:grid;place-items:center;font-size:9px;color:#769275}.guide li strong{display:block;font-size:11px;color:#59735b;line-height:1.6}.guide li span{display:block;font-size:9px;color:#7e9178;line-height:1.8;margin-top:2px}.advanced{font-size:9px;line-height:1.8;color:#70876b;border-top:1px solid #afc1a877;padding-top:17px}.legend{font-size:9px;line-height:1.8;color:#698363;margin-top:12px;display:flex;flex-wrap:wrap;gap:12px}.stage-card{background:#fff;border:1px solid #e4e9de;border-radius:22px;padding:24px;margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{font-size:12px;margin:0;letter-spacing:-.2px}.section-heading h2 span{color:#7b8d74;margin-left:3px;font-size:10px;font-weight:400}.section-heading>span{font-size:10px;color:#8b9b80}.progress-track{height:3px;background:#eff3e9;border-radius:10px;margin:17px 0 20px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.stage{aspect-ratio:1;border:1px solid #e7ece1;background:#f8faf5;color:#7f9175;border-radius:7px;font-size:11px;position:relative}.stage.active{background:var(--accent);color:white;border-color:var(--accent);font-weight:650}.stage.cleared:after{content:"·";position:absolute;bottom:0;left:0;right:0;color:#73a974}.stage.active.cleared:after{color:#e5f2ce}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.pager button{border:0;border-radius:6px;width:28px;height:27px;background:#f4f7ef;color:#7d9574;font-size:18px}.pager span{font-size:9px;color:#89997e}.stage-card>p{font-size:8px;line-height:1.6;text-align:center;color:#8a9a7d;margin:17px 0 0}.win{position:absolute;inset:0;border-radius:18px;background:#f8fbf4f0;backdrop-filter:blur(5px);z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;text-align:center}.win-icon{font-size:42px;color:var(--accent);margin-bottom:16px}.win .eyebrow{font-size:8px;color:#7d9a6e}.win h2{font-size:27px;letter-spacing:-.7px;margin:0 0 16px}.stars{font-size:30px;letter-spacing:6px;color:#c69e4b}.win>p:not(.eyebrow){font-size:11px;color:#819274;line-height:1.7;margin:16px 0 22px}.primary{border:0;border-radius:9px;background:var(--accent);color:white;font-size:12px;padding:14px 26px}.plain{border:0;background:none;color:#8a9b7b;font-size:10px;margin-top:12px;padding:7px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:45px 0 27px;color:#95a28b;font-size:8px;letter-spacing:1.2px}footer nav{display:flex;gap:17px;letter-spacing:0;flex-wrap:wrap}footer a{font-size:9px;color:#7a8e70}@keyframes breathe{50%{opacity:.45;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:900px){.app{padding:0 25px}.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.play-card{padding:22px 19px 14px}.board{border-width:8px}.guide{padding:24px 21px}.stats{gap:17px}.best-label{display:none}.hero-art{margin-right:0}}@media(max-width:700px){.app{padding:0 16px}header{height:79px}.brand strong{font-size:20px}.brand-icon{width:32px;height:32px;font-size:24px}.brand-en,.quiet{display:none}.sound{padding:10px 12px}.sound span{font-size:9px}.hero{padding:34px 2px 32px}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero-copy{font-size:12px}.hero-art{width:145px;height:175px;transform:scale(.64);transform-origin:right center;margin-left:-100px;margin-right:20px;opacity:.9}.hero-meta{font-size:8px;gap:8px;margin-top:18px}.collection-heading{margin-bottom:16px;gap:15px}.collection-heading h2{font-size:14px;line-height:1.5}.collection-heading>span{font-size:9px;white-space:nowrap}.game-cards{gap:15px}.card-art{height:140px}.card-art svg{width:175px;height:110px}.card-label{font-size:7px;top:14px;left:15px}.card-content{padding:18px 15px 16px}.card-heading h3{font-size:18px}.card-heading>span{display:none}.card-content p{font-size:10px;min-height:36px;margin:9px 0 14px}.card-bottom{display:block;padding-top:13px}.card-progress{font-size:8px}.card-action{font-size:10px;margin-top:8px;display:block}.game-card{border-radius:18px}.home-note{padding:18px;margin-top:22px;gap:12px}.home-note p{font-size:9px}.game-nav{padding-top:17px;display:block}.game-nav nav{margin-top:14px;justify-content:space-between;gap:0}.game-tab{padding:8px 9px;font-size:9px}.game-intro{padding:25px 0 22px}.game-intro h1{font-size:27px}.game-intro p:not(.eyebrow){font-size:11px}.game-emblem{font-size:37px;margin-right:7px}.game-layout{display:block}.play-card{padding:18px 14px 12px;border-radius:21px}.stage-label{font-size:9px;padding:7px 10px}.tier{font-size:9px;margin-left:9px}.board-caption{font-size:9px;margin:19px 0 13px}.board{border-radius:14px;border-width:7px}.board.screws{border-width:7px}.board.net,.board.lights{gap:2px;padding:2px}.stats{padding:16px 0 13px;gap:25px}.stats strong{font-size:18px}.stats span{font-size:8px}.tools{gap:7px;padding-top:13px}.tools button{font-size:10px;padding:13px 2px}.status{font-size:9px;min-height:25px}.guide{padding:19px;margin-top:18px;border-radius:17px}.guide-icon,.guide>.eyebrow,.guide>h2,.guide>ol{display:none}.advanced{border:0;padding:0;font-size:9px}.legend{font-size:8px;margin-top:9px}.stage-card{padding:22px;border-radius:19px;margin-top:17px}.stages{grid-template-columns:repeat(5,1fr);gap:8px}.stage{aspect-ratio:1.35}.stage-card>p{font-size:9px}.warehouse-controls{min-height:112px;padding:5px 0 15px}.net-controls{font-size:9px}.net-controls button{font-size:9px}.fixed-mark{font-size:6px!important}.net-cell .source-mark{font-size:7px}.lamp .toggle-mark{font-size:8px;right:3px;bottom:2px}.crate{border-width:1.5px;border-radius:3px}.player{border-width:2px}.win-icon{font-size:32px;margin-bottom:9px}.win h2{font-size:24px}.stars{font-size:25px}.win>p:not(.eyebrow){margin:11px 0 15px;font-size:10px}.win .eyebrow{font-size:7px;margin-bottom:10px}.primary{font-size:11px;padding:12px 20px}footer{padding:34px 0 24px;display:block;line-height:1.8;font-size:7px}footer nav{margin-top:12px;gap:13px}footer a{font-size:8px}}@media(max-width:370px){.hero-art{display:none}.game-tab{padding:7px;font-size:8px}.game-intro h1{font-size:25px}.hero-meta{gap:7px}.card-art{height:120px}.card-art svg{width:145px}.card-content{padding:15px 12px}.card-heading h3{font-size:16px}.card-content p{font-size:9px}.brand{gap:8px}}
@keyframes plankFall{to{opacity:0;transform:translateY(110%) rotate(12deg)}}.plank.falling{animation:plankFall .45s ease-in forwards}.dpad{grid-template-rows:repeat(3,35px)}
