:root{font-family:'PingFang TC','Microsoft JhengHei',system-ui,sans-serif;color:#e0e4e0;background:#202e43;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 5%,#344861 0,transparent 60%),#202e43}button{font:inherit;font-weight:650;cursor:pointer;border:1px solid #6f83945e;border-radius:9px;background:#35495f;color:#dce4de;padding:11px 16px;transition:background .15s;touch-action:manipulation}button:hover:not(:disabled){background:#4b6276}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #e8c896;outline-offset:3px}a{color:inherit;text-decoration:none}.shell{max-width:1180px;margin:auto;padding:0 30px}header{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #8296a225;font-size:11px;color:#a9b9be;letter-spacing:1px}header a{font-weight:700}header button{font-size:11px;padding:7px 12px}.heading{display:flex;justify-content:space-between;align-items:center;padding:25px 0 21px}.heading p,.eyebrow{font-size:10px;letter-spacing:2.3px;color:#9bb2bc;font-weight:700;display:block;margin:0 0 10px}h1{font-size:34px;font-weight:850;letter-spacing:1px;margin:0;color:#f2e8d2}h1 span{display:block;font-weight:400;font-size:12px;letter-spacing:2px;color:#b0c0c4;margin-top:10px}.moon{font-size:60px;color:#e2ce9e;margin-right:20px;transform:rotate(-18deg)}#levels{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:20px}#levels button{display:flex;gap:10px;text-align:left;align-items:center;padding:12px 13px;background:#2b3e53}#levels b{font-size:21px;color:#8eacb7;font-weight:500}#levels span{font-size:11px;line-height:1.5}#levels small{display:block;font-size:8px;color:#91a6b0;margin-top:4px;letter-spacing:1px}#levels .active{background:#e2d6bc;color:#33495a;border-color:#e2d6bc}#levels .active b{color:#576e79}#levels .active small{color:#7a8b8e}.game{border-radius:15px;overflow:hidden;border:1px solid #8192a142;box-shadow:0 14px 45px #101b302c}.mission{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;background:#2b4056}.mission small{font-size:9px;letter-spacing:2px;color:#9ab1ba}.mission h2{font-size:19px;margin:5px 0 0;color:#e7e6d9}.mission p{font-size:12px;color:#a5bac0;flex:1;margin:0}.mission #status{font-size:10px;padding:7px 10px;border:1px solid #99aeae35;border-radius:6px;color:#bccdc7;white-space:nowrap}.stage{position:relative;aspect-ratio:1000/600;background:#354a60}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px;background:#2b4056}.action-bar button{font-size:12px}.primary{background:#dfc9a0;color:#34485a;border-color:#dfc9a0}.primary:hover:not(:disabled){background:#efdab3}#start{padding:12px 25px}#clear{margin-left:auto;background:none;color:#a7b8be;font-size:11px}.workbench{padding:23px;background:#edf0e5;color:#41586a;border-radius:13px;margin-top:20px}.tools-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tools-head .eyebrow{font-size:9px;letter-spacing:2px;color:#8f9f9a;margin-bottom:6px}.tools-head h2{font-size:16px;margin:0}.tools-head>small{font-size:11px;color:#80928c}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tool{display:flex;gap:14px;align-items:center;text-align:left;background:#fafaf2;color:#445d66;border:1px solid #d0d9cf;padding:16px 14px;min-height:85px}.tool:hover:not(:disabled){background:#e0e8db}.tool:disabled{opacity:.45}.tool-drawing{width:52px;height:36px;border-radius:10px;background:#a4bdbd;display:flex;align-items:center;justify-content:center;font-size:25px;color:#f7f4df;flex-shrink:0;box-shadow:0 3px 0 #7f9c9f}.pillow .tool-drawing{background:#e1bfa4;box-shadow:0 3px 0 #ba9b8b;border-radius:17px}.spring .tool-drawing{background:#c1b1d0;box-shadow:0 3px 0 #9a8bab}.tool b{font-size:13px;display:block;margin-bottom:5px}.tool small{font-size:10px;color:#84958e;line-height:1.7;display:block}.tool em{font-style:normal;font-size:11px;margin-left:auto;color:#71877d;white-space:nowrap}.edit-bar{display:flex;gap:9px;align-items:center;border-top:1px dashed #ccd7cb;margin-top:17px;padding-top:16px;flex-wrap:wrap}.edit-bar>span{font-size:11px;color:#91a098;margin-right:6px}.edit-bar button{font-size:11px;color:#536f75;background:#e1e8dd;border-color:#cbd7cc;padding:9px 14px}.edit-bar small{margin-left:auto;font-size:10px;color:#99a69d}.how{display:flex;gap:35px;padding:28px 8px}.how>div{display:flex;align-items:center;gap:13px;flex:1}.how b{font-size:25px;font-weight:400;color:#6c8696}.how span{font-size:12px;color:#b6c8cc}.how small{display:block;font-size:10px;color:#8199a5;margin-top:6px;line-height:1.8}footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #7e97a229;padding:20px 0 28px;font-size:10px;color:#7893a2;line-height:1.8}#overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#1b2a3f73;backdrop-filter:blur(2px);padding:15px}#overlay[hidden]{display:none}.result-card{background:#f3eedf;color:#3e5663;max-width:475px;width:100%;max-height:100%;overflow:auto;text-align:center;border-radius:16px;padding:26px;box-shadow:0 20px 55px #17283a66}.result-card h2{font-size:24px;margin:12px 0}.result-card p{font-size:13px;color:#8a958d;line-height:1.8}.result-card .eyebrow{color:#8d9c97;font-size:9px}.result-card small{font-size:10px;line-height:1.8;color:#929c90;display:block}.stars{font-size:38px;letter-spacing:8px;color:#bd9f62;margin:14px 0}.sleep-icon{font-size:42px;color:#99b7b5}.result-stats{display:flex;justify-content:center;gap:40px;padding:14px;border-block:1px solid #dedfcf;margin:18px 0}.result-stats span{font-size:10px;color:#8e9c94}.result-stats b{display:block;font-size:23px;color:#526f75;margin-bottom:6px}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.result-card button{font-size:12px;color:#4b6671;background:#e1e7da;border-color:#d5ddce}.result-card button.primary{background:#dcc79e}.result-card>div>button{margin:4px}#notice{position:fixed;left:50%;bottom:22px;transform:translate(-50%,15px);background:#e7ddc4;color:#3d5665;border:1px solid #f0e7d2;border-radius:10px;padding:13px 19px;font-size:12px;box-shadow:0 6px 25px #14243c66;max-width:90%;opacity:0;pointer-events:none;transition:.2s;z-index:20;line-height:1.7}#notice.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1000px){#levels{grid-template-columns:repeat(3,1fr)}.shell{padding:0 20px}.tool{padding:12px 10px;gap:9px}.tool-drawing{width:40px}.edit-bar small{width:100%;margin-left:0}.how{gap:20px}.mission p{font-size:11px}}@media(max-width:640px){.shell{padding:0 12px}header{padding:13px 0;font-size:10px}header>span{display:none}.heading{padding:21px 0 17px}h1{font-size:28px}.heading p{font-size:8px;letter-spacing:1.8px}h1 span{font-size:10px}.moon{font-size:46px;margin-right:8px}#levels{gap:6px;margin-bottom:14px}#levels button{padding:9px;gap:8px}#levels b{font-size:17px}#levels span{font-size:10px}#levels small{font-size:7px}.mission{padding:12px;gap:9px;flex-wrap:wrap}.mission h2{font-size:16px}.mission p{display:none}.mission #status{margin-left:auto;font-size:9px}.mission small{font-size:8px}.game{border-radius:11px}.stage{aspect-ratio:1000/650}canvas{height:100%;width:100%}.action-bar{padding:9px;gap:6px}.action-bar button{font-size:10px;padding:10px;min-height:38px}#start{padding:10px 13px}#clear{margin-left:0}.workbench{padding:15px 12px;margin-top:14px}.tools-head{display:block;margin-bottom:13px}.tools-head h2{font-size:14px}.tools-head>small{display:block;margin-top:8px;font-size:10px}.tool-grid{gap:7px}.tool{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:11px 9px;min-height:132px}.tool small{font-size:9px}.tool b{font-size:11px}.tool em{margin-left:0;font-size:10px}.tool-drawing{width:42px;height:26px;font-size:20px}.edit-bar{gap:6px}.edit-bar>span{width:100%;margin-bottom:3px}.edit-bar button{padding:10px;font-size:10px}.edit-bar small{font-size:9px}.how{padding:23px 0;gap:12px}.how>div{display:block}.how b{font-size:20px;display:block;margin-bottom:8px}.how span{font-size:11px}.how small{font-size:9px}footer{display:block;font-size:9px;padding-top:15px}footer span{display:block}.result-card{padding:15px}.result-card h2{font-size:18px;margin:8px 0}.result-card p{font-size:11px;margin:8px 0}.stars{font-size:26px;margin:7px 0}.result-stats{margin:9px 0;padding:8px;gap:25px}.result-stats b{font-size:18px}.result-stats span,.result-card small{font-size:9px}.result-actions{margin-top:9px}.result-card button{font-size:10px;padding:9px}.result-card .eyebrow{font-size:7px;margin-bottom:5px}.sleep-icon{font-size:30px}#overlay{padding:9px}.result-card .result-actions{position:sticky;bottom:-15px;background:#f3eedf;padding-bottom:6px}.result-card>div>button{margin:2px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:960px){main{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:18px;align-items:start}.workbench{margin-top:0;padding:19px 15px}.tools-head{display:block}.tools-head h2{font-size:14px;line-height:1.7}.tools-head>small{display:block;margin-top:10px}.tool-grid{grid-template-columns:1fr;gap:11px}.tool{padding:14px 10px;gap:10px;min-height:95px}.tool-drawing{width:39px}.tool small{font-size:10px}.tool b{font-size:12px}.tool em{font-size:10px}.edit-bar>span{width:100%}.edit-bar small{width:100%;margin:0}.edit-bar button{padding:9px 10px}.how{grid-column:1/-1;margin:0;padding:6px 8px 20px}.heading{padding:19px 0 18px}header{padding:13px 0}.heading h1{font-size:31px}.mission{padding:14px 17px}.mission p{max-width:180px;font-size:11px}.action-bar{gap:7px;padding:11px}.action-bar button{font-size:11px;padding:10px 12px}#start{padding:11px 18px}#levels{margin-bottom:15px}footer{margin-top:10px}}
@media(max-width:640px){header{padding:9px 0}.heading{padding:16px 0 14px}#levels button{padding:7px 8px}#levels small{margin-top:1px}.mission{padding:9px 11px}.tools-head{margin-bottom:9px}.tool{min-height:115px}.workbench{padding:12px}.edit-bar{margin-top:11px;padding-top:11px}.how{padding-top:18px}}

.tool{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.tool:active:not(:disabled){cursor:grabbing}
