@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{color:#243b37;font-synthesis:none;font-family:DM Sans,Noto Sans KR,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:#b6dce5;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #f3ad43}button:disabled{opacity:.6;cursor:wait}#world{touch-action:none;outline:none;width:100vw;height:100dvh;display:block}#hud{pointer-events:none;position:fixed;inset:0}#hud button,#hud a,.toolbar,.panel{pointer-events:auto}header{justify-content:space-between;align-items:center;padding:26px 32px;display:flex}.brand{color:#213f37;letter-spacing:1.4px;align-items:center;gap:12px;font-size:21px;font-weight:900;text-decoration:none;display:flex}.brand i{color:#eaffcb;background:#284d42;border-radius:13px;place-items:center;width:46px;height:46px;font-size:36px;font-style:normal;display:grid;box-shadow:0 4px 20px #234f3520}.brand small{letter-spacing:2px;margin-top:3px;font-size:10px;font-weight:500;display:block}.top-right{align-items:center;gap:10px;display:flex}.pill,.icon-btn{background:#fffdf0ed;border:1px solid #fff9;border-radius:13px;align-items:center;gap:12px;height:44px;padding:0 18px;display:flex;box-shadow:0 4px 18px #27413210}.pill strong{font-size:19px}.pill small{color:#829086}.coin{color:#e4a02c}.icon-btn{justify-content:center;width:44px;padding:0;font-size:21px}.panel{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdf2ed;border:1px solid #fffffff0;border-radius:17px;box-shadow:0 8px 32px #263f3510}.quest{width:254px;padding:20px;position:absolute;top:112px;left:32px}.eyebrow{letter-spacing:1.8px;color:#7b8e7e;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;display:flex}.eyebrow span{letter-spacing:0;font-size:12px}.quest h2{letter-spacing:-.7px;margin:12px 0 20px;font-size:18px}.task{align-items:center;gap:10px;margin:15px 0;display:flex}.task i{color:#75936f;background:#edf0e3;border-radius:10px;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.task.done i{color:#3f7653;background:#d7e9ce}.task div{flex:1}.task b{margin-bottom:5px;font-size:11px;display:block}.task small{color:#8b998b;font-size:10px}.task progress{accent-color:#82ad69;background:#e8eddf;border:none;border-radius:9px;width:100%;height:4px;margin-top:7px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#e8eddf}progress::-webkit-progress-value{background:#82ad69}.quest-foot{border-top:1px solid #e6e9df;justify-content:space-between;margin-top:20px;padding-top:13px;font-size:10px;display:flex}.quest-foot span{color:#839081}.map{width:196px;padding:15px 12px 12px;position:absolute;top:112px;right:32px}.map .eyebrow{letter-spacing:1px;font-size:8px}#minimap{width:100%;height:143px;margin-top:9px}.map-caption{justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.live-dot{background:#73a75b;border-radius:50%;width:6px;height:6px}.bottom{justify-content:space-between;align-items:flex-end;gap:20px;display:flex;position:absolute;bottom:27px;left:32px;right:32px}.player-card{align-items:center;gap:10px;min-width:185px;padding:12px 16px;display:flex}.avatar-icon{background:#dbe9c8;border-radius:11px;place-items:center;width:38px;height:40px;font-size:29px;display:grid}.player-card b{font-size:12px;display:block}.player-card small{color:#8b9786;margin-top:5px;font-size:9px;display:block}.toolbar{border-radius:18px;gap:5px;padding:7px;display:flex}.toolbar button{color:#8c9a8d;background:0 0;border-radius:12px;width:69px;padding:9px 0;font-size:10px;position:relative}.toolbar button span{margin-bottom:3px;font-size:25px;line-height:1.2;display:block}.toolbar button.active{color:#3f684a;background:#e3edd7}.toolbar button:hover,.icon-btn:hover{background:#dce8d1}.toolbar kbd{opacity:.5;font-size:8px;position:absolute;top:4px;right:6px}.controls{color:#3f6259;text-align:right;text-shadow:0 1px 3px #fff8;font-size:10px;line-height:2.1}.controls span{display:block}kbd{font:inherit;font-size:9px}.controls kbd{background:#fff9;border-radius:4px;padding:3px 5px}#toast{color:#fffce9;opacity:0;text-align:center;background:#284d42f2;border-radius:30px;max-width:90vw;padding:13px 24px;font-size:12px;transition:all .3s;position:absolute;top:102px;left:50%;transform:translate(-50%,-15px)}#toast.show{opacity:1;transform:translate(-50%)}#interact{background:#fffbe9;border-radius:15px;padding:14px 24px;font-weight:700;position:absolute;bottom:145px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0002}.modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:5;background:#244a423d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.welcome{text-align:center;background:#fffdf3f5;border:1px solid #fff;border-radius:26px;width:100%;max-width:470px;padding:34px 45px 25px;box-shadow:0 25px 100px #20403630}.welcome .eyebrow{justify-content:center;font-size:9px}.welcome-logo{color:#5c8758;margin-top:16px;font-size:61px;line-height:1.2}.welcome h1{letter-spacing:-2px;margin:12px 0 15px;font-size:38px;line-height:1.35}.welcome em{color:#79a260;font-style:normal}.welcome p{color:#7a8c7f;font-size:12px;line-height:1.9}.welcome-tags{color:#709065;justify-content:center;gap:12px;margin:24px 0;font-size:9px;display:flex}.primary{color:#fffde8;background:#355e47;border-radius:12px;width:100%;margin-top:20px;padding:16px 22px;font-weight:700;display:block}.primary:hover{background:#497b58}.welcome>small{color:#9ca58f;margin-top:16px;font-size:9px;display:block}.welcome h2{margin-top:7px}.outfits{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.outfits button{background:#edf0e3;border-radius:12px;padding:15px 5px;font-size:11px}.outfits button i{border-radius:8px;width:35px;height:35px;margin:0 auto 8px;display:block}.outfits button.selected{outline:2px solid #5b8050}.help{text-align:left;color:#72816f;font-size:12px;line-height:2.2}#build-bar{text-align:center;min-width:340px;padding:15px 20px;position:absolute;bottom:135px;left:50%;transform:translate(-50%)}#build-bar b,#build-bar span{font-size:12px;display:block}#build-bar span{color:#87937b;margin:6px 0;font-size:10px}#build-colors{justify-content:center;gap:8px;margin:12px;display:flex}#build-colors button{border:2px solid #fff;border-radius:7px;width:28px;height:28px}#build-colors button.selected{outline:2px solid #4b7854}#undo{background:#e8ecdf;border-radius:6px;padding:7px 12px;font-size:10px}#block-count{margin-left:12px;font-size:10px}#touch{display:none}[hidden]{display:none!important}@media (width<=1050px){.controls{display:none}.quest{width:218px;padding:16px}.toolbar button{width:59px}.bottom{gap:10px}}@media (pointer:coarse){#touch{pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:135px;left:22px;right:22px}#touch button{pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffde8cf;border:1px solid #fff7;border-radius:14px;width:46px;height:46px;font-size:22px}.dpad{grid-template-columns:repeat(3,46px);gap:4px;display:grid}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-area:2/1}.dpad button:nth-child(3){grid-area:2/2}.dpad button:nth-child(4){grid-area:2/3}#touch .jump{border-radius:50%;width:67px;height:67px;font-size:13px}#build-bar{bottom:250px}}@media (width<=700px){header{padding:16px}.brand{gap:8px;font-size:16px}.brand i{width:36px;height:36px;font-size:28px}.brand small{letter-spacing:1px;font-size:8px}.pill{gap:6px;padding:0 12px}.pill small{display:none}.icon-btn,.pill{height:36px}.icon-btn{width:36px}.top-right{gap:6px}.quest{width:180px;padding:13px;top:78px;left:16px}.quest h2{margin:8px 0 12px;font-size:14px}.task{margin:10px 0}.task i{width:25px;height:25px}.task b{font-size:10px}.task small{font-size:9px}.quest .eyebrow{font-size:7px}.quest-foot{margin-top:12px;padding-top:10px;font-size:8px}.map{width:123px;padding:10px;top:78px;right:16px}.map .eyebrow{letter-spacing:0;font-size:6px}.map .eyebrow span{font-size:9px}#minimap{height:90px}.map-caption{font-size:8px}.bottom{bottom:max(16px,env(safe-area-inset-bottom));justify-content:center;left:16px;right:16px}.player-card{display:none}.toolbar{padding:5px}.toolbar button{width:58px;padding:7px 0}.toolbar button span{font-size:22px}#toast{width:max-content;max-width:90vw;font-size:11px;top:55%}#interact{white-space:nowrap;font-size:11px;bottom:102px}.welcome{padding:26px}.welcome h1{font-size:33px}#build-bar{min-width:300px}.welcome-tags{gap:8px;font-size:8px}}@media (height<=550px){.quest{display:none}.welcome{max-width:430px;padding:15px 30px}.welcome-logo,.welcome-tags,.welcome>small{display:none}.welcome h1{font-size:28px}.map{top:80px}.bottom{bottom:12px}}body.night .brand,body.night .controls{color:#fff3d7}@media (width<=700px){.quest{width:164px;padding:11px}.quest>.eyebrow,.quest-foot{display:none}.quest h2{margin:0 0 10px;font-size:12px}.task{gap:7px;margin:8px 0}.task i{width:22px;height:22px}.task b{margin-bottom:3px;font-size:9px}.task small{font-size:8px}.task progress{height:3px;margin-top:4px}.quest .task:last-child{margin-bottom:0}}.help{max-height:42dvh;overflow-y:auto}.reset-button{color:#914d3d;background:#f8e8df;border:1px solid #d9aca0;border-radius:12px;width:100%;margin-top:16px;padding:12px 16px;font-size:12px;font-weight:700;display:block}.reset-button:hover{background:#f1d7ca}#reset-error{color:#914d3d}.tower-list{gap:8px;max-height:46dvh;display:grid;overflow-y:auto}.tower-list button{text-align:left;background:#edf0e3;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.tower-list button:hover{background:#e0e9d2}.tower-swatch{background:var(--tower-color);border-radius:9px;place-items:center;width:35px;height:40px;font-size:26px;display:grid}.tower-list b{font-size:12px}.tower-list small{color:#72836b;margin-top:4px;font-size:10px;display:block}.tower-list strong{white-space:nowrap;margin-left:auto;font-size:10px}@media (width<=700px){.toolbar button{width:47px}.tower-list button{gap:8px}.tower-list b{font-size:11px}}
