*{box-sizing:border-box}html,body,#root,main{width:100%;height:100%;margin:0;overflow:hidden}body{color:#56394e;background:#93d8d0;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif}.game-canvas{touch-action:none;width:100%;height:100%}canvas{display:block}header,aside,footer{z-index:2;-webkit-user-select:none;user-select:none;pointer-events:none;position:fixed}header{gap:3px;display:grid;top:18px;left:18px}.logo{letter-spacing:.08em;color:#fff7ed;text-shadow:0 3px #88556d,3px 0 #88556d,-3px 0 #88556d,0 -3px #88556d;font-size:clamp(20px,4vw,30px);font-weight:900}.stage{letter-spacing:.12em;color:#794d60;background:#fff0d6de;border-radius:8px;width:fit-content;padding:5px 8px;font-size:11px;font-weight:800}aside{color:#fff7ed;background:#70465bd9;border:2px solid #fff1dd;border-radius:14px;width:min(245px,100vw - 36px);padding:13px 14px;top:18px;right:18px;box-shadow:0 4px #56394e66}aside strong,aside span,aside small{display:block}aside span{color:#ffd69b;margin:3px 0 10px;font-size:13px}aside small{opacity:.96;font-size:11px;line-height:1.5}footer{text-align:center;white-space:nowrap;background:#fff0d6db;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;bottom:17px;left:50%;transform:translate(-50%)}@media (width<=520px){header{top:12px;left:12px}aside{width:210px;padding:10px;top:70px;left:12px;right:auto}aside small{font-size:10px}footer{white-space:normal;max-width:calc(100vw - 24px);font-size:10px;bottom:12px}}.hud-button{z-index:3;color:#fff7ed;cursor:pointer;background:#70465b;border:2px solid #fff1dd;border-radius:12px;padding:10px 13px;font:800 13px inherit;position:fixed;bottom:64px;right:18px;box-shadow:0 3px #56394e88}.modal-backdrop{z-index:10;background:#3f294d88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.panel{color:#56394e;background:#fff8ec;border:3px solid #fff1dd;border-radius:20px;width:min(470px,100%);max-height:min(620px,88vh);padding:26px;position:relative;overflow:auto;box-shadow:0 12px #56394e99}.panel h2{margin:3px 0 16px;font-size:25px}.eyebrow{color:#a66670;letter-spacing:.06em;margin:0;font-size:12px;font-weight:800}.close{color:#88556d;cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:12px;right:13px}.panel nav{border-bottom:1px solid #ecdac6;gap:6px;margin-bottom:17px;display:flex}.panel nav button{color:#8a6570;cursor:pointer;background:0 0;border:0;padding:8px 7px;font:700 13px inherit}.panel nav button.active{color:#64364e;border-bottom:3px solid #d7847e}.empty{color:#7b5963;padding:24px 6px;line-height:1.6}.primary{color:#fff;cursor:pointer;background:#d7847e;border:0;border-radius:9px;padding:9px 12px;font:800 13px inherit}.panel-form{gap:8px;margin-top:14px;display:flex}.panel input,.panel select{width:100%;font:inherit;color:#56394e;background:#fff;border:1px solid #dbc7b3;border-radius:9px;padding:10px}.panel-form input{flex:1}.todo-list{margin:0;padding:0;list-style:none}.todo-list li{border-bottom:1px solid #f0e3d3;align-items:center;gap:9px;padding:8px 0;display:flex}.todo-list li button{color:#c06066;background:#fff;border:2px solid #c6807d;border-radius:6px;width:21px;height:21px;font-weight:900}.done{opacity:.5;text-decoration:line-through}.memo-list article{background:#fff0d6;border-radius:9px;margin-bottom:8px;padding:10px}.memo-list article p{margin:5px 0 0}.add-panel label{color:#765361;gap:6px;margin:13px 0;font-size:13px;font-weight:800;display:grid}.add-panel>.primary{width:100%;margin-top:8px}.add-panel fieldset{border:0;margin:16px 0;padding:0}.add-panel legend{color:#765361;margin-bottom:7px;font-size:13px;font-weight:800}.appearance-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.appearance{color:#765361;cursor:pointer;min-height:116px;font:inherit;background:#fffdf7;border:2px solid #ead7c2;border-radius:10px;padding:5px}.appearance.selected{background:#fff0e2;border-color:#d7847e;box-shadow:inset 0 0 0 2px #fff8ec}.appearance img{object-fit:contain;width:100%;height:62px;image-rendering:pixelated;display:block}.appearance b,.appearance small{display:block}.appearance b{font-size:11px}.appearance small{color:#9a7580;margin-top:2px;font-size:9px}.build-actions{gap:8px;margin-top:16px;display:flex}.build-actions button{flex:1}.secondary{color:#865c67;cursor:pointer;background:#fffdf7;border:1px solid #caaead;border-radius:9px;padding:9px 12px;font:800 13px inherit}
