:root{color-scheme:light;--font-display: "Instrument Serif", "Georgia", serif;--font-body: "Space Mono", "Courier New", monospace;--signal: #FF4D00;--signal-dim: rgba(255, 77, 0, .45);--signal-subtle: rgba(255, 77, 0, .08);--glass-bg: rgba(255, 255, 255, .45);--glass-border: rgba(0, 0, 0, .06);--glass-blur: 20px;--accent: var(--signal);--accent-dim: var(--signal-dim);--text-primary: #1a1a1a;--text-muted: rgba(0, 0, 0, .35);--transition-smooth: .3s cubic-bezier(.16, 1, .3, 1)}.logo-link{display:contents}.logo-link img{cursor:pointer}.ar-fade-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:9998;pointer-events:none;transition:opacity .8s ease}.ar-fade-overlay.fade-out{opacity:0}.a-enter-vr,.a-enter-ar{display:none!important}#welcome-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;background:#fafafa;font-family:var(--font-body);display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box;overflow:hidden;transition:opacity .6s ease}#welcome-screen.dismissed{opacity:0;pointer-events:none}.welcome-logo{position:absolute;top:calc(24px + env(safe-area-inset-top,0px));left:calc(24px + env(safe-area-inset-left,0px));width:100px;height:auto;z-index:2}.welcome-tree{position:absolute;top:0;right:-15%;width:75%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease}.welcome-content{display:flex;flex-direction:column;align-items:flex-start;padding:0 28px;text-align:left;margin-bottom:calc(24px + env(safe-area-inset-bottom,0px));position:relative;z-index:1}.welcome-title{font-family:var(--font-display);font-size:3.8rem;font-weight:400;font-style:italic;letter-spacing:-.03em;line-height:.9;color:#000;margin:0 0 28px;max-width:260px}.welcome-text{font-family:var(--font-body);font-size:.68rem;font-weight:400;line-height:1.8;letter-spacing:0;color:#888;max-width:280px;margin:0 0 36px;-webkit-text-stroke:3px #fafafa;paint-order:stroke fill}.welcome-button{font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#000;background:transparent;border:2px solid #000;padding:14px 40px;border-radius:0;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}.welcome-button:active{background:#000;color:#fff}.lang-switcher{position:fixed;top:calc(28px + env(safe-area-inset-top,0px));right:calc(24px + env(safe-area-inset-right,0px));display:flex;gap:0;z-index:10001}.lang-btn{font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:0;color:#ffffff59;background:none;border:none;padding:6px 0;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.lang-btn:after{content:"/";color:#ffffff26;margin:0 6px}.lang-btn:last-child:after{content:none}.lang-btn.active{color:#fff}.lang-btn:active{opacity:.6}#welcome-screen:not(.dismissed)~.lang-switcher .lang-btn{color:#bbb}#welcome-screen:not(.dismissed)~.lang-switcher .lang-btn:after{color:#ddd}#welcome-screen:not(.dismissed)~.lang-switcher .lang-btn.active{color:#000}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;font-family:var(--font-body);text-align:center;color:#000;box-sizing:border-box;overflow:hidden;background:#fafafa;transition:opacity .6s ease}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-screen .loading-logo{position:absolute;top:calc(24px + env(safe-area-inset-top,0px));left:calc(24px + env(safe-area-inset-left,0px));width:100px;height:auto;z-index:2}#loading-screen .loading-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3}#loading-text{color:#999;font-family:var(--font-body);font-size:.68rem;font-weight:400;letter-spacing:0;text-transform:none;animation:pulse 2.5s ease-in-out infinite}.spinner{width:20px;height:20px;border:1.5px solid #e0e0e0;border-top-color:var(--signal);border-radius:50%;animation:spin .8s linear infinite;margin-top:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.ui-logo{position:fixed;top:calc(24px + env(safe-area-inset-top,0px));left:calc(24px + env(safe-area-inset-left,0px));width:80px;height:auto;z-index:9998;opacity:.8;transition:filter .3s ease}.ui-logo.inverted{filter:invert(1)}.audio-player{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);pointer-events:auto;transition:opacity .3s ease}.audio-player.hidden{display:none}.ap-play{width:36px;height:36px;flex-shrink:0;border:1px solid rgba(0,0,0,.1);border-radius:0;background:transparent;color:var(--signal);font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.ap-play:active{background:#ff4d0026}.ap-icon-play{display:block;width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent var(--signal);margin-left:2px}.ap-icon-pause{display:flex;gap:3px;margin:0}.ap-icon-pause:before,.ap-icon-pause:after{content:"";display:block;width:2.5px;height:10px;background:var(--signal)}.ap-label{font-family:var(--font-body);font-size:.65rem;font-weight:400;letter-spacing:0;color:var(--text-primary);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.ap-progress{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:#0000000f;border-radius:0;outline:none;cursor:pointer}.ap-progress::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:16px;border-radius:0;background:var(--signal);border:none;cursor:pointer}.ap-progress::-moz-range-thumb{width:8px;height:16px;border-radius:0;background:var(--signal);border:none;cursor:pointer}.ap-time{font-family:var(--font-body);font-size:.65rem;font-weight:400;color:var(--text-muted);letter-spacing:0;min-width:2.5em;text-align:right}.ap-tracks{display:flex;gap:2px;flex-shrink:0}.ap-tracks.hidden{display:none}.ap-dot{width:30px;height:30px;border-radius:0;border:1px solid rgba(0,0,0,.08);background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.65rem;font-weight:400;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;touch-action:manipulation;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.ap-dot.active{background:var(--signal-subtle);border-color:var(--signal-dim);color:var(--signal)}.ap-dot:active{transform:scale(.9)}.ap-subtitle{width:100%;overflow:hidden;position:relative;height:1.3em;border-top:1px solid var(--glass-border);margin-top:6px;padding-top:6px}.ap-subtitle.hidden{display:none}.ap-subtitle-text{position:absolute;white-space:nowrap;font-family:var(--font-display);font-size:1.025rem;font-weight:400;font-style:italic;color:#1a1a1a;letter-spacing:-.01em;will-change:transform;transform:translate(100%)}#model-drawer{position:fixed;bottom:0;left:0;right:0;z-index:1000001;transform:translateY(calc(100% - 48px));transition:transform var(--transition-smooth);pointer-events:none}#model-drawer.open{transform:translateY(0)}.drawer-handle{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;pointer-events:auto;-webkit-tap-highlight-color:transparent}.drawer-label{font-family:var(--font-body);font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase}.drawer-counter{font-family:var(--font-body);font-size:.65rem;font-weight:400;color:var(--signal);letter-spacing:0;margin-left:auto;margin-right:12px}.drawer-chevron{display:block;width:7px;height:7px;border-right:1.5px solid var(--signal);border-top:1.5px solid var(--signal);transform:rotate(-45deg) translateY(2px);transition:transform var(--transition-smooth)}#model-drawer.open .drawer-chevron{transform:rotate(135deg) translateY(2px)}.drawer-track{display:flex;gap:6px;padding:12px 20px calc(32px + env(safe-area-inset-bottom,0px));overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));pointer-events:auto}.drawer-track::-webkit-scrollbar{display:none}.model-card{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;border:1px solid var(--glass-border);border-radius:0;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:all .15s ease;-webkit-tap-highlight-color:transparent;opacity:0;animation:cardReveal .35s ease forwards}@keyframes cardReveal{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.model-card:active{background:#0000000a}.card-number{font-family:var(--font-body);font-size:.65rem;font-weight:400;color:var(--signal);min-width:1.6em}.card-name{font-family:var(--font-body);font-size:.65rem;font-weight:400;color:var(--text-primary);letter-spacing:0;white-space:nowrap;text-transform:uppercase}.card-check{display:none;width:14px;height:14px;margin-left:2px}.model-card.selected{background:var(--signal-subtle);border-color:var(--signal-dim)}.model-card.selected .card-name,.model-card.selected .card-number{color:var(--signal)}.model-card.placed{opacity:.4}.model-card.placed .card-name{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--text-muted)}.model-card.placed .card-check{display:block}.model-card.placed .card-check:after{content:"";display:block;width:10px;height:5px;border-left:1px solid var(--text-muted);border-bottom:1px solid var(--text-muted);transform:rotate(-45deg) translateY(-1px)}.ar-hint{position:fixed;top:calc(16% + env(safe-area-inset-top,0px));left:calc(28px + env(safe-area-inset-left,0px));right:calc(28px + env(safe-area-inset-right,0px));transform:none;font-family:var(--font-display);font-size:1.2rem;font-weight:400;font-style:italic;letter-spacing:-.01em;color:#1a1a1a;text-align:left;white-space:pre-line;background:#ffffff73;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:none;border-left:2px solid var(--signal);padding:14px 18px 14px 16px;border-radius:0;z-index:1000001;pointer-events:none;transition:opacity .5s ease;max-width:none;line-height:1.4;text-shadow:none}#onboarding-hint.hidden,#place-another-hint.hidden,#tap-to-listen-hint.hidden,#performance-hint.hidden{opacity:0;pointer-events:none}#placement-hint.hidden{opacity:0}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-btn{position:fixed;top:calc(68px + env(safe-area-inset-top,0px));right:calc(20px + env(safe-area-inset-right,0px));width:44px;height:44px;border:1px solid var(--glass-border);border-radius:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));cursor:pointer;z-index:1000001;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto;font-family:var(--font-display);font-size:1.1rem;font-weight:400;font-style:italic;color:var(--text-primary);padding:0}.about-btn.hidden{opacity:0;pointer-events:none}.about-btn:active{transform:scale(.92)}.about-dialog{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000010;display:flex;align-items:center;justify-content:center;background:#fff6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .3s ease;padding:24px;box-sizing:border-box}.about-dialog.hidden{opacity:0;pointer-events:none}.about-dialog-box{background:#ffffffeb;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 32px #0000001f;padding:28px 24px 20px;max-width:340px;max-height:80vh;display:flex;flex-direction:column}.about-title{font-family:var(--font-display);font-size:1.3rem;font-weight:400;font-style:italic;color:var(--text-primary);margin:0 0 16px}.about-body{overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:20px}.about-text{font-family:var(--font-body);font-size:.68rem;font-weight:400;line-height:1.9;color:#0000008c;margin:0 0 20px;white-space:pre-line}.about-credits{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--glass-border)}.about-credit{display:flex;flex-direction:column;gap:2px}.about-credit-label{font-family:var(--font-body);font-size:.65rem;font-weight:400;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.about-credit-name{font-family:var(--font-body);font-size:.65rem;font-weight:700;color:var(--text-primary);text-decoration:none}a.about-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#0003}.about-logos{width:100%;height:auto;margin-top:16px;border-radius:0}.about-close-btn{font-family:var(--font-body);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:12px 0;border:1px solid var(--glass-border);border-radius:0;background:transparent;color:var(--text-primary);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:all .15s ease;width:100%}.about-close-btn:active{background:#0000000d}#desktop-screen,#unsupported-screen{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;background:#fafafa;font-family:var(--font-body);flex-direction:column;justify-content:flex-end;box-sizing:border-box;overflow:hidden}#desktop-screen.shown,#unsupported-screen.shown{display:flex}.device-screen-en{color:#bbb!important;margin-top:-20px!important}#desktop-screen.shown~.lang-switcher .lang-btn,#unsupported-screen.shown~.lang-switcher .lang-btn{color:#bbb}#desktop-screen.shown~.lang-switcher .lang-btn:after,#unsupported-screen.shown~.lang-switcher .lang-btn:after{color:#ddd}#desktop-screen.shown~.lang-switcher .lang-btn.active,#unsupported-screen.shown~.lang-switcher .lang-btn.active{color:#000}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.audio-player,.drawer-handle,.drawer-track,.ar-hint,.about-btn{background:#fffffff7}.about-dialog{background:#ffffffe0}.about-dialog-box{background:#fffffffc}}
