:root{color-scheme:dark;background:#071321}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}main{position:relative;width:100%;height:100svh;overflow:hidden;touch-action:pan-y pinch-zoom;isolation:isolate}#art,canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:90% 48%}canvas[hidden]{display:none}button{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:44px;border:1px solid #e8c77845;border-radius:50%;background:#09182266;color:#e8d5a5;font:20px Georgia,serif;cursor:pointer;opacity:.55;transition:opacity .25s}button:hover,button:focus-visible{opacity:1}button:focus-visible{outline:2px solid #e8d5a5;outline-offset:4px}button:disabled{display:none}@media(prefers-reduced-motion:reduce){button{transition:none}#pause{display:none}}

#review{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:16px;color:#eee4cc;font:13px system-ui;background:#071321dd;border:1px solid #99865a66;border-radius:10px;padding:10px;z-index:5}#review summary{cursor:pointer}#review nav{display:flex;gap:6px;flex-wrap:wrap;max-width:360px;padding-top:10px}#review button{position:static;width:auto;height:auto;color:#eee4cc;background:#172c3b;border:1px solid #99865a66;border-radius:6px;padding:8px;cursor:pointer}

#review{max-width:calc(100vw - 88px)}#review button{display:inline-block;opacity:1;font:13px system-ui;min-height:40px}#review-status{font:12px/1.4 system-ui;max-width:340px;margin:8px 0 0}main:has(+ #review[open]){touch-action:pan-y}

#review[open]{max-height:70svh;overflow:auto}#review select{font:13px system-ui;background:#172c3b;color:#eee4cc;border:1px solid #99865a66;padding:8px;border-radius:6px;max-width:100%}#review label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

#review:not([open]){padding:0;width:40px;height:40px;border-radius:50%;background:#07132188;opacity:.65}#review:not([open]) summary{display:grid;place-items:center;width:40px;height:40px;font-size:23px;list-style:none}#review summary::-webkit-details-marker{display:none}#review[open] summary{min-height:36px;font-size:23px}#review:hover,#review:focus-within{opacity:1}
#scene-fairy{position:absolute;z-index:4;display:block;width:44px;height:44px;transform:translate(-50%,-50%);background:none;border:0;border-radius:50%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;visibility:hidden}#scene-fairy svg{position:absolute;left:50%;top:50%;width:var(--fairy-size,76px);height:var(--fairy-size,76px);transform:translate(-50%,-50%) scale(var(--fairy-scale,1));overflow:visible;pointer-events:none}#scene-fairy:focus-visible{outline:1px solid #c5eeff;outline-offset:3px}

/* A quiet, one-time fairy aside; appears only in the first minute. */
.navi-invitation{position:fixed;z-index:90;display:flex;align-items:center;max-width:calc(100vw - 24px);border:1px solid #b9c6d488;border-radius:11px;background:#0b2035ed;color:#edf0df;box-shadow:0 4px 18px #0007;font:14px/1.35 Georgia,serif}
.navi-invitation::after{content:"";position:absolute;left:calc(50% - 5px);bottom:-6px;width:9px;height:9px;transform:rotate(45deg);border-right:1px solid #b9c6d488;border-bottom:1px solid #b9c6d488;background:#0b2035}
.navi-invitation button{min-height:44px;border:0;background:none;color:inherit;cursor:pointer;font:inherit}
.navi-invitation-ask{padding:8px 12px;text-align:left}.navi-invitation-dismiss{min-width:44px;padding:8px;font:20px system-ui!important}
.navi-invitation button:focus-visible,.navi-holder-actions a:focus-visible,.navi-holder-actions button:focus-visible{outline:2px solid #efe0ae;outline-offset:2px;border-radius:6px}
.navi-holder-actions{display:flex;gap:10px;flex-wrap:wrap;padding:18px 24px 24px}
.navi-holder-actions a,.navi-holder-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;box-sizing:border-box;border:1px solid #b2bea688;border-radius:7px;background:#193c4d;color:#eef0dc;text-decoration:none;font:14px Georgia,serif;cursor:pointer}
.navi-holder-actions button{background:transparent;color:#c6d2df}
.navi-invitation[hidden],.navi-holder-actions[hidden],#navi-holder-dialog .navi-topics[hidden]{display:none!important}

#navi-holder-dialog{width:min(700px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #c8b885aa;border-radius:16px;background:linear-gradient(145deg,#0d2338f5,#081522fa);color:#e7e5d3;box-shadow:0 18px 80px #000c,0 0 0 4px #0a1728,0 0 0 5px #66809055;font:16px/1.5 Georgia,serif;overflow:auto;overscroll-behavior:contain}
#navi-holder-dialog::backdrop{background:#030b18aa;backdrop-filter:blur(3px)}
.navi-call{position:fixed;left:12px;bottom:12px;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.navi-call:focus-visible{width:auto;height:auto;min-height:44px;clip-path:none;z-index:100;padding:8px 12px;background:#0d2338;color:#fff}
