:root{--color-primary: rgba(47, 135, 237, 1);--color-primary-muted: rgba(74, 144, 226, .6);--color-primary-subtle: rgba(74, 144, 226, .4);--color-primary-faint: rgba(74, 144, 226, .2);--color-secondary: rgba(92, 184, 92, 1);--color-secondary-muted: rgba(92, 184, 92, .4);--color-accent: rgba(217, 83, 79, 1);--color-accent-muted: rgba(217, 83, 79, .9);--color-accent-glow: rgba(217, 83, 79, .4);--color-sun-marker: rgba(255, 215, 0, 1);--color-danger: rgba(220, 53, 69, .9);--color-success: rgba(74, 222, 128, 1);--color-success-muted: rgba(74, 222, 128, .4);--color-success-subtle: rgba(74, 222, 128, .2);--color-warning: rgba(245, 158, 11, 1);--color-warning-hover: rgba(217, 119, 6, 1);--color-warning-muted: rgba(245, 158, 11, .45);--color-warning-subtle: rgba(245, 158, 11, .2);--color-error: rgba(248, 113, 113, 1);--color-error-muted: rgba(248, 113, 113, .4);--color-error-subtle: rgba(248, 113, 113, .2);--color-info: rgba(96, 165, 250, 1);--color-info-muted: rgba(96, 165, 250, .4);--color-info-subtle: rgba(96, 165, 250, .2);--orientation-column: rgba(199, 102, 102, 1);--orientation-plate: rgba(0, 140, 255, 1);--orientation-parry: rgba(87, 139, 107, 1);--orientation-alternate-parry: rgba(0, 164, 156, 1);--orientation-lowitz: rgba(179, 88, 182, 1);--orientation-alternate-lowitz: rgba(224, 118, 44, 1);--orientation-plate-lowitz: rgba(159, 78, 192, 1);--orientation-alternate-plate-lowitz: rgba(103, 112, 214, 1);--orientation-parry-lowitz: rgba(179, 108, 142, 1);--orientation-alternate-parry-lowitz: rgba(139, 164, 46, 1);--orientation-random: rgba(179, 137, 1, 1);--orientation-custom: rgba(180, 180, 180, 1);--text-primary: rgba(255, 255, 255, 1);--text-secondary: rgba(255, 255, 255, .9);--text-muted: rgba(255, 255, 255, .8);--text-subtle: rgba(255, 255, 255, .7);--text-faint: rgba(255, 255, 255, .6);--text-ghost: rgba(255, 255, 255, .5);--text-dim: rgba(255, 255, 255, .4);--text-disabled: rgba(255, 255, 255, .35);--control-disabled-opacity: .5;--text-inverted: rgba(51, 51, 51, 1);--text-inverted-muted: rgba(221, 221, 221, 1);--text-inverted-strong: rgba(0, 0, 0, 1);--bg-subtle: rgba(255, 255, 255, .05);--bg-subtle-hover: rgba(255, 255, 255, .08);--bg-hover: rgba(255, 255, 255, .1);--bg-active: rgba(255, 255, 255, .15);--bg-hover-emphasis: rgba(255, 255, 255, .2);--bg-card: rgba(255, 255, 255, .03);--bg-dark-hover: rgba(50, 50, 50, .7);--bg-page: rgba(0, 0, 0, 1);--bg-startup: radial-gradient(ellipse at 50% 50%, rgb(36, 42, 73) 0%, rgb(22, 27, 45) 50%, rgb(7, 8, 15) 100%);--bg-badge: rgba(100, 110, 120, .9);--bg-badge-hover: rgba(120, 130, 140, 1);--bg-disabled: rgba(100, 100, 100, .5);--bg-muted: rgba(120, 120, 120, .5);--bg-inverted: rgba(232, 232, 232, 1);--bg-track: rgba(68, 68, 68, 1);--bg-track-loaded: rgba(200, 200, 200, 1);--bg-label: rgba(255, 255, 255, .9);--bg-input: rgba(0, 0, 0, .3);--bg-input-dark: rgba(0, 0, 0, .4);--bg-input-disabled: rgba(0, 0, 0, .2);--border-subtle: rgba(255, 255, 255, .1);--border-medium: rgba(255, 255, 255, .15);--border-strong: rgba(255, 255, 255, .2);--border-accent: rgba(255, 255, 255, .3);--border-ghost: rgba(255, 255, 255, .4);--border-subtle-hover: rgba(255, 255, 255, .08);--scrollbar-track: transparent;--scrollbar-thumb: var(--border-accent);--scrollbar-thumb-hover: var(--border-ghost);--overlay-light: rgba(0, 0, 0, .2);--overlay-medium: rgba(0, 0, 0, .3);--overlay-heavy: rgba(0, 0, 0, .4);--overlay-deep: rgba(0, 0, 0, .5);--overlay-darker: rgba(0, 0, 0, .6);--overlay-dark: rgba(0, 0, 0, .7);--overlay-darkest: rgba(0, 0, 0, .9);--glow-primary: rgba(96, 165, 250, .3);--glow-primary-strong: rgba(96, 165, 250, .4);--panel-dark: rgba(45, 50, 55, 1);--panel-mid: rgba(53, 60, 65, 1);--panel-light: rgba(60, 70, 75, 1);--glass-dark: rgba(30, 30, 30, .4);--glass-darker: rgba(30, 30, 30, .6);--glass-modal: rgba(45, 50, 55, 1);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-modal: .3s;--ease-default: ease;--ease-out: ease-out;--transition-fast: var(--duration-fast) var(--ease-default);--transition-normal: var(--duration-normal) var(--ease-default);--transition-slow: var(--duration-slow) var(--ease-default);--transition-modal: var(--duration-modal) var(--ease-out);--transition-startup: 1.2s ease;--scale-hover: 1.05;--scale-hover-emphasis: 1.1;--scale-active: .95;--translate-hover: -2px;--translate-hover-subtle: -1px;--blur-light: 4px;--blur-soft: 8px;--blur-medium: 12px;--blur-heavy: 20px;--z-base: 1;--z-float: 2;--z-overlay: 5;--z-sticky: 10;--z-popover: 20;--z-emphasis: 50;--z-controls: 100;--z-controls-active: 101;--z-dropdown: 150;--z-modal: 1000;--z-modal-stacked: 1001;--radius-pill: 999px;--radius-circle: 50%;--radius-2xs: clamp(.125rem, .05rem + .15vmin, .2rem);--radius-xs: clamp(.25rem, .15rem + .35vmin, .5rem);--radius-s: clamp(.375rem, .225rem + .55vmin, .75rem);--radius-m: clamp(.5rem, .3rem + .75vmin, 1rem);--radius-l: clamp(.75rem, .5rem + .75vmin, 1.25rem);--radius-xl: clamp(1rem, .75rem + .75vmin, 1.5rem);--radius-2xl: clamp(1.25rem, .75rem + 1.5vmin, 2rem);--radius-3xl: clamp(1.5rem, 1rem + 1.5vmin, 3rem);--font-family-primary: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--font-family-mono: ui-monospace, "SF Mono", "Roboto Mono", "Courier New", monospace}*{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.hidden{display:none!important}html{overflow:hidden;overscroll-behavior:none;background-color:var(--bg-page);-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{position:static;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;height:100dvh;margin:0;overflow:hidden;overscroll-behavior:none;font-family:var(--font-family-primary);background-color:var(--bg-page);touch-action:manipulation}button,.simulation-switcher-btn,.sky-control-toggle,.display-switcher-btn,.crystal-label-toggle,#altitude-collapse-btn{touch-action:manipulation}:where(*){scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:where(*)::-webkit-scrollbar{width:.625rem;height:.625rem}:where(*)::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-pill)}:where(*)::-webkit-scrollbar-thumb{min-width:2rem;min-height:2rem;background:var(--scrollbar-thumb);background-clip:padding-box;border:.125rem solid transparent;border-radius:var(--radius-pill)}:where(*)::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}:where(*)::-webkit-scrollbar-button{display:none;width:0;height:0}:where(*)::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.app-icon{display:block;flex:0 0 auto;width:var(--app-icon-size, 1em);height:var(--app-icon-size, 1em);max-width:100%;max-height:100%}.app-icon-inline{display:inline-block;vertical-align:-.125em}body[data-startup-state]{position:static;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;width:100vw;height:100vh;height:100dvh;background-image:var(--bg-startup)}body[data-startup-state=loading]{touch-action:none}body[data-startup-state]>#app-wrapper{grid-area:1 / 1;transition:opacity var(--transition-startup)}body[data-startup-state=loading]>#app-wrapper{opacity:0;visibility:hidden;pointer-events:none}body[data-startup-state=loading]>#app-wrapper *{visibility:hidden!important;pointer-events:none!important}#loading-screen{display:flex;grid-area:1 / 1;order:1;justify-content:center;align-items:center;width:max-content;max-width:100%;transition:opacity var(--transition-startup),visibility var(--transition-startup);touch-action:pan-y}#loading-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,.6rem + 2.4vmin,2rem)}.loading-halo{position:relative;width:clamp(7.5rem,3rem + 12vmin,12.5rem);height:clamp(7.5rem,3rem + 12vmin,12.5rem)}.loading-svg{width:100%;height:100%;animation:loading-pulse 3s ease-in-out infinite}.loading-rings{transform-origin:center}@keyframes loading-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.loading-title{display:flex;justify-content:center;align-items:center}.loading-logo-text{width:auto;height:clamp(3rem,2rem + 5vmin,6rem)}.loading-subtitle{font-size:clamp(.75rem,.5rem + .5vmin,1rem);letter-spacing:.1em;color:var(--text-faint)}body[data-application-state=failed],body[data-application-state=recovering]{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center}body[data-application-state=failed]>#app-wrapper,body[data-application-state=recovering]>#app-wrapper{grid-area:1 / 1}body[data-application-state=failed]>#app-wrapper,body[data-application-state=failed]>#app-wrapper *,body[data-application-state=navigating]>#app-wrapper,body[data-application-state=navigating]>#app-wrapper *{visibility:hidden!important;pointer-events:none!important}body[data-application-state=failed] #loading-screen{display:none}body[data-application-state=recovering] #simulation-container,body[data-application-state=recovering] #simulation-container *,#loading-screen.fade-out *{pointer-events:none!important}#startup-recovery,.startup-no-script{position:relative;z-index:var(--z-controls);grid-area:1 / 1;order:2;max-width:min(90vw,32rem);padding:clamp(1rem,.6rem + 2vmin,2rem);color:var(--text-primary);background-color:var(--bg-page);font:clamp(.875rem,.75rem + .5vmin,1.125rem) system-ui,sans-serif;text-align:center}#startup-recovery[hidden]{display:none}#startup-recovery button{margin-top:clamp(.75rem,.5rem + 1vmin,1.25rem);padding:clamp(.5rem,.3rem + .6vmin,.75rem) clamp(1rem,.7rem + 1vmin,1.5rem);border:1px solid currentColor;border-radius:var(--radius-xs);color:inherit;background-color:var(--bg-page);font:inherit;cursor:pointer;touch-action:manipulation}#app-wrapper{position:relative;display:block;width:100vw;min-width:18.75rem;max-width:max(200dvh,37.5rem);height:100vh;height:100dvh;min-height:18.75rem;max-height:max(200vw,37.5rem);overflow:hidden;box-shadow:0 0 0 100vmax #000}@media(orientation:landscape){#app-wrapper{min-width:37.5rem;min-height:18.75rem}}@media(orientation:portrait){#app-wrapper{min-width:18.75rem;min-height:34.375rem}}#app-content{display:flex;flex-direction:row;width:100%;height:100%;touch-action:pan-y}@media(orientation:portrait){#app-content{flex-direction:column}}#icp-badge{position:absolute;right:clamp(.3rem,.2rem + .5vmin,.75rem);bottom:clamp(.3rem,.2rem + .5vmin,.75rem);z-index:var(--z-controls);font-family:var(--font-family-primary);font-size:clamp(.5rem,.3rem + .6vmin,.9rem);line-height:1;text-decoration:none;color:var(--text-subtle);touch-action:pan-y}#info-panel{position:relative;display:flex;flex-direction:column;flex-shrink:0;width:clamp(15rem,10rem + 20vmin,30rem);height:100%;overflow:hidden;background:var(--panel-dark);border-right:1px solid var(--border-subtle)}#info-panel:empty,#info-panel.hidden{display:none}@media(orientation:portrait){#info-panel{flex-direction:column;width:100%;height:clamp(14.5rem,10.5rem + 15vmin,30rem);border-right:none;border-bottom:1px solid var(--border-subtle)}}#app-info{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;width:100%;min-height:clamp(3.5rem,3rem + 2vmin,7rem);padding:clamp(.75rem,.5rem + 1vmin,2rem) clamp(.5rem,.3rem + 2vmin,1.5rem);box-sizing:border-box}@media(orientation:portrait){#app-info{flex:none;height:clamp(3.5rem,2.5rem + 3vmin,7rem);min-height:auto}}#app-tools{display:flex;align-items:center;gap:clamp(.4rem,.3rem + .5vmin,1rem)}.app-tool-btn{display:flex;justify-content:center;align-items:center;width:clamp(1.75rem,1.2rem + 1.5vmin,3.5rem);height:clamp(1.75rem,1.2rem + 1.5vmin,3.5rem);padding:0;color:var(--text-faint);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-s);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal);--app-icon-size: clamp(1.05rem, .72rem + .9vmin, 2.1rem)}@media(hover:hover)and (pointer:fine){.app-tool-btn:hover{color:var(--text-secondary);background:var(--bg-hover);border-color:var(--border-strong)}}.app-tool-btn:active{transform:scale(var(--scale-active))}#app-logo{display:flex;justify-content:center;align-items:center;width:auto;height:clamp(2.75rem,2rem + 3vmin,5.5rem);padding:0;gap:0;cursor:pointer}.logo-landscape{display:block;width:auto;height:100%;will-change:transform,opacity}.logo-portrait{display:none;width:auto;height:100%;will-change:transform,opacity}@media(orientation:portrait){#app-logo{width:auto;height:clamp(2.25rem,1.8rem + 2.5vmin,5rem)}.logo-landscape{display:none!important}.logo-portrait{display:block!important;width:auto;height:100%}#app-tools{gap:clamp(.75rem,.5rem + .3vmin,1rem)}}#display-info{display:flex;flex-direction:column;flex:1;overflow:hidden;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -4px 20px var(--overlay-heavy)}#display-info:empty,#display-info.hidden{display:none}@media(orientation:portrait){#display-info{flex:1;flex-direction:row;border-radius:var(--radius-3xl) 0 0 0}}#display-header{position:relative;z-index:var(--z-sticky);display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;overflow:visible;box-shadow:0 4px 20px var(--overlay-light)}#display-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent)}@media(orientation:portrait){#toggle-display-details-btn{display:none}#display-header{width:100%;min-width:9rem;max-width:clamp(9rem,4rem + 15vmin,15rem);overflow:visible;border-bottom:none;box-shadow:4px 0 20px var(--overlay-light)}#display-header:after{inset:0 0 auto auto;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--border-accent),transparent)}}#display-switcher-container{display:flex;justify-content:center;align-items:center;width:100%;padding:clamp(.6rem,.4rem + 1vmin,1.2rem);box-sizing:border-box;background:var(--panel-mid)}#display-switcher-container #display-switcher{flex:0 1 auto;justify-content:center}@media(orientation:landscape){#display-switcher-container{justify-content:space-between}#display-switcher-container #display-switcher{flex:0 1 auto}#display-switcher-container .display-change-btn{flex-shrink:0}}@media(orientation:portrait){#display-switcher-container{padding:clamp(.6rem,.4rem + 1vmin,1.2rem) clamp(.6rem,.4rem + 1vmin,1.2rem) clamp(.5rem,.3rem + .8vmin,1.25rem) clamp(.6rem,.4rem + 1vmin,1.2rem)}#display-switcher-container .display-change-btn{display:none}}#display-switcher{position:relative;z-index:var(--z-sticky);display:flex;align-items:stretch;padding:clamp(.2rem,.15rem + .1vmin,.25rem);box-sizing:border-box;background:var(--overlay-light);border-radius:var(--radius-pill)}@media(orientation:portrait){#display-switcher{flex:3;flex-direction:row;gap:0;border-bottom:none}}#current-display-label{display:flex;justify-content:center;align-items:center;flex:1;padding:clamp(.15rem,.1rem + .3vmin,1rem) .5rem;font-size:clamp(.55rem,.5rem + .4vmin,1.1rem);font-weight:500;line-height:1;color:var(--text-subtle);border-radius:var(--radius-pill)}#display-switcher:has(.display-switcher-btn:not(.hidden)) #current-display-label{display:none}#display-switcher:has(.display-switcher-btn:not(.hidden)){cursor:pointer}.display-switcher-btn{display:flex;justify-content:center;align-items:center;flex:0 1 auto;min-width:clamp(2.5rem,1.5rem + 1vmin,4rem);margin:0;padding:clamp(.2rem,.1rem + .4vmin,1.2rem) clamp(.4rem,.2rem + .6vmin,1.5rem);gap:.25em;font-size:clamp(.75rem,.5rem + .5vmin,1.2rem);font-weight:700;line-height:1;color:var(--text-faint);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-switcher-btn:hover{color:var(--text-secondary);background:var(--bg-subtle)}}.display-switcher-btn.active{color:var(--text-primary);background:var(--color-accent);box-shadow:0 2px 8px var(--color-accent-glow)}@media(max-height:600px)and (orientation:landscape){.display-switcher-btn .display-switcher-text{display:none;font-size:clamp(.75rem,.5rem + .5vmin,1.2rem)}.display-switcher-btn .display-switcher-short{display:inline;font-size:clamp(.75rem,.5rem + .5vmin,1.2rem);font-weight:700}}@media(orientation:portrait){.display-switcher-btn{min-width:clamp(2.5rem,2rem + 2vmin,4rem);padding:clamp(.15rem,.1rem + .3vmin,1rem);font-size:clamp(.2rem,.1rem + .4vmin,1.1rem)}.display-switcher-btn .display-switcher-text{display:none}.display-switcher-btn .display-switcher-short{display:inline;font-size:clamp(.9rem,.6rem + .5vmin,1.2rem);font-weight:700}}#display-description{display:flex;flex:9;flex-direction:column;justify-content:center;align-items:center;width:100%;box-sizing:border-box;overflow:hidden;font-size:inherit;letter-spacing:.03em;text-align:center;color:var(--text-muted);background:var(--panel-mid)}#display-description span{display:block;max-width:100%;line-height:1.25;overflow-wrap:break-word}#display-description.has-details{text-decoration:underline;text-decoration-color:var(--border-accent);text-underline-offset:clamp(.1rem,.06rem + .1vmin,.15rem);cursor:pointer}#display-description.has-details:active{filter:brightness(.85)}@media(hover:hover)and (pointer:fine){#display-description.has-details:hover{filter:brightness(1.1)}}@media(orientation:landscape){#display-description{flex:0 0 auto;max-height:clamp(4rem,3rem + 5vmin,8rem);padding:0 clamp(.5rem,.4rem + 1.5vmin,2.5rem) clamp(.6rem,.3rem + .7vmin,2rem) clamp(.5rem,.4rem + 1.5vmin,2.5rem)}}@media(orientation:portrait){#display-description{display:flex;padding:0 clamp(1rem,.8rem + 1vmin,2rem) clamp(.6rem,.4rem + .4vmin,1rem) clamp(1rem,.8rem + 1vmin,2rem)}}#display-change-btn-portrait-container{display:none}.display-change-btn{padding:clamp(.4rem,.3rem + .3vmin,1.2rem) clamp(.8rem,.6rem + 1vmin,2.5rem);font-size:clamp(.6rem,.45rem + .5vmin,1.2rem);font-weight:600;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-pill);box-shadow:0 4px 12px var(--glow-primary);cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-change-btn:hover{box-shadow:0 6px 16px var(--glow-primary-strong);transform:translateY(var(--translate-hover-subtle))}}.display-change-btn:active{transform:scale(var(--scale-active))}@media(orientation:portrait){#display-change-btn-portrait-container{display:flex;justify-content:center;padding:0 0 clamp(.6rem,.4rem + 1vmin,1.2rem) 0;background:var(--panel-mid)}}#share-poster-mode-indicator{display:flex;align-items:center;justify-content:center;gap:clamp(.25rem,.15rem + .3vmin,.4rem);padding:clamp(.3rem,.2rem + .3vmin,.4rem) clamp(.5rem,.3rem + .6vmin,.85rem);font-size:clamp(.6rem,.38rem + .65vmin,.88rem);font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--color-accent);background:#d9534f1a;border:1px solid var(--color-accent-glow);border-radius:var(--radius-pill);cursor:pointer;box-shadow:0 0 12px var(--color-accent-glow);-webkit-appearance:none;appearance:none}.share-poster-mode-close-icon{--app-icon-size: clamp(.6rem, .38rem + .65vmin, .88rem);opacity:.85;transition:opacity var(--transition-normal)}@media(hover:hover)and (pointer:fine){#share-poster-mode-indicator:hover .share-poster-mode-close-icon{opacity:1}}#share-poster-mode-indicator.hidden{display:none}#share-poster-guide{position:relative;z-index:var(--z-sticky);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.5rem,.3rem + .6vmin,.85rem);flex-shrink:0;padding:clamp(.75rem,.5rem + 1vmin,1.5rem) clamp(.75rem,.5rem + 2vmin,2.5rem);text-align:center;background:var(--panel-mid);border-radius:inherit;box-shadow:0 4px 20px var(--overlay-light),inset 0 0 18px var(--color-accent-glow)}#share-poster-guide:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent)}#share-poster-guide.hidden{display:none}.share-poster-guide-title{font-size:clamp(.72rem,.48rem + .72vmin,.92rem);font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.share-poster-guide-subtitle{margin:0;font-size:clamp(.6rem,.4rem + .6vmin,.78rem);line-height:1.5;color:var(--text-muted)}.share-poster-guide-steps{display:flex;flex-direction:column;gap:clamp(.15rem,.08rem + .2vmin,.3rem);padding:clamp(.4rem,.25rem + .5vmin,.7rem) clamp(.5rem,.25rem + .6vmin,.85rem);text-align:left;background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-m)}.share-poster-guide-steps div{margin:0;font-size:clamp(.6rem,.4rem + .6vmin,.78rem);line-height:1.5;color:var(--text-subtle)}.share-poster-guide-hint{display:none;margin:0;font-size:clamp(.58rem,.38rem + .55vmin,.72rem);line-height:1.45;color:var(--text-muted)}.share-poster-guide-buttons{display:flex;gap:clamp(.4rem,.25rem + .5vmin,.7rem);width:100%;justify-content:center}.share-poster-guide-exit-btn{flex:1;padding:clamp(.3rem,.2rem + .45vmin,.6rem) clamp(.3rem,.2rem + .6vmin,1rem);font-size:clamp(.5rem,.4rem + .8vmin,1rem);color:var(--text-muted);background:var(--bg-subtle-hover);border:1px solid var(--border-medium);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}@media(hover:hover)and (pointer:fine){.share-poster-guide-exit-btn:hover{color:#fff;background:var(--border-medium);border-color:var(--border-accent)}}.share-poster-guide-create-btn{flex:1.5;padding:clamp(.3rem,.2rem + .45vmin,.6rem) clamp(.3rem,.2rem + .6vmin,1rem);font-size:clamp(.5rem,.4rem + .8vmin,1rem);font-weight:600;color:#fff;background:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal)}@media(hover:hover)and (pointer:fine){.share-poster-guide-create-btn:hover{transform:translateY(var(--translate-hover-subtle))}}@media(orientation:portrait){#share-poster-guide{width:100%;min-width:9rem;max-width:clamp(10rem,5rem + 15vmin,15rem);gap:clamp(.2rem,.1rem + 1.5vmin,1.5rem);padding:clamp(.6rem,.35rem + 1vmin,1.2rem) clamp(.6rem,.35rem + 2vmin,3rem);box-shadow:4px 0 20px var(--overlay-light),inset 0 0 18px var(--color-accent-glow)}#share-poster-guide:after{inset:0 0 auto auto;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--border-accent),transparent)}.share-poster-guide-title{font-size:clamp(.62rem,.42rem + .58vmin,.78rem)}.share-poster-guide-subtitle{font-size:clamp(.52rem,.35rem + .48vmin,.68rem)}.share-poster-guide-steps{padding:clamp(.25rem,.15rem + .3vmin,.45rem) clamp(.35rem,.2rem + .4vmin,.6rem)}.share-poster-guide-steps div{font-size:clamp(.52rem,.35rem + .48vmin,.68rem);line-height:1.4}.share-poster-guide-hint{display:none}.share-poster-guide-exit-btn,.share-poster-guide-create-btn{padding:clamp(.28rem,.18rem + .3vmin,.42rem) clamp(.4rem,.25rem + .45vmin,.7rem)}}@media(orientation:landscape)and (max-height:600px){.share-poster-guide-steps{display:none}}#crystal-cards-container{position:relative;display:flex;flex-direction:column;height:100%;padding:clamp(.5rem,.3rem + 1.5vmin,1rem) clamp(1rem,.5rem + 2vmin,2.5rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;background:var(--panel-light);-webkit-overflow-scrolling:touch}#crystal-cards-container::-webkit-scrollbar{display:none}@media(orientation:portrait){#crystal-cards-container{flex:7;flex-direction:row;align-items:stretch;width:auto;min-width:0;height:100%;padding:clamp(1rem,.5rem + 1.5vmin,2rem) clamp(.5rem,.3rem + 1.5vmin,1rem);box-sizing:border-box;overflow-x:auto;overflow-y:hidden;touch-action:pan-x}}.crystal-empty{padding:clamp(1rem,.75rem + 1vmin,2rem);font-size:clamp(.8rem,.6rem + .5vmin,1.2rem);text-align:center;color:var(--text-faint)}.crystal-card{position:relative;display:flex;flex-direction:row;align-items:center;flex-shrink:0;min-height:clamp(4rem,3.75rem + 6vmin,8.5rem);margin:clamp(.625rem,.5rem + .8vmin,1em) 0;padding:clamp(.3rem,.2rem + .4vmin,.75rem) clamp(.5rem,.3rem + .75vmin,1rem);background:var(--overlay-light);border-radius:var(--radius-xl);box-shadow:0 2px 8px var(--overlay-medium)}@media(orientation:portrait){.crystal-card{flex-direction:column;justify-content:center;width:clamp(5rem,3rem + 6vmin,9rem);min-width:clamp(5rem,3rem + 6vmin,9rem);margin:0 clamp(.3rem,.2rem + .8vmin,1rem)}}.crystal-details-btn{position:absolute;top:clamp(.25rem,.15rem + .35vmin,.5rem);right:clamp(.25rem,.15rem + .35vmin,.5rem);z-index:var(--z-float);display:flex;justify-content:center;align-items:center;width:clamp(1.25rem,.8rem + 1.4vmin,2rem);height:clamp(1.25rem,.8rem + 1.4vmin,2rem);padding:0;color:var(--text-ghost);background:transparent;border:none;border-radius:var(--radius-circle);cursor:pointer;transition:color var(--transition-fast);-webkit-appearance:none;appearance:none;--app-icon-size: clamp(1.05rem, .67rem + 1.2vmin, 1.7rem)}@media(hover:hover)and (pointer:fine){.crystal-details-btn:hover{color:var(--text-secondary)}}.crystal-model{flex-shrink:0;width:clamp(4rem,2rem + 7vmin,7.5rem);height:clamp(4rem,2rem + 7vmin,7.5rem)}.crystal-render-status{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:clamp(.6rem,.45rem + .4vmin,.875rem);text-align:center;color:var(--text-faint)}@media(orientation:portrait){.crystal-model{width:clamp(5rem,3rem + 6vmin,10rem);height:clamp(5rem,3rem + 6vmin,10rem)}}.crystal-divider{width:1px;height:80%;margin:0 clamp(.5rem,.3rem + 1vmin,2rem) 0 clamp(.5rem,.3rem + .75vmin,1rem);background:linear-gradient(to bottom,transparent,var(--text-primary) 20%,var(--text-primary) 80%,transparent);opacity:.3}@media(orientation:portrait){.crystal-divider{display:none}}.crystal-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:clamp(.2rem,.1rem + .4vmin,.8rem)}@media(orientation:portrait){.crystal-info{flex:0;align-items:center;margin-bottom:clamp(.3rem,.2rem + 1vmin,.5rem);text-align:center}}.crystal-type{margin-bottom:clamp(.15rem,.1rem + .25vmin,.4rem);font-size:clamp(.7rem,.5rem + .7vmin,1.2rem);font-weight:500;line-height:1.1;white-space:normal;word-wrap:break-word;color:var(--text-inverted-muted)}@media(orientation:portrait){.crystal-type{display:none}}.crystal-orientation{font-size:clamp(.7rem,.5rem + .7vmin,1.2rem);font-weight:500;line-height:1.1;white-space:normal;word-wrap:break-word;color:var(--text-inverted-muted)}@media(orientation:portrait){.crystal-orientation{display:flex;align-items:center;height:clamp(1rem,1rem + 5vmin,3rem);font-size:clamp(.7rem,.5rem + .7vmin,1.2rem);line-height:1.2;text-align:center}}html[data-lang=zh] .crystal-type,html[data-lang=zh] .crystal-orientation{font-size:clamp(.8rem,.6rem + .75vmin,1.35rem)}@media(orientation:portrait){html[data-lang=zh] .crystal-orientation{font-size:clamp(.8rem,.6rem + .75vmin,1.35rem)}}.orientation-column{color:var(--orientation-column)}.orientation-plate{color:var(--orientation-plate)}.orientation-parry{color:var(--orientation-parry)}.orientation-alternate-parry{color:var(--orientation-alternate-parry)}.orientation-lowitz{color:var(--orientation-lowitz)}.orientation-alternate-lowitz{color:var(--orientation-alternate-lowitz)}.orientation-plate-lowitz{color:var(--orientation-plate-lowitz)}.orientation-alternate-plate-lowitz{color:var(--orientation-alternate-plate-lowitz)}.orientation-parry-lowitz{color:var(--orientation-parry-lowitz)}.orientation-alternate-parry-lowitz{color:var(--orientation-alternate-parry-lowitz)}.orientation-random{color:var(--orientation-random)}.orientation-custom{color:var(--orientation-custom)}.crystal-population{position:absolute;top:clamp(-.85rem,-.4rem - .5vmin,-.4rem);left:clamp(-.85rem,-.4rem - .5vmin,-.4rem);z-index:var(--z-float);padding:clamp(.2rem,.1rem + .25vmin,.5rem) clamp(.4rem,.2rem + .4vmin,.8rem);font-size:clamp(.7rem,.5rem + .4vmin,1.1rem);font-weight:700;color:var(--text-secondary);background:var(--bg-badge);border-radius:var(--radius-xl)}.crystal-label-toggle{position:absolute;right:clamp(.5rem,.25rem + .5vmin,1rem);bottom:clamp(-.5rem,-.3rem - .3vmin,-.3rem);z-index:var(--z-float);display:flex;align-items:center;gap:clamp(.2rem,.1rem + .25vmin,.4rem);padding:clamp(.15rem,.1rem + .2vmin,.25rem) clamp(.25rem,.1rem + .5vmin,.75rem);font-size:clamp(.5rem,.35rem + .5vmin,1rem);font-weight:500;color:var(--text-secondary);background:var(--bg-muted);border:1px solid var(--bg-muted);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.crystal-label-toggle-icon{display:flex;justify-content:center;align-items:center;width:clamp(.55rem,.4rem + .4vmin,.85rem);height:clamp(.55rem,.4rem + .4vmin,.85rem);flex-shrink:0;background:transparent;border:1.5px solid var(--border-ghost);border-radius:var(--radius-circle);transition:background var(--transition-normal),border-color var(--transition-normal)}.crystal-label-toggle-check-icon{--app-icon-size: 1em;color:var(--color-primary);opacity:0;transition:opacity var(--transition-normal)}@media(hover:hover)and (pointer:fine){.crystal-label-toggle[data-active=false]:hover:not(:disabled){background:var(--overlay-medium);border-color:var(--overlay-medium)}}.crystal-label-toggle[data-active=true]{color:var(--text-primary);background:var(--color-primary);border-color:var(--color-primary)}.crystal-label-toggle[data-active=true] .crystal-label-toggle-icon{background:var(--text-primary);border-color:var(--text-primary)}.crystal-label-toggle[data-active=true] .crystal-label-toggle-check-icon{opacity:1}.crystal-label-toggle:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(orientation:portrait){.crystal-label-toggle{right:50%;white-space:nowrap;transform:translate(50%)}}.multi-scatter-indicator{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:0;padding:clamp(1rem,.5rem + 1vmin,1.5rem) 0;gap:clamp(.15rem,.1rem + .7vmin,1rem);font-size:clamp(.6rem,.4rem + .6vmin,1.2rem);font-weight:800}@media(orientation:portrait){.multi-scatter-indicator{flex-direction:column;width:auto;height:100%;padding:0 clamp(.5rem,.25rem + .75vmin,1rem);gap:clamp(.4rem,.25rem + .75vmin,1.5rem);font-size:clamp(.75rem,.5rem + .5vmin,1rem)}}.multi-scatter-indicator .arrow{width:auto;height:clamp(.6rem,.4rem + .6vmin,1.2rem);flex-shrink:0;color:var(--text-subtle)}@media(orientation:portrait){.multi-scatter-indicator .arrow{transform:rotate(-90deg)}}.multi-scatter-probability{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0 clamp(.25rem,.1rem + .25vmin,.5rem);color:var(--text-subtle)}@media(orientation:portrait){.multi-scatter-probability{flex-direction:column;padding:clamp(.25rem,.1rem + .25vmin,.5rem) 0}}.probability-value{font-weight:800}.probability-label{margin-left:clamp(.15rem,.1rem + .25vmin,.4rem);font-weight:800}@media(orientation:portrait){.probability-label{min-width:3rem;margin-left:0;text-align:center}}.multi-scatter-title{margin-right:clamp(.1rem,.05rem + .2vmin,.3rem);font-weight:800}@media(orientation:portrait){.multi-scatter-title{display:none}}#simulation-panel{position:relative;flex:1;min-width:0;min-height:0}#simulation-container{position:relative;width:100%;height:100%;overflow:hidden;container-type:size;-webkit-touch-callout:none;touch-action:none}#crystal-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#share-poster-crop-guide{position:absolute;top:50%;left:50%;z-index:var(--z-emphasis);box-sizing:border-box;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%);box-shadow:0 0 0 200vmax var(--overlay-darker);border:3px dashed var(--color-accent);pointer-events:none}#share-poster-crop-guide.hidden{display:none}#simulation-container[data-comparison-mode=true]:after{content:"";position:absolute;top:0;z-index:var(--z-emphasis);width:100%;height:100%;pointer-events:none}#simulation-container[data-comparison-layout=split]:after{width:50%;box-shadow:inset 0 0 0 2px var(--color-accent)}#simulation-container[data-comparison-layout=split][data-active-side=A]:after{left:0}#simulation-container[data-comparison-layout=split][data-active-side=B]:after{left:50%}#simulation-container[data-comparison-layout=split]:before{content:"";position:absolute;top:0;z-index:var(--z-emphasis);width:50%;height:100%;box-shadow:inset 0 0 0 2px var(--border-ghost);pointer-events:none}#simulation-container[data-comparison-layout=split][data-active-side=A]:before{left:50%}#simulation-container[data-comparison-layout=split][data-active-side=B]:before{left:0}#simulation-container[data-comparison-layout=single]:after{left:0;box-shadow:inset 0 0 0 2px var(--color-accent)}#simulation-container[data-comparison-layout=overlay]:after{left:0;box-shadow:inset 0 0 0 2px var(--color-accent)}@media(max-height:800px)and (orientation:landscape){#simulation-container[data-comparison-layout=split]:before{box-shadow:inset 0 0 0 1px var(--border-ghost)}#simulation-container[data-comparison-layout=split]:after,#simulation-container[data-comparison-layout=single]:after,#simulation-container[data-comparison-layout=overlay]:after{box-shadow:inset 0 0 0 1px var(--color-accent)}}@media(max-width:550px)and (orientation:portrait){#simulation-container[data-comparison-layout=split]:before{box-shadow:inset 0 0 0 1px var(--border-ghost)}#simulation-container[data-comparison-layout=split]:after,#simulation-container[data-comparison-layout=single]:after,#simulation-container[data-comparison-layout=overlay]:after{box-shadow:inset 0 0 0 1px var(--color-accent)}}#simulation-switcher{--simulation-switcher-inline-padding: clamp(.8rem, .6rem + .6vmin, 1.25rem);--simulation-switcher-single-gap: clamp(1px, .15vmin, 3px);--simulation-switcher-a-width: 0px;--simulation-switcher-b-width: 0px;position:absolute;top:0;right:0;left:0;z-index:calc(var(--z-emphasis) - 1);display:grid;grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr)}#simulation-switcher.hidden{display:none}.simulation-switcher-btn{display:flex;align-items:center;margin:0;padding:clamp(.4rem,.2rem + .3vmin,.75rem) var(--simulation-switcher-inline-padding);gap:clamp(.15rem,.1rem + .25vmin,.4rem);font-size:clamp(.8rem,.6rem + .4vmin,1rem);font-weight:800;line-height:1;white-space:nowrap;color:var(--text-inverted);background:var(--bg-label);border:none;border-radius:0;cursor:pointer}.simulation-switcher-btn.active{z-index:calc(var(--z-emphasis) + 1);color:var(--text-primary);background:var(--color-accent)}#simulation-switcher-btn-a{grid-column:1;justify-self:end;border-radius:0 0 0 var(--radius-m)}#simulation-switcher-btn-b{grid-column:3;justify-self:start;border-radius:0 0 var(--radius-m) 0}.simulation-switcher-overlay-separator{grid-column:2;display:none}#simulation-switcher[data-comparison-layout=single] #simulation-switcher-btn-a{margin-right:calc(var(--simulation-switcher-single-gap) / 2);padding-right:calc(var(--simulation-switcher-inline-padding) - var(--simulation-switcher-single-gap) / 2)}#simulation-switcher[data-comparison-layout=single] #simulation-switcher-btn-b{margin-left:calc(var(--simulation-switcher-single-gap) / 2);padding-left:calc(var(--simulation-switcher-inline-padding) - var(--simulation-switcher-single-gap) / 2)}#simulation-switcher[data-comparison-layout=single] #simulation-switcher-btn-a,#simulation-switcher[data-comparison-layout=single] #simulation-switcher-btn-b{border-radius:0 0 var(--radius-m) var(--radius-m)}#simulation-switcher[data-comparison-layout=single] .simulation-switcher-btn:not(.active){z-index:calc(var(--z-emphasis) - 1)}#simulation-switcher[data-comparison-layout=overlay] .simulation-switcher-btn{position:relative;z-index:1;background:transparent}#simulation-switcher[data-comparison-layout=overlay]:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - var(--simulation-switcher-a-width));z-index:0;width:calc(var(--simulation-switcher-a-width) + var(--simulation-switcher-b-width));border-radius:0 0 var(--radius-m) var(--radius-m);pointer-events:none}#simulation-switcher[data-comparison-layout=overlay][data-active-side=A]:before{background:linear-gradient(to right,var(--color-accent) calc(var(--simulation-switcher-a-width) - var(--simulation-switcher-inline-padding)),var(--bg-label) calc(var(--simulation-switcher-a-width) + var(--simulation-switcher-inline-padding)))}#simulation-switcher[data-comparison-layout=overlay][data-active-side=B]:before{background:linear-gradient(to right,var(--bg-label) calc(var(--simulation-switcher-a-width) - var(--simulation-switcher-inline-padding)),var(--color-accent) calc(var(--simulation-switcher-a-width) + var(--simulation-switcher-inline-padding)))}#simulation-switcher[data-comparison-layout=overlay] .simulation-switcher-overlay-separator{position:relative;z-index:2;display:flex;grid-row:1;align-items:center;justify-content:center;justify-self:start;width:calc(2 * var(--simulation-switcher-inline-padding));font-size:clamp(.8rem,.6rem + .4vmin,1rem);font-weight:800;color:var(--text-inverted);pointer-events:none;transform:translate(-50%)}.simulation-switcher-text,.simulation-switcher-short{display:inline-block}.simulation-switcher-suffix{font-size:clamp(.5rem,.4rem + .3vmin,.75rem);font-weight:400;opacity:.85}.simulation-switcher-suffix.hidden{display:none}@media(max-height:800px)and (orientation:landscape){.simulation-switcher-text{display:none}}@media(max-width:550px)and (orientation:portrait){.simulation-switcher-text{display:none}}:root{--simulation-control-edge-inset: clamp(.75rem, .25rem + 1.5vmin, 2.5rem);--altitude-collapse-btn-overhang: .5rem;--sky-control-gap: clamp(.4rem, .2rem + 1vmin, .8rem);--sky-control-gap-small: clamp(.2rem, .1rem + .75vmin, .5rem);--sky-control-toggle-size: clamp(1.75rem, 1.5rem + 1.5vmin, 2.5rem);--sky-control-padding: clamp(.2rem, .1rem + .5vmin, .5rem);--sky-control-menu-gap: clamp(.6rem, .3rem + 1vmin, 1rem)}#sky-controls{position:absolute;top:var(--simulation-control-edge-inset);z-index:var(--z-controls);display:flex;flex-direction:column;align-items:center;padding:var(--sky-control-padding);gap:var(--sky-control-gap);background:var(--glass-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);backdrop-filter:blur(var(--blur-medium));-webkit-backdrop-filter:blur(var(--blur-medium));cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;transition:left var(--transition-slow),right var(--transition-slow)}#sky-controls.position-right{right:var(--simulation-control-edge-inset);left:auto}#sky-controls.position-left{left:var(--simulation-control-edge-inset);right:auto}#sky-controls.dragging{opacity:.8;cursor:grabbing;transition:none}.sky-drag-indicator{--app-icon-size: clamp(.75rem, .5rem + .6vmin, 1.2rem);height:auto;margin-top:clamp(.125rem,.1rem + .1vmin,.25rem);color:var(--text-dim);pointer-events:none;transition:opacity var(--transition-normal)}#sky-controls:has(.menu-open){cursor:grab}#sky-controls .sky-control-toggle{background:transparent;border:1px solid transparent;border-radius:var(--radius-circle);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}#sky-controls .sky-control-toggle:focus{outline:none}#sky-controls .sky-control-toggle:focus-visible{outline:2px solid var(--border-strong);outline-offset:.125rem}@media(hover:hover)and (pointer:fine){#sky-controls .sky-control-toggle:hover{background:var(--border-subtle);border-color:var(--border-strong)}}#sky-controls .sky-control-toggle.menu-open{background:var(--border-subtle);border-color:var(--border-strong)}#sky-controls .sky-control-toggle.active{background:var(--color-primary);border-color:var(--color-primary)}.sky-control-toggle{position:relative;display:flex;justify-content:center;align-items:center;width:var(--sky-control-toggle-size);height:var(--sky-control-toggle-size);padding:0;color:#fff;background:var(--glass-darker);border:1px solid var(--border-medium);border-radius:var(--radius-m);box-shadow:0 8px 32px 0 var(--overlay-medium);backdrop-filter:blur(var(--blur-medium));-webkit-backdrop-filter:blur(var(--blur-medium));cursor:pointer;pointer-events:auto;transition:background var(--transition-slow),border-color var(--transition-slow);--app-icon-size: calc(var(--sky-control-toggle-size) * .8)}@media(hover:hover)and (pointer:fine){.sky-control-toggle:hover{background:var(--bg-dark-hover);transform:scale(var(--scale-hover))}}.sky-control-toggle.active{background:var(--color-primary);border-color:var(--color-primary)}.sky-control-toggle[aria-disabled=true]{opacity:var(--control-disabled-opacity);cursor:not-allowed}#atmosphere-toggle[aria-disabled=true]{color:var(--text-disabled);opacity:1}.atmosphere-icon{display:none}#atmosphere-toggle[data-atmosphere-mode=clouds] .atmosphere-icon-clouds,#atmosphere-toggle[data-atmosphere-mode=blue] .atmosphere-icon-blue,#atmosphere-toggle[data-atmosphere-mode=night] .atmosphere-icon-night{display:block}@media(hover:hover)and (pointer:fine){#sky-controls .sky-control-toggle[aria-disabled=true]:hover{background:transparent;border-color:transparent;transform:none}}.comparison-controls{display:flex;flex-direction:column;align-items:center;gap:var(--sky-control-gap-small);width:100%}.comparison-controls-divider{display:block;width:clamp(1rem,.75rem + .8vmin,1.5rem);height:1px;background:var(--border-subtle);border-radius:var(--radius-pill)}#sky-controls .comparison-layout-icon{display:none}#sky-controls .comparison-layout-toggle[data-comparison-layout=split] .comparison-layout-icon-split,#sky-controls .comparison-layout-toggle[data-comparison-layout=single] .comparison-layout-icon-single,#sky-controls .comparison-layout-toggle[data-comparison-layout=overlay] .comparison-layout-icon-overlay{display:block}.comparison-side-icon{overflow:visible}.comparison-side-letter{fill:currentColor}.comparison-side-separator{stroke:currentColor}.comparison-side-toggle[data-active-side=A] .comparison-side-letter-a,.comparison-side-toggle[data-active-side=B] .comparison-side-letter-b{fill:var(--color-accent)}.sky-dropdown-menu{--sky-menu-pointer-border-size: clamp(.44rem, .3rem + .4vmin, .81rem);--sky-menu-pointer-fill-size: clamp(.375rem, .25rem + .4vmin, .75rem);position:absolute;top:var(--sky-menu-top, var(--simulation-control-edge-inset));right:calc(var(--simulation-control-edge-inset) + var(--sky-control-toggle-size) + 2 * var(--sky-control-padding) + var(--sky-control-menu-gap));z-index:var(--z-dropdown);display:flex;flex-direction:column;background:var(--glass-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 8px 32px 0 var(--overlay-medium);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);pointer-events:auto}.sky-dropdown-menu:before{content:"";position:absolute;top:var(--sky-menu-pointer-center);transform:translateY(-50%);right:calc(-2 * var(--sky-menu-pointer-border-size));border-width:var(--sky-menu-pointer-border-size);border-style:solid;border-color:transparent transparent transparent var(--border-subtle)}.sky-dropdown-menu:after{content:"";position:absolute;top:var(--sky-menu-pointer-center);transform:translateY(-50%);right:calc(-2 * var(--sky-menu-pointer-fill-size));border-width:var(--sky-menu-pointer-fill-size);border-style:solid;border-color:transparent transparent transparent var(--glass-dark)}#sky-controls.position-left~.sky-dropdown-menu{right:auto;left:calc(var(--simulation-control-edge-inset) + var(--sky-control-toggle-size) + 2 * var(--sky-control-padding) + var(--sky-control-menu-gap))}#sky-controls.position-left~.sky-dropdown-menu:before{right:auto;left:calc(-2 * var(--sky-menu-pointer-border-size));border-color:transparent var(--border-subtle) transparent transparent}#sky-controls.position-left~.sky-dropdown-menu:after{right:auto;left:calc(-2 * var(--sky-menu-pointer-fill-size));border-color:transparent var(--glass-dark) transparent transparent}.sky-dropdown-menu.hidden{display:none}.sky-menu-option{display:flex;align-items:center;flex-shrink:0;padding:clamp(.5rem,.375rem + .15vmin,.625rem) clamp(.75rem,.625rem + .4vmin,1rem);gap:.5rem;font-size:clamp(.75rem,.7rem + .15vmin,.875rem);font-weight:500;line-height:1;text-align:left;white-space:nowrap;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background var(--transition-fast)}.sky-point-lock-option{gap:clamp(.35rem,.25rem + .4vmin,.75rem)}.lock-icon{display:flex;justify-content:center;align-items:center;width:clamp(1rem,.875rem + .3vmin,1.25rem);height:clamp(1rem,.875rem + .3vmin,1.25rem);--app-icon-size: clamp(1rem, .875rem + .3vmin, 1.25rem)}.proj-icon,.sky-menu-option-icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:1.25em;height:1.25em;--app-icon-size: 1.25em}@media(hover:hover)and (pointer:fine){.sky-menu-option:hover{background:var(--border-subtle)}}.sky-menu-option.active{background:var(--color-primary-muted)}.sky-menu-option:focus-visible{outline:2px solid var(--border-strong);outline-offset:-2px}.sky-menu-option:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.sky-menu-option:last-child{border-radius:0 0 var(--radius-xl) var(--radius-xl)}#altitude-label{position:absolute;top:0;left:0;z-index:var(--z-float);display:flex;align-items:center;gap:clamp(.25rem,.15rem + .3vmin,.5rem);padding:clamp(.2rem,.1rem + .25vmin,.35rem) clamp(.5rem,.3rem + .6vmin,.8rem);font-size:clamp(.6rem,.4rem + .5vmin,.8rem);letter-spacing:.02em;line-height:1;color:var(--text-subtle);background:var(--glass-dark);border:1px solid var(--border-medium);border-bottom:none;border-radius:var(--radius-l) var(--radius-l) 0 0;backdrop-filter:blur(var(--blur-soft));-webkit-backdrop-filter:blur(var(--blur-soft));pointer-events:none;-webkit-user-select:none;user-select:none;transform:translateY(-100%)}.altitude-label-icon{--app-icon-size: clamp(.8rem, .6rem + 1vmin, 1.2rem);width:clamp(.8rem,.6rem + 1vmin,1.2rem);height:clamp(.8rem,.6rem + 1vmin,1.2rem);flex-shrink:0}#altitude-label .altitude-icon-light,#altitude-label .altitude-text-divergent,#altitude-label.divergent .altitude-icon-sun,#altitude-label.divergent span[data-i18n=altitude_label]{display:none}#altitude-label.divergent .altitude-icon-light,#altitude-label.divergent .altitude-text-divergent{display:inline}#altitude-control.collapsed #altitude-label{display:none}#altitude-control{--altitude-control-max-width: clamp(25rem, 9rem + 36vw, 50rem);--altitude-control-inline-padding: clamp(.5rem, .3rem + 1vmin, 1.5rem);position:absolute;bottom:clamp(1.25rem,.75rem + 4.25vmin,6rem);left:50%;z-index:var(--z-controls);display:flex;flex-direction:row;align-items:center;width:75%;max-width:var(--altitude-control-max-width);padding:clamp(.6rem,.3rem + .75vmin,1.25rem) var(--altitude-control-inline-padding);gap:clamp(.5rem,.3rem + 1.2vmin,1rem);transition:all var(--transition-slow);transform:translate(-50%)}#altitude-control:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--glass-dark);border:1px solid var(--border-medium);border-radius:0 var(--radius-2xl) var(--radius-2xl) var(--radius-xl);box-shadow:0 8px 32px 0 var(--overlay-medium);backdrop-filter:blur(var(--blur-medium));-webkit-backdrop-filter:blur(var(--blur-medium));transition:border-radius var(--transition-slow)}#altitude-control.collapsed{width:auto;padding:clamp(.6rem,.3rem + .75vmin,1.25rem) clamp(.5rem,.3rem + 1vmin,1.5rem);gap:0;cursor:grab;-webkit-user-select:none;user-select:none}#altitude-control.collapsed:before{border-radius:var(--radius-2xl)}#altitude-control.collapsed.dragging{opacity:.8;cursor:grabbing}#altitude-control.collapsed #altitude-slider,#altitude-control.collapsed #altitude-collapse-btn,.altitude-drag-indicator{display:none}#altitude-control.collapsed .altitude-drag-indicator{--app-icon-size: clamp(.75rem, .5rem + .6vmin, 1.2rem);display:block;width:var(--app-icon-size);height:var(--app-icon-size);margin-right:clamp(.5rem,.3rem + .4vmin,1rem);flex-shrink:0;color:var(--text-dim);pointer-events:none}#altitude-control.collapsed #altitude-info{display:flex;align-items:center;flex:none;min-width:auto;text-align:center}#altitude-control.collapsed.position-bottom{left:50%;transform:translate(-50%)}#altitude-control.collapsed.position-left{left:clamp(1.5rem,1rem + 2vmin,5rem);right:auto;transform:none}#altitude-control.collapsed.position-right{right:clamp(1.5rem,1rem + 2vmin,5rem);left:auto;transform:none}#altitude-collapse-btn{position:absolute;top:calc(-1 * var(--altitude-collapse-btn-overhang));right:calc(-1 * var(--altitude-collapse-btn-overhang));z-index:var(--z-float);display:flex;justify-content:center;align-items:center;width:clamp(1.5rem,1.2rem + 1vmin,2.5rem);height:clamp(1.5rem,1.2rem + 1vmin,2.5rem);padding:0;color:var(--text-primary);background:var(--glass-dark);border:1px solid var(--border-medium);border-radius:var(--radius-circle);box-shadow:0 2px 4px var(--overlay-medium);backdrop-filter:blur(var(--blur-medium));-webkit-backdrop-filter:blur(var(--blur-medium));cursor:pointer;transition:border-color var(--transition-normal);--app-icon-size: clamp(.9rem, .72rem + .6vmin, 1.5rem)}@media(hover:hover)and (pointer:fine){#altitude-collapse-btn:hover{border-color:var(--border-strong)}}#altitude-info{flex:0 0 clamp(4rem,3rem + 1.5vmin,5rem);min-width:clamp(4rem,3rem + 1.5vmin,5rem);font-family:var(--font-family-mono);font-size:clamp(1.1rem,.75rem + .75vmin,1.5rem);font-weight:700;text-align:right;color:var(--text-primary)}#altitude-slider{flex:1;height:clamp(.25rem,.125rem + .3vmin,.375rem);margin-right:1rem;background:var(--bg-track);border-radius:var(--radius-2xs);outline:none;-webkit-appearance:none;appearance:none}#altitude-slider::-webkit-slider-thumb{width:clamp(1.3rem,1rem + .8vmin,2rem);height:clamp(1.3rem,1rem + .8vmin,2rem);background:var(--color-primary);border-radius:var(--radius-circle);cursor:pointer;transition:transform var(--duration-instant);-webkit-appearance:none}@media(hover:hover)and (pointer:fine){#altitude-slider::-webkit-slider-thumb:hover{transform:scale(var(--scale-hover-emphasis))}}#altitude-slider:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}#labels-container{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.labels-half{position:absolute;inset:0}#labels-container[data-comparison-layout=split] .labels-half-a{clip-path:inset(0 50% 0 0)}#labels-container[data-comparison-layout=split] .labels-half-b{clip-path:inset(0 0 0 50%)}.halo-label{--halo-label-detail-icon-gap: clamp(.08rem, .05rem + .2vmin, .15rem);--halo-label-font-size: clamp(.5rem, .35rem + .4vmin, .9rem);--halo-label-detail-icon-size: var(--halo-label-font-size);--halo-label-emphasis-color: var(--text-primary);--halo-label-emphasis-background: var(--color-accent-muted);--halo-label-emphasis-opacity: .5;position:absolute;z-index:var(--z-overlay);display:none;padding:clamp(.1rem,.07rem + .2vmin,.2rem) clamp(.2rem,.1rem + .5vmin,.3rem) clamp(.1rem,.07rem + .2vmin,.2rem) clamp(.4rem,.2rem + .5vmin,1rem);font-family:var(--font-family-primary);font-size:var(--halo-label-font-size);font-weight:600;letter-spacing:-.03em;white-space:nowrap;color:var(--text-inverted-strong);background:var(--bg-label);clip-path:polygon(clamp(.4rem,.2rem + .5vmin,1rem) 0%,100% 0%,100% 100%,clamp(.4rem,.2rem + .5vmin,1rem) 100%,0% 50%);opacity:.3;cursor:pointer;pointer-events:auto;transform:translateY(-50%);transition:opacity .12s ease}.halo-label.halo-label-left{padding:clamp(.1rem,.05rem + .2vmin,.15rem) clamp(.4rem,.2rem + .5vmin,1rem) clamp(.1rem,.05rem + .2vmin,.15rem) clamp(.2rem,.1rem + .4vmin,.3rem);clip-path:polygon(0% 0%,calc(100% - clamp(.4rem,.2rem + .5vmin,1rem)) 0%,100% 50%,calc(100% - clamp(.4rem,.2rem + .5vmin,1rem)) 100%,0% 100%);transform:translate(-100%,-50%)}#labels-container[data-comparison-mode=true][data-active-side=A] .halo-label-a,#labels-container[data-comparison-mode=true][data-active-side=B] .halo-label-b{color:var(--halo-label-emphasis-color);background:var(--halo-label-emphasis-background);opacity:var(--halo-label-emphasis-opacity)}.halo-label[data-orientation]{color:#fff;opacity:.5}.halo-label[data-orientation=column]{background:color-mix(in srgb,var(--orientation-column) 55%,transparent)}.halo-label[data-orientation=plate]{background:color-mix(in srgb,var(--orientation-plate) 55%,transparent)}.halo-label[data-orientation=parry]{background:color-mix(in srgb,var(--orientation-parry) 55%,transparent)}.halo-label[data-orientation=alternate_parry]{background:color-mix(in srgb,var(--orientation-alternate-parry) 55%,transparent)}.halo-label[data-orientation=lowitz]{background:color-mix(in srgb,var(--orientation-lowitz) 55%,transparent)}.halo-label[data-orientation=alternate_lowitz]{background:color-mix(in srgb,var(--orientation-alternate-lowitz) 55%,transparent)}.halo-label[data-orientation=plate_lowitz]{background:color-mix(in srgb,var(--orientation-plate-lowitz) 55%,transparent)}.halo-label[data-orientation=alternate_plate_lowitz]{background:color-mix(in srgb,var(--orientation-alternate-plate-lowitz) 55%,transparent)}.halo-label[data-orientation=parry_lowitz]{background:color-mix(in srgb,var(--orientation-parry-lowitz) 55%,transparent)}.halo-label[data-orientation=alternate_parry_lowitz]{background:color-mix(in srgb,var(--orientation-alternate-parry-lowitz) 55%,transparent)}.halo-label[data-orientation=random]{background:color-mix(in srgb,var(--orientation-random) 55%,transparent)}.halo-label[data-orientation=custom]{background:color-mix(in srgb,var(--orientation-custom) 55%,transparent)}.halo-label[data-orientation][data-layer="1"]{opacity:.35}.halo-label[data-orientation=column][data-layer="1"]{background:color-mix(in srgb,var(--orientation-column) 20%,transparent)}.halo-label[data-orientation=plate][data-layer="1"]{background:color-mix(in srgb,var(--orientation-plate) 20%,transparent)}.halo-label[data-orientation=parry][data-layer="1"]{background:color-mix(in srgb,var(--orientation-parry) 20%,transparent)}.halo-label[data-orientation=alternate_parry][data-layer="1"]{background:color-mix(in srgb,var(--orientation-alternate-parry) 20%,transparent)}.halo-label[data-orientation=lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-lowitz) 20%,transparent)}.halo-label[data-orientation=alternate_lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-alternate-lowitz) 20%,transparent)}.halo-label[data-orientation=plate_lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-plate-lowitz) 20%,transparent)}.halo-label[data-orientation=alternate_plate_lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-alternate-plate-lowitz) 20%,transparent)}.halo-label[data-orientation=parry_lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-parry-lowitz) 20%,transparent)}.halo-label[data-orientation=alternate_parry_lowitz][data-layer="1"]{background:color-mix(in srgb,var(--orientation-alternate-parry-lowitz) 20%,transparent)}.halo-label[data-orientation=random][data-layer="1"]{background:color-mix(in srgb,var(--orientation-random) 20%,transparent)}.halo-label[data-orientation=custom][data-layer="1"]{background:color-mix(in srgb,var(--orientation-custom) 20%,transparent)}.halo-label:not([data-orientation])[data-halo-details=unavailable]{cursor:default}.halo-label:not(.halo-label-left):not([data-orientation]):not(.halo-label-ghost)[data-halo-details=available]{padding-right:calc(clamp(.2rem,.1rem + .5vmin,.3rem) + var(--halo-label-detail-icon-size) + var(--halo-label-detail-icon-gap))}.halo-label.halo-label-left:not([data-orientation]):not(.halo-label-ghost)[data-halo-details=available]{padding-left:calc(clamp(.2rem,.1rem + .4vmin,.3rem) + var(--halo-label-detail-icon-size) + var(--halo-label-detail-icon-gap))}.halo-label-details-icon{position:absolute;top:50%;display:none;width:var(--halo-label-detail-icon-size);height:var(--halo-label-detail-icon-size);color:currentColor;pointer-events:none;transform:translateY(-50%);--app-icon-size: var(--halo-label-detail-icon-size)}.halo-label:not(.halo-label-left):not([data-orientation]):not(.halo-label-ghost)[data-halo-details=available] .halo-label-details-icon{display:block;right:clamp(.2rem,.1rem + .5vmin,.3rem)}.halo-label.halo-label-left:not([data-orientation]):not(.halo-label-ghost)[data-halo-details=available] .halo-label-details-icon{display:block;left:clamp(.2rem,.1rem + .4vmin,.3rem)}@media(hover:hover)and (pointer:fine){.halo-label:not([data-orientation])[data-halo-details=available]:hover{opacity:.65}}.app-modal-close-btn{display:flex;justify-content:center;align-items:center;width:clamp(1.75rem,1.1rem + 2vmin,2.5rem);height:clamp(1.75rem,1.1rem + 2vmin,2.5rem);padding:0;color:var(--text-muted);background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:background var(--transition-normal);-webkit-appearance:none;appearance:none;--app-icon-size: clamp(1rem, .8rem + 1.5vmin, 1.75rem)}@media(hover:hover)and (pointer:fine){.app-modal-close-btn:hover{background:var(--bg-hover)}}.crystal-details-model-controls,.halo-details-viewport-controls{--details-control-height: clamp(1.375rem, .95rem + 1.3vmin, 2rem);--details-control-padding: clamp(.1rem, .05rem + .15vmin, .2rem)}.crystal-details-view-changer,.halo-details-point-visibility-options{display:flex;align-items:center;flex:0 0 auto;gap:clamp(.1rem,.05rem + .2vmin,.25rem);height:var(--details-control-height);box-sizing:border-box;padding:var(--details-control-padding);background:var(--overlay-light);border-radius:var(--radius-pill);border:1px solid var(--border-subtle)}.crystal-details-view-btn,.halo-details-point-visibility-option{display:flex;align-items:center;justify-content:center;min-width:clamp(1.5rem,1rem + 1.2vmin,2.15rem);min-height:0;height:100%;box-sizing:border-box;padding:0 clamp(.3rem,.15rem + .45vmin,.6rem);font-size:clamp(.55rem,.35rem + .55vmin,.75rem);font-weight:600;line-height:1;white-space:nowrap;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none}.crystal-details-view-btn.active,.halo-details-point-visibility-option.active{background:var(--color-primary-muted);color:var(--text-primary)}@media(hover:hover)and (pointer:fine){.crystal-details-view-btn:hover:not(:disabled),.halo-details-point-visibility-option:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.crystal-details-view-btn.active:hover:not(:disabled),.halo-details-point-visibility-option.active:hover:not(:disabled){background:var(--color-primary)}}.crystal-details-face-toggle,.halo-details-face-toggle{display:flex;align-items:center;flex:0 0 auto;gap:clamp(.2rem,.1rem + .25vmin,.4rem);height:var(--details-control-height);box-sizing:border-box;padding:0 clamp(.25rem,.1rem + .5vmin,.75rem);color:var(--text-subtle);font-family:inherit;font-size:clamp(.55rem,.35rem + .55vmin,.75rem);font-weight:600;white-space:nowrap;background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.crystal-details-face-toggle-indicator,.halo-details-face-toggle-indicator{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:clamp(.55rem,.4rem + .4vmin,.85rem);height:clamp(.55rem,.4rem + .4vmin,.85rem);background:transparent;border:1.5px solid var(--border-ghost);border-radius:var(--radius-circle);transition:background var(--transition-normal),border-color var(--transition-normal)}.crystal-details-face-toggle-check-icon,.halo-details-face-toggle-check-icon{--app-icon-size: 1em;color:var(--text-primary);opacity:0;transition:opacity var(--transition-normal)}.crystal-details-face-toggle[data-active=true] .crystal-details-face-toggle-indicator,.halo-details-face-toggle[data-active=true] .halo-details-face-toggle-indicator{background:var(--color-primary);border-color:var(--color-primary)}.crystal-details-face-toggle[data-active=true] .crystal-details-face-toggle-check-icon,.halo-details-face-toggle[data-active=true] .halo-details-face-toggle-check-icon{opacity:1}@media(hover:hover)and (pointer:fine){.crystal-details-face-toggle:hover:not(:disabled),.halo-details-face-toggle:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}}.crystal-details-view-btn:focus-visible,.crystal-details-anim-toggle:focus-visible,.crystal-details-face-toggle:focus-visible,.halo-details-face-toggle:focus-visible,.halo-details-swap-btn:focus-visible,.halo-details-point-visibility-option:focus-visible,.halo-details-path-option:focus-visible,.halo-details-path-dropdown:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.crystal-details-face-toggle:disabled,.halo-details-face-toggle:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}#about-modal,#crystal-details-modal,#halo-details-modal{position:absolute;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,.25rem + 1vmin,1.5rem);box-sizing:border-box;overflow:hidden;background:var(--overlay-heavy);backdrop-filter:blur(var(--blur-heavy));-webkit-backdrop-filter:blur(var(--blur-heavy));touch-action:pan-y}#display-selector-modal{position:absolute;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,.35rem + .75vmin,1.5rem);box-sizing:border-box;overflow:hidden;background:var(--overlay-heavy);backdrop-filter:blur(var(--blur-heavy));-webkit-backdrop-filter:blur(var(--blur-heavy));touch-action:pan-y}#display-selector-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#display-selector-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.display-selector-content{position:relative;display:flex;flex-direction:row;width:100%;max-width:calc(100% - 1rem);height:100%;max-height:calc(100% - 1rem);overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}@media(orientation:portrait){.display-selector-content{flex-direction:column}}.display-selector-top-bar{position:relative;z-index:var(--z-sticky);display:none;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;order:-1;padding:clamp(.5rem,.3rem + 1vmin,.75rem) clamp(.75rem,.5rem + 1.5vmin,1.25rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.display-selector-mode-toggle{display:flex;flex-direction:row;gap:clamp(.25rem,.15rem + .5vmin,.5rem)}.display-selector-mode-btn{--mode-btn-size: auto;--mode-btn-padding: clamp(.4rem, .25rem + .75vmin, .6rem) clamp(.6rem, .35rem + 1vmin, .9rem);--mode-btn-icon-size: clamp(.95rem, .6rem + 1vmin, 1.25rem);display:flex;justify-content:center;align-items:center;width:var(--mode-btn-size);height:var(--mode-btn-size);padding:var(--mode-btn-padding);gap:clamp(.25rem,.15rem + .5vmin,.5rem);white-space:nowrap;color:var(--text-faint);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-m);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-selector-mode-btn:hover{color:var(--text-muted);background:var(--bg-hover)}}.display-selector-mode-btn.active{color:var(--color-primary);background:var(--color-primary-faint);border-color:var(--color-primary-muted)}.display-selector-mode-btn .app-icon{flex-shrink:0;--app-icon-size: var(--mode-btn-icon-size)}.display-selector-mode-btn .display-selector-mode-btn-text{display:inline;font-size:clamp(.85rem,.55rem + 1vmin,1.15rem);font-weight:500}.display-selector-preview-toggle{position:absolute;z-index:var(--z-popover);display:flex;justify-content:center;align-items:center;width:clamp(1.75rem,1.1rem + 2.5vmin,2.5rem);height:clamp(1.75rem,1.1rem + 2.5vmin,2.5rem);padding:0;box-sizing:border-box;line-height:1;color:#fff;background:var(--overlay-heavy);border:1px solid var(--border-subtle);border-radius:var(--radius-circle);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;-webkit-appearance:none;appearance:none;transition:background var(--transition-normal),border-color var(--transition-normal);--app-icon-size: clamp(1rem, .7rem + 1.3vmin, 1.5rem)}@media(hover:hover)and (pointer:fine){.display-selector-preview-toggle:hover{background:var(--bg-hover);border-color:var(--border-accent)}}.display-selector-preview-toggle.active{background:var(--bg-hover);border-color:var(--border-accent)}.display-selector-preview-toggle .display-selector-icon-preview-mode{display:block}.display-selector-preview-toggle .display-selector-icon-full-card-mode,.display-selector-preview-toggle.active .display-selector-icon-preview-mode{display:none}.display-selector-preview-toggle.active .display-selector-icon-full-card-mode{display:block}.display-selector-preview-toggle.landscape-only{top:clamp(.5rem,.3rem + 1vmin,1rem);right:clamp(.75rem,.45rem + 1.5vmin,1.5rem)}.display-selector-tab-list{position:relative;display:flex;justify-content:center;align-items:center;gap:clamp(1rem,.6rem + 2vmin,2rem)}.display-selector-tab-cluster{display:flex;align-items:center;gap:clamp(.35rem,.2rem + .6vmin,.625rem)}.display-selector-tab-btn{position:relative;display:flex;align-items:center;padding:clamp(.5rem,.3rem + .75vmin,.75rem) clamp(.25rem,.15rem + .5vmin,.5rem);gap:.35rem;font-size:clamp(.75rem,.4rem + 1vmin,1.1rem);font-weight:500;color:var(--text-faint);background:none;border:none;cursor:pointer;transition:color var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-selector-tab-btn:hover{color:var(--text-muted)}}.display-selector-tab-btn.active{color:var(--text-primary)}.display-selector-tab-indicator{position:absolute;bottom:0;left:0;height:clamp(.125rem,.075rem + .15vmin,.25rem);background:var(--color-primary);border-radius:var(--radius-pill);transition:left .3s cubic-bezier(.25,1,.5,1),width .3s cubic-bezier(.25,1,.5,1);pointer-events:none}.display-selector-tab-indicator.no-transition{transition:none}.display-selector-tab-indicator.tab-swiping{left:calc(var(--display-selector-tab-indicator-from-left) * (1 - var(--display-selector-tab-swipe-progress, 0)) + var(--display-selector-tab-indicator-to-left) * var(--display-selector-tab-swipe-progress, 0));width:calc(var(--display-selector-tab-indicator-from-width) * (1 - var(--display-selector-tab-swipe-progress, 0)) + var(--display-selector-tab-indicator-to-width) * var(--display-selector-tab-swipe-progress, 0))}.display-selector-tab-selection-dot{flex-shrink:0;width:clamp(.4rem,.3rem + .4vmin,.6rem);height:clamp(.4rem,.3rem + .4vmin,.6rem);background:var(--color-primary);border-radius:var(--radius-circle)}.display-selector-tab-selection-dot.hidden{display:none}.display-selector-tab-selection-dot.slot-b{background:var(--color-secondary)}@media(orientation:portrait){.display-selector-top-bar{display:flex}.display-selector-top-bar .display-selector-preview-toggle{position:static}.display-selector-top-bar .display-selector-tab-list{justify-content:left;width:100%;margin-top:clamp(.6rem,.35rem + 1vmin,1rem);padding-top:clamp(.25rem,.15rem + .5vmin,.5rem);border-top:1px solid var(--border-subtle-hover)}.display-selector-preview-toggle.landscape-only{display:none}.display-selector-tab-list.portrait-only{display:flex}}@media(orientation:landscape){.display-selector-top-bar .display-selector-preview-toggle,.display-selector-tab-list.portrait-only{display:none}}@media(orientation:portrait)and (max-width:350px){.display-selector-mode-btn .display-selector-mode-btn-text{display:none}.display-selector-tab-list{gap:clamp(.3rem,.2rem + 1vmin,.5rem)}}.display-selector-sidebar{position:relative;z-index:var(--z-sticky);display:flex;flex-direction:row;justify-content:center;align-items:center;flex-shrink:0;order:1;width:100%;padding:clamp(.75rem,.45rem + 1vmin,1rem) clamp(1rem,.6rem + 2.5vmin,2rem) max(clamp(.75rem,.45rem + 1vmin,1rem),env(safe-area-inset-bottom)) clamp(1rem,.6rem + 2.5vmin,2rem);box-sizing:border-box;gap:clamp(2rem,1.2rem + 3vmin,4rem);background:var(--overlay-light);border:none;box-shadow:0 -5px 10px var(--overlay-medium)}.display-selector-sidebar:before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:var(--border-subtle)}.display-selector-sidebar-mode-toggle{display:flex;flex-direction:column;margin-bottom:clamp(.5rem,.3rem + 1vmin,1rem);padding-bottom:clamp(.5rem,.3rem + 1vmin,1rem);gap:clamp(.25rem,.15rem + .5vmin,.5rem);border-bottom:1px solid var(--border-subtle)}.display-selector-sidebar-mode-btn{--mode-btn-size: clamp(2rem, 1.2rem + 3vmin, 3rem);--mode-btn-padding: 0;--mode-btn-icon-size: clamp(1rem, .6rem + 1.5vmin, 1.5rem);display:flex;justify-content:center;align-items:center;width:var(--mode-btn-size);height:var(--mode-btn-size);padding:var(--mode-btn-padding);gap:clamp(.25rem,.15rem + .5vmin,.5rem);white-space:nowrap;color:var(--text-faint);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-m);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-selector-sidebar-mode-btn:hover{color:var(--text-muted);background:var(--bg-hover)}}.display-selector-sidebar-mode-btn.active{color:var(--color-primary);background:var(--color-primary-faint);border-color:var(--color-primary-muted)}.display-selector-sidebar-mode-btn .app-icon{flex-shrink:0;--app-icon-size: var(--mode-btn-icon-size)}.display-selector-sidebar-mode-btn .display-selector-mode-btn-text{display:none}.display-selector-slot-container{position:relative;z-index:var(--z-sticky);display:flex;flex-direction:row;align-items:center;flex:0 0 auto;gap:clamp(.5rem,.3rem + 1vmin,1rem)}.display-selector-slot{position:relative;display:flex;justify-content:center;align-items:center;flex:0 0 auto;width:clamp(2.5rem,1.5rem + 3vmin,4.5rem);height:clamp(2.5rem,1.5rem + 3vmin,4.5rem);aspect-ratio:1;box-sizing:border-box;overflow:visible;background:var(--bg-card);border:clamp(2px,.23vmin,3px) dashed var(--border-medium);border-radius:var(--radius-m);transition:background var(--transition-slow),border-color var(--transition-slow),box-shadow var(--transition-slow)}@media(hover:hover)and (pointer:fine){.display-selector-slot:hover{background:var(--bg-subtle-hover);border-color:var(--border-accent);transform:translateY(var(--translate-hover))}}.display-selector-slot[data-slot=a]{border-color:var(--color-primary-subtle)}.display-selector-slot[data-slot=b]{border-color:var(--color-secondary-muted)}.display-selector-slot.filled{background:transparent;border-style:solid;box-shadow:0 .5rem 1.5rem var(--overlay-medium)}.display-selector-slot[data-slot=a].filled{border-color:var(--color-primary)}.display-selector-slot[data-slot=b].filled{border-color:var(--color-secondary)}.display-selector-slot-label{display:flex;justify-content:center;align-items:center;font-size:clamp(.9rem,.5rem + 1.2vmin,1.8rem);font-weight:700;color:var(--border-strong);-webkit-user-select:none;user-select:none}.display-selector-slot[data-slot=a] .display-selector-slot-label{color:var(--color-primary-faint)}.display-selector-slot[data-slot=b] .display-selector-slot-label{color:var(--color-secondary-muted)}.display-selector-slot-check-icon{display:none;--app-icon-size: 1em}.display-selector-slot-content{display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;container-type:inline-size;border-radius:inherit}.display-selector-slot-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.display-selector-slot-crystal-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:transparent;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.display-selector-slot-swap{display:flex;justify-content:center;align-items:center;width:clamp(1.4rem,.85rem + 1.7vmin,2.5rem);height:clamp(1.4rem,.85rem + 1.7vmin,2.5rem);padding:0;box-sizing:border-box;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-circle);cursor:pointer;transition:background var(--transition-slow),transform var(--transition-slow);--base-rotate: 90deg;--click-rotate: 0deg;transform:rotate(calc(var(--base-rotate) + var(--click-rotate)));--app-icon-size: clamp(1.1rem, .7rem + 1.5vmin, 1.75rem)}.display-selector-slot-swap .app-icon{flex-shrink:0}@media(hover:hover)and (pointer:fine){.display-selector-slot-swap:hover:not(:disabled){background:var(--bg-hover-emphasis);transform:rotate(calc(var(--base-rotate) + var(--click-rotate))) scale(1.1)}}.display-selector-slot-swap:active:not(:disabled){background:var(--border-accent);transform:rotate(calc(var(--base-rotate) + var(--click-rotate))) scale(.95)}.display-selector-slot-swap:focus{outline:none;box-shadow:none}.display-selector-slot-swap.rotated{--click-rotate: 180deg}.display-selector-slot-swap:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}.display-selector-slot-remove{position:absolute;top:clamp(-.625rem,-.4rem + -1vmin,-.375rem);right:clamp(-.625rem,-.4rem + -1vmin,-.375rem);z-index:var(--z-sticky);display:flex;justify-content:center;align-items:center;width:clamp(.9rem,.55rem + 1.1vmin,1.6rem);height:clamp(.9rem,.55rem + 1.1vmin,1.6rem);margin:0;padding:0;box-sizing:border-box;color:#fff;background:var(--color-danger);border:1px solid var(--border-strong);border-radius:var(--radius-circle);box-shadow:0 2px 5px var(--overlay-medium);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal);--app-icon-size: clamp(.7rem, .4rem + .9vmin, 1rem)}.display-selector-slot-remove .app-icon{flex-shrink:0}@media(hover:hover)and (pointer:fine){.display-selector-slot-remove:hover{background:var(--color-danger);transform:scale(var(--scale-hover-emphasis))}}.display-selector-sidebar-footer{position:relative;z-index:var(--z-sticky);display:flex;flex-direction:row;align-items:center;flex:0 0 auto;margin-left:clamp(1rem,.6rem + 2vmin,2rem);padding:0;gap:clamp(.5rem,.3rem + 1vmin,1rem);border:none}.display-selector-footer-icon{display:none;--app-icon-size: 1em}.display-selector-cancel-btn{min-width:clamp(3.5rem,2.1rem + 6vmin,6rem);padding:clamp(.6rem,.35rem + .9vmin,.9rem) clamp(1rem,.6rem + 2vmin,2rem);font-size:clamp(.85rem,.55rem + 1vmin,1rem);letter-spacing:.02em;color:var(--text-muted);background:var(--bg-subtle-hover);border:1px solid var(--border-medium);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-selector-cancel-btn:hover{color:#fff;background:var(--border-medium);border-color:var(--border-accent);transform:translateY(var(--translate-hover-subtle))}}.display-selector-confirm-btn{min-width:clamp(3.5rem,2.1rem + 6vmin,6rem);padding:clamp(.6rem,.35rem + .9vmin,.9rem) clamp(1rem,.6rem + 2vmin,2rem);font-size:clamp(.85rem,.55rem + 1vmin,1rem);font-weight:600;color:#fff;background:var(--color-primary);border:1px solid var(--border-medium);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal)}.display-selector-confirm-btn:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(hover:hover)and (pointer:fine){.display-selector-confirm-btn:hover:not(:disabled){transform:translateY(var(--translate-hover-subtle))}}.display-selector-sidebar[data-mode=single] .display-selector-slot[data-slot=b],.display-selector-sidebar[data-mode=single] .display-selector-slot-swap{display:none}.display-selector-sidebar[data-mode=single] .display-selector-slot[data-slot=a] .display-selector-slot-label{font-size:clamp(1rem,.6rem + 2.5vmin,2.5rem)}.display-selector-sidebar[data-mode=single] .display-selector-slot[data-slot=a] .display-selector-slot-letter{display:none}.display-selector-sidebar[data-mode=single] .display-selector-slot[data-slot=a] .display-selector-slot-check-icon{display:block}@media(orientation:portrait){.display-selector-sidebar-mode-toggle{display:none}.display-selector-sidebar{padding:clamp(.85rem,.05rem + 2vmin,1.25rem) .5rem max(clamp(.85rem,.05rem + 2vmin,1.25rem),env(safe-area-inset-bottom)) .5rem;gap:clamp(.28rem,.05rem + 1.25vmin,.75rem)}.display-selector-slot{width:clamp(2.25rem,.15rem + 11vmin,3.5rem);height:clamp(2.25rem,.15rem + 11vmin,3.5rem);border-radius:var(--radius-m)}.display-selector-slot-label{font-size:clamp(.85rem,.05rem + 4.5vmin,1.4rem)}.display-selector-slot-remove{top:clamp(-.4rem,-.02rem + -2vmin,-.65rem);right:clamp(-.4rem,-.02rem + -2vmin,-.65rem);width:clamp(.8rem,.04rem + 4vmin,1.3rem);height:clamp(.8rem,.04rem + 4vmin,1.3rem);padding:0;--app-icon-size: clamp(.62rem, .32rem + 1.2vmin, .95rem)}.display-selector-slot-swap{width:clamp(1.3rem,.08rem + 6.2vmin,2rem);height:clamp(1.3rem,.08rem + 6.2vmin,2rem);padding:0}.display-selector-sidebar-footer{margin-left:clamp(.5rem,.05rem + 1.75vmin,1rem)}.display-selector-cancel-btn,.display-selector-confirm-btn{min-width:auto;padding:clamp(.375rem,.05rem + 1.75vmin,.75rem) clamp(.75rem,.1rem + 3.5vmin,1.25rem);font-size:clamp(.75rem,.1rem + 1.75vmin,1rem)}}@media(min-height:801px)and (orientation:landscape){.display-selector-sidebar{flex-direction:column;order:0;width:auto;height:100%;padding:clamp(1rem,.6rem + 1.5vmin,1.5rem);gap:clamp(.5rem,.3rem + 1vmin,1rem);border-right:1px solid var(--border-subtle);box-shadow:10px 0 20px var(--overlay-medium)}.display-selector-sidebar:before{display:none}.display-selector-sidebar-mode-toggle{display:flex}.display-selector-sidebar-mode-btn{--mode-btn-size: auto;--mode-btn-padding: clamp(.5rem, .3rem + .75vmin, .75rem) clamp(.75rem, .45rem + 1vmin, 1.25rem);justify-content:flex-start}.display-selector-sidebar-mode-btn .display-selector-mode-btn-text{display:inline;font-size:clamp(.75rem,.45rem + 1vmin,1rem);font-weight:500;white-space:nowrap}.display-selector-slot-container{flex-direction:column;align-items:center;gap:clamp(.5rem,.3rem + 1vmin,1rem)}.display-selector-slot{width:clamp(4rem,2.5rem + 5vmin,6rem);height:clamp(4rem,2.5rem + 5vmin,6rem);border-radius:var(--radius-xl)}.display-selector-slot-label{font-size:clamp(1.4rem,.85rem + 2vmin,2.4rem)}.display-selector-slot-swap{width:clamp(2.25rem,1.4rem + 2.8vmin,3rem);height:clamp(2.25rem,1.4rem + 2.8vmin,3rem);padding:0;--base-rotate: 0deg}.display-selector-slot-remove{top:clamp(-.72rem,-.45rem + -.9vmin,-1.08rem);right:clamp(-.72rem,-.45rem + -.9vmin,-1.08rem);width:clamp(1.45rem,.9rem + 1.8vmin,2.15rem);height:clamp(1.45rem,.9rem + 1.8vmin,2.15rem);padding:0;--app-icon-size: clamp(.95rem, .6rem + 1vmin, 1.2rem)}.display-selector-sidebar-footer{flex-direction:column;margin-top:auto;margin-left:0;padding-top:clamp(.5rem,.3rem + 1vmin,1rem);gap:clamp(.5rem,.3rem + .75vmin,.75rem);border-top:1px solid var(--border-subtle)}.display-selector-cancel-btn,.display-selector-confirm-btn{width:100%;min-width:auto}.display-selector-top-bar{display:none}}@media(max-height:800px)and (orientation:landscape){.display-selector-sidebar{flex-direction:column;align-items:center;order:0;width:auto;min-width:clamp(3.5rem,.2rem + 11vmin,8rem);height:100%;padding:clamp(.5rem,.05rem + 1.25vmin,.8rem);gap:clamp(.2rem,.05rem + .75vmin,.4rem);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;background:var(--overlay-light);border-right:1px solid var(--border-subtle);border-bottom:none;box-shadow:5px 0 10px var(--overlay-medium);pointer-events:auto}.display-selector-sidebar-mode-toggle{display:flex;flex-direction:column;align-items:center;margin-bottom:0;padding-bottom:clamp(.35rem,.05rem + 1.25vmin,.75rem);gap:clamp(.2rem,.05rem + .75vmin,.4rem)}.display-selector-sidebar-mode-btn{--mode-btn-size: clamp(2rem, .2rem + 7vmin, 3rem);--mode-btn-icon-size: clamp(1.25rem, .15rem + 3.5vmin, 1.5rem)}.display-selector-slot-container{flex-direction:column;align-items:center;width:100%;margin:auto 0;gap:clamp(.4rem,.05rem + .75vmin,.8rem)}.display-selector-slot{width:clamp(2rem,.15rem + 9vmin,4rem);height:clamp(2rem,.15rem + 9vmin,4rem);border-radius:var(--radius-m)}.display-selector-slot-label{font-size:clamp(.7rem,.05rem + 3.6vmin,1.4rem)}.display-selector-slot-swap{width:clamp(1.2rem,.09rem + 5.5vmin,2.5rem);height:clamp(1.2rem,.09rem + 5.5vmin,2.5rem);padding:0;--base-rotate: 0deg}.display-selector-slot-remove{top:clamp(-.42rem,-.03rem + -1.9vmin,-.87rem);right:clamp(-.42rem,-.03rem + -1.9vmin,-.87rem);width:clamp(.85rem,.06rem + 3.85vmin,1.75rem);height:clamp(.85rem,.06rem + 3.85vmin,1.75rem);padding:0;--app-icon-size: clamp(.78rem, .42rem + 1.1vmin, 1.15rem)}.display-selector-sidebar-footer{flex-direction:column;align-items:center;width:100%;margin-top:auto;margin-left:0;padding-top:clamp(.35rem,.05rem + 1.25vmin,.75rem);gap:clamp(.2rem,.05rem + .75vmin,.4rem);border-top:1px solid var(--border-subtle)}.display-selector-cancel-btn,.display-selector-confirm-btn{display:flex;justify-content:center;align-items:center;width:clamp(2rem,.2rem + 8vmin,4rem);height:clamp(2rem,.2rem + 8vmin,4rem);min-width:auto;margin:0 auto;padding:0;font-size:0;aspect-ratio:1;border-radius:var(--radius-circle)}.display-selector-footer-text{display:none}.display-selector-footer-icon{display:block;--app-icon-size: clamp(.75rem, .5rem + 2.5vmin, 2rem)}.display-selector-top-bar{display:none}}.display-selector-main-panel{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.display-selector-preserve-view-row{display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;width:100%;padding:clamp(.4rem,.25rem + .65vmin,.7rem) clamp(.75rem,.5rem + 1.25vmin,1.5rem);gap:clamp(.5rem,.3rem + .75vmin,.9rem);box-sizing:border-box;color:var(--text-secondary);background:var(--overlay-light);border-top:1px solid var(--border-subtle)}.display-selector-preserve-view-label{min-width:0;font-size:clamp(.65rem,.4rem + .8vmin,.95rem);font-weight:500;line-height:1.25;text-align:left}.display-selector-preserve-view-toggle{display:flex;flex:0 0 auto;padding:0;background:none;border:0;border-radius:var(--radius-pill);cursor:pointer}.display-selector-preserve-view-track{position:relative;flex:0 0 auto;width:clamp(2rem,1.4rem + 1.8vmin,2.7rem);height:clamp(1.1rem,.75rem + 1.05vmin,1.45rem);background:var(--bg-track);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);transition:background var(--transition-normal)}.display-selector-preserve-view-thumb{position:absolute;top:50%;left:clamp(.1rem,.07rem + .1vmin,.15rem);width:clamp(.8rem,.55rem + .75vmin,1.05rem);height:clamp(.8rem,.55rem + .75vmin,1.05rem);background:var(--text-muted);border-radius:var(--radius-circle);transform:translateY(-50%);transition:left var(--transition-normal),background var(--transition-normal)}.display-selector-preserve-view-toggle[aria-checked=true] .display-selector-preserve-view-track{background:var(--color-primary-muted);border:1px solid var(--border-accent)}.display-selector-preserve-view-toggle[aria-checked=true] .display-selector-preserve-view-thumb{left:calc(100% - clamp(.8rem,.55rem + .75vmin,1.05rem) - clamp(.1rem,.07rem + .1vmin,.15rem));background:var(--text-primary)}@media(hover:hover)and (pointer:fine){.display-selector-preserve-view-toggle:hover:not(:disabled) .display-selector-preserve-view-track{border-color:var(--border-accent)}}.display-selector-preserve-view-toggle:focus-visible{outline:2px solid var(--border-accent);outline-offset:-2px}.display-selector-preserve-view-toggle:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(prefers-reduced-motion:reduce){.display-selector-preserve-view-track,.display-selector-preserve-view-thumb{transition:none}}.display-selector-main-panel-header{position:relative;z-index:var(--z-popover);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin:0;padding:clamp(.5rem,.3rem + 1vmin,.75rem) clamp(1rem,.75rem + 1.25vmin,1.5rem) clamp(.5rem,.3rem + 1vmin,.75rem) clamp(1.5rem,.9rem + 1.75vmin,3rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.display-selector-main-panel-header .display-selector-preview-toggle{position:static}@media(orientation:portrait){.display-selector-main-panel-header.landscape-only{display:none}}@media(orientation:landscape){.display-selector-main-panel-header.landscape-only{display:flex}}.display-cards-container{--display-cards-padding: clamp(1.5rem, .9rem + 1.75vmin, 3rem);position:relative;flex:1 1 auto;min-height:0;padding:var(--display-cards-padding);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.display-cards-container.tab-swiping{overflow:hidden;padding:0}.display-selector-tab-swipe-track{display:flex;width:200%;height:100%;will-change:transform}.display-selector-tab-swipe-track.settling{transition:transform .3s cubic-bezier(.25,1,.5,1)}.display-selector-tab-swipe-page{width:50%;height:100%;flex-shrink:0;overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:var(--display-cards-padding);box-sizing:border-box;contain:content}.display-group-header{display:flex;align-items:center;gap:.35rem;margin:clamp(1rem,.6rem + 1.5vmin,1.5rem) 0 clamp(.25rem,.15rem + .5vmin,.5rem) 0;padding-bottom:clamp(.25rem,.15rem + .25vmin,.35rem);font-size:clamp(.7rem,.4rem + 1vmin,1rem);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.display-group-header:first-child{margin-top:0}.display-subgroup-header{display:flex;align-items:center;gap:.35rem;margin:clamp(.75rem,.45rem + 1vmin,1rem) 0 clamp(.5rem,.3rem + .5vmin,.75rem) 0;font-size:clamp(.7rem,.4rem + 1vmin,1rem);font-weight:500;color:var(--text-faint)}.display-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(12rem,7rem + 25vmin,22rem)),1fr));justify-items:center;gap:clamp(.5rem,.3rem + 1vmin,1rem);row-gap:clamp(1rem,.6rem + 1.25vmin,1.5rem);overflow:visible}.display-selector-content.preview-only .display-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(5rem,3rem + 9.5vmin,10rem)),1fr));gap:clamp(.75rem,.45rem + 1vmin,1rem);row-gap:clamp(.5rem,.3rem + .75vmin,.75rem)}@media(orientation:landscape){.display-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(18rem,11rem + 22vmin,24rem)),1fr))}}.display-card{--card-radius: clamp(1rem, .6rem + 1.5vmin, 1.5rem);position:relative;display:flex;flex-direction:row;width:100%;max-width:clamp(19rem,11.5rem + 25vmin,26rem);padding:0;gap:0;aspect-ratio:3;overflow:hidden;background:var(--bg-card);border:2px solid var(--border-subtle-hover);border-radius:var(--card-radius);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);container-type:inline-size;contain:layout style}.display-selector-content.preview-only .display-card{position:relative;padding:0;gap:0;aspect-ratio:1}@media(hover:hover)and (pointer:fine){.display-card{will-change:transform}.display-card:hover{background:var(--bg-hover);box-shadow:0 4px 12px var(--overlay-light);transform:translateY(-2px)}}.display-card-preview{position:relative;display:flex;justify-content:center;align-items:center;flex-shrink:0;width:auto;height:100%;aspect-ratio:1;overflow:hidden;background:var(--overlay-medium);border-radius:calc(var(--card-radius) - 2px) 0 0 calc(var(--card-radius) - 2px);container-type:inline-size}.display-card-folder,.display-selector-slot-folder-name{max-width:100%;padding:13cqi;box-sizing:border-box;overflow:hidden;font-family:Arial,sans-serif;font-size:13cqi;font-weight:600;line-height:1.2;text-align:center;overflow-wrap:anywhere;color:var(--text-secondary)}.display-card-preview img{width:100%;height:100%;object-fit:cover}.display-selector-content.preview-only .display-card-preview{width:100%;height:100%;margin:0;overflow:hidden;border-radius:var(--card-radius)}.display-card-viewport{position:relative;width:100%;height:100%;overflow:hidden}.display-card .display-card-viewport{position:absolute;inset:0;width:75%;height:75%;margin:auto;background:transparent!important}.display-card-info{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;flex:1;width:100%;min-width:0;height:100%;padding:.5rem .75rem;padding:max(.35rem,5.3cqi) max(.6rem,5.3cqi);box-sizing:border-box}.display-card-description{display:-webkit-box;width:100%;font-size:.8rem;font-size:max(.55rem,4.4cqi);line-height:1.25;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.display-selector-content.preview-only .display-card-info{display:none}.display-card-details-btn{position:absolute;z-index:var(--z-sticky);display:flex;justify-content:flex-end;align-items:flex-end;right:.35rem;bottom:.35rem;right:max(.25rem,2cqi);bottom:max(.25rem,2cqi);padding:0;font-size:.7rem;font-size:max(.5rem,4cqi);font-weight:600;color:var(--text-secondary);background:transparent;border:0;cursor:pointer}.display-card-details-label{display:inline-flex;padding:.2rem .4rem;padding:max(.15rem,1.3cqi) max(.3rem,2.6cqi);background:var(--bg-active);border:1px solid var(--border-strong);border-radius:.5rem;border-radius:max(.4rem,4cqi);pointer-events:none;transition:background var(--transition-normal),transform var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-card-details-btn:hover .display-card-details-label{background:var(--bg-hover-emphasis);border-color:var(--border-ghost);transform:scale(var(--scale-hover))}}.display-card-details-btn:focus-visible{outline:2px solid var(--border-accent);outline-offset:-2px;border-radius:var(--radius-m)}.display-card-details-btn:active .display-card-details-label{transform:scale(var(--scale-active))}.display-selector-content.preview-only .display-card-details-btn{position:absolute;z-index:var(--z-float);right:clamp(.3rem,.2rem + .3vmin,.4rem);bottom:clamp(.3rem,.2rem + .3vmin,.4rem);font-size:clamp(.55rem,.35rem + .75vmin,.7rem)}.display-selector-content.preview-only .display-card-details-label{padding:clamp(.15rem,.1rem + .25vmin,.25rem) clamp(.25rem,.15rem + .5vmin,.5rem);background:var(--overlay-darker);border:1px solid var(--border-medium);border-radius:var(--radius-m)}.display-card-badge{position:absolute;top:2px;left:2px;z-index:var(--z-popover);display:flex;justify-content:center;align-items:center;top:max(2px,1.75cqi);left:max(2px,1.75cqi);width:1rem;width:max(1rem,8.8cqi);height:1rem;height:max(1rem,8.8cqi);font-size:.55rem;font-size:max(.55rem,4.8cqi);font-weight:700;border:2px solid var(--panel-dark);border-radius:var(--radius-circle);box-shadow:0 2px 4px var(--overlay-deep)}.display-card-badge-a{color:#fff;background:var(--color-primary)}.display-card-badge-b{color:#fff;background:var(--color-secondary)}.display-card-badge-icon,.display-selector-badge-icon{--app-icon-size: 1em}.display-selector-content.preview-only .display-card-badge{top:clamp(.15rem,.1rem + .25vmin,.25rem);right:clamp(.15rem,.1rem + .25vmin,.25rem);z-index:var(--z-float);width:clamp(1.4rem,.85rem + 2.5vmin,1.9rem);height:clamp(1.4rem,.85rem + 2.5vmin,1.9rem);font-size:clamp(.8rem,.6rem + 1.5vmin,1.2rem);box-shadow:0 1px 3px var(--overlay-deep)}.display-card.selected{background:var(--overlay-medium);opacity:.7;filter:grayscale(30%);cursor:pointer;transform:none}.display-card.selected-a{border-color:var(--color-primary);box-shadow:0 0 10px var(--color-primary-subtle)}.display-card.selected-b{border-color:var(--color-secondary);box-shadow:0 0 10px var(--color-secondary-muted)}@media(hover:hover)and (pointer:fine){.display-card.selected:hover{background:var(--overlay-medium);transform:none}}#display-details-modal{position:absolute;inset:0;z-index:var(--z-modal-stacked);display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,.25rem + 1vmin,1.5rem);box-sizing:border-box;overflow:hidden;background:var(--overlay-heavy);backdrop-filter:blur(var(--blur-heavy));-webkit-backdrop-filter:blur(var(--blur-heavy));touch-action:pan-y}#display-details-modal.hidden{display:none}#display-details-modal.minimizing{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background var(--transition-modal),backdrop-filter var(--transition-modal)}#display-details-modal.maximizing{transition:background var(--transition-modal),backdrop-filter var(--transition-modal)}@media(orientation:portrait)and (max-width:600px){#display-details-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.display-details-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),78rem);height:100%;max-height:min(calc(100% - 1rem),53rem);overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep);transition:transform var(--transition-modal),opacity var(--transition-modal)}@media(orientation:portrait){.display-details-content{max-width:min(calc(100% - 1rem),47rem);max-height:min(calc(100% - 1rem),66rem)}}.display-details-header{display:grid;grid-template-columns:auto 1fr;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.display-details-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.display-details-header-actions{display:flex;justify-self:end;align-items:center;gap:clamp(.25rem,.15rem + .35vmin,.5rem)}.display-details-body{display:flex;justify-content:center;align-items:center;flex:1;padding:clamp(.75rem,.45rem + 1vmin,1.5rem);overflow:auto;scrollbar-gutter:stable;touch-action:pan-y}.display-details-loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:clamp(.9rem,.55rem + 1vmin,1.1rem);color:var(--text-faint)}.display-details-loading.hidden{display:none}.display-details-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:clamp(.75rem,.45rem + 1vmin,1rem)}.display-details-error.hidden{display:none}.display-details-error-message{font-size:clamp(.9rem,.55rem + 1vmin,1.1rem);color:var(--text-faint)}.display-details-retry-btn{padding:clamp(.4rem,.25rem + .5vmin,.6rem) clamp(1rem,.6rem + 1.5vmin,1.5rem);font-size:clamp(.8rem,.5rem + .85vmin,.95rem);color:var(--text-primary);background:var(--bg-active);border:1px solid var(--border-accent);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-details-retry-btn:hover{background:var(--bg-hover-emphasis)}}.display-details-empty{display:flex;justify-content:center;align-items:center;height:100%;font-size:clamp(.9rem,.55rem + 1vmin,1.1rem);font-style:italic;color:var(--text-faint)}.display-details-empty.hidden{display:none}.display-details-main{display:grid;grid-template-columns:7fr 3fr;grid-template-rows:1fr;align-items:start;width:100%;height:100%;gap:clamp(.75rem,.45rem + .75vmin,1.25rem)}.display-details-main.hidden{display:none}@media(max-height:1000px)and (orientation:landscape){.display-details-main{grid-template-columns:7fr 4fr}}@media(max-height:800px)and (orientation:landscape){.display-details-main{grid-template-columns:7fr 5fr}}@media(max-height:600px)and (orientation:landscape){.display-details-main{grid-template-columns:7fr 6fr}}@media(max-height:400px)and (orientation:landscape){.display-details-main{grid-template-columns:1fr 1fr}}@media(orientation:portrait){.display-details-main{grid-template-columns:1fr;grid-template-rows:6fr 4fr;min-height:0;height:100%}}@media(max-width:600px)and (orientation:portrait){.display-details-main{grid-template-rows:5fr 4fr}}@media(max-width:400px)and (orientation:portrait){.display-details-main{grid-template-rows:1fr 1fr}}.display-details-media-section{display:flex;flex-direction:column;min-height:0;height:100%}@media(orientation:portrait){.display-details-media-section{min-height:10rem}}.display-details-carousel{position:relative;flex:1;width:100%;min-height:10rem;padding-bottom:clamp(1.4rem,.8rem + 1.5vmin,2.75rem);overflow:hidden;background:var(--glass-modal);border-radius:var(--radius-m);touch-action:pan-y}.display-details-carousel.hidden{display:none}@media(orientation:portrait){.display-details-carousel{min-height:0}}.display-details-carousel-track{display:flex;height:100%;transition:transform var(--transition-slow)}.display-details-carousel-slide{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 100%}.display-details-carousel-slide img{flex:1 1 auto;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.display-details-version-pills:empty{display:none}.display-details-version-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.2rem,.1rem + .3vmin,.4rem);padding:clamp(.25rem,.1rem + .4vmin,.5rem) 0;flex-shrink:0}.display-details-version-pill{display:inline-flex;align-items:center;padding:clamp(.15rem,.05rem + .2vmin,.25rem) clamp(.35rem,.2rem + .4vmin,.5rem);font-size:clamp(.6rem,.4rem + .5vmin,.75rem);line-height:1.2;white-space:nowrap;color:var(--text-dim);background:var(--glass-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.display-details-version-pill.active{color:var(--text-primary);background:var(--bg-active);border-color:var(--border-accent)}@media(hover:hover)and (pointer:fine){.display-details-version-pill:not(.active):hover{color:var(--text-subtle);background:var(--bg-hover);border-color:var(--border-medium)}}.display-details-carousel-prev,.display-details-carousel-next{--display-details-carousel-idle-opacity: .7;position:absolute;top:50%;display:flex;justify-content:center;align-items:center;width:clamp(2rem,1.2rem + 3vmin,3rem);height:clamp(2rem,1.2rem + 3vmin,3rem);padding:0;color:var(--text-primary);background:var(--overlay-deep);border:none;border-radius:var(--radius-circle);opacity:var(--display-details-carousel-idle-opacity);cursor:pointer;transition:background var(--transition-normal),opacity var(--transition-normal);transform:translateY(-50%);touch-action:manipulation;-webkit-appearance:none;appearance:none;--app-icon-size: clamp(1.1rem, .7rem + 1.75vmin, 1.75rem)}.display-details-carousel-prev .app-icon,.display-details-carousel-next .app-icon{flex-shrink:0}@media(hover:hover)and (pointer:fine){.display-details-carousel-prev:hover:not(:disabled),.display-details-carousel-next:hover:not(:disabled){background:var(--overlay-darker);opacity:1}}.display-details-carousel-prev{left:clamp(.5rem,.3rem + .75vmin,1rem)}.display-details-carousel-next{right:clamp(.5rem,.3rem + .75vmin,1rem)}.display-details-carousel-prev.hidden,.display-details-carousel-next.hidden{display:none}.display-details-carousel-prev:disabled,.display-details-carousel-next:disabled{opacity:calc(var(--display-details-carousel-idle-opacity) * var(--control-disabled-opacity));cursor:not-allowed}.display-details-carousel-counter{position:absolute;top:clamp(.5rem,.3rem + .75vmin,1rem);right:clamp(.5rem,.3rem + .75vmin,1rem);z-index:var(--z-overlay);padding:clamp(.15rem,.1rem + .2vmin,.25rem) clamp(.4rem,.25rem + .5vmin,.6rem);font-size:clamp(.7rem,.45rem + .75vmin,.9rem);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--overlay-medium);border-radius:var(--radius-pill)}.display-details-carousel-counter:empty{display:none}.display-details-carousel-indicators{position:absolute;bottom:clamp(.5rem,.3rem + .75vmin,1rem);left:50%;z-index:var(--z-overlay);display:flex;align-items:center;gap:clamp(.35rem,.2rem + .5vmin,.5rem);transform:translate(-50%)}.display-details-carousel-dot{flex-shrink:0;width:clamp(.5rem,.35rem + .35vmin,.75rem);height:clamp(.5rem,.35rem + .35vmin,.75rem);padding:0;background:var(--bg-subtle);border:none;border-radius:var(--radius-circle);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal)}@media(hover:hover)and (pointer:fine){.display-details-carousel-dot:hover{background:var(--bg-hover)}}.display-details-carousel-dot.active{background:var(--text-primary);transform:scale(1.2)}.display-details-metadata{display:flex;flex-direction:column;padding:clamp(.75rem,.4rem + .8vmin,1.25rem);gap:clamp(.75rem,.4rem + .8vmin,1.25rem);font-size:clamp(.7rem,.45rem + .9vmin,.9rem);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-m);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.display-details-metadata.hidden{display:none}.display-details-metadata-item{display:flex;align-items:center;gap:.4em}.display-details-metadata-icon{display:flex;flex-shrink:0;align-items:center;font-size:.9em;opacity:.8;--app-icon-size: clamp(.8rem, .5rem + 1vmin, 1.1rem)}.display-details-metadata-label{font-weight:500;color:var(--text-faint)}.display-details-metadata-caption{width:100%;margin-top:clamp(.25rem,.15rem + .35vmin,.5rem);padding-top:clamp(.25rem,.15rem + .35vmin,.5rem);font-style:italic;color:var(--text-subtle);border-top:1px solid var(--border-subtle)}@media(orientation:portrait){.display-details-metadata{gap:clamp(.5rem,.3rem + .5vmin,.75rem);font-size:clamp(.6rem,.4rem + 1.5vmin,1rem)}}.display-details-text-section{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(.5rem,.3rem + .85vmin,.75rem);gap:clamp(1rem,.6rem + .85vmin,1.5rem);overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}.display-details-description{padding:clamp(.5rem,.3rem + .85vmin,.75rem);color:var(--text-secondary)}.display-details-description.hidden{display:none}.display-details-description .display-description-paragraph{margin:0 0 .75em;font-size:clamp(.7rem,.5rem + 1.5vmin,1.1rem);line-height:1.6}.display-details-description .display-description-paragraph:last-child{margin-bottom:0}.display-details-section-title{margin:0 0 .5em;font-size:clamp(.8rem,.55rem + 1.25vmin,1.1rem);font-weight:600;color:var(--text-primary)}#crystal-details-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#crystal-details-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.crystal-details-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),clamp(60rem,90vmin,75rem));max-height:min(calc(100% - 1rem),clamp(50rem,80vmin,65rem));overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}@media(orientation:portrait){.crystal-details-content{max-width:min(calc(100% - 1rem),clamp(20rem,50vmin,30rem));max-height:min(calc(100% - 1rem),clamp(50rem,90vmin,80rem))}}.crystal-details-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.crystal-details-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.crystal-details-body{--crystal-details-body-padding: clamp(.6rem, .35rem + 1.5vmin, 1.5rem);--crystal-details-body-gap: clamp(.6rem, .4rem + .75vmin, 1rem);display:flex;flex:1;min-height:0;gap:var(--crystal-details-body-gap);padding:var(--crystal-details-body-padding)}@media(orientation:landscape){.crystal-details-body{flex-direction:row}}@media(orientation:portrait){.crystal-details-body{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,calc(40% + var(--crystal-details-body-padding)))}}.crystal-details-model-section{display:flex;flex-direction:column;align-items:center;flex:1.2;gap:clamp(.3rem,.2rem + .4vmin,.6rem);min-height:0}@media(orientation:landscape)and (max-height:800px){.crystal-details-model-section{flex:1}}.crystal-details-model-container{position:relative;flex:1;min-height:0;width:100%;max-width:100%;aspect-ratio:1;background:var(--overlay-medium);border-radius:var(--radius-l);border:1px solid var(--border-subtle);overflow:hidden;touch-action:none}.crystal-details-model{position:absolute;inset:0}.crystal-details-model-controls{display:flex;align-items:center;width:100%;gap:clamp(.35rem,.2rem + .5vmin,.75rem);flex-shrink:0;min-width:0}.crystal-details-face-toggle{margin-left:auto}.crystal-details-anim-toggle{display:flex;justify-content:center;align-items:center;flex:0 0 auto;width:var(--details-control-height);height:var(--details-control-height);box-sizing:border-box;padding:0;color:var(--text-subtle);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-circle);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none;--app-icon-size: clamp(.75rem, .5rem + .7vmin, 1.1rem)}.crystal-details-anim-toggle[data-active=true]{color:var(--text-primary)}@media(hover:hover)and (pointer:fine){.crystal-details-anim-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}}.crystal-details-params-section{flex:1;display:flex;flex-direction:column;gap:clamp(.4rem,.25rem + .5vmin,.75rem);min-width:0;min-height:0;overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}.crystal-details-param-group{display:flex;flex-direction:column;gap:clamp(1rem,.7rem + 1.2vmin,1.5rem);min-width:0;padding:clamp(1rem,.75rem + 1vmin,1.5rem);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-l)}@media(orientation:landscape)and (max-height:800px){.crystal-details-param-group{gap:clamp(.55rem,.35rem + .8vmin,1rem);padding:clamp(.7rem,.45rem + .8vmin,1.1rem)}}.crystal-details-param-header{display:flex;align-items:center;justify-content:space-between;gap:clamp(.3rem,.2rem + .4vmin,.6rem);min-width:0}.crystal-details-param-title{flex:0 0 auto;margin:0;font-size:clamp(.8rem,.6rem + .85vmin,1.15rem);font-weight:600;color:var(--text-primary)}.crystal-details-badge{display:inline-flex;flex:0 1 auto;align-items:center;max-width:100%;min-width:0;padding:clamp(.1rem,.05rem + .15vmin,.2rem) clamp(.4rem,.25rem + .45vmin,.7rem);font-size:clamp(.5rem,.4rem + .8vmin,.8rem);font-weight:600;text-overflow:ellipsis;border-radius:var(--radius-pill);overflow:hidden;white-space:nowrap}.crystal-details-badge-label,.crystal-details-badge-text-full,.crystal-details-badge-text-compact{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.crystal-details-badge-suffix{flex:0 0 auto}.crystal-details-badge-suffix.space-before{margin-left:clamp(.1rem,.05rem + .15vmin,.18rem)}.crystal-details-badge-text-compact,.crystal-details-badge.compact-type-label .crystal-details-badge-suffix,.crystal-details-badge.compact-orientation-label .crystal-details-badge-text-full{display:none}.crystal-details-badge.compact-orientation-label .crystal-details-badge-text-compact{display:block}.crystal-details-badge.type-badge{color:var(--text-subtle);background:var(--bg-subtle);border:1px solid var(--border-subtle)}.crystal-details-badge.orientation-column{color:var(--orientation-column);background:color-mix(in srgb,var(--orientation-column) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-column) 30%,transparent)}.crystal-details-badge.orientation-plate{color:var(--orientation-plate);background:color-mix(in srgb,var(--orientation-plate) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-plate) 30%,transparent)}.crystal-details-badge.orientation-parry{color:var(--orientation-parry);background:color-mix(in srgb,var(--orientation-parry) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-parry) 30%,transparent)}.crystal-details-badge.orientation-alternate-parry{color:var(--orientation-alternate-parry);background:color-mix(in srgb,var(--orientation-alternate-parry) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-parry) 30%,transparent)}.crystal-details-badge.orientation-lowitz{color:var(--orientation-lowitz);background:color-mix(in srgb,var(--orientation-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-lowitz) 30%,transparent)}.crystal-details-badge.orientation-alternate-lowitz{color:var(--orientation-alternate-lowitz);background:color-mix(in srgb,var(--orientation-alternate-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-lowitz) 30%,transparent)}.crystal-details-badge.orientation-plate-lowitz{color:var(--orientation-plate-lowitz);background:color-mix(in srgb,var(--orientation-plate-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-plate-lowitz) 30%,transparent)}.crystal-details-badge.orientation-alternate-plate-lowitz{color:var(--orientation-alternate-plate-lowitz);background:color-mix(in srgb,var(--orientation-alternate-plate-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-plate-lowitz) 30%,transparent)}.crystal-details-badge.orientation-parry-lowitz{color:var(--orientation-parry-lowitz);background:color-mix(in srgb,var(--orientation-parry-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-parry-lowitz) 30%,transparent)}.crystal-details-badge.orientation-alternate-parry-lowitz{color:var(--orientation-alternate-parry-lowitz);background:color-mix(in srgb,var(--orientation-alternate-parry-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-parry-lowitz) 30%,transparent)}.crystal-details-badge.orientation-random{color:var(--orientation-random);background:color-mix(in srgb,var(--orientation-random) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-random) 30%,transparent)}.crystal-details-badge.orientation-custom{color:var(--orientation-custom);background:color-mix(in srgb,var(--orientation-custom) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-custom) 30%,transparent)}.crystal-details-sub-header{display:flex;align-items:center;gap:clamp(.4rem,.25rem + .5vmin,.75rem);min-width:0;margin-bottom:clamp(.7rem,.5rem + .8vmin,.9rem);font-size:clamp(.7rem,.5rem + .8vmin,.9rem);font-weight:600;line-height:1.15;letter-spacing:0;text-align:center;color:var(--text-ghost);text-transform:uppercase}.crystal-details-sub-header:before,.crystal-details-sub-header:after{content:"";flex:1;border-top:1px solid var(--border-subtle)}.crystal-details-sub-header-text{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(.03rem,.02rem + .1vmin,.1rem) clamp(.15rem,.1rem + .2vmin,.3rem);max-width:100%;min-width:0}.crystal-details-inline-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:clamp(.5rem,.3rem + .6vmin,1rem);min-width:0}.crystal-details-param-item{font-size:clamp(.7rem,.5rem + .8vmin,.9rem);color:var(--text-subtle)}.crystal-details-param-item .label{color:var(--text-ghost);margin-right:.15em}.crystal-details-param-item .value{font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.crystal-details-miller-lower{margin-top:clamp(.5rem,.3rem + .6vmin,1rem)}.crystal-details-face-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.2rem,.1rem + .3vmin,.4rem) clamp(.4rem,.25rem + .5vmin,.8rem)}#halo-details-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#halo-details-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.halo-details-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),clamp(70rem,95vmin,90rem));max-height:min(calc(100% - 1rem),clamp(50rem,85vmin,70rem));overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}@media(orientation:portrait){.halo-details-content{height:100%;max-width:min(calc(100% - 1rem),clamp(30rem,80vmin,60rem));max-height:min(calc(100% - 1rem),clamp(60rem,150vmin,120rem))}}.halo-details-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.halo-details-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.halo-details-body{--halo-details-body-padding: clamp(.6rem, .35rem + 1.5vmin, 1.5rem);--halo-details-body-gap: clamp(.6rem, .4rem + .75vmin, 1rem);position:relative;display:flex;flex:1;min-height:0;gap:var(--halo-details-body-gap);padding:var(--halo-details-body-padding)}@media(orientation:landscape){.halo-details-body{flex-direction:row}}@media(orientation:portrait){.halo-details-body{display:grid;flex-direction:column;grid-template-rows:minmax(0,1fr) minmax(0,calc(40% + var(--halo-details-body-padding)))}}.halo-details-viewport-section{display:flex;flex-direction:column;flex:1.5;gap:clamp(.3rem,.2rem + .4vmin,.6rem);min-width:0;min-height:0}#halo-details-modal:not([data-scene-state=ready]) .halo-details-viewport-section,#halo-details-modal:not([data-scene-state=ready]) .halo-details-info-content{visibility:hidden;pointer-events:none}@media(orientation:portrait){.halo-details-viewport-section{flex:1 1 0;min-height:0}}.halo-details-viewport-container{position:relative;flex:1;min-height:0;width:100%;max-width:100%;aspect-ratio:1;background:var(--overlay-medium);border-radius:var(--radius-l);border:1px solid var(--border-subtle);overflow:hidden;touch-action:none;container-type:size}#halo-details-canvas{position:absolute;inset:0;width:100%;height:100%}@media(orientation:portrait){.halo-details-viewport-container{flex:1 1 auto;aspect-ratio:auto}}.halo-details-body-loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.6rem,.4rem + .5vmin,1rem);background:var(--panel-dark);z-index:10;border-radius:inherit;transition:opacity var(--transition-slow)}.halo-details-body-loading.hidden{opacity:0;pointer-events:none}.halo-details-body-spinner{width:clamp(1.5rem,1rem + 2vmin,2.5rem);height:clamp(1.5rem,1rem + 2vmin,2.5rem);border:2px solid var(--border-subtle);border-top-color:var(--text-secondary);border-radius:var(--radius-circle);animation:halo-details-spin .8s linear infinite}@keyframes halo-details-spin{to{transform:rotate(360deg)}}.halo-details-body-loading-text{font-size:clamp(.65rem,.4rem + .6vmin,.85rem);color:var(--text-subtle)}.halo-details-inset-shell{position:absolute;left:0;top:0;z-index:var(--z-float);width:clamp(4rem,3rem + 18vmin,15rem);height:clamp(4rem,3rem + 18vmin,15rem);pointer-events:none;transition:width var(--transition-fast),height var(--transition-fast)}.halo-details-inset-shell.inset-hidden{width:clamp(1.65rem,1.05rem + 1.4vmin,2.4rem);height:clamp(1.65rem,1.05rem + 1.4vmin,2.4rem)}.halo-details-inset-view{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:1px solid var(--border-medium);border-radius:0;overflow:hidden;cursor:grab;pointer-events:auto;touch-action:none;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.halo-details-inset-shell.inset-hidden .halo-details-inset-view{opacity:0;visibility:hidden;pointer-events:none}.halo-details-inset-view:active{cursor:grabbing}.halo-details-inset-toggle-btn{position:absolute;top:clamp(.2rem,.1rem + .3vmin,.4rem);right:clamp(.1rem,.05rem + .2vmin,.25rem);z-index:var(--z-overlay);display:flex;justify-content:center;align-items:center;width:clamp(1.45rem,.95rem + 1.2vmin,2.25rem);height:clamp(1.45rem,.95rem + 1.2vmin,2.25rem);padding:0;color:var(--text-subtle);background:var(--overlay-medium);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);-webkit-appearance:none;appearance:none}.halo-details-inset-shell.inset-hidden .halo-details-inset-toggle-btn{top:0;right:0}.halo-details-inset-toggle-icon{--app-icon-size: clamp(.9rem, .55rem + .95vmin, 1.35rem)}.halo-details-inset-toggle-icon-show,.halo-details-inset-shell.inset-hidden .halo-details-inset-toggle-icon-hide{display:none}.halo-details-inset-shell.inset-hidden .halo-details-inset-toggle-icon-show{display:block}@media(hover:hover)and (pointer:fine){.halo-details-inset-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-medium)}}.halo-details-inset-shell.inset-view-top-left{transform:translate(clamp(.5rem,.3rem + .6vmin,1rem),clamp(.5rem,.3rem + .6vmin,1rem))}.halo-details-inset-shell.inset-view-top-right{transform:translate(calc(100cqw - 100% - clamp(.5rem,.3rem + .6vmin,1rem)),clamp(.5rem,.3rem + .6vmin,1rem))}.halo-details-inset-shell.inset-view-bottom-left{transform:translate(clamp(.5rem,.3rem + .6vmin,1rem),calc(100cqh - 100% - clamp(.5rem,.3rem + .6vmin,1rem)))}.halo-details-inset-shell.inset-view-bottom-right{transform:translate(calc(100cqw - 100% - clamp(.5rem,.3rem + .6vmin,1rem)),calc(100cqh - 100% - clamp(.5rem,.3rem + .6vmin,1rem)))}.halo-details-viewport-controls{--halo-details-viewport-control-gap: clamp(.25rem, .15rem + .35vmin, .5rem);display:flex;align-items:center;flex-wrap:nowrap;width:100%;gap:var(--halo-details-viewport-control-gap);flex-shrink:0;min-width:0}.halo-details-path-label{color:var(--text-subtle);font-size:clamp(.55rem,.35rem + .55vmin,.75rem);font-weight:600;white-space:nowrap}.halo-details-swap-btn{display:flex;align-items:center;gap:clamp(.2rem,.1rem + .3vmin,.4rem);height:var(--details-control-height);box-sizing:border-box;margin-left:auto;padding:0 clamp(.375rem,.3rem + .5vmin,.8rem);font-size:clamp(.55rem,.35rem + .6vmin,.8rem);font-weight:500;color:var(--text-subtle);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none;white-space:nowrap;flex-shrink:0;--app-icon-size: clamp(.75rem, .5rem + .7vmin, 1.1rem)}.halo-details-swap-btn .app-icon{flex-shrink:0}@media(hover:hover)and (pointer:fine){.halo-details-swap-btn:hover{background:var(--bg-hover);color:var(--text-primary)}}.halo-details-point-visibility-control{display:flex;align-items:center;flex-shrink:0;gap:clamp(.2rem,.1rem + .3vmin,.4rem);margin-left:0}.halo-details-point-visibility-control.hidden{display:none}.halo-details-point-visibility-label{color:var(--text-subtle);font-size:clamp(.55rem,.35rem + .55vmin,.75rem);font-weight:600;line-height:1;white-space:nowrap}.halo-details-viewport-context-control{display:flex;align-items:center;flex:0 0 auto;min-width:0;margin-left:0}.halo-details-viewport-context-control.hidden{display:none}.halo-details-range{width:100%;height:clamp(.25rem,.125rem + .3vmin,.375rem);touch-action:manipulation;-webkit-appearance:none;appearance:none;background:var(--bg-track-loaded);border-radius:var(--radius-pill);outline:none}.halo-details-range::-webkit-slider-thumb{width:clamp(1.3rem,1rem + .8vmin,2rem);height:clamp(1.3rem,1rem + .8vmin,2rem);background:var(--color-primary);border:none;border-radius:var(--radius-circle);cursor:pointer;-webkit-appearance:none;appearance:none}.halo-details-range:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}.halo-details-range:disabled::-webkit-slider-thumb{cursor:not-allowed}.halo-details-face-toggle.hidden{display:none}.halo-details-info-section{flex:1;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:clamp(.75rem,.5rem + .8vmin,1.25rem);min-height:0;touch-action:pan-y;contain:size}@media(orientation:landscape)and (max-width:1000px),(orientation:landscape)and (max-height:500px){.halo-details-viewport-section{flex:1.2 1 0}.halo-details-info-section{flex:1 1 0;min-width:0}}@media(orientation:portrait){.halo-details-info-section{min-height:0;max-height:none;touch-action:pan-y}}.halo-details-loading{display:flex;justify-content:center;align-items:center;flex:1;min-height:clamp(4rem,3rem + 4vmin,8rem);font-size:clamp(.7rem,.5rem + .8vmin,.9rem);color:var(--text-ghost)}.halo-details-info-content{display:flex;flex-direction:column;gap:clamp(.75rem,.5rem + .8vmin,1.25rem)}.halo-details-info-content.hidden{display:none}.halo-details-info-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(.5rem,.3rem + .6vmin,1rem);row-gap:clamp(.15rem,.08rem + .2vmin,.25rem);padding:clamp(.5rem,.3rem + .6vmin,.9rem) clamp(.8rem,.5rem + .8vmin,1.2rem)}#halo-details-default-names{display:flex;flex-wrap:wrap;align-items:baseline;grid-column:1;min-width:0;gap:clamp(.3rem,.18rem + .35vmin,.5rem)}#halo-details-default-names .halo-details-name-value{max-width:100%;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary);overflow-wrap:break-word}#halo-details-alias-names{grid-column:1 / -1;min-width:0}#halo-details-alias-names .halo-details-name-value{font-size:clamp(.65rem,.45rem + .65vmin,.85rem);font-weight:500;color:var(--text-subtle)}.halo-details-orientation-badge{display:inline-flex;align-items:center;grid-column:2;grid-row:1;align-self:start;justify-self:end;padding:clamp(.1rem,.05rem + .15vmin,.2rem) clamp(.4rem,.25rem + .45vmin,.7rem);font-size:clamp(.5rem,.4rem + .8vmin,.8rem);font-weight:600;border-radius:var(--radius-pill);white-space:nowrap}.halo-details-orientation-badge-text-compact,.halo-details-orientation-badge.compact-orientation-label .halo-details-orientation-badge-text-full{display:none}.halo-details-orientation-badge.compact-orientation-label .halo-details-orientation-badge-text-compact{display:inline}.halo-details-orientation-badge.orientation-column{color:var(--orientation-column);background:color-mix(in srgb,var(--orientation-column) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-column) 30%,transparent)}.halo-details-orientation-badge.orientation-plate{color:var(--orientation-plate);background:color-mix(in srgb,var(--orientation-plate) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-plate) 30%,transparent)}.halo-details-orientation-badge.orientation-parry{color:var(--orientation-parry);background:color-mix(in srgb,var(--orientation-parry) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-parry) 30%,transparent)}.halo-details-orientation-badge.orientation-alternate-parry{color:var(--orientation-alternate-parry);background:color-mix(in srgb,var(--orientation-alternate-parry) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-parry) 30%,transparent)}.halo-details-orientation-badge.orientation-lowitz{color:var(--orientation-lowitz);background:color-mix(in srgb,var(--orientation-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-lowitz) 30%,transparent)}.halo-details-orientation-badge.orientation-alternate-lowitz{color:var(--orientation-alternate-lowitz);background:color-mix(in srgb,var(--orientation-alternate-lowitz) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-alternate-lowitz) 30%,transparent)}.halo-details-orientation-badge.orientation-random{color:var(--orientation-random);background:color-mix(in srgb,var(--orientation-random) 15%,transparent);border:1px solid color-mix(in srgb,var(--orientation-random) 30%,transparent)}.halo-details-info-group{padding:clamp(.8rem,.5rem + .8vmin,1.2rem);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-l)}.halo-details-raypaths-group{display:flex;flex-direction:column;gap:clamp(.5rem,.3rem + .6vmin,1rem)}.halo-details-data-row{display:flex;align-items:baseline;gap:clamp(.5rem,.3rem + .6vmin,1rem)}.halo-details-data-label,.halo-details-group-title{font-size:clamp(.7rem,.5rem + .65vmin,.9rem);font-weight:600;color:var(--text-primary);flex-shrink:0}.halo-details-raypath-pills{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.2rem,.12rem + .25vmin,.35rem)}.halo-details-raypath-option{display:inline-flex;align-items:center;gap:clamp(.2rem,.12rem + .2vmin,.3rem);padding:clamp(.15rem,.08rem + .2vmin,.25rem) clamp(.35rem,.2rem + .4vmin,.55rem);font-size:clamp(.65rem,.45rem + .65vmin,.8rem);font-weight:500;color:var(--text-subtle);background:none;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none}.halo-details-raypath-option.active{color:var(--text-primary);background:var(--bg-active);border-color:var(--border-medium)}.halo-details-raypath-option:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(hover:hover)and (pointer:fine){.halo-details-raypath-option:not(.active):not(:disabled):hover{background:var(--bg-subtle-hover);color:var(--text-muted)}}.halo-details-raypath-indicator{width:clamp(.35rem,.2rem + .3vmin,.5rem);height:clamp(.35rem,.2rem + .3vmin,.5rem);border-radius:var(--radius-circle);background:var(--text-ghost);flex-shrink:0}.halo-details-raypath-option.active .halo-details-raypath-indicator{background:var(--color-primary)}.halo-details-equivalents-pills{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.2rem,.12rem + .25vmin,.35rem)}.halo-details-equivalent-pill{display:inline-flex;align-items:center;padding:var(--halo-details-equivalent-padding-block) clamp(.3rem,.18rem + .35vmin,.5rem);font-size:var(--halo-details-equivalent-font-size);font-weight:500;color:var(--text-ghost);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}#halo-details-equivalents-row{--halo-details-equivalents-disclosure: 0;--halo-details-equivalent-font-size: clamp(.6rem, .42rem + .55vmin, .75rem);--halo-details-equivalent-padding-block: clamp(.1rem, .05rem + .15vmin, .2rem)}.halo-details-equivalents-content{display:contents}.halo-details-equivalents-toggle-btn{display:none;align-items:center;justify-content:center;gap:clamp(.2rem,.12rem + .25vmin,.35rem);height:var(--halo-details-equivalent-pill-height);box-sizing:border-box;padding:var(--halo-details-equivalent-padding-block) clamp(.35rem,.2rem + .4vmin,.55rem);font:inherit;font-size:var(--halo-details-equivalent-font-size);font-weight:500;line-height:1.2;white-space:nowrap;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;--app-icon-size: clamp(.55rem, .42rem + .4vmin, .8rem)}.halo-details-equivalents-toggle-btn:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px}@media(hover:hover)and (pointer:fine){.halo-details-equivalents-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}}@media(orientation:portrait),(orientation:landscape)and (max-width:1000px),(orientation:landscape)and (max-height:500px){.halo-details-info-section{overflow-anchor:none}#halo-details-equivalents-row{--halo-details-equivalents-disclosure: 1;--halo-details-equivalent-pill-height: calc( 1.2 * var(--halo-details-equivalent-font-size) + 2 * var(--halo-details-equivalent-padding-block) + 2px );display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:clamp(.35rem,.2rem + .4vmin,.55rem)}#halo-details-equivalents-row .halo-details-data-label{display:flex;align-items:center;height:var(--halo-details-equivalent-pill-height);box-sizing:border-box}.halo-details-equivalents-content{display:block;min-width:0}#halo-details-equivalents-list{min-width:0;flex-wrap:nowrap;overflow:hidden}#halo-details-equivalents-list .halo-details-equivalent-pill{flex-shrink:0;height:var(--halo-details-equivalent-pill-height);min-height:var(--halo-details-equivalent-pill-height);box-sizing:border-box;line-height:1.2;white-space:nowrap}#halo-details-equivalents-row[data-overflow=true]:not([data-expanded=true]) .halo-details-equivalents-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:clamp(.35rem,.2rem + .4vmin,.55rem)}#halo-details-equivalents-row[data-overflow=true] .halo-details-equivalents-toggle-btn{display:inline-flex;grid-column:2;grid-row:1}#halo-details-equivalents-row[data-overflow=true]:not([data-expanded=true]) #halo-details-equivalents-list{grid-column:1;grid-row:1;-webkit-mask-image:linear-gradient(to right,var(--text-primary) 75%,transparent 100%);mask-image:linear-gradient(to right,var(--text-primary) 75%,transparent 100%)}#halo-details-equivalents-row[data-expanded=true] #halo-details-equivalents-list{display:block;overflow:visible;font-size:0;line-height:normal}#halo-details-equivalents-row[data-expanded=true] .halo-details-equivalents-toggle-btn{float:right;margin-left:calc(clamp(.35rem,.2rem + .4vmin,.55rem) - clamp(.2rem,.12rem + .25vmin,.35rem));margin-bottom:clamp(.2rem,.12rem + .25vmin,.35rem)}#halo-details-equivalents-row[data-expanded=true] .halo-details-equivalent-pill{height:auto;max-width:100%;margin-right:clamp(.2rem,.12rem + .25vmin,.35rem);margin-bottom:clamp(.2rem,.12rem + .25vmin,.35rem);vertical-align:top;white-space:normal;overflow-wrap:anywhere}#halo-details-equivalents-row[data-expanded=true] .halo-details-equivalents-toggle-btn .app-icon{transform:rotate(180deg)}}.halo-details-note-text{font-size:clamp(.6rem,.42rem + .5vmin,.75rem);font-style:italic;color:var(--text-ghost);line-height:1.4}.halo-details-controls-group{display:flex;flex-direction:column;gap:clamp(.8rem,.6rem + 1vmin,1.5rem)}.halo-details-shape-profile-row{display:flex;justify-content:center;min-width:0}.halo-details-shape-profile-row.hidden{display:none}.halo-details-shape-profile-toggle{display:inline-flex;align-items:center;max-width:100%;gap:clamp(.1rem,.06rem + .2vmin,.2rem);padding:clamp(.1rem,.05rem + .15vmin,.2rem);background:var(--overlay-light);border:clamp(.0625rem,.12vmin,.09rem) solid var(--border-subtle);border-radius:var(--radius-pill);overflow-x:auto}.halo-details-shape-profile-option{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:clamp(3.2rem,2.2rem + 2.2vmin,4.8rem);padding:clamp(.2rem,.15rem + .3vmin,.35rem) clamp(.45rem,.28rem + .45vmin,.7rem);color:var(--text-ghost);font-size:clamp(.55rem,.38rem + .5vmin,.72rem);font-weight:600;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none;white-space:nowrap}.halo-details-shape-profile-label,.halo-details-shape-profile-suffix{min-width:0}.halo-details-shape-profile-suffix.space-before{margin-left:clamp(.1rem,.05rem + .15vmin,.18rem)}.halo-details-shape-profile-toggle.compact-shape-profile-labels .halo-details-shape-profile-suffix{display:none}.halo-details-shape-profile-option.active{color:var(--text-primary);background:var(--bg-active)}.halo-details-shape-profile-option.pending{color:var(--text-muted);background:var(--bg-subtle);cursor:progress}.halo-details-shape-profile-option:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}.halo-details-shape-profile-option.pending:disabled{cursor:progress}@media(hover:hover)and (pointer:fine){.halo-details-shape-profile-option:not(.active):not(:disabled):hover{color:var(--text-muted);background:var(--bg-subtle-hover)}}.halo-details-slider-control{display:flex;flex-direction:column;gap:clamp(.5rem,.3rem + .6vmin,.75rem)}#halo-details-point-control{justify-content:center;min-height:clamp(4.75rem,4.25rem + 1.2vmin,5.25rem)}.halo-details-slider-header{display:flex;justify-content:space-between;align-items:center;gap:clamp(.4rem,.25rem + .5vmin,.75rem);min-height:clamp(1.5rem,1rem + 1vmin,2rem)}.halo-details-slider-title{font-size:clamp(.65rem,.45rem + .6vmin,.8rem);font-weight:500;color:var(--text-subtle)}.halo-details-slider-value{font-size:clamp(.65rem,.45rem + .6vmin,.8rem);font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.halo-details-slider-summary{display:flex;align-items:center;gap:clamp(.35rem,.22rem + .45vmin,.65rem);min-width:0}.halo-details-point-count{flex-shrink:0;font-size:clamp(.6rem,.4rem + .55vmin,.75rem);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.halo-details-slider-meta{font-size:clamp(.6rem,.4rem + .55vmin,.75rem);font-weight:500;line-height:1.35;color:var(--text-ghost)}.halo-details-branch-toggle{display:inline-flex;align-items:center;gap:clamp(.1rem,.06rem + .2vmin,.2rem);padding:clamp(.1rem,.05rem + .15vmin,.2rem);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.halo-details-branch-option{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(2.4rem,1.4rem + 2vmin,3.6rem);padding:clamp(.2rem,.15rem + .3vmin,.3rem) clamp(.35rem,.22rem + .4vmin,.55rem);font-size:clamp(.55rem,.38rem + .5vmin,.7rem);font-weight:600;color:var(--text-ghost);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;appearance:none}.halo-details-branch-option.active{color:var(--text-primary);background:var(--bg-active)}@media(hover:hover)and (pointer:fine){.halo-details-branch-option:not(.active):hover{color:var(--text-muted);background:var(--bg-subtle-hover)}}.halo-details-no-raypath{padding:clamp(.4rem,.25rem + .5vmin,.75rem);font-size:clamp(.65rem,.45rem + .6vmin,.8rem);color:var(--text-ghost);text-align:center;font-style:italic}.halo-details-relations{position:relative;min-width:0;padding-top:clamp(.5rem,.3rem + .6vmin,1rem);border-top:1px solid var(--border-subtle);--halo-details-equivalent-font-size: clamp(.6rem, .42rem + .55vmin, .75rem);--halo-details-equivalent-padding-block: clamp(.1rem, .05rem + .15vmin, .2rem)}.halo-details-relations-heading{display:flex;align-items:center;min-width:0;gap:clamp(.35rem,.2rem + .3vmin,.65rem)}.halo-details-relations-heading>.halo-details-data-label{flex:1;min-width:0;overflow-wrap:anywhere}.halo-details-relations-toggle-btn{display:inline-flex;flex-shrink:0;height:auto}.halo-details-relations-count{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-primary)}.halo-details-relations-toggle-btn[aria-expanded=true]>.app-icon{transform:rotate(180deg)}.halo-details-relations-toggle-btn:disabled{color:var(--text-disabled);cursor:default}.halo-details-relations-toggle-btn:disabled .halo-details-relations-count{color:var(--text-disabled)}.halo-details-relations-group-label{margin-top:clamp(.4rem,.25rem + .35vmin,.7rem);margin-bottom:clamp(.25rem,.15rem + .2vmin,.4rem);font-size:clamp(.6rem,.4rem + .5vmin,.75rem);color:var(--text-faint)}.halo-details-relations-targets{display:flex;flex-direction:column;gap:clamp(.25rem,.15rem + .2vmin,.4rem)}.halo-details-relation-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.3rem,.2rem + .25vmin,.5rem);padding:clamp(.35rem,.2rem + .3vmin,.55rem) clamp(.4rem,.25rem + .35vmin,.65rem);font-size:clamp(.65rem,.45rem + .65vmin,.8rem);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-m);background:var(--bg-subtle);cursor:pointer}.halo-details-relation-choice>input{grid-column:1;grid-row:1;width:clamp(.75rem,.5rem + .7vmin,1rem);height:clamp(.75rem,.5rem + .7vmin,1rem);box-sizing:border-box;margin:0;padding:0;border:1px solid var(--border-ghost);border-radius:var(--radius-circle);background:transparent;color:var(--color-primary);outline:none;-webkit-appearance:none;appearance:none;cursor:inherit}.halo-details-relation-choice>input:checked{border-color:currentColor;background-image:radial-gradient(circle,currentColor 0 40%,transparent 45%)}.halo-details-relation-choice>input:disabled{border-color:var(--text-disabled);background-color:var(--bg-input-disabled);color:var(--text-disabled)}@media(forced-colors:active){.halo-details-relation-choice>input,.halo-details-relation-choice>input:checked{border:0;background:none;outline:revert;-webkit-appearance:auto;appearance:auto}}.halo-details-relation-text{display:flex;flex-direction:column;grid-column:2;grid-row:1;min-width:0;gap:clamp(.15rem,.1rem + .1vmin,.25rem)}.halo-details-relation-detail,.halo-details-relation-member-names{font-size:clamp(.6rem,.4rem + .45vmin,.7rem);color:var(--text-ghost)}.halo-details-relation-member-names{white-space:normal;overflow-wrap:anywhere}.halo-details-relation-name,.halo-details-relation-detail{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.halo-details-relation-name-row{display:flex;align-items:center;min-width:0;gap:clamp(.2rem,.12rem + .25vmin,.35rem)}.halo-details-relation-name-row>.halo-details-relation-name{min-width:0}.halo-details-relation-loading{flex-shrink:0;color:var(--color-primary);white-space:nowrap}.halo-details-relation-choice[data-pending=true]{border-color:var(--color-primary)}.halo-details-relation-detail{display:flex;align-items:baseline;gap:clamp(.2rem,.12rem + .2vmin,.35rem)}.halo-details-relation-raypath{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.halo-details-unit-label{display:inline-grid;grid-template-columns:minmax(0,1fr) max-content;flex:0 1 auto;min-width:min-content;align-items:baseline;white-space:nowrap}.halo-details-unit-label-base{min-width:0;overflow:hidden;text-overflow:ellipsis}.halo-details-unit-label-suffix{flex-shrink:0;white-space:pre}.halo-details-relation-choice .halo-details-orientation-badge{grid-column:3;grid-row:1;align-self:center;justify-self:end;font-size:clamp(.55rem,.4rem + .35vmin,.7rem);padding:clamp(.1rem,.05rem + .1vmin,.15rem) clamp(.3rem,.2rem + .2vmin,.45rem)}.halo-details-relation-choice:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-subtle);cursor:default}.halo-details-relation-choice:has(input:disabled){color:var(--text-disabled);cursor:default}.halo-details-relation-choice:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.halo-details-relations-status{margin-top:clamp(.4rem,.25rem + .35vmin,.7rem);font-size:clamp(.65rem,.45rem + .65vmin,.8rem);color:var(--text-subtle);overflow-wrap:anywhere}.halo-details-relations-status:empty,.halo-details-relations-status[data-announcement-only=true]{position:absolute;top:0;left:0;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.halo-details-comparison-overlay{--halo-details-comparison-content-height: clamp(1.5rem, 1rem + 1.25vmin, 2rem);--halo-details-comparison-padding: clamp(.3rem, .2rem + .25vmin, .5rem);--halo-details-comparison-action-gap: clamp(.3rem, .2rem + .25vmin, .5rem);position:absolute;z-index:var(--z-overlay);display:flex;align-items:stretch;max-width:calc(100% - (2*clamp(.4rem,.25rem + .5vmin,.8rem)));padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-m);background:var(--overlay-light);color:var(--text-primary);font-size:clamp(.65rem,.45rem + .65vmin,.8rem);pointer-events:none}.halo-details-comparison-overlay[data-corner^=top]{top:clamp(.4rem,.25rem + .5vmin,.8rem)}.halo-details-comparison-overlay[data-corner^=bottom]{bottom:clamp(.4rem,.25rem + .5vmin,.8rem)}.halo-details-comparison-overlay[data-corner$=left]{left:clamp(.4rem,.25rem + .5vmin,.8rem)}.halo-details-comparison-overlay[data-corner$=right]{right:clamp(.4rem,.25rem + .5vmin,.8rem)}.halo-details-comparison-label{display:grid;flex:1;grid-template-rows:repeat(2,minmax(0,1fr));min-width:0;box-sizing:border-box;height:calc(var(--halo-details-comparison-content-height) + 2 * var(--halo-details-comparison-padding));padding:var(--halo-details-comparison-padding) clamp(.5rem,.3rem + .5vmin,.8rem);line-height:1;font-weight:600;pointer-events:auto;-webkit-user-select:none;user-select:none}.halo-details-comparison-primary,.halo-details-comparison-metadata{display:flex;align-items:center;min-width:0;gap:clamp(.2rem,.12rem + .2vmin,.35rem);white-space:nowrap}.halo-details-comparison-name{flex:0 1 auto;min-width:clamp(2rem,1.25rem + 2.5vmin,3rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.halo-details-comparison-orientation{flex:0 1 auto}.halo-details-comparison-metadata{font-size:clamp(.6rem,.4rem + .45vmin,.7rem);color:var(--text-subtle)}.halo-details-comparison-raypath{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.halo-details-comparison-sun{flex-shrink:0}.halo-details-comparison-dismiss{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:calc(var(--halo-details-comparison-content-height) + var(--halo-details-comparison-action-gap) + var(--halo-details-comparison-padding));height:auto;padding:0;border:0;border-radius:0 var(--radius-m) var(--radius-m) 0;background:transparent;color:var(--text-primary);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-appearance:none;appearance:none;--app-icon-size: clamp(1rem, .5rem + 1.5vmin, 1.5rem)}.halo-details-comparison-dismiss:focus-visible{background:var(--bg-hover);outline:2px solid var(--color-primary);outline-offset:-2px}.halo-details-comparison-dismiss:not(:disabled):active{background:var(--bg-active)}.halo-details-comparison-dismiss:disabled{color:var(--text-disabled);cursor:default}@media(hover:hover)and (pointer:fine){.halo-details-relation-choice:not(:has(input:checked)):not(:has(input:disabled)):hover{background:var(--bg-hover);border-color:var(--border-accent)}.halo-details-comparison-dismiss:not(:disabled):hover{background:var(--bg-hover)}}.halo-details-path-control{--path-divider-padding: clamp(.3rem, .1rem + .8vmin, .65rem);--path-option-min-width: clamp(1.5rem, 1rem + 1vmin, 2rem);position:relative;display:flex;align-items:center;justify-content:flex-start;flex:1 1 auto;min-width:0;margin-left:calc(2 * var(--path-divider-padding) + 1px - var(--halo-details-viewport-control-gap));gap:clamp(.2rem,.1rem + .3vmin,.4rem);font-family:inherit}.halo-details-path-control:before{position:absolute;top:25%;left:calc(-1px - var(--path-divider-padding));width:1px;height:50%;background:var(--border-subtle);pointer-events:none;content:""}.halo-details-path-label{flex:0 0 auto}.halo-details-path-options{display:flex;flex:0 0 auto;align-items:center;gap:clamp(.1rem,.05rem + .2vmin,.25rem);width:max-content;height:var(--details-control-height);box-sizing:border-box;padding:var(--details-control-padding);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.halo-details-path-option,.halo-details-path-dropdown{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:var(--path-option-min-width);min-height:0;height:100%;box-sizing:border-box;padding:0 clamp(.35rem,.2rem + .35vmin,.6rem);color:var(--text-subtle);font-family:inherit;font-size:clamp(.55rem,.35rem + .55vmin,.75rem);font-weight:600;line-height:1;white-space:nowrap;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.halo-details-path-option[aria-pressed=true]{background:var(--color-primary-muted);color:var(--text-primary)}.halo-details-path-dropdown{height:var(--details-control-height);gap:clamp(.2rem,.1rem + .3vmin,.4rem);background:var(--overlay-light);border:1px solid var(--border-subtle);--app-icon-size: clamp(.65rem, .4rem + .55vmin, .9rem)}@media(hover:hover)and (pointer:fine){.halo-details-path-option:hover:not(:disabled),.halo-details-path-dropdown:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.halo-details-path-option[aria-pressed=true]:hover:not(:disabled){background:var(--color-primary)}}.halo-details-path-option:disabled,.halo-details-path-dropdown:disabled{color:var(--text-disabled);cursor:default}.halo-details-path-option:disabled[aria-pressed=true]{color:var(--text-subtle)}.halo-details-path-measure{position:fixed;top:0;left:0;visibility:hidden;pointer-events:none}.halo-details-path-popup{--path-popup-target-size: clamp(2.75rem, 2.5rem + .5vmin, 3rem);--path-popup-padding: clamp(.3rem, .2rem + .35vmin, .5rem);position:absolute;z-index:var(--z-dropdown);display:grid;grid-template-columns:repeat(4,minmax(var(--path-popup-target-size),1fr));gap:clamp(.15rem,.1rem + .2vmin,.3rem);box-sizing:border-box;width:max-content;max-width:calc(100% - 2 * var(--path-popup-padding));overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding:var(--path-popup-padding);background:var(--panel-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-l);box-shadow:0 .5rem 1.5rem var(--overlay-deep)}.halo-details-path-popup .halo-details-path-option{min-width:var(--path-popup-target-size);min-height:var(--path-popup-target-size);height:auto;font-size:clamp(.7rem,.5rem + .45vmin,.85rem)}.halo-details-path-popup.hidden,.halo-details-path-options[hidden],.halo-details-path-dropdown[hidden]{display:none}#share-modal{position:absolute;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,.25rem + 1vmin,1.5rem);box-sizing:border-box;overflow:hidden;background:var(--overlay-heavy);backdrop-filter:blur(var(--blur-heavy));-webkit-backdrop-filter:blur(var(--blur-heavy));touch-action:pan-y}#share-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#share-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.share-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),clamp(35rem,85vmin,60rem));max-height:min(calc(100% - 1rem),clamp(20rem,70vmin,40rem));overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}@media(orientation:portrait){.share-content{max-width:min(calc(100% - 1rem),clamp(18rem,65vmin,25rem));max-height:none}}.share-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.share-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.share-body{display:flex;flex-direction:column;flex:1;padding:clamp(.6rem,.35rem + 1.5vmin,2rem) clamp(.6rem,.4rem + 1vmin,2rem);gap:clamp(.6rem,.35rem + 1.5vmin,1.75rem);overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}@media(orientation:landscape){.share-body{flex-direction:row;align-items:stretch;gap:clamp(1.25rem,.75rem + 1.5vmin,2rem);overflow-y:hidden}}@media(orientation:landscape)and (max-height:350px){.share-body{overflow-y:auto}}.share-section{display:flex;flex-direction:column;gap:clamp(.75rem,.5rem + 1.25vmin,1.5rem);padding:clamp(1rem,.75rem + 1.5vmin,2rem);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-l)}@media(orientation:landscape){.share-section{flex:1;min-width:0}.share-link-section{flex:1.2}}.share-section-title{margin:0;font-size:clamp(.75rem,.5rem + 1vmin,1.15rem);font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.share-link-description{margin:0;font-size:clamp(.6rem,.4rem + .9vmin,1rem);line-height:1.5;color:var(--text-subtle)}.share-link-actions{display:flex;flex-direction:column;gap:clamp(.5rem,.3rem + .55vmin,.65rem)}.share-link-action-btn{width:100%;padding:clamp(.45rem,.3rem + .65vmin,.8rem) clamp(.75rem,.5rem + 1vmin,1.25rem);font-size:clamp(.65rem,.4rem + .85vmin,.95rem);font-weight:600;white-space:nowrap;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.share-current-view-btn{color:var(--text-primary);background:var(--color-primary);border:1px solid transparent}.share-default-view-btn{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-medium)}.share-link-action-btn:disabled{cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(hover:hover)and (pointer:fine){.share-link-action-btn:hover:not(:disabled){transform:translateY(var(--translate-hover-subtle))}}.share-link-status{min-height:1.5em;font-size:clamp(.6rem,.35rem + .75vmin,.9rem);font-style:italic;color:var(--color-success)}.share-poster-description{margin:0;font-size:clamp(.6rem,.4rem + .9vmin,1rem);line-height:1.6;color:var(--text-subtle)}.share-poster-btn{--app-icon-size: 1em;display:inline-flex;align-items:center;justify-content:center;gap:clamp(.2rem,.1rem + .35vmin,.4rem);align-self:flex-start;width:100%;padding:clamp(.45rem,.3rem + .65vmin,.8rem) clamp(.75rem,.5rem + 1vmin,1.25rem);font-size:clamp(.65rem,.4rem + .85vmin,.95rem);font-weight:600;line-height:1;white-space:nowrap;color:#fff;background:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-pill);box-shadow:0 4px 12px var(--glow-primary);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.share-poster-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:var(--control-disabled-opacity)}@media(hover:hover)and (pointer:fine){.share-poster-btn:hover:not(:disabled){box-shadow:0 6px 16px var(--glow-primary-strong);transform:translateY(var(--translate-hover-subtle))}}.share-poster-disabled{font-size:clamp(.6rem,.35rem + .75vmin,.9rem);font-style:italic;color:var(--color-danger)}.share-poster-disabled.hidden{display:none}#share-poster-builder-modal{position:absolute;inset:0;z-index:var(--z-modal-stacked);display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,.25rem + 1vmin,1.5rem);box-sizing:border-box;overflow:hidden;background:var(--overlay-heavy);backdrop-filter:blur(var(--blur-heavy));-webkit-backdrop-filter:blur(var(--blur-heavy));touch-action:none}#share-poster-builder-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#share-poster-builder-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.share-poster-builder-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),40rem);height:100%;max-height:min(calc(100% - 1rem),60rem);overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}.share-poster-builder-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.share-poster-builder-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.share-poster-builder-footer{display:flex;justify-content:center;align-items:center;flex-shrink:0;gap:clamp(.5rem,.3rem + .5vmin,.75rem);padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-top:1px solid var(--border-subtle)}.share-poster-builder-back-btn,.share-poster-builder-download-btn{--app-icon-size: 1em;display:inline-flex;align-items:center;justify-content:center;gap:clamp(.2rem,.1rem + .35vmin,.4rem);padding:clamp(.35rem,.2rem + .5vmin,.55rem) clamp(.75rem,.45rem + 1vmin,1.1rem);font-size:clamp(.8rem,.5rem + .85vmin,.95rem);font-weight:600;line-height:1;white-space:nowrap;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.share-poster-builder-download-btn{color:#fff;background:var(--color-primary);border:1px solid transparent}.share-poster-builder-download-btn:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}@media(hover:hover)and (pointer:fine){.share-poster-builder-download-btn:not(:disabled):hover{transform:translateY(var(--translate-hover-subtle))}}.share-poster-builder-back-btn{color:var(--text-muted);background:transparent;border:1px solid var(--border-medium)}@media(hover:hover)and (pointer:fine){.share-poster-builder-back-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-accent)}}.share-poster-builder-body{position:relative;display:flex;justify-content:center;align-items:center;flex:1;padding:clamp(.75rem,.45rem + 1vmin,1.5rem);overflow:hidden;touch-action:none}.share-poster-builder-canvas{display:none}.share-poster-builder-img{max-width:100%;max-height:100%;object-fit:contain;background:var(--bg-input);border-radius:var(--radius-m);box-shadow:0 .5rem 2rem var(--overlay-medium);transform-origin:center center;will-change:transform;transition:transform .15s ease-out;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.share-poster-builder-loading{position:absolute;inset:0;z-index:10;display:flex;justify-content:center;align-items:center;font-size:clamp(.95rem,.6rem + 1vmin,1.25rem);font-weight:500;color:var(--text-muted);background:var(--panel-dark);animation:sharePosterBuilderLoadingPulse 2s ease-in-out infinite}.share-poster-builder-loading.hidden{display:none}.share-poster-builder-error{font-size:clamp(.95rem,.6rem + 1vmin,1.25rem);color:var(--text-muted);text-align:center}@keyframes sharePosterBuilderLoadingPulse{0%,to{opacity:.7}50%{opacity:1}}#about-modal.hidden{display:none}@media(orientation:portrait)and (max-width:600px){#about-modal{padding:clamp(.25rem,.15rem + .5vmin,.5rem)}}.about-content{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(calc(100% - 1rem),clamp(40rem,85vmin,60rem));max-height:min(calc(100% - 1rem),clamp(40rem,85vmin,60rem));overflow:hidden;background:var(--glass-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:0 1.25rem 3.125rem var(--overlay-deep)}@media(orientation:portrait){.about-content{max-width:min(calc(100% - 1rem),clamp(22rem,60vmin,40rem));max-height:min(calc(100% - 1rem),clamp(50rem,90vmin,80rem))}}.about-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:clamp(.5rem,.3rem + 1vmin,1rem) clamp(1.25rem,.85rem + 1vmin,2rem);background:var(--overlay-light);border-bottom:1px solid var(--border-subtle)}.about-title{margin:0;font-size:clamp(.9rem,.55rem + 1.1vmin,1.25rem);font-weight:600;color:var(--text-primary)}.about-body{display:flex;flex-direction:column;flex:1;padding:clamp(.6rem,.35rem + 1.5vmin,2rem) clamp(.6rem,.4rem + 1vmin,2rem);gap:clamp(.6rem,.35rem + 1.5vmin,1.75rem);overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}@media(orientation:landscape){.about-body{flex-direction:row;align-items:stretch;gap:clamp(1.25rem,.75rem + 1.5vmin,2rem);overflow-y:hidden}}@media(orientation:landscape)and (max-height:350px){.about-body{overflow-y:auto}}.about-section{display:flex;flex-direction:column;gap:clamp(.5rem,.3rem + .75vmin,1rem);padding:clamp(1rem,.75rem + 1.5vmin,2rem);background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-l)}.about-column{display:flex;flex-direction:column;gap:clamp(.6rem,.35rem + 1.5vmin,1.75rem)}@media(orientation:landscape){.about-column{flex:1;overflow-y:auto;scrollbar-gutter:stable}.about-column:first-child{flex:1.2}.about-column .about-section{flex:1}}.about-section-title{margin:0;font-size:clamp(.7rem,.45rem + .95vmin,1.1rem);font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.about-section-subtitle{margin:0;padding-top:clamp(.6rem,.4rem + .75vmin,1rem);border-top:1px solid var(--border-subtle);font-size:clamp(.5rem,.3rem + .6vmin,.75rem);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.about-intro{margin:0;font-size:clamp(.65rem,.4rem + .85vmin,1rem);line-height:1.7;color:var(--text-muted)}.about-section-text{margin:0;font-size:clamp(.6rem,.35rem + .75vmin,.9rem);line-height:1.6;color:var(--text-subtle)}.about-link{display:inline-flex;align-items:center;gap:clamp(.3rem,.2rem + .35vmin,.5rem);width:fit-content;padding:clamp(.3rem,.2rem + .4vmin,.5rem) clamp(.6rem,.35rem + .75vmin,1rem);font-size:clamp(.6rem,.35rem + .75vmin,.85rem);font-weight:500;color:var(--text-secondary);text-decoration:none;background:var(--overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);transition:background var(--transition-normal),border-color var(--transition-normal)}.about-link .app-icon{--app-icon-size: clamp(.85rem, .55rem + .85vmin, 1.15rem);flex-shrink:0}@media(hover:hover)and (pointer:fine){.about-link:hover{background:var(--bg-hover);border-color:var(--border-accent)}}
