:root{--bg-top:#f8cf97;--bg-bottom:#f28f74;--ui-panel:#1f1a22;--ui-text:#fff4e9;--ui-accent:#ffcf8d;--ui-muted:#dbc8ba;--ui-border:#ffffff2e;--ui-shadow:#0000003f}*{box-sizing:border-box}html,body,#app,.scene-shell,.scene-root{width:100%;height:100%}html,body{background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));color:var(--ui-text);margin:0;font-family:Avenir Next,Avenir,Trebuchet MS,Segoe UI,sans-serif;overflow:hidden}canvas{display:block}.scene-shell{position:relative}.overlay{text-align:center;background:radial-gradient(circle at 20% 20%,#fff2 0,#fff0 44%),radial-gradient(circle at 80% 75%,#00000021 0,#0000 56%);place-items:center;transition:opacity .5s,visibility .5s;display:grid;position:absolute;inset:0}.overlay.is-hidden{opacity:0;visibility:hidden}.title-wrap h1{letter-spacing:.02em;text-shadow:0 6px 22px #00000045;margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.title-wrap p{color:#ffefdccc;margin:.8rem 0 0;font-size:clamp(.95rem,2vw,1.2rem)}.drop-ball{border:1px solid var(--ui-border);color:var(--ui-text);cursor:pointer;box-shadow:0 10px 24px var(--ui-shadow);background:#161117cc;border-radius:999px;margin-top:1.2rem;padding:.75rem 1.4rem;font-size:1rem;transition:transform .2s,background .2s}.drop-ball:hover{background:#211926d9;transform:translateY(-1px)}.settings-toggle{border:1px solid var(--ui-border);width:44px;height:44px;color:var(--ui-text);cursor:pointer;box-shadow:0 10px 24px var(--ui-shadow);background:#130f15cc;border-radius:999px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.settings-toggle svg{fill:currentColor;width:22px;height:22px}.options-panel{background:color-mix(in srgb, var(--ui-panel) 88%, #000 12%);border:1px solid var(--ui-border);width:min(360px,100vw - 32px);max-height:calc(100vh - 86px);box-shadow:0 16px 40px var(--ui-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:70px;right:16px;overflow:auto}.options-panel.is-hidden{opacity:0;visibility:hidden;transform:translateY(-8px)}.panel-form{flex-direction:column;gap:.68rem;padding:1rem;display:flex}.panel-form h2,.panel-form h3{letter-spacing:.01em;margin:0;font-weight:600}.panel-form h2{color:var(--ui-accent);font-size:1.2rem}.panel-form h3{color:#fff1df;margin-bottom:.2rem;font-size:.98rem}.panel-form label{color:var(--ui-muted);flex-direction:column;gap:.22rem;font-size:.84rem;display:flex}.panel-form select,.panel-form input[type=range],.panel-form input[type=color],.panel-form button{width:100%}.panel-form select,.panel-form button{border:1px solid var(--ui-border);color:var(--ui-text);background:#ffffff14;border-radius:8px;padding:.42rem .55rem}.panel-form select option{color:#1d1a1f;background:#f7eee2}.panel-form select:focus-visible,.panel-form button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.panel-form input[type=range]{accent-color:var(--ui-accent)}.panel-form input[type=color]{border:1px solid var(--ui-border);background:0 0;border-radius:7px;min-height:2.2rem}.group{background:#ffffff0c;border:1px solid #ffffff15;border-radius:10px;flex-direction:column;gap:.45rem;padding:.72rem;display:flex}.group.is-hidden{display:none}.checkbox{flex-direction:row;align-items:center;gap:.5rem}.checkbox input{width:auto}.row-actions{gap:.55rem;display:flex}.row-actions button{cursor:pointer}@media (width<=680px){.settings-toggle{width:40px;height:40px;top:10px;right:10px}.options-panel{width:calc(100vw - 20px);top:58px;right:10px}.drop-ball{font-size:.95rem}}
