:root{font-family:'Source Sans 3',Arial,sans-serif;color:#4b3025;background:#eee1ca;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,a,summary{font:inherit;color:inherit}button,summary{cursor:pointer}button{min-height:44px;padding:10px 0;border:0;background:none;border-bottom:1px solid #a88e6b}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #78523e;outline-offset:4px}
header{display:flex;justify-content:space-between;gap:20px;padding:12px 24px;font-size:13px;background:#f1e6d3}
.stage{height:calc(100svh - 235px);min-height:420px;position:relative;overflow:hidden;background:#eee1ca}canvas{display:block;width:100%;height:100%;visibility:hidden}body[data-ready="true"] .stage[data-ready="true"] canvas{visibility:visible}body[data-ready="true"] .stage[data-ready="true"] .model-fallback{display:none}
.model-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.model-fallback img{width:100%;height:85%;object-fit:contain}.model-fallback p{margin:8px 20px;text-align:center}
.model-controls{display:none}.invitation{text-align:center;padding:16px 24px 20px;background:#ead9bc}h1{font:500 30px/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 10px}h1 em{font-weight:500}.controls,nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}.controls button,nav button{font-size:15px}#sequence-status,.refresh-note{font-size:14px;line-height:1.4;margin:8px 0}.refresh-note{margin-top:16px}
.reference{max-width:760px;margin:0 auto;padding:8px 24px 24px}.reference summary{min-height:44px;padding:12px 0;text-align:center;list-style:none;text-decoration:underline;text-underline-offset:4px}.reference summary::-webkit-details-marker{display:none}.reference img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.reference p{line-height:1.5;font-size:14px}.reference a{text-underline-offset:4px}
dialog{max-width:460px;width:calc(100% - 40px);padding:30px;border:1px solid #b39873;background:#ead5b4;color:#4b3025}dialog::backdrop{background:#f3e5cfbb}dialog h2{font:500 32px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 18px}dialog p{line-height:1.5}
[hidden]{display:none!important}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
@media(max-width:600px){header{padding:10px 18px;font-size:12px}.stage{height:55svh;min-height:360px}.invitation{padding:14px 18px}.controls{gap:16px}.controls button{font-size:14px}h1{font-size:27px}nav{gap:24px}}
@media(forced-colors:active){button{border:1px solid ButtonText}.invitation,dialog{background:Canvas;color:CanvasText}}
