.mobile-theme-toggle i.fa-sun{color:#f9c74f}.mobile-theme-toggle i.fa-moon{color:#f8fafcd9}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #38ab19;--primary-dark: #2f8c14;--secondary-color: #272727;--accent-color: #f59e0b;--danger-color: #ef4444;--warning-color: #f97316;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", "Inter", "Segoe UI", sans-serif;--fs-2xl: 1.45rem;--fs-xl: 1.25rem;--fs-lg: 1.05rem;--fs-md: .95rem;--fs-sm: .85rem;--fs-xs: .72rem;--fs-xxs: .64rem;--eyebrow-color: var(--text-secondary);--eyebrow-tracking: .14em;--bg-primary: #ffffff;--bg-secondary: #eef1f6;--bg-tertiary: #e4e9f3;--bg-dark: #2d313b;--surface-muted: #f5f7fb;--text-primary: #1f2937;--text-secondary: #4b5563;--text-muted: #9aa2b1;--text-soft: rgba(39, 39, 39, .65);--text-subtle: rgba(39, 39, 39, .55);--text-faint: rgba(39, 39, 39, .45);--text-placeholder: rgba(39, 39, 39, .35);--icon-muted: rgba(39, 39, 39, .45);--surface-hover: rgba(39, 39, 39, .05);--surface-hover-strong: rgba(238, 241, 246, .8);--border-color: rgba(15, 23, 42, .08);--border-hover: rgba(15, 23, 42, .12);--spacing-2xs: .2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .9rem;--radius-xl: 1.25rem;--panel-radius: 1.5rem;--shadow-sm: 0 3px 12px rgba(15, 23, 42, .06);--shadow-md: 0 16px 32px rgba(15, 23, 42, .08);--shadow-lg: 0 28px 60px rgba(15, 23, 42, .12);--transition: all .2s ease-in-out;--left-panel-width: clamp(300px, 28vw, 420px);--right-panel-width: clamp(260px, 24vw, 330px);--header-bg: #ffffff;--overlay-panel-bg: rgba(255, 255, 255, .95);--overlay-panel-border: rgba(15, 23, 42, .08);--overlay-panel-shadow: 0 20px 50px rgba(15, 23, 42, .16);--overlay-panel-text: var(--text-primary);--overlay-panel-muted: rgba(71, 85, 105, .85);--overlay-chip-bg: rgba(15, 23, 42, .04);--overlay-chip-border: rgba(15, 23, 42, .08);--overlay-chip-hover: rgba(56, 171, 25, .12);--overlay-chip-active: rgba(56, 171, 25, .95);--overlay-chip-active-border: rgba(136, 213, 98, .9);--overlay-capture-gradient: linear-gradient(135deg, rgba(56, 171, 25, 1), rgba(39, 121, 18, 1));--overlay-pill-icon: var(--primary-color)}[data-theme=dark]{--eyebrow-color: rgba(229, 231, 235, .78)}body{font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--text-primary);background:var(--bg-secondary);overflow:hidden;-webkit-font-smoothing:antialiased}body.mobile-viewer-mode{--mobile-shell-height: min(320px, 46vh);--mobile-dark-surface: #232323;--mobile-dark-surface-strong: #2c2c2c;--mobile-dark-border: rgba(255, 255, 255, .08);--mobile-dark-border-strong: rgba(255, 255, 255, .16);--mobile-dark-text: rgba(248, 250, 252, .92);--mobile-dark-text-muted: rgba(229, 231, 235, .65);background:var(--bg-secondary)}body.mobile-viewer-mode .top-header,body.mobile-viewer-mode .left-panel,body.mobile-viewer-mode .right-panel,body.mobile-viewer-mode .edge-toggle,body.mobile-viewer-mode .controls-hint,body.mobile-viewer-mode .level-indicator,body.mobile-viewer-mode .ghost-opacity-controls,body.mobile-viewer-mode .overlay-control-stack{display:none!important}body.mobile-viewer-mode .main-layout{padding:0;margin:0;gap:0;height:calc(100vh - var(--mobile-shell-height));height:calc(100dvh - var(--mobile-shell-height));background:transparent}body.mobile-viewer-mode .map-section{width:100%;height:100%;padding:0}body.mobile-viewer-mode .map-container{height:100%;width:100%;border-radius:0;box-shadow:none;background:var(--mobile-dark-surface);background-color:var(--mobile-dark-surface);background-image:none!important;overflow:hidden}body.mobile-viewer-mode .map-container canvas{display:block;width:100%!important;height:100%!important}body.mobile-viewer-mode:not([data-theme=dark]) .map-container{background:var(--bg-primary)!important;background-image:none!important}.mobile-viewer-shell{position:fixed;left:0;right:0;bottom:0;display:none;flex-direction:column;gap:16px;padding:18px 20px 22px;background:var(--mobile-dark-surface);color:var(--mobile-dark-text);z-index:1200;box-shadow:0 -24px 48px #0f172a47;max-height:var(--mobile-shell-height);overflow-y:auto;overscroll-behavior:contain}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-viewer-shell{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 -24px 48px #0f172a24}body.mobile-viewer-mode .mobile-viewer-shell{display:flex}.mobile-viewer-header{display:flex;gap:12px;align-items:flex-start}.mobile-viewer-icon{font-size:1.75rem;color:var(--primary-color);display:flex;align-items:center;justify-content:center;min-width:40px}.mobile-theme-toggle{margin-left:auto;background:var(--mobile-dark-surface-strong);border:1px solid var(--mobile-dark-border);color:var(--mobile-dark-text);width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.mobile-theme-toggle:hover{transform:translateY(-1px);background:var(--mobile-dark-surface);border-color:var(--mobile-dark-border-strong)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-theme-toggle{background:#c6cfdef2;border:1px solid rgba(100,116,139,.55);color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-theme-toggle:hover{background:#b0bbcdf2;border-color:#47556999}.mobile-viewer-copy h2{font-size:1.1rem;margin-bottom:4px;color:var(--mobile-dark-text)}.mobile-viewer-copy p{font-size:.9rem;color:var(--mobile-dark-text-muted);line-height:1.45}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-viewer-copy h2{color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-viewer-copy p{color:var(--text-secondary)}.mobile-viewer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-action{background:var(--mobile-dark-surface-strong);color:var(--mobile-dark-text);border:1px solid var(--mobile-dark-border);border-radius:16px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;font-size:.9rem;font-weight:600;text-align:left;transition:transform .2s ease,background .2s ease,border-color .2s ease;width:100%}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-action{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-action:hover{background:var(--surface-hover);border-color:var(--border-hover)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-action.primary{border-color:#38ab1952}.mobile-action i{font-size:1rem;opacity:.85}.mobile-action.primary{background:var(--primary-color);border-color:#38ab19a6;color:#fff}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-collapsible[data-expanded=true] .mobile-action--collapsible{background:#38ab191f;border-color:#38ab1973}.mobile-action.is-disabled,.mobile-action[disabled]{opacity:.45;pointer-events:none;border-color:#94a3b82e}.mobile-action:hover{transform:translateY(-2px);background:#262626eb}.mobile-action.primary:hover{background:#2f8c14}.mobile-collapsible{display:flex;flex-direction:column;gap:12px;margin-top:14px}.mobile-collapsible+.mobile-collapsible{margin-top:16px}.mobile-collapsible-panel{margin-top:-4px}.mobile-collapsible[data-expanded=true] .mobile-action--collapsible{border-color:#38ab1980;background:#38ab193d}.mobile-viewer-actions .mobile-collapsible{display:contents;margin-top:0;gap:0}.mobile-viewer-actions .mobile-collapsible-panel{margin-top:6px;grid-column:1 / -1}.mobile-panel{display:flex;flex-direction:column;gap:12px;background:var(--mobile-dark-surface-strong);border:1px solid var(--mobile-dark-border);border-radius:16px;padding:14px 16px;color:var(--mobile-dark-text)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-panel{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}.mobile-panel[hidden]{display:none!important}.mobile-view-panel{gap:.75rem}.mobile-view-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mobile-view-header-title{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--mobile-dark-text)}.mobile-view-header-title i{font-size:1rem;opacity:.85}.mobile-view-status{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;background:#f8fafc1f;color:var(--mobile-dark-text);font-weight:600;font-size:.85rem;min-width:5.5rem;text-align:center}.mobile-view-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.mobile-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.9rem;font-weight:600;border-radius:12px;padding:.65rem .75rem;border:1px solid var(--mobile-dark-border);background:var(--mobile-dark-surface-strong);color:var(--mobile-dark-text);transition:transform .2s ease,background .2s ease,border-color .2s ease}.mobile-view-btn .mobile-action--collapsible{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.mobile-view-btn .mobile-action--collapsible span{flex:1}.mobile-view-btn i{font-size:.95rem}.mobile-view-btn--primary{background:#38ab1947;border-color:#38ab1999;color:var(--mobile-dark-text)}.mobile-view-btn--secondary{background:#38ab191f;border-color:#38ab1959;color:var(--mobile-dark-text-muted)}.mobile-view-btn--full{width:100%;margin-top:.25rem;justify-content:center;background:var(--primary-color);border-color:#38ab19bf;color:#fff}.mobile-view-btn--full .mobile-view-key-hint{background:#ffffff2e;color:#fff;border-color:#ffffff52}.mobile-view-btn:hover:not(:disabled){transform:translateY(-2px)}.mobile-view-btn:disabled{opacity:.5;pointer-events:none}.mobile-view-btn--full:disabled{opacity:.85;background:#38ab193d;border-color:#38ab1973;color:var(--mobile-dark-text)}.mobile-view-btn--full:disabled .mobile-view-key-hint{background:#38ab194d;border-color:#38ab1973;color:var(--mobile-dark-text)}.mobile-view-key-hint{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;margin-left:.5rem;padding:0 .4rem;border-radius:.4rem;font-size:.7rem;font-weight:600;border:1px solid rgba(255,255,255,.35)}.mobile-view-panel--isolated .mobile-view-status{background:#38ab1933;color:var(--mobile-dark-text)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-header-title{color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-status{background:#0f172a0f;color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--secondary{background:#38ab191f;border-color:#38ab1952;color:var(--text-secondary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--primary{background:#38ab192e;border-color:#38ab1980;color:var(--text-primary)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full{color:#1f2937;background:#38ab1926;border-color:#38ab1973}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full .mobile-view-key-hint{border-color:#0f172a33;color:inherit}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full.is-active{color:#fff;background:var(--primary-color);border-color:#38ab19bf}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full.is-active .mobile-view-key-hint{color:#fff;border-color:#ffffff52}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full:disabled{color:#1f2937b3;background:#38ab191f;border-color:#38ab1940}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-btn--full:disabled .mobile-view-key-hint{color:#1f2937b3}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-view-key-hint{border-color:#0f172a33;color:inherit}.mobile-input-row{display:flex;gap:10px}.mobile-input-row input{flex:1;border-radius:12px;border:1px solid rgba(148,163,184,.32);padding:10px 14px;font-size:.95rem;font-weight:500;background:var(--bg-primary);color:var(--text-primary);box-shadow:inset 0 1px 3px #0f172a0f}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-input-row input{border:1px solid var(--border-color);box-shadow:none}.mobile-input-row input:focus{outline:none;border-color:#38ab19e6;box-shadow:0 0 0 3px #38ab192e}.mobile-submit-btn{display:inline-flex;gap:8px;align-items:center;background:#2563eb;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.mobile-submit-btn:hover{transform:translateY(-1px);background:#1e4fd1}.mobile-helper-text{font-size:.78rem;color:var(--mobile-dark-text-muted)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-helper-text{color:var(--text-muted)}.mobile-analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.mobile-analytics-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--mobile-dark-surface-strong);border:1px solid var(--mobile-dark-border);color:var(--mobile-dark-text)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-analytics-card{background:var(--bg-primary);border-color:var(--border-color)}.mobile-analytics-card .value{font-size:1.2rem;font-weight:700;color:var(--mobile-dark-text)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-analytics-card .value{color:var(--text-primary)}.mobile-analytics-card .label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mobile-dark-text-muted)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-analytics-card .label{color:var(--text-secondary)}.mobile-analytics-sets{display:flex;flex-direction:column;gap:10px;max-height:180px;overflow-y:auto;padding-right:4px}.mobile-analytics-sets.empty{color:var(--mobile-dark-text-muted);font-size:.85rem}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-analytics-sets.empty{color:var(--text-muted)}.mobile-set-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--mobile-dark-surface-strong);border:1px solid var(--mobile-dark-border);color:var(--mobile-dark-text)}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-set-row{background:var(--bg-primary);border-color:var(--border-color)}.mobile-set-row .set-name{font-weight:600;color:var(--mobile-dark-text);flex:1}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-set-row .set-name{color:var(--text-primary)}.mobile-set-row .set-tiles,.mobile-set-row .set-required{font-size:.78rem;color:var(--mobile-dark-text-muted);white-space:nowrap}body.mobile-viewer-mode:not([data-theme=dark]) .mobile-set-row .set-tiles,body.mobile-viewer-mode:not([data-theme=dark]) .mobile-set-row .set-required{color:var(--text-secondary)}@media (max-width: 480px){body.mobile-viewer-mode{--mobile-shell-height: min(360px, 55vh)}.mobile-viewer-actions{grid-template-columns:1fr}}h1,h2,h3,h4,.brand-title,.stat-value,.panel-title,.control-stack-title{font-family:var(--font-display);letter-spacing:-.01em}h1{font-size:var(--fs-xl);color:var(--secondary-color)}h2{font-size:var(--fs-lg);color:var(--secondary-color)}h3{font-size:var(--fs-md);color:var(--text-primary)}h4{font-size:var(--fs-sm);color:var(--text-primary)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4{color:var(--text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-header{background:var(--header-bg);box-shadow:0 14px 30px #0f172a14;padding:10px 18px;position:relative;z-index:1000}.top-header.scrolled{box-shadow:0 18px 36px #0f172a1f}.header-content{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:nowrap}.logo-section h1{margin:0;display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-xl);font-weight:600;color:var(--secondary-color)}.logo-section h1 i{color:var(--primary-color);font-size:1.05rem}.brand-logo{width:40px;height:40px;object-fit:contain;cursor:pointer;transition:var(--transition)}.brand-logo:hover{opacity:.8}.map-name-spotlight{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 10px 20px #0f172a14;color:var(--secondary-color);flex:0 1 460px;max-width:520px}.map-name-spotlight:focus-within{border-color:#38ab19a6;box-shadow:0 0 0 3px #38ab192e}.map-name-field{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.map-name-field i{color:var(--icon-muted);font-size:1rem}.map-name-input-toolbar{flex:1 1 100%;min-width:240px;border:none;outline:none;background:transparent;font-size:1rem;font-weight:400;color:var(--secondary-color);letter-spacing:.01em}.map-name-input-toolbar::placeholder{color:var(--text-placeholder);font-weight:400}.header-stats{display:inline-flex;gap:var(--spacing-sm);gap:14px;padding:6px 14px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 10px 22px #0f172a14;flex:0 0 auto;overflow-x:auto;scrollbar-width:thin;margin-left:12px}.header-stats .layer-header .layer-save{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;padding-inline:10px}.header-stats .layer-header .layer-save i{font-size:.85rem}.header-stats::-webkit-scrollbar{height:6px}.header-stats::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:999px}.header-stats::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.stat-item{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;min-width:84px}.stat-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);font-weight:600;color:#475569b3}.stat-value{font-size:var(--fs-lg);font-weight:600;color:var(--primary-color)}.integrated-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-right:8px}.integrated-toolbar::-webkit-scrollbar{height:4px}.integrated-toolbar::-webkit-scrollbar-track{background:transparent}.integrated-toolbar::-webkit-scrollbar-thumb{background:#0f172a33;border-radius:2px}.integrated-toolbar::-webkit-scrollbar-thumb:hover{background:#0f172a4d}@media (min-width: 2030px){.integrated-toolbar{overflow-x:visible;flex:0 0 auto}}.toolbar-group{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-lg);background:#fffffff2;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 14px #0f172a14;flex-wrap:nowrap}.map-management-toolbar{background:var(--bg-primary)}.edit-history-toolbar{background:var(--surface-muted)}.export-toolbar{background:var(--bg-primary)}.header-controls-toolbar{background:var(--surface-muted);border:1px solid rgba(15,23,42,.1)}.btn-toolbar{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.06);background:#ffffffe6;color:var(--secondary-color);font-size:.88rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-toolbar:hover:not(:disabled){background:#0f172a0f;border-color:#0f172a1f}.btn-toolbar:disabled{background:#94a3b826;color:#94a3b8;border-color:#94a3b833;cursor:not-allowed}.btn-toolbar i{font-size:.95rem;color:inherit}.btn-toolbar.btn-success{background:#38ab191f;color:var(--primary-color);border-color:#38ab1959;box-shadow:none}.btn-toolbar.btn-success:hover:not(:disabled){background:#38ab192e;border-color:#38ab1973}.btn-toolbar.btn-info{background:#38ab1914;color:var(--primary-color);border-color:#38ab1947}.btn-toolbar.btn-info:hover:not(:disabled){background:#38ab1924;border-color:#38ab1959}.btn-toolbar.btn-danger{background:#ef444414;color:var(--danger-color);border-color:#ef444447}.btn-toolbar.btn-danger:hover:not(:disabled){background:#ef444424;border-color:#ef444459}.btn-toolbar.btn-primary{background:#38ab191f;color:var(--primary-color);border-color:#38ab1959;padding:9px 22px;box-shadow:none}.btn-toolbar.btn-primary:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-toolbar.btn-primary:hover:not(:disabled){background:var(--primary-dark)}@media (max-width: 1480px){.top-header{padding:12px 16px}.header-content{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-sm)}.logo-section h1{font-size:1.05rem}.map-name-spotlight{flex:1 1 220px;max-width:340px;padding:6px 12px}.map-name-input-toolbar{min-width:140px;font-size:.92rem}.header-stats{flex:0 1 280px;padding:4px 12px;gap:var(--spacing-xs)}.stat-item{min-width:70px}.stat-label{font-size:.65rem;letter-spacing:.08em}.stat-value{font-size:1rem}.integrated-toolbar{flex:0 1 auto;gap:var(--spacing-xs);max-width:calc(100vw - 600px)}.toolbar-group{gap:4px;padding:4px;border-radius:var(--radius-md)}.btn-toolbar{padding:6px;min-width:36px;justify-content:center;border-radius:var(--radius-md)}.btn-toolbar span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-toolbar i{font-size:1rem}.header-controls-toolbar{gap:6px}}@media (max-width: 1180px){.top-header{padding:12px}.header-content{flex-wrap:nowrap;gap:var(--spacing-2xs);overflow:hidden}.map-name-spotlight{order:2;flex:1 1 200px;max-width:240px;padding:6px 10px}.header-stats{order:3;flex:0 1 220px;width:auto;display:inline-flex;gap:var(--spacing-2xs);padding:4px 8px}.integrated-toolbar{order:4;flex-wrap:nowrap;width:auto;justify-content:flex-start}.toolbar-group{flex:0 1 auto}.header-controls-toolbar{order:1}}@media (max-width: 902px){.header-content{gap:var(--spacing-2xs);overflow:hidden}.logo-section h1{font-size:1rem}.map-name-spotlight{max-width:220px;padding:5px 8px}.btn-toolbar{padding:5px;min-width:30px;height:30px;border-radius:10px}.btn-toolbar i{font-size:.9rem}.toolbar-group{gap:2px;padding:3px}.header-stats{padding:4px 6px;gap:var(--spacing-3xs, .25rem)}}@media (max-width: 760px){.header-content{flex-wrap:nowrap;gap:var(--spacing-3xs, .25rem);overflow-x:auto;padding-bottom:4px;align-items:center}.header-content::-webkit-scrollbar{height:4px}.logo-section h1{font-size:.95rem}.brand-logo{width:26px;height:26px}.map-name-spotlight{flex:0 1 180px;max-width:180px;padding:4px 8px}.map-name-input-toolbar{min-width:100px;font-size:.85rem}.header-stats{flex:0 1 180px;padding:4px 6px;gap:var(--spacing-3xs, .25rem);overflow:hidden}.stat-item{min-width:60px}.toolbar-group{flex-direction:row;gap:2px}.btn-toolbar{width:auto;min-width:28px;height:28px;padding:4px}}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-hover)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-subtle);cursor:pointer;transition:var(--transition);box-shadow:none}.btn-icon:hover{background:var(--surface-hover-strong);color:var(--secondary-color)}.btn-icon i{font-size:1rem}.btn-icon.lighting-toggle{background:#fff8dc;border-color:#facc1573;color:#b45309}.btn-icon.lighting-toggle i{font-size:1.05rem}.btn-icon.lighting-toggle.is-active{background:#facc15;color:#1f2937;box-shadow:none}.btn-icon.theme-toggle{background:#e7f3ffe6;border-color:#60a5fa73;color:#1d4ed8}[data-theme=dark] .btn-icon.theme-toggle{background:#282c3ae6;border-color:#60a5fa40;color:#bfdbfe;box-shadow:inset 0 0 0 1px #3b82f614}[data-theme=dark] .btn-icon.theme-toggle:hover{background:#3b82f62e;color:#e0f2fe}[data-theme=dark] .btn-icon.lighting-toggle{background:#eab30833;color:#facc15}[data-theme=dark] .btn-icon.lighting-toggle.is-active{background:#facc15;color:#111827}[data-theme=dark] .toolbar-group{background:#2d2d2de6;border-color:var(--border-color);box-shadow:none}[data-theme=dark] .toolbar-group .btn-toolbar{background:#ffffff14;border-color:#ffffff24;color:#f3f4f6eb}[data-theme=dark] .toolbar-group .btn-toolbar:hover:not(:disabled){background:#ffffff29;border-color:#ffffff3d}[data-theme=dark] .toolbar-group .btn-toolbar:disabled{background:#94a3b824;border-color:#94a3b838;color:#94a3b8b8}[data-theme=dark] .toolbar-group .btn-toolbar.btn-success{background:#38ab192e;border-color:#38ab1961;color:#bbf7a4}[data-theme=dark] .toolbar-group .btn-toolbar.btn-success:hover:not(:disabled){background:#38ab1942;border-color:#38ab197a}[data-theme=dark] .toolbar-group .btn-toolbar.btn-info{background:#ffffff24;border-color:#ffffff42;color:var(--text-primary)}[data-theme=dark] .toolbar-group .btn-toolbar.btn-info:hover:not(:disabled){background:#fff3;border-color:#ffffff57;color:#fff}[data-theme=dark] .toolbar-group .btn-toolbar.btn-danger{background:#ef44442e;border-color:#ef444466;color:#fecaca}[data-theme=dark] .toolbar-group .btn-toolbar.btn-danger:hover:not(:disabled){background:#ef444442;border-color:#ef444480}[data-theme=dark] .map-name-spotlight,[data-theme=dark] .header-stats{background:#262626f2;border-color:var(--border-color);box-shadow:none;color:var(--text-primary)}[data-theme=dark] .header-stats .stat-label{color:var(--eyebrow-color)}[data-theme=dark] .header-stats .stat-value{color:var(--text-primary)}[data-theme=dark] .biome-select{background:var(--bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23d1d5db'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;color:var(--text-primary);border-color:var(--border-hover);background-position:calc(100% - 18px) center;background-size:14px 14px}[data-theme=dark] .tile-selection-section select{background-color:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-hover)}[data-theme=dark] .biome-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:var(--bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23d1d5db'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}[data-theme=dark] .tile-selection-section select:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #38ab193d!important;background-color:var(--bg-elevated)!important}[data-theme=dark] .tile-selection-section select option{background:#1f1f1f;color:var(--text-primary)}[data-theme=dark] .custom-select__dropdown{background:var(--bg-elevated);border-color:#ffffff24;box-shadow:0 22px 40px #00000073}[data-theme=dark] .custom-select__option:hover,[data-theme=dark] .custom-select__option.is-highlighted{background:#ffffff14}[data-theme=dark] .custom-select__option.is-selected{background:#38ab1938;color:#e9fce4}[data-theme=dark] .custom-select__group-label{color:#e5e7ebb8}[data-theme=dark] .tile-selection-section .section-header{color:var(--eyebrow-color)}.btn-clear{background:var(--danger-color);color:#fff}.btn-clear:hover{background:#dc2626}.main-layout{display:flex;align-items:stretch;gap:16px;padding:10px 12px 12px;height:calc(100vh - var(--header-h, 120px));overflow:hidden;background:var(--bg-secondary)}.left-panel{width:var(--left-panel-width);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--panel-radius);box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:width .2s ease;will-change:width;min-width:0;flex:0 0 auto;z-index:100;position:relative;overflow:hidden}@media (max-width: 1320px){:root{--left-panel-width: clamp(280px, 30vw, 360px);--right-panel-width: clamp(240px, 24vw, 300px)}.main-layout{gap:12px}.split-header{padding:12px 18px 6px}.tile-selection-section .tile-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1100px){:root{--left-panel-width: clamp(250px, 34vw, 320px);--right-panel-width: clamp(220px, 28vw, 280px)}.main-layout{gap:10px}.split-header{padding:12px 16px 6px}.tile-selection-section .tile-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 980px){.main-layout{gap:8px}.split-header{padding:10px 14px 6px}.tile-selection-section .tile-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}.left-panel.collapsed{width:0!important;border-right:none;overflow:hidden;min-width:0!important;resize:none!important}.split-header{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px 20px 6px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);min-height:0;flex-shrink:0;position:sticky;top:0;z-index:5}.panel-header-content h2{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em;color:var(--secondary-color);display:flex;align-items:center;gap:10px;margin:0}.panel-header-content h2 i{width:1.1em;text-align:center;color:var(--primary-color)}.panel-header-content{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm)}.btn-collapse{align-self:center}.panel-header{padding:24px 24px 18px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:5}.panel-header h2{font-size:var(--fs-lg);font-weight:600;color:var(--secondary-color);display:flex;align-items:center;gap:var(--spacing-sm);margin:0}[data-theme=dark] .panel-header-content h2,[data-theme=dark] .panel-header h2{color:var(--text-primary)}.panel-header h2 i{width:1.2em;text-align:center}.edge-toggle{position:fixed;height:26px;width:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);box-shadow:0 2px 8px #00000014;z-index:2000;pointer-events:auto}.edge-toggle.edge-bottom{margin-bottom:8px}.edge-toggle i{font-size:12px}.edge-left{border-left:none;border-radius:0 10px 10px 0}.edge-right{border-right:none;border-radius:10px 0 0 10px}.edge-toggle:hover{background:var(--bg-primary);color:var(--text-primary)}.edge-toggle:hover{color:var(--primary-color);border-color:var(--primary-color)}.library-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-top:0;padding:0;flex-wrap:nowrap;width:100%}.search-container{position:relative;display:flex;align-items:center;flex:1 1 auto}.view-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:var(--surface-muted);border:1px solid rgba(15,23,42,.05);box-shadow:none;flex-shrink:0}.view-toggle-btn{border:none;background:transparent;color:var(--text-subtle);padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:var(--transition)}.view-toggle-btn i{font-size:.9rem}.view-toggle-btn:hover{background:#38ab191a;color:var(--secondary-color)}.view-toggle-btn.active,.view-toggle-btn[aria-pressed=true]{background:var(--primary-color);color:#fff;border-color:#38ab1952}.view-toggle-btn.active i,.view-toggle-btn[aria-pressed=true] i{color:inherit}.view-toggle-btn:focus-visible{outline:2px solid rgba(56,171,25,.55);outline-offset:2px}.view-label{display:inline}@media (max-width: 1180px){.library-toolbar{flex-wrap:wrap;gap:12px}.tab-header{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:12px}.tab-header:after{left:16px;right:16px}.tab-nav{width:100%}.section-header--with-controls{flex-direction:column;align-items:stretch;gap:16px}.section-controls{justify-content:center}.section-header--with-controls .view-toggle{width:100%;justify-content:space-between}.section-header--with-controls .view-toggle-btn{flex:1 1 50%;justify-content:center}}@media (max-width: 960px){.view-label{display:none}}@media (max-width: 720px){.view-toggle{width:100%;justify-content:space-between}.view-toggle-btn{flex:1;justify-content:center}}.search-input{width:100%;height:36px;padding:0 2.3rem 0 .95rem;border:1px solid var(--border-color);border-radius:999px;font-size:.9rem;font-weight:500;background:var(--bg-primary);color:var(--secondary-color);transition:var(--transition);box-shadow:0 10px 20px #0f172a14}.search-input::placeholder{color:var(--text-subtle);font-weight:400}.header-actions{display:flex;gap:var(--spacing-xs)}.build-mode-section{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:6px 10px;background:var(--surface-muted);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;box-shadow:none;margin:0}.build-mode-section .build-mode-header{display:inline-flex;align-items:center;gap:8px;padding:0;font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);color:var(--text-secondary);flex:0 0 auto;white-space:nowrap}.build-mode-section .build-mode-header i{color:var(--primary-color);font-size:.9rem}.build-mode-section .radio-group.horizontal{display:flex;flex-direction:row;gap:var(--spacing-xs)}.build-mode-section .radio-option{font-size:.8rem;padding:var(--spacing-xs)}.build-mode-section .radio-custom{width:.8rem;height:.8rem;border:1px solid var(--border-color)}.build-mode-section .radio-option input[type=radio]:checked+.radio-custom:after{width:.4rem;height:.4rem}.build-mode-section .radio-group.segmented{flex-direction:row;align-items:center;background:var(--bg-primary);border:1px solid rgba(15,23,42,.08);padding:1px 2px;gap:2px;border-radius:12px;flex-wrap:nowrap;flex:1 1 auto;justify-content:space-between;min-width:0;box-shadow:none}.build-mode-section .radio-group.segmented .radio-option{padding:0;flex:1 1 0;min-width:0}.build-mode-section .radio-group.segmented .radio-option input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.build-mode-section .seg-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 7px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-soft);font-size:.72rem;font-weight:600;transition:var(--transition);-webkit-user-select:none;user-select:none;box-shadow:none;white-space:nowrap;min-width:0;width:100%}.build-mode-section .option-text.long{font-size:.74rem}.build-mode-section .option-icon{font-size:.82rem;color:currentColor}.build-mode-section .radio-group.segmented .radio-option:hover .seg-pill{background:#38ab1914;color:var(--secondary-color)}.build-mode-section .radio-group.segmented .radio-option input[type=radio]:checked+.seg-pill{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:none}.build-mode-section .radio-group.segmented .radio-option input[type=radio]:focus-visible+.seg-pill{outline:none;box-shadow:0 0 0 2px #38ab1940}.build-mode-section .option-text.short{display:none}@media (max-width: 1200px){.build-mode-section{padding:6px 8px}.build-mode-section .option-text.long{display:none}.build-mode-section .option-text.short{display:inline}.build-mode-section .seg-pill{padding:5px 7px;font-size:.72rem}}.search-clear-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;font-size:.75rem;border:none;border-radius:50%;background:transparent;color:#27272773;transition:var(--transition)}.search-clear-btn:hover{background:var(--surface-hover);color:var(--secondary-color)}.panel-controls{display:flex;gap:var(--spacing-sm)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #38ab1933}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);font-weight:600;font-size:var(--fs-sm);color:var(--eyebrow-color);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking)}.section-header--with-controls{flex-wrap:wrap;gap:16px;margin-bottom:var(--spacing-sm);align-items:flex-start}.section-heading{display:inline-flex;align-items:flex-start;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.section-heading h3{font-size:var(--fs-sm);font-weight:600;letter-spacing:inherit;text-transform:inherit;color:inherit;line-height:1.2}.section-header .count{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:500;color:var(--text-subtle);text-transform:none;letter-spacing:normal;display:block}.section-controls{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto;align-self:flex-start}.section-header--with-controls .view-toggle{background:var(--bg-primary);border-color:#0f172a12;border-radius:18px;padding:2px;gap:2px;box-shadow:0 3px 8px #0f172a14}.section-header--with-controls .view-toggle-btn{padding:6px 12px;font-size:.8rem;border-radius:14px;min-height:32px}.section-header--with-controls .view-toggle-btn i{font-size:.85rem}.asset-section>.section-header{margin-bottom:var(--spacing-sm)}.asset-section>.section-header.section-header--with-controls{gap:10px;row-gap:var(--spacing-2xs);align-items:center}.asset-section>.section-header .section-heading{gap:2px}.asset-section>.section-header .section-heading h3{font-size:calc(var(--fs-sm) - .05rem)}.asset-section>.section-header .count{font-size:var(--fs-xxs)}.asset-section>.section-header .section-controls{gap:4px}.asset-section>.section-header .view-toggle{padding:2px 4px}.asset-section>.section-header .view-toggle-btn{padding:4px 10px;min-height:28px;font-size:.76rem}.asset-section>.section-header .view-toggle-btn i{font-size:.8rem}[data-theme=dark] .section-header{color:var(--eyebrow-color)}[data-theme=dark] .section-header .count{color:var(--text-muted)}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:var(--transition)}.radio-option:hover{background:var(--bg-tertiary)}.radio-option input[type=radio]{display:none}.radio-custom{width:1rem;height:1rem;border:2px solid var(--border-color);border-radius:50%;position:relative;transition:var(--transition)}.radio-option input[type=radio]:checked+.radio-custom{border-color:var(--primary-color)}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";width:.5rem;height:.5rem;background:var(--primary-color);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tab-container{flex:1.5;display:flex;flex-direction:column;overflow:hidden;min-height:0}.tab-toolbar{display:flex;justify-content:flex-start;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-primary);border-bottom:1px solid var(--border-color);gap:var(--spacing-sm)}.tab-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:6px 20px;background:var(--bg-primary)}.tab-header:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:1px;background:var(--border-color);pointer-events:none}.tab-nav{display:flex;gap:0;padding:0;position:relative;flex:1 1 auto;min-width:0}.tab-btn{flex:1 1 0;padding:8px 16px;border:none;background:transparent;color:var(--text-subtle);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:var(--transition);border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;min-width:0}.tab-btn i{color:currentColor;font-size:.95rem}.tab-btn:hover{color:var(--secondary-color)}.tab-btn:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:999px;background:transparent;transition:var(--transition)}.tab-btn.active{color:var(--secondary-color);background:#38ab1914}.tab-btn.active:after{background:var(--primary-color)}.tab-btn.active i{color:inherit}.tab-content{flex:1;overflow-y:auto;padding:4px 20px 16px;display:none;scrollbar-width:auto}.tab-content .section-header{margin:10px 0;justify-content:space-between;gap:12px}.tab-content.active{display:block}.tab-content::-webkit-scrollbar,.asset-section::-webkit-scrollbar{width:12px}.tab-content::-webkit-scrollbar-button,.asset-section::-webkit-scrollbar-button{height:14px}.tab-content::-webkit-scrollbar-thumb,.asset-section::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:10px;border:2px solid transparent}.tab-content::-webkit-scrollbar-thumb:hover,.asset-section::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.tile-selection-section{border-top:1px solid var(--border-color);background:var(--surface-muted);flex:2.5;min-height:0;display:flex;flex-direction:column}.tile-selection-section .section-header{padding:12px 18px 10px;background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;font-weight:600;font-size:var(--fs-sm);color:var(--eyebrow-color);display:flex;align-items:center;justify-content:space-between;margin:0;position:sticky;top:0;z-index:3;text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);box-shadow:none;gap:var(--spacing-sm)}.tile-selection-section .section-header-main{display:inline-flex;align-items:center;gap:6px}.tile-selection-section .section-header-main i{width:1.1em;text-align:center;color:var(--primary-color)}.tile-selection-summary{font-size:.7rem;font-weight:500;color:var(--text-secondary);text-transform:none;letter-spacing:0}.tile-browser{flex:1;padding:6px 18px 18px;display:flex;flex-direction:column;gap:0;overflow:hidden}.biome-selector{flex-shrink:0;margin-bottom:0}.tile-filter-bar{display:flex;gap:var(--spacing-2xs, .4rem);align-items:center;margin-bottom:var(--spacing-3xs, .125rem)}.custom-select{position:relative;width:100%}.custom-select__native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.custom-select__button{width:100%;border:none;background:none;font:inherit;color:inherit;padding:0;text-align:left;display:inline-flex;align-items:center;justify-content:flex-start;cursor:pointer;gap:8px}.custom-select__button:focus{outline:none}.custom-select__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-select__dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;padding:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);max-height:280px;overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;z-index:40}.custom-select--open .custom-select__dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.custom-select__group-label{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow-color);padding:6px 10px 4px}.custom-select__option{width:100%;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:.78rem;text-align:left;padding:8px 10px;border-radius:10px;display:flex;gap:8px;align-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease}.custom-select__option:hover,.custom-select__option.is-highlighted{background:var(--surface-hover)}.custom-select__option.is-selected{background:#38ab1924;color:var(--text-primary)}.custom-select__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.custom-select__empty{font-size:.82rem;color:var(--text-secondary);padding:10px 12px;text-align:center}.custom-select--disabled .custom-select__button{cursor:not-allowed;opacity:.6}.custom-select__dropdown::-webkit-scrollbar{width:8px}.custom-select__dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:12px}.custom-select__dropdown::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.tile-filter-select,.tile-filter-search{border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-primary);font-size:.8rem;padding:9px 16px;min-height:36px;line-height:1.2;box-shadow:none;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.tile-filter-select:focus,.tile-filter-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:var(--bg-primary)}.tile-filter-select:focus{background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}.tile-filter-select{min-width:160px;max-width:46%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3.25rem;line-height:1.2;min-height:36px;background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}.tile-filter-select::-ms-expand{display:none}.tile-filter-search{flex:1}[data-theme=dark] .tile-selection-section .tile-filter-select,[data-theme=dark] .tile-selection-section .tile-filter-search{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-hover)}[data-theme=dark] .tile-selection-section .tile-filter-select{background:var(--bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23d1d5db'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}[data-theme=dark] .tile-selection-section .tile-filter-select:focus,[data-theme=dark] .tile-selection-section .tile-filter-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:var(--bg-elevated)}[data-theme=dark] .tile-selection-section .tile-filter-select:focus{background:var(--bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23d1d5db'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}.biome-select{width:100%;padding:var(--spacing-sm) 3.25rem var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:999px;font-size:.875rem;line-height:1.2;min-height:40px;background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;color:var(--text-primary);margin-bottom:var(--spacing-3xs, .125rem);box-shadow:none;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-position:calc(100% - 18px) center;background-size:14px 14px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.biome-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 18px) center;background-size:14px 14px}.biome-select option{color:var(--text-primary);background:var(--bg-primary)}.tile-info{flex-shrink:0;font-size:.8rem;color:var(--text-secondary);padding:0;margin:0}.tile-grid-container{flex:1;overflow:hidden;display:flex;flex-direction:column;margin-top:0}.tile-grid-wrapper{flex:1;overflow-y:auto;border-radius:var(--radius-lg);background:transparent;padding:8px;box-shadow:none}.tile-selection-section .tile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px}.asset-section{display:flex;flex-direction:column;gap:.65rem;padding-bottom:var(--spacing-sm);scrollbar-width:auto}.cards-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xs)}.asset-view-list .cards-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);position:relative;overflow:hidden;transition:var(--transition);cursor:default;display:flex;min-height:74px;box-shadow:0 10px 20px #0f172a1f}.card.biome-card{--biome-accent-color: var(--border-color)}.card.skeleton,.pack-card.skeleton{border-color:transparent;background:var(--bg-secondary);animation:skeletonPulse 1.4s ease-in-out infinite;pointer-events:none}.pack-card.skeleton .card-left{align-items:stretch}.pack-card.skeleton .card-left:after{display:none}.pack-card.skeleton .card-right{justify-content:center;gap:var(--spacing-xs)}.skeleton-thumb{width:100%;height:100%;min-height:72px;border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff14 25%,#ffffff29 37%,#ffffff14 63%);background-size:400% 100%;animation:skeletonShimmer 1.6s ease-in-out infinite}.skeleton-line{width:100%;height:14px;border-radius:var(--radius-sm);background:#ffffff0f}.skeleton-line.short{width:60%}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:#38ab1914}.selection-indicator{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;opacity:0;transition:var(--transition);z-index:2}.card.selected .selection-indicator{opacity:1}.card-image{width:100%;height:100%;min-height:70px;background:var(--bg-tertiary);background-size:cover;background-position:center;position:relative;flex-shrink:0;display:flex;align-items:flex-end;cursor:pointer}.card-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transition:background .2s ease,box-shadow .2s ease;pointer-events:none}.card-image:hover:after{background:#3b82f614;box-shadow:inset 3px 0 0 0 var(--primary-color)}.card-image:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.click-indicator{position:absolute;top:8px;right:8px;color:#94a3b8f2;background:#0f172a33;border-radius:999px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:1;transition:opacity .2s ease,transform .2s ease}.card-image:hover .click-indicator,.card-image:focus-visible .click-indicator{transform:none;color:#e2e8f0;background:#0f172a59}.card.selected .card-image .click-indicator{opacity:0}.card-image:before{content:"Click image to select/deselect";position:absolute;top:34px;left:8px;transform:none;background:#272727cc;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;white-space:nowrap}.card-image:hover:before,.card-image:focus-visible:before{opacity:1}.card-left{position:relative;width:50%;display:flex;flex-direction:column;align-self:stretch}.card-left:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--border-color)}.card-right{width:50%;padding:10px 12px;display:flex;flex-direction:column;justify-content:flex-start;min-height:74px;gap:6px;align-self:stretch}.card-title-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#0000,#0000008c 45%,#000000d9);color:#fff;padding:calc(var(--spacing-xs) + 1px) calc(var(--spacing-sm) + 14px) calc(var(--spacing-xs) + 1px) calc(var(--spacing-sm));font-size:.8rem;font-weight:600}.card-overlay{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);display:flex;gap:var(--spacing-xs);z-index:1}.badge{padding:1px var(--spacing-xs);border-radius:var(--radius-sm);font-size:.65rem;font-weight:500;background:#000000b3;color:#fff;line-height:1.2}.badge.status{background:var(--secondary-color)}.badge.count{background:var(--primary-color)}.card .quantity-badge{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);z-index:3;pointer-events:none;font-size:.85rem;font-weight:600;padding:3px 10px;border-radius:999px}.card-controls{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-xs)}.quantity-container{display:flex;align-items:center;gap:var(--spacing-xs)}.pack-components{font-size:.78rem;color:var(--text-secondary);margin-bottom:var(--spacing-xxs, 4px);flex-shrink:0}.components-label{font-weight:600;color:var(--text-primary);display:block;margin-bottom:4px;font-size:.82rem}.components-list{color:var(--text-secondary);line-height:1.3;min-height:2.6em;max-height:2.6em;overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.card-list-entry{display:none;border:none;background:transparent;padding:0;cursor:pointer;font:inherit}.card-list-entry .entry-title{font-weight:600;color:inherit}.card-list-entry .entry-meta{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.asset-view-list .card{min-height:0;padding:0 var(--spacing-sm);align-items:center;border-radius:var(--radius-md);box-shadow:none}.asset-view-list .card:hover{box-shadow:none;border-color:var(--border-hover)}.asset-view-list .card.selected{background:#3b82f61f;box-shadow:none}.asset-view-list .card-left{display:none}.asset-view-list .card-right{width:100%;padding:0;flex-direction:row;align-items:center;gap:var(--spacing-sm);min-height:0}.asset-view-list .card-list-entry{display:inline-flex;flex:1 1 auto;align-items:center;gap:var(--spacing-xs);font-size:.85rem;text-align:left;color:var(--text-primary)}.card-list-entry .entry-thumb{width:28px;height:28px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-secondary);box-shadow:var(--shadow-xs, 0 1px 3px rgba(0,0,0,.08));flex-shrink:0}.asset-view-list .card-list-entry:hover,.asset-view-list .card.selected .card-list-entry{color:var(--primary-color)}.asset-view-list .card-list-entry:focus-visible{outline:2px solid rgba(56,171,25,.55);outline-offset:2px}.asset-view-list .card-list-entry .entry-meta{color:var(--text-secondary)}.asset-view-list .pack-components,.asset-view-list .biome-availability,.asset-view-list .card-summary,.asset-view-list .card-meta{display:none}.asset-view-list .card-controls{margin-top:0;gap:var(--spacing-xxs, 4px)}.asset-view-list .quantity-container label{display:none}.asset-view-list .quantity-container input{width:48px;min-height:24px;font-size:.75rem;padding:2px 4px}.asset-view-list .selection-indicator,.asset-view-list .click-indicator,.asset-view-list .card-image:before,.asset-view-list .card-image:after{display:none}.asset-view-list .card .quantity-badge{display:none}.asset-empty-state{display:none;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px dashed var(--border-color);color:var(--text-secondary);background:var(--bg-secondary);font-size:.85rem}.asset-empty-state i{color:var(--primary-color);font-size:1rem}.card-title{display:none}.card-description{font-size:.86rem;color:var(--text-soft);line-height:1.35;margin-bottom:0;flex:1}.quantity-input,input[type=number]{width:70px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;text-align:center}.quantity-input:focus{outline:none;border-color:var(--primary-color)}.biome-availability{display:flex;gap:var(--spacing-xxs, 4px);align-items:stretch;margin-bottom:var(--spacing-sm);flex-wrap:wrap}.availability-chip{display:inline-flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;min-width:72px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.availability-chip .chip-label{font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.availability-chip .chip-value{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.1}.biome-availability.packs-available .pack-chip .chip-value{color:var(--primary-color)}.pack-chip{border-color:#3b82f659}.biome-availability.packs-unavailable .pack-chip{opacity:.6;border-style:dashed}.standalone-chip{border-color:#eab3084d}.standalone-chip.is-active{border-color:#eab30899;background:#facc151f}.standalone-chip.is-active .chip-value{color:var(--text-primary)}.quantity-container label{font-weight:600;color:var(--text-primary);font-size:.85rem}.pack-indicator{position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);width:20px;height:20px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;z-index:2}.biome-select::-ms-expand{display:none}.tile-browser{display:flex;flex-direction:column;gap:var(--spacing-xs)}.biome-select{width:100%;padding:var(--spacing-sm) 3.25rem var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:999px;font-size:.875rem;line-height:1.2;min-height:40px;background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7l4.5 6 4.5-6z'/%3E%3C/svg%3E") no-repeat;color:var(--text-primary);margin-bottom:var(--spacing-3xs, .125rem);box-shadow:none;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-size:14px 14px;background-position:calc(100% - 18px) center;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.tile-info{padding:0;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);font-size:.75rem;line-height:1.2;text-align:center;margin:0}.tile-grid-container{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.tile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-color);padding:1px}.tile-slot{aspect-ratio:1;background:var(--bg-primary);background-size:500% 1000%;background-repeat:no-repeat;position:relative;cursor:pointer;transition:var(--transition)}.tile-slot.enhanced-slot{border:1px solid var(--border-color);border-radius:var(--radius-sm)}.tile-slot.enhanced-slot.available{border-color:var(--secondary-color);box-shadow:0 0 0 1px #10b98133}.tile-slot.enhanced-slot.used-up{opacity:.3;cursor:not-allowed;border-color:var(--danger-color)}.tile-slot.enhanced-slot.partially-used{border-color:var(--warning-color);box-shadow:0 0 0 1px #f59e0b33}.tile-slot.enhanced-slot.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f64d;transform:scale(1.05)}.tile-slot .slot-number{position:absolute;top:2px;left:2px;background:#000000b3;color:#fff;font-size:.625rem;font-weight:700;padding:1px 4px;border-radius:2px;z-index:2}.tile-slot .quantity-badge.slot-badge{position:absolute;top:2px;right:2px;background:var(--primary-color);color:#fff;font-size:.625rem;padding:1px 4px;border-radius:2px;z-index:2}.tile-slot .quantity-badge.slot-badge.depleted{background:var(--danger-color)}.tile-slot .quantity-badge.slot-badge.partial{background:var(--accent-color)}.tile-slot .quantity-badge.slot-badge.slot-badge--unlimited{background:#94a3b833;color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=dark] .tile-slot .quantity-badge.slot-badge.slot-badge--unlimited{background:#94a3b840;color:var(--text-secondary);border-color:#94a3b859}.tile-slot .slot-selection-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.5rem;opacity:0;transition:var(--transition);z-index:3}.tile-slot.enhanced-slot.selected .slot-selection-indicator{opacity:1}.tile-slot .slot-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition);z-index:10;margin-bottom:4px}.tile-slot:hover .slot-tooltip{opacity:1}.tile-grid.modern-grid{padding:var(--spacing-sm);gap:var(--spacing-xs)}.enhanced-tile-grid{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden;margin:0}.tile-slot:hover{transform:scale(1.05);z-index:10;box-shadow:var(--shadow-lg)}.tile-slot.selected{outline:2px solid var(--primary-color);outline-offset:-2px}.tile-slot.used{opacity:.3;pointer-events:none}.tile-slot .badge{position:absolute;top:2px;left:2px;font-size:.625rem;padding:1px 4px}.tile-slot .num{position:absolute;bottom:2px;right:4px;font-size:.625rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.map-section{flex:1;position:relative;background:var(--bg-dark);border-radius:var(--panel-radius);border:1px solid rgba(15,23,42,.12);box-shadow:var(--shadow-lg);overflow:hidden;min-width:0;z-index:1}.map-container{width:100%;height:100%;position:relative;background:radial-gradient(circle at 50% 20%,#ffffff1f,#fff0 55%),#2d313b}.map-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.overlay-control-stack{position:absolute;top:var(--spacing-md);right:var(--spacing-md);display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);pointer-events:none;max-width:min(240px,42vw);z-index:11}.overlay-control-stack>*{pointer-events:auto}.control-stack-collapsed{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;position:relative}.control-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.1);background:#ffffffeb;color:var(--text-primary);font-size:.75rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s ease}.control-pill i{color:inherit;font-size:.95rem}.control-pill:not(.control-pill-unified) i{color:var(--primary-color)}.control-pill-unified{padding:6px 12px;font-size:.78rem;background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 10px 24px #0f172a29}.control-pill-unified i{color:#fff}.control-pill-unified[data-section=camera]{padding:7.2px 14.4px;font-size:.936rem}.control-pill-unified[data-section=camera] i{font-size:1.14rem}.control-pill:hover,.control-pill:focus-visible{background:#eef1f6f2;border-color:#38ab1959;color:var(--primary-color);outline:none;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.control-pill-unified:hover,.control-pill-unified:focus-visible{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.control-stack-expanded{width:min(270px,60vw);max-width:270px;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-primary);box-shadow:var(--shadow-lg);color:var(--text-primary);transform-origin:top right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.overlay-control-stack.is-collapsed .control-stack-expanded{opacity:0;visibility:hidden;pointer-events:none;transform:translate(12px) scale(.96)}.overlay-control-stack.is-collapsed .control-stack-collapsed{opacity:1;visibility:visible;transform:translate(0);position:static}.overlay-control-stack:not(.is-collapsed) .control-stack-collapsed{opacity:0;visibility:hidden;pointer-events:none;transform:translate(12px);position:absolute;top:0;right:0}.control-stack-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:0 var(--spacing-sm)}.control-stack-title{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.control-stack-title i{font-size:.9rem}.control-stack-collapse{border:none;background:var(--bg-tertiary);border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease;font-size:.75rem}.control-stack-collapse:hover,.control-stack-collapse:focus-visible{background:var(--bg-primary);border:1px solid var(--primary-color);color:var(--primary-color);outline:none}.control-stack-collapse i{transition:transform .2s ease}.control-stack-body{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-sm)}.control-stack-body>*{display:none}.overlay-control-stack:not(.is-collapsed) .control-stack-body>*{display:flex}.control-pill.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #3b82f666}.control-pill.is-active i{color:#fff}.camera-toolbar{display:none;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);pointer-events:auto;width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.camera-toolbar__header{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.camera-toolbar__header i{font-size:.85rem;color:var(--primary-color)}.camera-buttons{display:flex;gap:var(--spacing-xs)}.camera-buttons--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;margin-bottom:var(--spacing-xs)}.camera-buttons--grid [data-camera-preset=isometric]{grid-column:1 / -1}.camera-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:100%;padding:3px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.68rem;transition:transform .15s ease,background .2s ease,border-color .2s ease;min-width:36px;position:relative}.camera-btn:hover{background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}.camera-btn i{font-size:.9rem;color:currentColor}.camera-btn .camera-label{font-size:.66rem;font-weight:600;letter-spacing:.01em}.camera-btn.active,.camera-btn.camera-btn--primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:none}.camera-btn.camera-btn--primary:hover,.camera-btn.camera-btn--primary.active{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.camera-btn.camera-btn--first-person{margin-top:var(--spacing-xs);justify-content:center;background:var(--accent-color);border-color:var(--accent-color);font-weight:700;color:#fff}.camera-btn.camera-btn--first-person:hover,.camera-btn.camera-btn--first-person.active{background:var(--warning-color);border-color:var(--warning-color);color:#fff;box-shadow:none}.view-toolbar{display:none;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.view-toolbar__header{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.view-toolbar__controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;align-items:stretch}.view-status{display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;min-height:26px;color:var(--text-secondary)}.view-status.view-status--flash{background:#3b82f62e;border-color:#3b82f659;box-shadow:0 0 0 1px #3b82f640}.view-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:4px 46px 4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.66rem;font-weight:600;transition:transform .15s ease,background .2s ease,border-color .2s ease;min-width:36px;min-height:26px;position:relative;width:100%}.view-btn[data-layer-action=down],.view-btn[data-layer-action=up]{gap:4px;padding:4px 48px 4px 8px}.view-btn[data-layer-action=down] i,.view-btn[data-layer-action=up] i{font-size:.72rem}.camera-btn[data-shortcut]:after,.view-btn[data-shortcut]:after{content:attr(data-shortcut);position:absolute;bottom:2px;right:4px;font-size:.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:1px 3px;pointer-events:none}.view-btn:disabled[data-shortcut]:after{opacity:.35}.view-btn i{font-size:.85rem}.view-btn:hover:not(:disabled){background:var(--overlay-chip-hover);border-color:var(--overlay-chip-active-border);color:var(--primary-color);transform:translateY(-1px)}.view-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.view-btn.view-btn--full{justify-content:center;margin-top:var(--spacing-2xs)}.view-btn.view-btn--capture{justify-content:center;margin-top:var(--spacing-2xs);background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:700}.view-btn.view-btn--capture:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.view-btn.view-btn--capture:active{transform:translateY(0);box-shadow:inset 0 2px 6px #0003;background:var(--primary-dark);border-color:var(--primary-dark)}.view-btn.is-active,.view-toolbar.view-toolbar--isolated .view-btn:not(.view-btn--full){background:var(--overlay-chip-active);border-color:var(--overlay-chip-active-border);color:#fff;box-shadow:inset 0 0 0 1px #ffffff26}.view-btn.view-btn--full.is-active{box-shadow:0 0 0 2px #3b82f640}.view-label{font-size:.72rem;font-weight:600}.camera-hint{margin:0;font-size:.7rem;line-height:1.4;color:var(--overlay-panel-muted);display:none;border-top:1px solid var(--overlay-chip-border);padding-top:var(--spacing-xs)}body.camera-first-person .camera-hint{display:block}body.camera-first-person,body.camera-first-person .map-container{cursor:crosshair}@media (max-width: 1200px){.camera-btn .camera-label{display:none}.camera-toolbar{padding:10px;width:auto}.camera-buttons--grid{grid-template-columns:repeat(2,minmax(72px,1fr))}.view-label{display:none}.view-toolbar{padding:10px;width:auto}.view-toolbar__controls{grid-template-columns:repeat(3,minmax(42px,1fr))}.overlay-control-stack{top:var(--spacing-md);right:var(--spacing-sm);left:auto;bottom:auto;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);max-width:min(260px,65vw)}.control-stack-collapsed{flex-direction:column;align-items:flex-end}.control-stack-expanded{width:min(260px,65vw)}}@media (max-width: 768px){.overlay-control-stack{top:var(--spacing-md);right:var(--spacing-xs);left:auto;bottom:auto;transform:none;align-items:flex-end}.control-stack-collapsed{flex-direction:column;align-items:flex-end}.control-pill{padding:6px 10px}.control-stack-expanded{width:min(240px,82vw)}}.camera-btn:focus-visible,.view-btn:focus-visible,.control-pill:focus-visible,.control-stack-collapse:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px}.level-indicator{position:absolute;top:var(--spacing-md);left:var(--spacing-md);background:#ffffffeb;color:var(--secondary-color);padding:8px 18px;border-radius:999px;border:1px solid rgba(15,23,42,.12);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;box-shadow:0 14px 28px #0f172a2e}[data-theme=dark] .level-indicator{background:#202020eb;color:var(--text-primary);border-color:var(--border-color);box-shadow:0 12px 26px #00000073}.controls-hint{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:6px 10px;border-radius:var(--radius-md);font-size:.74rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;max-width:90%}.controls-hint br{content:"";display:block;margin:2px 0}.controls-hint .hint-short{display:none}@media (max-width: 1200px){.controls-hint .hint-long{display:none}.controls-hint .hint-short{display:block}}.ghost-opacity-controls{position:absolute;top:calc(var(--spacing-md) * 2 + 170px);left:var(--spacing-md);background:#000000d9;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;width:220px;pointer-events:auto;box-shadow:0 2px 8px #00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ghost-controls-title{font-weight:700;font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:6px}.ghost-slider{display:grid;grid-template-columns:40px 1fr 42px;align-items:center;gap:8px;margin:6px 0}.ghost-slider input[type=range]{width:100%}.ghost-value{display:inline-block;min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.right-panel{width:var(--right-panel-width);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--panel-radius);box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:width .2s ease;will-change:width;min-width:0;flex:0 0 auto;z-index:100;position:relative;overflow:hidden}.right-panel.collapsed{width:0!important;border-left:none;overflow:hidden;min-width:0!important;resize:none!important}.quick-actions{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-md)}.build-mode-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm)}.build-mode-header{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);color:var(--eyebrow-color);margin-bottom:var(--spacing-sm)}.radio-group.compact{display:flex;flex-direction:column;gap:var(--spacing-xs)}.radio-group.compact .radio-option{font-size:.8rem;padding:var(--spacing-xs)}.action-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.action-buttons .btn{flex:1;min-width:80px;justify-content:center;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm)}.stats-container{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.stats-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:0 18px 30px #0f172a1f}.stats-panel--summary{flex:0 0 auto;box-shadow:0 12px 24px #0f172a1f}.stats-panel--summary .panel-title{padding:10px 14px 2px;font-size:var(--fs-sm);letter-spacing:var(--eyebrow-tracking)}.stats-panel--summary .stats-grid{grid-template-columns:repeat(2,minmax(88px,1fr));gap:6px;padding:8px 14px 12px}.stats-panel--summary .stat-box{padding:6px 8px;gap:2px}.stats-panel--summary .stat-number{font-size:1.05rem}.stats-panel--summary .stat-label{font-size:.58rem;letter-spacing:.1em}.stats-panel--composition,.stats-panel--resource{flex:1 1 0;display:flex;flex-direction:column;min-height:0}.stats-panel--composition .biome-breakdown,.stats-panel--resource .efficiency-metrics{flex:1;padding:14px;overflow-y:visible}.stats-panel:has(.biome-breakdown){max-height:none;overflow:hidden}.panel-title{padding:16px 20px 10px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);font-weight:600;font-size:var(--fs-sm);color:var(--eyebrow-color);display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:var(--eyebrow-tracking)}[data-theme=dark] .panel-title{color:var(--eyebrow-color)}[data-theme=dark] .camera-toolbar__header,[data-theme=dark] .control-stack-title{color:var(--text-muted)}.right-panel .panel-title{padding:12px 18px 6px}.panel-title i{width:1.2em;text-align:center;color:var(--primary-color)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:14px;background:transparent;padding:16px 20px 20px;border:none}.stat-box.full{grid-column:1 / -1}.stat-subtle{color:var(--text-secondary);font-size:.8rem}.progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.progress>.bar{height:100%;width:0%;background:#9ca3af;transition:width .2s ease}.progress>.bar.has-value{min-width:4px}.progress.gray-1>.bar{background:#9ca3af}.progress.gray-2>.bar{background:#6b7280}.progress.gray-3>.bar{background:#4b5563}.progress.gray-4>.bar{background:#374151}.stat-box{background:var(--bg-secondary);padding:14px;text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 1px #ffffffb3}.stats-panel--summary .stat-box{background:var(--bg-primary);border-color:#0f172a0d;box-shadow:inset 0 1px #ffffff80}[data-theme=dark] .stats-panel--summary .stat-box{background:#ffffff0a;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff14}.stat-number{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;color:var(--secondary-color);margin:0}.stats-panel .stat-label{font-size:.7rem;color:var(--eyebrow-color);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);line-height:1.2}.biome-breakdown,.height-chart,.efficiency-metrics{padding:var(--spacing-xs) var(--spacing-sm)}.empty-state{text-align:center;color:var(--text-faint);font-style:normal;font-size:.9rem;font-weight:500;padding:20px}.biome-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.biome-item:last-child{border-bottom:none}.biome-name{font-weight:500;color:var(--text-primary)}.biome-count{font-weight:600;color:var(--primary-color)}@media (max-width: 1200px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 740px){.header-stats{display:none}.left-panel,.right-panel{position:absolute;top:0;bottom:0;z-index:1000;box-shadow:var(--shadow-lg)}.left-panel{left:0;transform:translate(-100%)}.left-panel.open{transform:translate(0)}.right-panel{right:0;width:var(--right-panel-width);transform:translate(100%)}.right-panel.open{transform:translate(0)}.stats-grid{grid-template-columns:1fr}.quick-actions .btn{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.visible{display:block!important}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.biome-breakdown-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.biome-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.biome-header h4{color:var(--text-primary);font-size:.9rem;margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.biome-summary{font-size:.8rem;color:var(--text-secondary);font-weight:500}.biome-scrollable{max-height:300px;overflow-y:auto;padding-right:var(--spacing-xs)}.biome-scrollable::-webkit-scrollbar{width:6px}.biome-scrollable::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.biome-scrollable::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.biome-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.biome-item-detailed{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);overflow:hidden}.biome-main-info{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);cursor:pointer;transition:var(--transition)}.biome-main-info:hover{background:var(--bg-primary)}.biome-name-section{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.biome-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.biome-parent{font-size:.75rem;color:var(--text-secondary);font-style:italic}.biome-stats-section{display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:right;flex:1}.biome-count-main{font-weight:600;color:var(--primary-color);font-size:.9rem}.biome-count-small{font-weight:400;color:var(--text-secondary);font-size:.8rem}.biome-sets-info{display:flex;flex-direction:column;gap:2px}.sets-required{font-size:.75rem;color:var(--text-primary);font-weight:500}.sets-required-large{font-size:1rem;color:var(--primary-color);font-weight:700}.sets-owned{font-size:.75rem;color:var(--text-muted)}.biome-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;white-space:nowrap}.status-ok{background:#10b9811a;color:var(--secondary-color);border:1px solid rgba(16,185,129,.3)}.status-need{background:#f59e0b1a;color:var(--accent-color);border:1px solid rgba(245,158,11,.3)}.environment-packs{padding:var(--spacing-md);background:var(--bg-primary);border-top:1px solid var(--border-color)}.packs-header{font-size:.8rem;color:var(--text-secondary);font-weight:500;margin-bottom:var(--spacing-sm)}.packs-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.pack-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.75rem}.pack-name{color:var(--text-primary)}.pack-quantity{color:var(--primary-color);font-weight:600}.biome-usage-section h4,.shopping-list-section h4{color:var(--text-primary);font-size:.9rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.biome-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.biome-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.biome-name{font-weight:600;color:var(--text-primary);font-size:.85rem}.biome-count{font-size:.75rem;color:var(--text-secondary)}.biome-stats{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.biome-percentage{font-weight:600;color:var(--primary-color);font-size:.85rem}.biome-sets{font-size:.75rem;color:var(--text-muted)}.shopping-empty{text-align:center;color:var(--secondary-color);font-weight:500;padding:var(--spacing-md);background:#10b9811a;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.3)}.shopping-summary{background:var(--bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border-left:4px solid var(--accent-color)}.shopping-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.shopping-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.shopping-name{font-weight:600;color:var(--text-primary);font-size:.85rem}.shopping-parent{font-size:.75rem;color:var(--text-secondary)}.shopping-count{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.need-count{font-weight:600;color:var(--danger-color);font-size:.85rem}.have-count{font-size:.75rem;color:var(--text-muted)}.efficiency-content{display:flex;flex-direction:column;gap:0}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:0;border:none;border-bottom:1px solid var(--border-color)}.metric-item:last-child{border-bottom:none}.metric-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.85rem;color:var(--text-primary)}.metric-help{width:16px;height:16px;background:var(--text-muted);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;cursor:help}.metric-value{font-weight:600;font-size:.9rem}.metric-excellent{color:var(--primary-color)}.metric-good{color:#38ab19bf}.metric-fair{color:var(--accent-color)}.metric-poor{color:var(--warning-color)}.metric-very-poor{color:var(--danger-color)}.mode-info{text-align:center;padding:var(--spacing-lg)}.mode-info h4{color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.mode-info p{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.mode-info small{color:var(--text-muted);font-style:italic}.instructions-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.instructions-container{background:var(--bg-primary);border-radius:var(--radius-xl);position:relative;width:auto;min-width:800px;max-width:90vw;max-height:92vh;overflow-y:auto;overflow-x:auto;box-shadow:var(--shadow-lg);font-family:var(--font-body);animation:slideUp .3s ease-out;scroll-behavior:smooth}.instructions-container:after{content:"";display:block;min-width:800px}.instructions-container.is-loading{filter:saturate(.75)}.instructions-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;background:#080a0ec7;text-align:center;opacity:0;visibility:hidden;transition:opacity .25s ease;border-radius:var(--radius-xl);pointer-events:none;color:#f5f5f5;z-index:250}.instructions-container.is-loading .instructions-loading{opacity:1;visibility:visible}.instructions-loading-spinner{width:52px;height:52px;border-radius:50%;border:5px solid rgba(255,255,255,.18);border-top-color:var(--primary-color);animation:instr-spin 1s linear infinite}.instructions-loading-primary{font-size:var(--fs-md);font-weight:600;color:#fff;margin:0}.instructions-loading-secondary{font-size:var(--fs-sm);color:#ffffffc7;margin:0;max-width:24rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes instr-spin{to{transform:rotate(360deg)}}.instr-header{position:sticky;top:0;background:var(--bg-primary);z-index:100;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:2px solid var(--border-color);box-shadow:0 2px 8px #0000000d}.instr-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.instr-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm);margin:0}.instr-title i{color:var(--primary-color)}.instr-header-actions{display:flex;gap:var(--spacing-xs)}.instr-stats{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.instr-stat-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--fs-sm)}.instr-stat-item i{color:var(--primary-color);font-size:var(--fs-md)}.instr-stat-item .label{color:var(--text-secondary);font-weight:500}.instr-stat-item .value{color:var(--text-primary);font-weight:700}.instr-stat-separator{width:1px;height:20px;background:var(--border-color)}.instr-toolbar{position:sticky;top:0;background:var(--bg-primary);z-index:90;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 6px #0000000a}.instr-toolbar.sticky{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa}.instr-toolbar-section{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.instr-toolbar-section.view-options{padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.instr-toolbar-section.export-actions{padding-top:var(--spacing-xs)}.instr-toolbar-section.print-options{padding-top:var(--spacing-xs);border-top:1px solid var(--border-color)}.print-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:1;justify-content:flex-start}@media (max-width: 900px){.print-controls{justify-content:flex-start}}.print-scale-heading{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-right:8px}.print-scale-heading i{color:var(--primary-color)}.print-scale-options{display:inline-flex;align-items:center;gap:12px;margin-right:10px}.print-scale-option{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-primary);cursor:pointer;padding:4px 6px;border-radius:6px;transition:background .2s ease}.print-scale-option input[type=radio]{width:14px;height:14px;cursor:pointer;border-radius:50%}.print-scale-option .print-scale-label{font-weight:600;letter-spacing:.01em}.print-scale-option input[type=radio]{accent-color:var(--primary-color)}.print-scale-option input[type=radio]+.print-scale-label{color:inherit}.print-scale-option input[type=radio]:checked+.print-scale-label{color:var(--primary-color)}.print-scale-option input[type=radio]:focus-visible{outline:2px solid rgba(56,171,25,.45);outline-offset:2px}.print-scale-option:hover{background:#0f172a0f}.instr-toolbar-section .section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap;flex-shrink:0}.instr-toolbar-section .section-title i{color:var(--primary-color);font-size:var(--fs-sm)}.view-toggles{display:flex;flex-wrap:wrap;gap:3px;align-items:center;flex:1}.export-buttons{display:flex;flex-direction:row;gap:var(--spacing-xs);align-items:center;flex:1}.export-buttons .btn{white-space:nowrap;justify-content:center;min-width:auto;font-size:var(--fs-xs);padding:6px 10px}.export-buttons .btn.success{background:var(--primary-color);color:#fff}.export-buttons .btn-compact{padding:6px 10px;font-size:var(--fs-xs);display:flex;align-items:center;gap:4px}.export-buttons .btn i{font-size:var(--fs-sm)}.view-toggles .view-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3px;padding:4px 5px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-muted);color:var(--text-secondary);cursor:pointer;transition:var(--transition);box-shadow:inset 0 1px #ffffff94;white-space:nowrap;font-size:var(--fs-xs);flex:1 1 auto;min-width:0;max-width:140px}.view-toggles .view-toggle:hover{border-color:var(--border-hover);background:var(--surface-hover-strong);color:var(--text-primary)}.view-toggles .view-toggle.is-active{background:#38ab191f;border-color:#38ab1961;color:var(--text-primary);box-shadow:0 4px 8px #38ab191a}.view-toggles .view-toggle-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.view-toggles .view-toggle-icon{color:var(--primary-color);opacity:.7;transition:opacity .2s ease;font-size:.65rem;flex-shrink:0}.view-toggles .view-toggle.is-active .view-toggle-icon{opacity:1}.view-toggles .view-toggle-label{font-size:.7rem;font-weight:500;text-align:left;overflow:hidden;text-overflow:ellipsis}.view-toggles .view-toggle-switch{width:26px;height:14px;background:var(--border-color);border-radius:7px;position:relative;transition:background .2s ease;flex-shrink:0}.view-toggles .view-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.view-toggles .view-toggle.is-active .view-toggle-switch{background:var(--primary-color)}.view-toggles .view-toggle.is-active .view-toggle-switch:after{transform:translate(12px)}.instr-layers-container{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl)}.instr-layer{margin-bottom:var(--spacing-xl);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);page-break-inside:avoid;transition:box-shadow .2s ease}.instr-layer:hover{box-shadow:0 4px 12px #00000014}.instr-layer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.layer-title-group{flex:1}.layer-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-xs) 0}.layer-title i{color:var(--primary-color)}.layer-name{font-weight:700}.layer-level{color:var(--text-secondary);font-weight:500;font-size:var(--fs-md)}.layer-info{display:flex;align-items:center;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--fs-sm)}.layer-info .tile-count{display:flex;align-items:center;gap:var(--spacing-xs)}.layer-info i{color:var(--primary-color)}.layer-actions{display:flex;gap:var(--spacing-xs)}.instr-canvas-wrap{background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;display:flex;justify-content:center;align-items:center}.layer-canvas{display:block;max-width:100%;height:auto;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:#f8f9fa;box-shadow:var(--shadow-sm)}[data-theme=dark] .layer-canvas{background:#1a1a1a;border-color:#ffffff1a}.axis-frame{display:grid;grid-template-columns:auto max-content;grid-template-rows:1fr auto;column-gap:8px;row-gap:12px;align-items:center;justify-items:center;justify-content:center;margin:8px auto;width:fit-content;width:-moz-fit-content;width:-webkit-fit-content;max-width:100%;position:relative}.axis-left{display:flex;flex-direction:column;gap:4px;align-items:flex-end;justify-content:space-between;height:100%;z-index:2}.axis-bottom{grid-column:2 / 3;display:flex;gap:8px;align-items:center;justify-content:space-between;width:100%;padding-bottom:10px;margin-top:6px;z-index:2}.axis-label{font-size:.75rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:2px 6px;white-space:nowrap;box-shadow:0 1px 2px #0000000f}.axis-label.q{background:#38ab191f;border-color:#38ab1966}.axis-label.r{background:#27272714;border-color:#27272740}.axis-frame .instr-canvas-wrap{padding-bottom:14px}.tiles-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.tiles-list h4{color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.1rem}.tiles-list-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.biome-section{padding:var(--spacing-sm);background:#fff;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.biome-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.biome-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-xs)}.tile-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.84rem;color:var(--text-secondary);border:1px solid var(--border-color);line-height:1.2}.tile-tag .tile-num{font-weight:600;color:var(--text-primary)}.tile-tag .coords{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text-secondary)}.tile-tag .rot{color:var(--text-muted)}.tiles-accordion{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm)}.tiles-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.tiles-accordion>summary::-webkit-details-marker{display:none}.tiles-accordion>summary:before{content:"▶";display:inline-block;transform:rotate(90deg);transition:transform .15s ease;color:var(--text-secondary)}.tiles-accordion[open]>summary:before{transform:rotate(90deg)}.tiles-accordion:not([open])>summary:before{transform:rotate(0)}.biome-accordion{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:var(--spacing-xs) 0}.biome-accordion>summary{list-style:none;cursor:pointer;padding:6px 10px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.biome-accordion>summary::-webkit-details-marker{display:none}.biome-accordion>summary:after{content:"▼";color:var(--text-secondary);font-size:.8rem;transition:transform .15s ease}.biome-accordion[open]>summary:after{transform:rotate(180deg)}.biome-accordion .biome-section{border:none;border-radius:0}.axis-legend{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--text-secondary);font-size:.9rem;background:var(--bg-secondary);border-left:4px solid var(--primary-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm)}.axis-legend i{color:var(--text-secondary);margin-top:2px}.instr-layer-figure{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.instr-layer:first-of-type .instr-layer-figure{margin-top:var(--spacing-sm)}.instr-layer-details{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.instructions-container.hide-details .instr-layer-figure{padding-bottom:0}.instructions-container.hide-details .instr-layer-details{display:none}.instr-layer-details>.tiles-list,.instr-layer-details>.tiles-accordion,.instr-layer-details>.biome-accordion{width:100%}.instructions-actions{display:flex;align-items:center;justify-content:center;gap:10px;z-index:150;margin:var(--spacing-md) 0;padding:var(--spacing-sm) 0 var(--spacing-md);border-top:1px solid var(--border-color)}.instructions-actions .btn{padding:8px 14px;font-size:.88rem;min-width:120px}.instructions-actions.top{justify-content:flex-end;margin:var(--spacing-sm) 0 var(--spacing-md);padding:0;border-top:none;gap:8px}.instructions-close{position:absolute;top:10px;right:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm)}.instructions-close:hover{background:var(--border-hover);color:var(--text-primary)}.instructions-close i{pointer-events:none}.instructions-interactive{position:relative}.instructions-print-document{display:none;width:100%}.instructions-container.printing{background:#fff;color:#111827}.instructions-container.printing .instructions-interactive{display:none!important}.instructions-container.printing .instructions-print-document{display:block;width:100%;background:#fff;font-family:Segoe UI,Arial,sans-serif;line-height:1.35;color:#111827}@media print{.instructions-close{display:none!important}}@media print{@page{size:A4 landscape;margin:10mm 12mm}body{overflow:visible!important;background:#fff!important}html,body{height:auto!important}body:has(.instructions-container) .top-header,body:has(.instructions-container) .main-layout,body:has(.instructions-container) .left-panel,body:has(.instructions-container) .right-panel,body:has(.instructions-container) .map-section,body:has(.instructions-container) .edge-toggle,body:has(.instructions-container) .header-controls,body:has(.instructions-container) .integrated-toolbar,body:has(.instructions-container) .map-overlay{display:none!important}.instructions-overlay{display:block!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important;background:none!important;z-index:auto!important}.instructions-container{width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border:none!important;padding:0!important;margin:0!important;color:#111827!important;overflow:visible!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.instructions-container.is-loading{filter:none!important}.instructions-loading,.instructions-interactive,.instr-toolbar,.instr-header-actions,.layer-actions,.instructions-actions,.instructions-container button,.instructions-container .btn,.instructions-container [role=button]{display:none!important}*{box-shadow:none!important;text-shadow:none!important}.instructions-print-document{display:block!important;padding:0!important;margin:0!important;font-family:Segoe UI,Arial,sans-serif;line-height:1.35;color:#111827!important}.print-header{margin:0 0 3mm;padding:0 0 2mm;border-bottom:.5px solid #d1d5db!important}.print-header-title{display:flex;flex-wrap:wrap;gap:2.4mm;align-items:baseline;font-size:13.8pt;margin:0 0 1mm;font-weight:700;color:#0f172a!important}.print-header-title .print-header-stats{font-size:9pt;letter-spacing:.04em;font-weight:600;color:#1f2937!important;white-space:nowrap}.print-meta{display:flex;gap:2.4mm;margin:1.5mm 0 0}.print-meta-item{display:flex;flex-direction:row;gap:1.2mm;font-size:8.3pt;color:#475569!important}.print-meta-label{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.print-meta-value{color:#111827!important}.print-layers{display:flex;flex-direction:column;gap:5mm}.print-layer{padding:0;background:#fff!important;page-break-after:always;break-after:page}.print-layer:last-of-type{page-break-after:auto;break-after:auto}.print-layer-header{display:flex;justify-content:space-between;align-items:center;gap:4mm;margin:0 0 1.6mm;padding:0 0 .8mm;border-bottom:.6px solid #cbd5e1!important}.print-layer-title{font-size:12.5pt;font-weight:700;letter-spacing:.008em;color:#111827!important}.print-layer-meta{font-size:8pt;letter-spacing:.05em;text-transform:uppercase;color:#475569!important}.print-layer-body{display:block;margin-top:4mm}.print-layer.scale-original .print-layer-body{margin-top:3mm}.print-layer.scale-original.has-details .print-layer-body{display:block;margin-top:3.5mm}.print-layer.scale-original .print-layer-figure{display:flex;flex-direction:column;gap:2mm}.print-layer .print-layer-tilesheets{display:none}.print-layer.scale-original .print-layer-tilesheets{display:flex;flex-direction:column;gap:0}.print-layer.scale-original .print-layer-sheet{margin:0;padding:0;page-break-before:auto;page-break-inside:avoid}.print-layer.scale-original .print-layer-sheet.continuation{page-break-before:always}.print-layer.scale-original .print-layer-sheet img{display:block;width:auto;height:auto;max-width:none;max-height:none;image-rendering:pixelated}.print-layer.scale-original .print-layer-image--fit{display:none!important}.print-layer:not(.scale-original) .print-layer-image--fit{display:block}.print-layer:not(.scale-original) .print-layer-tilesheets{display:none!important}.print-layer-figure{margin:0}.print-layer-image--fit{width:100%;max-height:160mm;object-fit:contain;border:.5px solid #d1d5db!important;background:#fff!important;page-break-inside:avoid}.print-layer.has-details .print-layer-image--fit{max-height:152mm}.print-layer-details{border-top:.6px solid #d1d5db!important;padding-top:2.4mm;margin-top:0;font-size:9pt;page-break-inside:avoid}.print-layer:not(.scale-original) .print-layer-details{border-top:.6px solid #d1d5db!important;padding-top:6mm;margin-top:0;page-break-before:always}.print-layer.scale-original.has-details .print-layer-details{border-left:none;border-top:.6px solid #d1d5db!important;padding-left:0;padding-top:3mm;margin-top:3mm}.print-biome-group{margin-bottom:3mm;page-break-inside:avoid}.print-biome-title{font-size:10.5pt;font-weight:600;margin:0 0 2mm;color:#1f2937!important}.print-tile-table{width:100%;border-collapse:collapse;font-size:9.5pt}.print-tile-table thead{display:table-header-group;background:#f1f5f9!important}.print-tile-table th,.print-tile-table td{border:.6px solid #d1d5db!important;padding:1.6mm 2mm;text-align:left}.print-tile-table tbody tr:nth-child(2n){background:#f8fafc!important}.print-tile-table tbody tr{page-break-inside:avoid}.print-tile-table td:first-child{font-weight:600;white-space:nowrap}.print-tile-table td+td{white-space:nowrap}.instructions-container.hide-details .print-layer-details{display:none!important}}@media (max-width: 768px){.instructions-container{width:95vw;padding:var(--spacing-md)}.instructions-summary{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.layer-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.layer-stats{flex-direction:column;gap:var(--spacing-xs)}.instructions-actions{flex-direction:column;align-items:center}.biome-tiles{justify-content:center}}:root{--success-color: #38AB19}[data-theme=dark]{--bg-primary: #232323;--bg-secondary: #262626;--bg-tertiary: #2b2b2b;--bg-dark: #1a1a1a;--bg-elevated: #2a2a2a;--surface-muted: #2f2f2f;--secondary-color: #f4f4f4;--text-primary: #e5e5e5;--text-secondary: #cfcfcf;--text-muted: #adadad;--text-soft: rgba(229, 229, 229, .82);--text-subtle: rgba(229, 229, 229, .72);--text-faint: rgba(229, 229, 229, .6);--text-placeholder: rgba(229, 229, 229, .45);--icon-muted: rgba(229, 229, 229, .6);--surface-hover: rgba(255, 255, 255, .06);--surface-hover-strong: rgba(255, 255, 255, .12);--border-color: #333333;--border-hover: #444444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .35);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .45), 0 4px 6px -4px rgb(0 0 0 / .45);--header-bg: var(--bg-primary);--overlay-panel-bg: rgba(35, 35, 35, .98);--overlay-panel-border: rgba(51, 51, 51, 1);--overlay-panel-shadow: 0 8px 24px rgba(0, 0, 0, .5);--overlay-panel-text: #e5e5e5;--overlay-panel-muted: #adadad;--overlay-chip-bg: rgba(43, 43, 43, 1);--overlay-chip-border: rgba(68, 68, 68, 1);--overlay-chip-hover: rgba(59, 130, 246, .2);--overlay-chip-active: rgba(59, 130, 246, .85);--overlay-chip-active-border: rgba(96, 165, 250, .6);--overlay-capture-gradient: linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(29, 78, 216, 1));--overlay-pill-icon: rgba(147, 197, 253, .95)}[data-theme=dark] .biome-card .availability-chip{background:#17202de6;border-color:#94a3b859}[data-theme=dark] .biome-card .availability-chip .chip-label,[data-theme=dark] .biome-card .availability-chip .chip-value{color:#e2e8f0eb}[data-theme=dark] .asset-view-grid .biome-card .availability-chip{background:#0f172ad9;border-color:#60a5fa59}[data-theme=dark] .biome-card .pack-chip .chip-value{color:#7dd3fcf2}[data-theme=dark] .biome-card .standalone-chip.is-active{border-color:#facc15a6;background:#facc153d}[data-theme=dark] .biome-card .standalone-chip .chip-value{color:#ffedd5f2}*{scrollbar-color:var(--border-hover) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn-toolbar:focus-visible,.btn:focus-visible,.btn-icon:focus-visible,input:focus-visible,select:focus-visible,.card:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab193d;background:#38ab1914}.btn-icon.theme-toggle i.fa-sun{color:#fbbf24}.btn-icon.theme-toggle i.fa-moon{color:#60a5fa}.left-panel:not(.collapsed){overflow-y:auto;overflow-x:hidden;min-width:240px;max-width:60vw}.left-resize-handle{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:transparent;z-index:2}.left-resize-handle:after{content:"";position:absolute;left:2px;bottom:2px;top:auto;transform:none;width:16px;height:16px;background:linear-gradient(315deg,transparent 48%,var(--text-secondary) 48%,var(--text-secondary) 52%,transparent 52%),linear-gradient(315deg,transparent 68%,var(--text-secondary) 68%,var(--text-secondary) 72%,transparent 72%),radial-gradient(closest-side,var(--bg-primary) 95%,transparent 96%);border-radius:50%;box-shadow:0 1px 2px #00000026;opacity:1;pointer-events:none}.left-resize-handle:hover:after{background:linear-gradient(315deg,transparent 48%,var(--primary-color) 48%,var(--primary-color) 52%,transparent 52%),linear-gradient(315deg,transparent 68%,var(--primary-color) 68%,var(--primary-color) 72%,transparent 72%),radial-gradient(closest-side,var(--bg-primary) 95%,transparent 96%)}.right-panel:not(.collapsed){overflow:auto;min-width:240px;max-width:50vw}.right-panel:not(.collapsed){overflow-y:auto;overflow-x:hidden}.right-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:transparent;z-index:2}.right-resize-handle:after{content:"";position:absolute;right:2px;bottom:2px;top:auto;transform:none;width:16px;height:16px;background:linear-gradient(135deg,transparent 48%,var(--text-secondary) 48%,var(--text-secondary) 52%,transparent 52%),linear-gradient(135deg,transparent 68%,var(--text-secondary) 68%,var(--text-secondary) 72%,transparent 72%),radial-gradient(closest-side,var(--bg-primary) 95%,transparent 96%);border-radius:50%;box-shadow:0 1px 2px #00000026;opacity:1;pointer-events:none}.right-resize-handle:hover:after{background:linear-gradient(135deg,transparent 48%,var(--primary-color) 48%,var(--primary-color) 52%,transparent 52%),linear-gradient(135deg,transparent 68%,var(--primary-color) 68%,var(--primary-color) 72%,transparent 72%),radial-gradient(closest-side,var(--bg-primary) 95%,transparent 96%)}.biome-card.available-from-packs{border-left:4px solid var(--primary-color);background-image:linear-gradient(90deg,rgb(56 171 25 / .08),transparent)}.biome-card.unavailable{border-left:4px solid var(--text-muted);opacity:.9}.biome-card.unavailable .card-image{filter:grayscale(.25) brightness(.92)}.biome-card[data-biome-id^=gs_]{--biome-accent-color: #22c55e;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(34,197,94,.05),transparent)}.biome-card[data-biome-id^=bl_]{--biome-accent-color: #a16207;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(161,98,7,.06),transparent)}.biome-card[data-biome-id^=mt_]{--biome-accent-color: #64748b;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(100,116,139,.06),transparent)}.biome-card[data-biome-id^=ds_]{--biome-accent-color: #eab308;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(234,179,8,.06),transparent)}.biome-card[data-biome-id^=oc_]{--biome-accent-color: #06b6d4;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(6,182,212,.06),transparent)}.biome-card[data-biome-id^=ar_]{--biome-accent-color: #7dd3fc;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(125,211,252,.06),transparent)}.biome-card[data-biome-id^=vo_]{--biome-accent-color: #fb923c;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(251,146,60,.06),transparent)}.biome-card[data-biome-id^=ms_]{--biome-accent-color: #16a34a;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(22,163,74,.06),transparent)}.biome-card[data-biome-id^=tv_]{--biome-accent-color: #a78bfa;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(167,139,250,.06),transparent)}.biome-card[data-biome-id^=cv_]{--biome-accent-color: #a3a3a3;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(163,163,163,.06),transparent)}.biome-card[data-biome-id^=st_]{--biome-accent-color: #60a5fa;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(96,165,250,.06),transparent)}.biome-card[data-biome-id^=dg_]{--biome-accent-color: #8b5cf6;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(139,92,246,.06),transparent)}.biome-card[data-biome-id^=sh_]{--biome-accent-color: #6b7280;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(107,114,128,.06),transparent)}.biome-card[data-biome-id^=bk_]{--biome-accent-color: #9ca3af;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(156,163,175,.06),transparent)}.biome-card[data-biome-id^=mc_]{--biome-accent-color: #0ea5e9;border-left-color:var(--biome-accent-color);background-image:linear-gradient(90deg,rgba(14,165,233,.06),transparent)}.biome-card[data-biome-id^=gs_] .pack-indicator{background:#22c55e}.biome-card[data-biome-id^=bl_] .pack-indicator{background:#a16207}.biome-card[data-biome-id^=mt_] .pack-indicator{background:#64748b}.biome-card[data-biome-id^=ds_] .pack-indicator{background:#eab308}.biome-card[data-biome-id^=oc_] .pack-indicator{background:#06b6d4}.biome-card[data-biome-id^=ar_] .pack-indicator{background:#7dd3fc}.biome-card[data-biome-id^=vo_] .pack-indicator{background:#fb923c}.biome-card[data-biome-id^=ms_] .pack-indicator{background:#16a34a}.biome-card[data-biome-id^=tv_] .pack-indicator{background:#a78bfa}.biome-card[data-biome-id^=cv_] .pack-indicator{background:#a3a3a3}.biome-card[data-biome-id^=st_] .pack-indicator{background:#60a5fa}.biome-card[data-biome-id^=dg_] .pack-indicator{background:#8b5cf6}.biome-card[data-biome-id^=sh_] .pack-indicator{background:#6b7280}.biome-card[data-biome-id^=bk_] .pack-indicator{background:#9ca3af}.biome-card[data-biome-id^=mc_] .pack-indicator{background:#0ea5e9}.asset-view-grid .biome-card{padding-left:0;background-image:none;border-left:4px solid var(--biome-accent-color)}.asset-view-grid .biome-card:before{content:none}[data-theme=dark] .asset-view-grid .biome-card:before{content:none}.asset-view-grid .biome-card .pack-indicator{display:none}.asset-view-grid .biome-card .card-right{padding:calc(var(--spacing-sm) - 2px) var(--spacing-sm) var(--spacing-xs);gap:var(--spacing-xxs, 4px)}.asset-view-grid .biome-card .card-left:after{opacity:.65}.asset-view-grid .biome-card .card-summary,.asset-view-grid .biome-card .card-meta{display:none}.asset-view-grid .biome-card .biome-availability{margin-bottom:var(--spacing-xxs, 4px);padding:0;background:transparent;box-shadow:none}.asset-view-grid .biome-card .availability-chip{background:#ffffffbf;border-color:#0000001f;min-width:62px;padding:5px 8px}.asset-view-grid .biome-card .availability-chip .chip-label{color:var(--text-secondary);font-size:.6rem}.asset-view-grid .biome-card .availability-chip .chip-value{color:var(--text-primary);font-size:.9rem}.asset-view-grid .biome-card .standalone-chip.is-active{border-color:#facc158c;background:#facc152e}.asset-view-grid .biome-card .quantity-container{margin-top:0;gap:var(--spacing-xxs, 4px)}.asset-view-grid .biome-card .quantity-container label{font-size:.8rem}.asset-view-grid .biome-card .quantity-container input{width:56px;padding:2px 6px;min-height:28px;font-size:.82rem}@media (max-width: 1100px){.card{flex-direction:column}.card-left,.card-right{width:100%!important}.card-image{height:140px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.instructions-controls{display:flex;gap:8px;align-items:center;margin:8px 0 12px}.instructions-controls.align-right{justify-content:flex-end}.tiles-list-toolbar{display:inline-flex;gap:6px;align-items:center;margin:0 0 6px 8px}.btn-compact{padding:4px 10px;font-size:12px;line-height:1.2}.layer-view-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--spacing-md);padding:18px 22px;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-primary);box-shadow:var(--shadow-sm)}.layer-view-toolbar .view-toggle-group{display:flex;flex-direction:column;gap:10px}.layer-view-toolbar .toolbar-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--text-secondary)}.layer-view-toolbar .view-toggle-row{display:flex;gap:14px;justify-content:flex-start;align-items:stretch;flex-wrap:nowrap}.view-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-muted);color:var(--text-secondary);cursor:pointer;transition:var(--transition);min-width:160px;box-shadow:inset 0 1px #ffffff94;white-space:nowrap;flex:1 1 0}.view-toggle:hover{border-color:var(--border-hover);background:var(--surface-hover-strong);color:var(--text-primary)}.view-toggle.is-active{background:#38ab191f;border-color:#38ab1961;color:var(--text-primary);box-shadow:0 8px 16px #38ab191f}.view-toggle-input{position:absolute;width:0;height:0;opacity:0}.view-toggle-icon{font-size:.95rem;color:inherit}.view-toggle-label{font-weight:600;letter-spacing:-.01em;color:var(--text-primary);flex:1 1 auto;text-align:left}.view-toggle-switch{position:relative;width:40px;height:20px;border-radius:999px;background:#2727272e;flex:0 0 auto;margin-left:8px;transition:var(--transition)}.view-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a33;transition:var(--transition)}.view-toggle-input:checked~.view-toggle-switch{background:var(--primary-color)}.view-toggle-input:checked~.view-toggle-switch:after{transform:translate(18px)}.view-toggle-input:focus-visible~.view-toggle-switch{box-shadow:0 0 0 3px #38ab1947}.print-controls .view-toggle{padding:8px 12px;gap:8px;min-width:0;flex:0 0 auto}.print-controls .view-toggle-icon{font-size:.85rem}.print-controls .view-toggle-label{font-size:.78rem;line-height:1.2}.print-controls .view-toggle-switch{width:32px;height:18px;margin-left:6px}.print-controls .view-toggle-switch:after{width:14px;height:14px}.print-controls .view-toggle-input:checked~.view-toggle-switch:after{transform:translate(14px)}@media (max-width: 900px){.layer-view-toolbar .view-toggle-row{flex-wrap:wrap;justify-content:center}.view-toggle{flex:1 1 calc(50% - 12px)}}@media (max-width: 640px){.view-toggle-row{flex-wrap:wrap;gap:10px}.view-toggle{width:100%;flex:1 1 100%}}[data-theme=dark] .layer-view-toolbar{background:#2a2c30f2;border-color:#94a3b833;box-shadow:0 22px 48px #00000059}[data-theme=dark] .view-toggle{background:#ffffff14;border-color:#ffffff2e;color:var(--text-primary);box-shadow:none}[data-theme=dark] .view-toggle:hover{background:#38ab1929;border-color:#38ab1973}[data-theme=dark] .view-toggle.is-active{background:#38ab1938;border-color:#bbf7d073;box-shadow:0 14px 24px #00000040}[data-theme=dark] .view-toggle-switch{background:#ffffff2e}[data-theme=dark] .view-toggle-switch:after{background:var(--bg-primary)}.coords-hint{font-size:.72rem;color:var(--text-secondary);margin-left:4px}.biome-accordion>summary,.tiles-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.tiles-accordion>summary .tiles-list-toolbar{margin-left:auto}.instructions-header+.instructions-actions{margin-top:12px}.instructions-actions.bottom{border-top:1px dashed var(--border-color)}@media (max-width: 1200px){.instr-toolbar{gap:var(--spacing-xs)}.instr-toolbar-section{flex-direction:column;align-items:flex-start}.view-toggles,.export-buttons{width:100%}}@media (max-width: 900px){.print-controls{gap:var(--spacing-xs)}.print-controls .view-toggle{flex:0 0 auto;max-width:200px}.instructions-container{min-width:95vw;max-width:95vw;max-height:95vh;border-radius:var(--radius-lg)}.instr-header{padding:var(--spacing-md)}.instr-title{font-size:var(--fs-xl)}.instr-stats{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.instr-stat-separator{display:none}.instr-toolbar{padding:var(--spacing-sm) var(--spacing-md)}.instr-layers-container,.instr-layer{padding:var(--spacing-md)}.export-buttons{flex-direction:column}.export-buttons .btn{width:100%}}@media (max-width: 600px){.instr-title-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.instr-header-actions{align-self:flex-end}.instr-layer-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.layer-actions{align-self:flex-end}}[data-theme=dark] .instructions-overlay{background:#000000e6}[data-theme=dark] .instructions-container{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}[data-theme=dark] .instr-header{border-bottom-color:#ffffff1a}[data-theme=dark] .instr-toolbar{border-bottom-color:#ffffff1a;box-shadow:0 2px 6px #0003;background:#262626}[data-theme=dark] .instr-toolbar.sticky{background:#262626}[data-theme=dark] .instr-toolbar-section.view-options{border-right-color:#ffffff1a}[data-theme=dark] .instr-layer{background:#ffffff08}[data-theme=dark] .instr-layer:hover{box-shadow:0 4px 12px #0006}[data-theme=dark] .instr-layer-header{border-bottom-color:#ffffff1a}[data-theme=dark] .instr-canvas-wrap{background:#ffffff05}[data-theme=dark] .axis-frame{background:transparent}[data-theme=dark] .layer-canvas{background:var(--bg-dark);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .axis-label{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .tiles-list{background:var(--bg-secondary)}[data-theme=dark] .tiles-accordion{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .tiles-accordion>summary{color:var(--text-primary)}[data-theme=dark] .biome-accordion{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .biome-accordion>summary{background:var(--bg-primary);border-bottom-color:var(--border-color)}[data-theme=dark] .biome-section{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .axis-legend{background:var(--bg-secondary);border-left-color:var(--primary-color)}[data-theme=dark] .instructions-actions{border-top-color:var(--border-color)}[data-theme=dark] .instructions-container .btn.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .instructions-container .btn.btn-secondary:hover{background:var(--border-hover)}[data-theme=dark] .instructions-container .btn.btn-primary{color:#fff}[data-theme=dark] .instructions-container .btn-icon{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .instructions-container .btn-icon:hover{background:var(--border-hover);color:var(--text-primary)}.debug-viewport{position:fixed;left:8px;bottom:8px;background:#000000b3;color:#fff;padding:6px 8px;border-radius:6px;font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;z-index:10000;box-shadow:0 2px 8px #00000059;pointer-events:none}.debug-viewport.hidden{display:none!important}.debug-viewport .line{opacity:.95}.debug-viewport .muted{opacity:.75}.restart-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;align-items:center;justify-content:center;animation:restartFadeIn .3s ease-out}.restart-modal.hidden{display:none}.restart-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.restart-content{position:relative;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;width:90vw;padding:2rem;border:1px solid var(--border-color)}.restart-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--warning-color)}.restart-header i{font-size:1.25rem}.restart-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.restart-body{margin-bottom:2rem;color:var(--text-secondary)}.restart-body p{margin:0 0 .5rem;line-height:1.5}.restart-body strong{color:var(--danger-color)}.restart-footer{display:flex;gap:1rem;justify-content:flex-end}.restart-footer .btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition)}.restart-footer .btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.restart-footer .btn-danger{background:var(--danger-color);color:#fff;border:1px solid var(--danger-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition)}.restart-footer .btn-danger:hover{background:#dc2626;border-color:#dc2626}@keyframes restartFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.welcome-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;animation:welcomeFadeIn .6s ease-out}.welcome-modal.hidden{display:none}.welcome-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.welcome-content{position:relative;background:var(--bg-primary);border-radius:var(--panel-radius);box-shadow:var(--shadow-lg);max-width:600px;width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;padding:2.5rem;border:1px solid var(--border-color)}.welcome-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem;text-align:center;justify-content:center}.welcome-logo{width:64px;height:64px;object-fit:contain}.welcome-titles h1{font-size:1.75rem;font-weight:700;color:var(--secondary-color);margin:0 0 .5rem;line-height:1.2}.beta-badge{display:inline-block;background:var(--primary-color);color:#fff;padding:.35rem .8rem;border-radius:1rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--primary-color)}.welcome-body{display:flex;flex-direction:column;gap:1.5rem;flex:1 1 auto;overflow-y:auto;min-height:0;scrollbar-gutter:stable}.welcome-intro h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem;font-weight:600}.welcome-intro p{color:var(--text-secondary);line-height:1.6;margin:0}.exclusive-access{background:var(--surface-muted);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border-color)}.kickstarter-info{display:flex;gap:1rem;align-items:flex-start}.kickstarter-info i{color:var(--accent-color);font-size:1.5rem;margin-top:.25rem;flex-shrink:0}.kickstarter-copy,.beta-password-form{display:flex;flex-direction:column;gap:.75rem}.password-label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.password-input{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}.password-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #5761ff26}.password-input.is-invalid{border-color:var(--danger-color);box-shadow:0 0 0 2px #dc262626}.password-input.is-valid{border-color:var(--success-color);box-shadow:0 0 0 2px #38ab1926}.password-message{min-height:1.1rem;font-size:.85rem;color:var(--text-muted)}.password-message.is-error{color:var(--danger-color)}.password-message.is-success{color:var(--success-color)}.kickstarter-info h3{font-size:1rem;color:var(--text-primary);margin:0 0 .5rem;font-weight:600}.kickstarter-info p{color:var(--text-secondary);margin:0;line-height:1.5}.loading-section{padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.loading-info h4{font-size:1rem;color:var(--text-primary);margin:0 0 .5rem;font-weight:600}.loading-info p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.progress-container{display:flex;flex-direction:column;gap:.75rem}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.progress-fill{height:100%;background:var(--primary-color);width:0%;transition:width .3s ease;border-radius:4px}.progress-stats{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.progress-stats #progress-percentage{color:var(--primary-color);font-weight:600}.progress-stats #progress-details{color:var(--text-muted)}.welcome-footer{margin-top:2rem;text-align:center}.start-button{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);padding:1rem 2rem;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition)}.start-button:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.start-button:disabled{opacity:.6;cursor:not-allowed}.logo-section{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}.logo-text{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.logo-text h1{margin:0;display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-xl);font-weight:600;color:var(--secondary-color);line-height:1}.beta-indicator{background:var(--primary-color);color:#fff;padding:.15rem .45rem;border-radius:.5rem;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--primary-color);align-self:flex-start;white-space:nowrap}@media (max-width: 600px){.welcome-content{padding:1.75rem 1.25rem 1.5rem;width:94vw;max-height:92vh}.welcome-body{max-width:20rem;margin:0 auto;width:100%}.welcome-intro h2{font-size:1.15rem}.welcome-intro p,.kickstarter-info p{font-size:.95rem}.exclusive-access,.loading-section{padding:1.25rem}.kickstarter-info{flex-direction:row;align-items:center;gap:.75rem}.kickstarter-info i{margin-top:0}.welcome-footer{margin-top:1.25rem;padding-top:.75rem}}@keyframes welcomeFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-theme=dark] .welcome-content{background:var(--bg-dark);border-color:var(--border-color)}[data-theme=dark] .welcome-titles h1{color:var(--text-primary)}[data-theme=dark] .exclusive-access{background:var(--bg-secondary)}[data-theme=dark] .loading-section{background:var(--bg-primary)}[data-theme=dark] .restart-content{background:var(--bg-dark);border-color:var(--border-color)}[data-theme=dark] .restart-header h3{color:var(--text-primary)}[data-theme=dark] .restart-footer .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .restart-footer .btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notification-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:420px;width:100%}.notification{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:0 10px 25px #0f172a26,0 4px 8px #0f172a14;display:flex;align-items:flex-start;gap:14px;pointer-events:all;animation:slideInRight .3s ease-out;transition:all .2s ease;max-width:100%;word-wrap:break-word}.notification:hover{box-shadow:0 12px 30px #0f172a33,0 6px 10px #0f172a1a;transform:translateY(-2px)}.notification.removing{animation:slideOutRight .3s ease-in forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.notification-icon{font-size:20px;flex-shrink:0;margin-top:2px}.notification.success .notification-icon{color:var(--primary-color)}.notification.error .notification-icon{color:var(--danger-color)}.notification.warning .notification-icon{color:var(--warning-color)}.notification.info .notification-icon{color:#3b82f6}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;color:var(--text-primary);margin-bottom:4px;font-size:var(--fs-md)}.notification-message{color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.notification-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s;flex-shrink:0}.notification-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay.closing{animation:fadeOut .2s ease-in forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:0 20px 50px #0f172a4d,0 8px 16px #0f172a33;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay.closing .modal-content{animation:scaleOut .2s ease-in forwards}@keyframes scaleOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-header{padding:28px 32px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;gap:16px;position:relative}.modal-icon{font-size:28px;flex-shrink:0;margin-top:2px}.modal-icon.success{color:var(--primary-color)}.modal-icon.error{color:var(--danger-color)}.modal-icon.warning{color:var(--warning-color)}.modal-icon.info{color:#3b82f6}.modal-title{flex:1;font-size:var(--fs-xl);font-weight:700;color:var(--text-primary);font-family:var(--font-display);margin:0}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s;font-size:18px}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:24px 32px 32px}.modal-action-row{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-action-row .btn{min-width:96px;justify-content:center}[data-theme=dark] .modal-action-row .btn-secondary{background:#f8fafc1f;color:#f8fafceb}[data-theme=dark] .modal-action-row .btn-secondary:hover:not(:disabled){background:#f8fafc2e}.modal-message{color:var(--text-secondary);font-size:var(--fs-md);line-height:1.6;margin-bottom:20px}.share-link-container{display:flex;gap:12px;margin-bottom:16px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.share-link-input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;font-family:Courier New,monospace;font-size:var(--fs-sm);color:var(--text-primary);transition:all .2s}.share-id-container{margin-bottom:16px;padding:16px;border-radius:var(--radius-lg);border:1px dashed var(--border-color);background:#38ab190d}.share-id-label{display:block;font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:8px}.share-id-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;font-family:Courier New,monospace;font-size:var(--fs-sm);color:var(--text-primary);transition:all .2s}.share-id-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab191a}.share-id-hint{margin-top:8px;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.4}.share-link-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #38ab191a}.btn-copy{background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 20px;font-weight:600;font-size:var(--fs-sm);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;white-space:nowrap}.btn-copy:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #38ab1940}.btn-copy:active{transform:translateY(0)}.btn-copy.copied{background:#10b981}.modal-hint{color:var(--text-muted);font-size:var(--fs-sm);display:flex;align-items:center;gap:8px;margin:0}.modal-hint i{color:#3b82f6}[data-theme=dark] .notification{background:var(--bg-dark);border-color:#ffffff1a;box-shadow:0 10px 25px #0000004d,0 4px 8px #0003}[data-theme=dark] .modal-overlay{background:#000c}[data-theme=dark] .modal-content{background:var(--bg-dark);box-shadow:0 20px 50px #00000080,0 8px 16px #0000004d}[data-theme=dark] .modal-header{border-bottom-color:#ffffff1a}[data-theme=dark] .share-link-container{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .share-link-input{background:#0000004d;border-color:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .share-id-container{background:#38ab1926;border-color:#ffffff1f}[data-theme=dark] .share-id-input{background:#0000004d;border-color:#ffffff1f;color:var(--text-primary)}[data-theme=dark] .share-id-hint{color:#e5e7ebb3}@media (max-width: 760px){.notification-container{top:60px;right:12px;left:12px;max-width:none}.notification{padding:14px 16px}.modal-content{margin:12px;max-height:calc(100vh - 24px)}.modal-header{padding:20px 20px 16px}.modal-body{padding:16px 20px 24px}.share-link-container{flex-direction:column}.btn-copy{width:100%;justify-content:center}}
