*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#0d0a12;color:#e8e2d8;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:16px;line-height:1.5;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ui-hint-coarse{display:none}@media (pointer: coarse){.ui-hint-fine{display:none}.ui-hint-coarse{display:inline}}#app{position:fixed;inset:0;width:100%;height:100%}#canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:default;touch-action:none}#canvas:active{cursor:grabbing}#overlay{position:absolute;inset:0;pointer-events:none;z-index:10}.splash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-image:url(/assets/splash.webp);background-size:cover;background-position:center;background-color:#0a070e;background-blend-mode:normal;z-index:100;transition:opacity 1.2s ease-out}.splash:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,#1a142259,#0a070eb8 55%,#08060ce6);z-index:0}.splash.fading{opacity:0;pointer-events:none}.splash-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;color:#e8d8c8;width:min(100%,28rem);padding:max(1.5rem,env(safe-area-inset-top,0px)) 1.5rem max(1.5rem,env(safe-area-inset-bottom,0px))}.splash-brand{animation:splash-rise .9s ease-out both}.splash-title{font-size:clamp(2.75rem,7vw,4.75rem);font-weight:400;letter-spacing:.02em;line-height:1.05;color:#f0e4d4;margin-bottom:.65rem;text-shadow:0 2px 28px rgba(0,0,0,.45)}.splash-subtitle{font-style:italic;font-size:clamp(1rem,2vw,1.15rem);opacity:.62;letter-spacing:.06em;margin-bottom:0;animation:splash-rise .9s ease-out .12s both}.splash-loading{font-size:.95rem;opacity:.45;font-style:italic;letter-spacing:.12em;margin:2.75rem 0 0;animation:splash-rise .8s ease-out .28s both,splash-pulse 2.4s ease-in-out 1s infinite}.splash-feedback{display:flex;flex-direction:column;align-items:center;gap:.85rem;width:min(100%,20rem);margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid rgba(240,228,212,.12);animation:splash-rise .85s ease-out .4s both}.splash-devnote{font-size:.82rem;line-height:1.5;opacity:.42;font-style:italic;letter-spacing:.03em;max-width:18rem}.splash-messageform{display:flex;align-items:center;gap:.65rem;width:100%}.splash-messageinput{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid rgba(240,228,212,.28);border-radius:0;color:#f0e4d4;font:italic 16px/1.4 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;letter-spacing:.03em;text-align:left;padding:.45em .1em;outline:none;transition:border-color .25s ease,opacity .25s ease;opacity:.75;touch-action:manipulation}.splash-messageinput:focus{border-bottom-color:#f0e4d4b3;opacity:1}.splash-messageinput::placeholder{color:#f0e4d461}.splash-messagesend{flex-shrink:0;background:none;border:none;color:#f0e4d4;font:.78rem Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;letter-spacing:.16em;text-transform:lowercase;padding:.55em .35em;min-height:44px;cursor:pointer;opacity:.45;border-bottom:1px solid transparent;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity .25s ease,border-color .25s ease}.splash-messagesend:hover,.splash-messagesend:focus-visible{opacity:.9;border-bottom-color:#f0e4d473;outline:none}.splash-feedback-thanks{font-size:.85rem;font-style:italic;opacity:.5;letter-spacing:.05em;animation:splash-rise .45s ease-out both}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.splash-beginform{display:flex;justify-content:center;margin-top:2.75rem;animation:splash-rise .7s ease-out both}.splash-beginbutton{background:#f0e4d414;border:1px solid rgba(240,228,212,.48);border-radius:2px;color:#f0e4d4;font:.9rem Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;letter-spacing:.2em;padding:.7em 2.4em;min-height:44px;min-width:8.5rem;cursor:pointer;opacity:.9;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity .25s ease,border-color .25s ease,background-color .25s ease,transform .2s ease}.splash-beginbutton:active{opacity:1;background:#f0e4d42e;border-color:#f0e4d4bf}.splash-beginbutton:hover{opacity:1;border-color:#f0e4d4d9;background:#f0e4d424;transform:translateY(-1px)}.splash-beginbutton:focus-visible{outline:1px solid rgba(240,228,212,.55);outline-offset:3px}.splash-inner:has(.splash-beginform) .splash-feedback{margin-top:2.25rem;padding-top:1.25rem;opacity:.85}.splash-inner:has(.splash-beginform) .splash-devnote{opacity:.38}@keyframes splash-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-pulse{0%,to{opacity:.35}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.splash-brand,.splash-subtitle,.splash-loading,.splash-feedback,.splash-beginform,.splash-feedback-thanks{animation:none}}.prompt-stack{position:absolute;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.42rem;animation:prompt-fade-in .2s ease-out}.prompt-options{display:flex;flex-direction:column;align-items:stretch;gap:.28rem;pointer-events:none}.prompt-stack--multi .prompt-options{gap:.34rem}.object-preview-menu{flex-direction:column;align-items:center;gap:.28rem;padding:.55rem .65rem;background:#120c18f0;border:1px solid rgba(190,170,210,.28);border-radius:.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000073,inset 0 1px #fffaf00f}.object-preview-menu--zoomable{cursor:zoom-in;transition:background .15s ease,box-shadow .15s ease}.object-preview-menu--zoomable:hover{background:#1c1424f5;box-shadow:0 4px 20px #00000073,inset 0 1px #fffaf00f,0 0 0 1px #c8b9d247}.object-preview-zoom-hint{font-size:.68rem;letter-spacing:.06em;font-style:italic;color:#b4a8bc8c;text-align:center;line-height:1.2}.object-preview-menu--zoomable:hover .object-preview-zoom-hint{color:#dccdbec7}.object-preview-art svg{width:7.75rem;height:7.75rem;display:block;shape-rendering:geometricPrecision;pointer-events:none}.object-preview-title{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#e8dac8d1;font-style:normal;font-weight:500;max-width:11rem;text-align:center;line-height:1.28}.object-preview-desc{font-size:.78rem;font-weight:400;letter-spacing:.02em;text-transform:none;color:#c8bcafe0;max-width:13rem;text-align:center;line-height:1.4;margin-top:.12rem}.prompt{position:relative;display:block;width:100%;box-sizing:border-box;margin:0;background:#0f0a12c7;color:#f0e4d4;padding:.45rem .9rem;border-radius:.3rem;font:inherit;font-size:1.05rem;text-align:left;cursor:pointer;pointer-events:auto;white-space:nowrap;border:1px solid rgba(180,160,200,.18);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-style:italic;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.prompt:hover,.prompt:focus-visible{border-color:#dcc8e661;background:#16101ce0;outline:none}.prompt:active{transform:translateY(1px)}.prompt--charge{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;white-space:normal;min-width:7.5rem;padding-bottom:.4rem}.prompt-row{white-space:nowrap}.prompt-charge{position:relative;height:.28rem;border-radius:999px;background:#fff0dc1f;overflow:hidden;box-shadow:inset 0 0 0 1px #b4a0c81f}.prompt-charge-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#e8c496bf,#f5dcb4f2);transition:width .05s linear}.prompt-charge--ready .prompt-charge-fill{background:linear-gradient(90deg,#d2aa78e6,#ffe6be);box-shadow:0 0 8px #ffdcaa59}.prompt-key{display:inline-block;background:#fff0dc1f;padding:.06rem .48rem;border-radius:.2rem;margin-right:.5rem;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.92rem;font-style:normal;letter-spacing:0}@keyframes prompt-fade-in{0%{opacity:0}to{opacity:1}}.drop-marker{position:absolute;width:2.4rem;height:2.8rem;pointer-events:none;z-index:40;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.drop-marker-bob{position:absolute;inset:0;animation:drop-marker-bob 1.15s ease-in-out infinite}.drop-marker-arrow{position:absolute;left:50%;top:0;width:0;height:0;transform:translate(-50%);border-left:.55rem solid transparent;border-right:.55rem solid transparent;border-top:.85rem solid rgba(240,220,190,.92)}.drop-marker-arrow:before{content:"";position:absolute;left:50%;top:-1.05rem;width:.28rem;height:.55rem;transform:translate(-50%);background:#f0dcbeeb;border-radius:1px 1px 0 0}.drop-marker-ring{position:absolute;left:50%;bottom:.1rem;width:1.35rem;height:.55rem;transform:translate(-50%);border-radius:50%;border:1.5px solid rgba(240,220,190,.72);background:#f0dcbe1f;box-shadow:0 0 10px #ffd6aa47}.drop-marker--notice .drop-marker-arrow{border-top-color:#ffc6a0f5}.drop-marker--notice .drop-marker-arrow:before{background:#ffc6a0f5}.drop-marker--notice .drop-marker-ring{border-color:#ffba96e0;background:#ffb48c2e;box-shadow:0 0 14px #ffaa7866}@keyframes drop-marker-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.memory-dock{position:absolute;left:max(.75rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));z-index:12;display:flex;flex-direction:column;align-items:stretch;gap:.38rem;pointer-events:none;transform:translate(var(--jx, 0px),var(--jy, 0px));will-change:transform;transition:transform .08s linear}.inspiration-hud-panel{pointer-events:none;max-width:calc(100vw - 1.5rem);padding:.4rem .55rem .48rem;background:#120c18f0;border:1px solid rgba(190,170,210,.28);border-radius:.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000073,inset 0 1px #fffaf00f}.inspiration-hud-label{display:block;text-align:center;font:italic .82rem Iowan Old Style,Palatino Linotype,Georgia,serif;letter-spacing:.05em;color:#e8dac8d1;margin-bottom:.3rem}.inspiration-hud-track{height:1.05rem;border-radius:.5rem;background:#0a080eb3;border:1px solid rgba(140,120,160,.35);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #00000080}.inspiration-hud-fill{height:100%;width:0%;min-width:0;border-radius:.42rem;position:relative;box-sizing:border-box}.inspiration-hud-sheen{position:absolute;left:0;top:0;width:100%;height:48%;border-radius:.42rem .42rem 0 0;opacity:.22;pointer-events:none}.memory-inventory-shell{display:flex;flex-direction:row;align-items:center;gap:.28rem;pointer-events:auto;transition:opacity .35s ease}.memory-inventory-shell--empty{opacity:0;visibility:hidden;pointer-events:none}.memory-inventory-panel{display:flex;flex-direction:column;align-items:center;gap:.22rem;padding:.55rem .65rem .5rem;min-width:10.5rem;max-width:13rem;background:#120c18f0;border:1px solid rgba(190,170,210,.28);border-radius:.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000073,inset 0 1px #fffaf00f}.memory-inventory-view{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}.memory-inventory-panel .memory-inventory-desc.object-preview-desc{margin-top:.06rem;max-width:12rem}.memory-inventory-art{cursor:zoom-in;border-radius:.3rem;outline:none;transition:background .15s ease,box-shadow .15s ease}.memory-inventory-art:hover,.memory-inventory-art:focus-visible{background:#fff5e60d;box-shadow:0 0 0 1px #c8b9d247}.memory-inventory-art:hover+.memory-inventory-zoom-hint,.memory-inventory-art:focus-visible+.memory-inventory-zoom-hint{color:#dccdbec7}.memory-inventory-panel .object-preview-art svg{width:7.75rem;height:7.75rem;display:block;shape-rendering:geometricPrecision;filter:grayscale(.18) contrast(.94) brightness(1.02);opacity:.92;pointer-events:none}.memory-inventory-zoom-hint{font-size:.68rem;letter-spacing:.06em;font-style:italic;color:#b4a8bc8c;text-align:center;line-height:1.2;margin-top:-.05rem;cursor:zoom-in;transition:color .15s ease}.memory-inventory-zoom-hint:hover{color:#dccdbec7}.memory-inventory-panel .object-preview-title{margin-top:.08rem}.memory-inventory-desk{font-size:.72rem;font-style:italic;letter-spacing:.03em;color:#b4a8c6e0;text-align:center;line-height:1.25}.memory-inventory--unease .memory-inventory-panel .object-preview-art svg{filter:grayscale(.32) contrast(.9) brightness(.97);opacity:.88}.memory-inventory-meta{width:100%;text-align:center;padding-top:.12rem;border-top:1px solid rgba(140,120,160,.15)}.memory-inventory-index{font-size:.72rem;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:#b4a8bca6;font-family:SF Mono,Monaco,Menlo,monospace}.memory-nav{flex-shrink:0;width:2rem;height:2.6rem;border-radius:.35rem;border:1px solid rgba(190,170,210,.35);background:#16101eeb;color:#e8dac8e0;font-size:1.35rem;line-height:1;cursor:pointer;pointer-events:auto;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.memory-nav:hover:not(:disabled){background:#241c30f2;border-color:#d2bee673}.memory-nav:disabled{opacity:.28;cursor:default}.memory-nav:focus-visible{outline:2px solid rgba(200,180,230,.55);outline-offset:2px}.dialogue{position:absolute;background:#f5ecd8eb;color:#2a1f18;padding:.5rem .9rem;border-radius:.4rem;font-size:.95rem;font-style:italic;pointer-events:none;white-space:nowrap;max-width:24rem;white-space:normal;text-align:center;box-shadow:0 4px 16px #00000059;transform:translate(-50%,-50%);letter-spacing:.01em;line-height:1.4;border:1px solid rgba(80,60,50,.15)}.dialogue:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#f5ecd8eb;border-bottom:0}.dialogue--thought{background:#e8e0d2c7;color:#3a322c;font-size:.88rem;border-style:dashed;border-color:#503c3238;box-shadow:0 3px 12px #00000047}.dialogue--thought:after{border-top-color:#e8e0d2c7}.notice-stack{position:absolute;left:50%;bottom:max(5.25rem,calc(env(safe-area-inset-bottom) + 4.25rem));transform:translate(-50%);z-index:16;display:flex;flex-direction:column;align-items:stretch;gap:.42rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.notice-card{padding:.48rem .78rem .55rem;border-radius:.45rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 18px #0006}.notice-card__label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.18rem;opacity:.72}.notice-card__body{font-size:.92rem;line-height:1.35;text-align:center}.notice-card--observation{background:#100e16e6;border:1px solid rgba(190,170,210,.28);color:#ece4d8f5}.notice-card--observation .notice-card__label{color:#c8badce6}.notice-card--observation .notice-card__body{font-style:normal;letter-spacing:.01em}.notice-card--speech{background:#f5ecd8ed;border:1px solid rgba(80,60,50,.16);color:#2a1f18}.notice-card--speech .notice-card__label{color:#463428b3}.notice-card--speech .notice-card__body{font-style:italic}.speaker-ping{position:absolute;width:12px;height:12px;margin:0;border-radius:50%;background:#f5ecd8f2;box-shadow:0 0 0 3px #f5ecd838,0 0 16px #ffd6968c;transform:translate(-50%,-50%);pointer-events:none;z-index:17;animation:speaker-ping-pulse 1.1s ease-in-out infinite}.speaker-ping:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid rgba(245,236,216,.55);animation:speaker-ping-ring 1.1s ease-out infinite}@keyframes speaker-ping-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(.88);opacity:.82}}@keyframes speaker-ping-ring{0%{transform:scale(.55);opacity:.85}to{transform:scale(1.35);opacity:0}}.read-mode{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#140e1aeb,#08050cf7);pointer-events:auto;z-index:50;opacity:0;transition:opacity .35s ease-out}.read-mode.visible{opacity:1}.read-mode-page{position:relative;width:min(48rem,92vw);max-height:86vh;background:linear-gradient(120deg,#faf6ec,#f5ecd8 45%,#efe6d4);color:#2a1f18;border-radius:.4rem;padding:3rem 3.5rem;overflow-y:auto;box-shadow:0 30px 80px #0009,inset 0 1px #fffaeb66;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.65;letter-spacing:.005em;white-space:pre-wrap;scrollbar-width:thin;scrollbar-color:rgba(120,90,60,.4) transparent}.read-mode-page::-webkit-scrollbar{width:8px}.read-mode-page::-webkit-scrollbar-track{background:transparent}.read-mode-page::-webkit-scrollbar-thumb{background:#785a3c59;border-radius:4px}.read-mode-page:before{content:"";position:absolute;top:1.5rem;bottom:1.5rem;left:2.2rem;width:1px;background:#b4966e73}.read-mode-page p{margin-bottom:1rem}.read-mode-page p:last-child{margin-bottom:0}.read-mode-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:.85rem;color:#e8dac880;letter-spacing:.06em;font-style:italic}.read-mode-hint .prompt-key{margin-right:.4rem;background:#fff0dc1f;padding:.05rem .45rem;border-radius:.2rem;font-family:SF Mono,Monaco,Menlo,monospace;font-style:normal}.read-mode--tablet{background:radial-gradient(ellipse at center,#08060ef2,#000004fc)}.read-mode-page--tablet{background:linear-gradient(180deg,#14141a,#0a0a10);color:#d8e0e8;font-family:SF Pro Text,-apple-system,Helvetica Neue,sans-serif;font-style:normal;font-size:.95rem;line-height:1.5;letter-spacing:.005em;border:1px solid rgba(180,200,230,.1);box-shadow:0 30px 80px #000000b3,inset 0 1px #ffffff0a,0 0 28px #5078b42e;width:min(34rem,88vw);padding:2rem 2.4rem 2.4rem;max-height:80vh}.read-mode-page--tablet:before{display:none}.read-mode-page--tablet p{margin-bottom:.6rem;padding:.42rem .65rem;background:#ffffff0a;border-radius:.25rem;border-left:2px solid rgba(140,170,220,.45)}.read-mode-page--tablet.read-mode-page--chat{display:flex;flex-direction:column;gap:.35rem;padding-bottom:1.6rem}.read-mode-page--chat .read-mode-tablet-title{margin-bottom:.85rem}.chat-row{display:flex;width:100%;margin-bottom:.35rem}.chat-row--other{justify-content:flex-start}.chat-row--self{justify-content:flex-end}.chat-bubble{max-width:min(78%,22rem);padding:.45rem .7rem .5rem;border-radius:.85rem;border:1px solid transparent}.chat-row--other .chat-bubble{border-bottom-left-radius:.2rem}.chat-row--self .chat-bubble{border-bottom-right-radius:.2rem}.chat-speaker{font-size:.68rem;font-weight:600;letter-spacing:.04em;margin-bottom:.18rem;opacity:.85}.chat-text{font-size:.92rem;line-height:1.45;white-space:pre-wrap}.chat-divider{align-self:center;width:100%;text-align:center;font-size:.72rem;letter-spacing:.08em;color:#aabedc66;margin:.55rem 0 .35rem}.chat-bubble--self{background:#286e786b;border-color:#78d2c847;color:#e8f7f5}.chat-bubble--self .chat-speaker{color:#a0e6dce6}.chat-bubble--c0{background:#465a9661;border-color:#8caae659;color:#e4eaf8}.chat-bubble--c0 .chat-speaker{color:#aac3f5f2}.chat-bubble--c1{background:#8c465061;border-color:#e68c9659;color:#f8e8ea}.chat-bubble--c1 .chat-speaker{color:#f5b4b9f2}.chat-bubble--c2{background:#6e508c61;border-color:#bea0e659;color:#f0e8f8}.chat-bubble--c2 .chat-speaker{color:#d2b9f5f2}.chat-bubble--c3{background:#5a6e4661;border-color:#aac88259;color:#eaf2e0}.chat-bubble--c3 .chat-speaker{color:#bedc96f2}.chat-bubble--c4{background:#82643c61;border-color:#dcb47859;color:#f6eedf}.chat-bubble--c4 .chat-speaker{color:#ebc891f2}.read-mode-page--chat p{margin:0;padding:0;background:none;border:none}.read-mode-tablet-title{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#aabedc8c;margin-bottom:1.1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(180,200,230,.12)}.read-mode-nav{position:absolute;bottom:4.2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.85rem;z-index:2}.read-mode-nav-btn{appearance:none;border:1px solid rgba(180,200,230,.28);background:#141824d9;color:#dce6f5eb;font-family:SF Pro Text,-apple-system,Helvetica Neue,sans-serif;font-size:.82rem;letter-spacing:.04em;padding:.45rem .95rem;border-radius:.3rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.read-mode-nav-btn:hover:not(:disabled){background:#283248f2;border-color:#b4c8e680}.read-mode-nav-btn:disabled{opacity:.35;cursor:default}.read-mode-nav-label{min-width:3.2rem;text-align:center;font-size:.78rem;letter-spacing:.12em;color:#b4c8e68c;font-family:SF Mono,Monaco,Menlo,monospace}.read-mode--tablet .read-mode-hint{bottom:1.35rem}.item-look-preview{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:1.25rem 1rem 2.5rem;box-sizing:border-box;background:radial-gradient(ellipse at center,#120c16f0,#06040afa);pointer-events:auto;z-index:50;opacity:0;transition:opacity .3s ease-out}.item-look-preview.visible{opacity:1}.item-look-preview-panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:.65rem;width:min(92vw,54rem);max-height:min(88vh,52rem);padding:1.35rem 1.5rem 1.15rem;box-sizing:border-box;background:linear-gradient(165deg,#1c1422f5,#0e0a12fa);border:1px solid rgba(190,170,210,.22);border-radius:.55rem;box-shadow:0 28px 80px #0000008c,inset 0 1px #fffaf00f}.item-look-preview-close{position:absolute;top:.55rem;right:.6rem;width:2.1rem;height:2.1rem;padding:0;border:1px solid rgba(200,185,210,.28);border-radius:.35rem;background:#fff5e60f;color:#e8dac8e0;font-size:1.45rem;line-height:1;cursor:pointer;z-index:2}.item-look-preview-close:hover{background:#fff5e61f;color:#faf0e1fa}.item-look-preview-title{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#e8dac8b8;font-weight:500;text-align:center;padding:0 2.2rem}.item-look-preview-art{flex:1 1 auto;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(160,140,170,.35) transparent}.item-look-preview-art svg{width:min(100%,48rem);height:auto;max-height:min(72vh,42rem);display:block;shape-rendering:geometricPrecision}.item-look-preview-desc{font-size:.88rem;line-height:1.45;color:#c8bcafd1;text-align:center;max-width:36rem;font-style:italic}.item-look-preview-hint{font-size:.85rem;color:#e8dac87a;letter-spacing:.05em;font-style:italic}.item-look-preview-hint .prompt-key{margin:0 .15rem;background:#fff0dc1a;padding:.05rem .45rem;border-radius:.2rem;font-family:SF Mono,Monaco,Menlo,monospace;font-style:normal}.safe-closeup{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#120e16f0,#06040afa);pointer-events:auto;z-index:50;opacity:0;transition:opacity .35s ease-out}.safe-closeup.visible{opacity:1}.safe-closeup-panel{width:min(22rem,90vw);padding:1.75rem 1.5rem 1.5rem;border-radius:.45rem;background:linear-gradient(165deg,#2e323c,#1a1d24 55%,#12151c);border:1px solid rgba(140,150,170,.22);box-shadow:0 28px 70px #000000a6,inset 0 1px #ffffff0f;transition:transform .12s ease-out}.safe-closeup-panel.safe-closeup--wrong{animation:safe-closeup-shake .42s ease-out}@keyframes safe-closeup-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.safe-closeup-title{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#c8cddaa6;text-align:center;margin-bottom:.35rem}.safe-closeup-sub{font-size:.82rem;color:#b4b9c6c7;text-align:center;margin-bottom:1.25rem;line-height:1.35}.safe-closeup-display{display:flex;justify-content:center;gap:.65rem;margin-bottom:1.35rem;padding:.85rem .6rem;border-radius:.28rem;background:#06080ceb;border:1px solid rgba(90,100,120,.35);box-shadow:inset 0 2px 12px #0000008c}.safe-closeup-slot{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:1.65rem;font-weight:500;color:#bee6ffeb;min-width:1.15rem;text-align:center;text-shadow:0 0 12px rgba(120,200,255,.35)}.safe-closeup-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:1.1rem}.safe-closeup-key{font-family:inherit;font-size:1.05rem;font-weight:600;padding:.62rem .25rem;border-radius:.28rem;border:1px solid rgba(110,120,140,.45);background:linear-gradient(180deg,#4a505c,#353a44);color:#ebeef5f2;cursor:pointer;transition:background .12s ease,transform .08s ease}.safe-closeup-key:hover{background:linear-gradient(180deg,#585f6e,#424854)}.safe-closeup-key:active{transform:scale(.96)}.safe-closeup-key--ghost{border:none;background:transparent;cursor:default;pointer-events:none}.safe-closeup-hint{text-align:center;font-size:.82rem;color:#c8bed273;letter-spacing:.04em}.password-closeup-input{display:block;width:100%;box-sizing:border-box;margin-bottom:.85rem;padding:.75rem .9rem;border-radius:.28rem;border:1px solid rgba(90,100,120,.45);background:#06080ceb;color:#dcebfff2;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.08em;text-align:center;outline:none;box-shadow:inset 0 2px 12px #0000008c}.password-closeup-input:focus{border-color:#78aadc8c}.password-closeup-input--wrong{border-color:#c8505ab3}.password-closeup-submit{display:block;width:100%;margin-bottom:1.1rem;font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.65rem .5rem;border-radius:.28rem;border:1px solid rgba(110,120,140,.45);background:linear-gradient(180deg,#4a505c,#353a44);color:#ebeef5f2;cursor:pointer}.password-closeup-submit:hover{background:linear-gradient(180deg,#585f6e,#424854)}.safe-closeup-hint .prompt-key{margin-right:.35rem;background:#fff0dc1a;padding:.05rem .45rem;border-radius:.2rem;font-family:SF Mono,Monaco,Menlo,monospace}.mc-root{position:absolute;inset:0;pointer-events:none;z-index:20}.mc-joy-base{display:none;position:absolute;width:112px;height:112px;margin-left:-56px;margin-top:-56px;border-radius:50%;background:#fff5e614;border:1.5px solid rgba(255,245,230,.18);pointer-events:none;transition:opacity .16s ease;will-change:opacity}.mc-joy-knob{position:absolute;top:50%;left:50%;width:44px;height:44px;margin-left:-22px;margin-top:-22px;border-radius:50%;background:#fff5e647;border:1.5px solid rgba(255,245,230,.45);box-shadow:0 2px 12px #0006;transform:translate(-50%,-50%);transition:transform .04s linear;pointer-events:none}.mc-actions{position:absolute;bottom:max(28px,env(safe-area-inset-bottom,16px));right:max(28px,env(safe-area-inset-right,16px));display:flex;flex-direction:column;gap:14px;align-items:center;pointer-events:auto}.mc-btn{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,245,230,.3);background:#fff5e61a;color:#fff5e6b3;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .1s,border-color .1s,color .1s;box-shadow:0 2px 10px #00000059;user-select:none;-webkit-user-select:none}.mc-btn--pressed{background:#fff5e647;border-color:#fff5e699;color:#fff5e6}.prompt-key--wide{padding-left:.35rem;padding-right:.35rem;font-size:.72rem;letter-spacing:.02em}.mc-hint-toast{position:absolute;left:50%;top:max(14px,env(safe-area-inset-top,14px));transform:translate(-50%) translateY(0);width:min(22rem,calc(100vw - 28px));padding:.85rem 1rem .95rem;border-radius:12px;background:#120e1aeb;border:1px solid rgba(255,245,230,.14);box-shadow:0 8px 28px #00000073;pointer-events:auto;z-index:40;animation:mc-hint-in .35s ease-out}@keyframes mc-hint-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mc-hint-toast__title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;opacity:.55;margin-bottom:.35rem}.mc-hint-toast__body{font-size:.88rem;line-height:1.45;color:#f0e4d8eb}.mc-hint-toast__body strong{color:#f5ebe0;font-weight:600}.mc-hint-toast__dismiss{margin-top:.55rem;font-size:.72rem;font-style:italic;opacity:.42}@media (pointer: coarse) and (max-width: 480px){.mc-btn{width:56px;height:56px;font-size:1.05rem}.mc-actions{gap:16px}}.settings-menu{position:fixed;top:14px;left:14px;z-index:70;font-family:inherit}.settings-gear{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(240,228,216,.22);border-radius:50%;background:#0d0a12b8;color:#f0e4d8c7;cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .25s ease}.settings-gear:hover{color:#f5ebe0;border-color:#f0e4d880;transform:rotate(30deg)}.settings-panel{position:absolute;top:46px;left:0;width:240px;padding:14px 16px;border:1px solid rgba(240,228,216,.18);border-radius:10px;background:#0d0a12eb;backdrop-filter:blur(6px);color:#e8e2d8}.settings-row+.settings-row{margin-top:12px}.settings-label{display:block;margin-bottom:6px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#f0e4d88c}.settings-volume{width:100%;accent-color:#d8b98a;cursor:pointer}.settings-tiers{display:flex;gap:6px}.settings-tier{flex:1;padding:5px 0;border:1px solid rgba(240,228,216,.2);border-radius:6px;background:transparent;color:#f0e4d8a6;font-family:inherit;font-size:.72rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.settings-tier:hover{color:#f5ebe0;border-color:#f0e4d873}.settings-tier.is-active{background:#d8b98a2e;border-color:#d8b98a;color:#f0e0c8}.settings-fps-row{display:flex;align-items:baseline;justify-content:space-between}.settings-fps-row .settings-label{margin-bottom:0}.settings-fps{font-size:.95rem;font-variant-numeric:tabular-nums;color:#f0e0c8}
