:root{--ink:#1b2a44;--paper:#fffaf0c7;--serif:"Cormorant Garamond", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--serif);color:var(--ink);background:#cfe7f3;margin:0;overflow:hidden}#app canvas{touch-action:none;width:100vw;height:100vh;display:block}#loader{z-index:10;background:linear-gradient(#2a66c9 0%,#74b0ea 55%,#d8ecf6 100%);place-items:center;transition:opacity 2.4s .6s;display:grid;position:fixed;inset:0}.ready #loader{opacity:0;pointer-events:none}.title{text-align:center;color:#fffaf0;text-shadow:0 2px 18px #14285a59}.title h1{letter-spacing:.06em;margin:0;font-size:clamp(3rem,9vw,7rem);font-style:italic;font-weight:500}.title .jp{font-family:"Shippori Mincho", var(--serif);letter-spacing:.5em;margin:0;font-size:clamp(1rem,2.4vw,1.5rem)}#loader-status{opacity:.85;letter-spacing:.08em;margin-top:1.5rem;font-size:1rem}#ui{pointer-events:none;opacity:0;padding:0 24px 20px;transition:opacity 1.5s 2.5s;position:fixed;inset:auto 0 0}.ready #ui{opacity:1}.hide-ui #ui{transition:opacity .4s;opacity:0!important}#shot{color:#fffaf0;text-shadow:0 1px 10px #0a1e468c;opacity:0;margin-bottom:10px;font-size:1.35rem;font-style:italic;transition:opacity 1s,transform 1s;transform:translateY(6px)}#shot.show{opacity:1;transform:none}#controls{pointer-events:auto;flex-wrap:wrap;gap:8px;display:flex}#controls button{font:inherit;background:var(--paper);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #fff9;border-radius:999px;padding:6px 14px;font-size:.95rem;transition:background .3s}#controls button:hover,#controls button.active{background:#fffffff2}#help{color:#fffcf5d9;text-shadow:0 1px 6px #0a1e4699;margin-top:8px;font-size:.85rem}
