:root{--ink:#244d4a;--paper:#f6f2e9;--accent:#e67748}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif}main{max-width:1000px;margin:auto;padding:24px 28px}header{display:flex;justify-content:space-between;align-items:center}.brand{color:inherit;text-decoration:none;font-size:21px;font-weight:900}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:5px}.intro{position:relative;padding:36px 0 24px}.eyebrow{font-size:11px;letter-spacing:2px;color:#a74f30;font-weight:800;margin:0 0 10px}h1{font-size:clamp(32px,5vw,50px);line-height:1.25;letter-spacing:-1px;margin:0}.intro>p:last-child{position:absolute;right:0;bottom:28px;font-size:14px;line-height:1.9;color:#657e73}.shell{background:#fffaf1;border:1px solid #d7dfd3;border-radius:20px;overflow:hidden;box-shadow:0 16px 40px #244d4a0d}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #e67748;outline-offset:3px}.quiet{padding:9px 12px;border:1px solid #cbd7cc;border-radius:8px;background:#eff0e5;font-size:12px}.settings{display:flex;padding:14px 18px;gap:12px;border-bottom:1px solid #e2e6d9}.settings label{display:flex;align-items:center;gap:8px;font-size:11px}.settings label:first-child{flex:1}select{padding:8px;border:1px solid #c5d2c7;background:#fffdf8;border-radius:8px;font-size:12px;max-width:100%;min-width:0}.settings label:first-child select{flex:1}.hud{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:10px 18px;font-size:12px}.hud b{font-size:20px}.hud small{color:#738277;margin-left:8px;font-size:10px}.progress{height:4px;background:#e2e7d9}.progress i{display:block;height:100%;width:0;background:var(--accent)}.scene{position:relative}canvas{display:block;width:100%;aspect-ratio:900/600;touch-action:none;background:#d4e8e0}#overlay{position:absolute;inset:0;display:grid;place-items:center;background:#d7e7dd44;padding:12px;overflow:auto}.card{background:#fffaf1f5;text-align:center;border:1px solid white;border-radius:18px;padding:25px 30px;box-shadow:0 10px 30px #244d4a1a;max-width:100%;margin:auto}h2{margin:8px 0;font-size:26px}#message{font-size:13px;line-height:1.9;margin:12px 0 18px}.primary{background:var(--accent);color:white;border-radius:10px;padding:13px 25px;font-weight:800}#result{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}[hidden]{display:none!important}.text{display:block;background:transparent;margin:14px auto 0;text-decoration:underline;font-size:12px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fffaf1}.controls button{display:flex;align-items:center;justify-content:center;gap:15px;background:#244d4a;color:#fff;padding:16px 8px;font-weight:800;font-size:15px}.controls span{font-size:27px;line-height:1}#status{font-size:12px;text-align:center;padding:10px;margin:0;min-height:45px;line-height:1.6;color:#657c70}#copy{width:94%;margin:10px 3%;min-height:100px}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:30px 0}.notes span{font-size:10px;letter-spacing:2px;color:#ad5836}.notes h3{font-size:15px}.notes p{font-size:12px;line-height:1.9;color:#657c70}footer{border-top:1px solid #d8dfd1;padding:20px 0;font-size:11px;color:#657c70;display:flex;justify-content:space-between}@media(max-width:600px){main{padding:18px 12px}.brand{font-size:18px}.intro{padding:26px 3px 20px}h1{font-size:32px}.intro>p:last-child{position:static;font-size:12px;margin:12px 0 0}.settings{padding:10px;gap:8px}.settings label{display:block;font-size:10px}.settings select{display:block;width:100%;margin-top:5px;font-size:11px}.hud{padding:10px;font-size:10px}.hud small{display:block;margin:0}.hud b{font-size:17px}canvas{aspect-ratio:560/600}.card{padding:20px 16px}h2{font-size:22px}#message{font-size:12px}.controls button{padding:15px 6px;font-size:14px}#status{font-size:11px}.notes{grid-template-columns:1fr;gap:12px;margin:22px 5px}.notes h3{margin:7px 0}.notes p{margin:0}footer{display:block;line-height:2}footer span{display:block}}

#unlock{margin:0;padding:9px 12px 0;text-align:center;font-size:11px;line-height:1.6;color:#985236}

#status:empty{display:none}
