.theme-modal{z-index:99999;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.theme-modal.open{display:flex}.theme-modal-backdrop{-webkit-backdrop-filter:blur(4px);background:#00000080;animation:.15s tm-fade-in;position:absolute;inset:0}@keyframes tm-fade-in{0%{opacity:0}to{opacity:1}}.theme-modal-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:min(520px,100% - 2rem);max-height:calc(100vh - 2rem);padding:1.25rem;animation:.15s tm-slide-in;position:relative;overflow-y:auto;box-shadow:0 16px 48px #0006}@keyframes tm-slide-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.theme-modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.theme-modal-title-group{align-items:center;gap:.75rem;display:flex}.theme-modal-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.theme-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.theme-modal-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.theme-modal-hint{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.15rem .4rem;font-size:.65rem}@media (width<=640px){.theme-modal-hint{display:none}}.theme-modal-group+.theme-modal-group{margin-top:.25rem}.theme-modal-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;font-size:.65rem;font-weight:700;display:flex}.theme-modal-rec-legend{letter-spacing:.04em;text-transform:none;color:var(--text-muted);opacity:.8;align-items:center;gap:.3rem;font-size:.6rem;font-weight:500;display:inline-flex}.theme-modal-rec-legend-star{color:var(--accent-text);font-size:.7rem;line-height:1}.theme-modal-subgroup+.theme-modal-subgroup{margin-top:.75rem}.theme-modal-sublabel{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.85;margin-bottom:.4rem;font-size:.6rem;font-weight:600;display:block}.theme-modal-grid{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.theme-modal-design-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.theme-modal-divider{background:var(--border-color);height:1px;margin:.875rem 0}.theme-modal-swatch{border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.8rem;font-weight:500;display:flex;position:relative}.theme-modal-swatch:hover{background:var(--bg-card-hover);color:var(--text-primary)}.theme-modal-swatch.active{color:var(--text-primary);background:var(--bg-card-hover)}.theme-modal-color{background:linear-gradient(135deg, var(--tm-bg) 50%, var(--tm-accent) 50%);border:1.5px solid var(--border-color-hover);border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem}.theme-modal-swatch.active .theme-modal-color{border-color:var(--accent-text);box-shadow:0 0 0 2px var(--glow-color)}.theme-modal-name{text-overflow:ellipsis;overflow:hidden}.theme-modal-rec-badge{color:var(--accent-text);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);margin-left:auto;font-size:.7rem;line-height:1;transform:scale(.7)}.theme-modal-swatch[data-rec=true] .theme-modal-rec-badge{opacity:1;transform:scale(1)}.theme-modal-swatch[data-rec=true] .theme-modal-color{border-color:var(--accent-text);box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent-start) 55%, transparent)}.theme-modal-swatch[data-rec=true] .theme-modal-name{color:var(--text-primary)}.theme-modal-design{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:.65rem;padding:.5rem;display:flex}.theme-modal-design:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.theme-modal-design.active{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--glow-color);color:var(--text-primary)}.theme-modal-design-preview{border-radius:var(--td-radius,.5rem);background:var(--bg-secondary);border:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;position:relative;overflow:hidden}.theme-modal-design-sample{font-family:var(--td-font,inherit);color:var(--text-primary);font-size:.95rem;font-weight:700;line-height:1}.theme-modal-design[data-preview-style=gradient] .theme-modal-design-preview{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-secondary) 55%, color-mix(in oklab, var(--accent-start) 35%, var(--bg-secondary)) 100%)}.theme-modal-design[data-preview-style=gradient] .theme-modal-design-preview:after{content:"";background:linear-gradient(90deg, var(--accent-start), var(--accent-end));height:3px;position:absolute;top:0;left:0;right:0}.theme-modal-design[data-preview-style=serif] .theme-modal-design-sample{font-style:italic}.theme-modal-design[data-preview-style=serif] .theme-modal-design-preview{border-bottom:2px solid var(--text-primary);border-radius:0}.theme-modal-design[data-preview-style=grid] .theme-modal-design-preview{border:1px solid var(--text-primary);border-radius:0}.theme-modal-design[data-preview-style=grid] .theme-modal-design-preview:before{content:"02";color:#e10600;font-variant-numeric:tabular-nums;font-size:.55rem;font-weight:800;line-height:1;position:absolute;top:2px;right:4px}.theme-modal-design[data-preview-style=pixel] .theme-modal-design-preview{border:2px solid var(--text-primary);box-shadow:2px 2px 0 var(--text-primary);background:var(--bg-secondary);border-radius:0}.theme-modal-design[data-preview-style=pixel] .theme-modal-design-sample{font-size:.65rem}.theme-modal-design[data-preview-style=terminal] .theme-modal-design-preview{border:1px dashed var(--accent-start);background:var(--bg-secondary);background-image:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 3px);border-radius:0}.theme-modal-design[data-preview-style=terminal] .theme-modal-design-sample{color:var(--accent-text);font-size:.8rem}.theme-modal-design[data-preview-style=terminal] .theme-modal-design-sample:before{content:">";opacity:.7;margin-right:2px}.theme-modal-design[data-preview-style=neon] .theme-modal-design-preview{border:1px solid var(--accent-start);background:linear-gradient(transparent 0, transparent 60%, color-mix(in oklab, var(--accent-start) 35%, transparent) 100%), var(--bg-secondary);box-shadow:0 0 10px color-mix(in oklab, var(--accent-start) 40%, transparent), inset 0 0 8px color-mix(in oklab, var(--accent-start) 15%, transparent);border-radius:0}.theme-modal-design[data-preview-style=neon] .theme-modal-design-sample{text-shadow:-1px 0 #ff2e88,1px 0 #00f0ff;letter-spacing:.04em;font-weight:800}.theme-modal-design[data-preview-style=paper] .theme-modal-design-preview{background-color:var(--bg-secondary);background-image:linear-gradient(to right, color-mix(in oklab, var(--text-primary) 12%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--text-primary) 12%, transparent) 1px, transparent 1px);border:1px solid color-mix(in oklab, var(--text-primary) 35%, transparent);box-shadow:2px 3px 0 color-mix(in oklab, var(--text-primary) 20%, transparent);background-size:8px 8px;border-radius:.4rem;transform:rotate(-2deg)}.theme-modal-design[data-preview-style=paper] .theme-modal-design-sample{position:relative;transform:rotate(2deg)}.theme-modal-design[data-preview-style=paper] .theme-modal-design-sample:after{content:"";background:color-mix(in oklab, var(--accent-start) 40%, #fff58a);opacity:.6;z-index:-1;border-radius:1px;height:5px;position:absolute;bottom:2px;left:-2px;right:-2px}.theme-modal-design[data-preview-style=raw] .theme-modal-design-preview{border:3px solid var(--text-primary);box-shadow:3px 3px 0 var(--text-primary);background:#ffe000;border-radius:0}.theme-modal-design[data-preview-style=raw] .theme-modal-design-sample{color:#000;font-style:italic;font-weight:900}.theme-modal-design[data-preview-style=schematic] .theme-modal-design-preview{background-color:color-mix(in oklab, var(--bg-secondary) 82%, var(--accent-start));background-image:linear-gradient(to right, color-mix(in oklab, var(--accent-start) 45%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--accent-start) 45%, transparent) 1px, transparent 1px);border:1px solid var(--accent-start);background-size:6px 6px;border-radius:0;position:relative}.theme-modal-design[data-preview-style=schematic] .theme-modal-design-preview:before,.theme-modal-design[data-preview-style=schematic] .theme-modal-design-preview:after{content:"";border:2px solid var(--accent-start);z-index:1;width:6px;height:6px;position:absolute}.theme-modal-design[data-preview-style=schematic] .theme-modal-design-preview:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.theme-modal-design[data-preview-style=schematic] .theme-modal-design-preview:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.theme-modal-design[data-preview-style=schematic] .theme-modal-design-sample{letter-spacing:.05em;font-size:.8rem}.theme-modal-design[data-preview-style=tex] .theme-modal-design-preview{background:color-mix(in oklab, #f4ecd8 30%, var(--bg-secondary));border-top:1px solid var(--text-primary);border-bottom:1px solid var(--text-primary);border-left:0;border-right:0;border-radius:0}.theme-modal-design[data-preview-style=tex] .theme-modal-design-preview:before{content:"§ 1";letter-spacing:0;color:var(--accent-text);font-family:EB Garamond,Crimson Pro,serif;font-size:.5rem;font-style:italic;position:absolute;top:3px;left:3px}.theme-modal-design[data-preview-style=tex] .theme-modal-design-sample{font-style:italic;font-weight:400}.theme-modal-design[data-preview-style=editor] .theme-modal-design-preview{background:var(--bg-secondary);border:1px solid var(--border-color-hover);border-radius:.2rem;overflow:hidden}.theme-modal-design[data-preview-style=editor] .theme-modal-design-preview:before{content:"";background:color-mix(in oklab, var(--bg-primary) 60%, transparent);border-bottom:1px solid var(--border-color);height:7px;position:absolute;top:0;left:0;right:0}.theme-modal-design[data-preview-style=editor] .theme-modal-design-preview:after{content:"";background:color-mix(in oklab, var(--bg-primary) 50%, transparent);border-right:1px solid color-mix(in oklab, var(--text-muted) 40%, transparent);width:8px;position:absolute;top:7px;bottom:0;left:0}.theme-modal-design[data-preview-style=editor] .theme-modal-design-sample{color:#98c379;margin-top:4px;margin-left:6px;font-size:.75rem}.theme-modal-design[data-preview-style=riso] .theme-modal-design-preview{background-color:color-mix(in oklab, var(--accent-start) 15%, var(--bg-secondary));background-image:radial-gradient(color-mix(in oklab, var(--accent-end) 50%, transparent) 1px, transparent 1.4px);border:2px solid var(--text-primary);box-shadow:2px 2px 0 color-mix(in oklab, var(--accent-end) 70%, transparent);background-size:5px 5px;border-radius:.2rem}.theme-modal-design[data-preview-style=riso] .theme-modal-design-sample{text-shadow:-1px 1px #ff5b88a6,1px -1px #3ad3ffa6;font-weight:900}.theme-modal-design[data-preview-style=deco] .theme-modal-design-preview{background:radial-gradient(ellipse 100% 60% at 50% 0%, #c9a96173, transparent 70%), linear-gradient(180deg, color-mix(in oklab, var(--bg-secondary) 70%, #1a1308) 0%, color-mix(in oklab, var(--bg-secondary) 90%, #0d0905) 100%);box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--bg-secondary) 90%, #0d0905), inset 0 0 0 3px #c9a961;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);border:1px solid #c9a961;border-radius:0}.theme-modal-design[data-preview-style=deco] .theme-modal-design-sample{background:linear-gradient(135deg,#e8cf89 0%,#b88d3a 50%,#e8cf89 100%);-webkit-text-fill-color:transparent;letter-spacing:.15em;text-transform:uppercase;background-clip:text;font-weight:400}.theme-modal-design[data-preview-style=zen] .theme-modal-design-preview{background:linear-gradient(to right, color-mix(in oklab, var(--text-primary) 35%, transparent) 0, color-mix(in oklab, var(--text-primary) 35%, transparent) 1px, transparent 1px), color-mix(in oklab, var(--bg-primary) 80%, #f2ece1);border:1px solid color-mix(in oklab, var(--text-primary) 15%, transparent);box-shadow:none;background-position:10px 0;background-repeat:no-repeat,no-repeat;background-size:1px 70%,100% 100%;background-origin:content-box,padding-box;border-radius:0}.theme-modal-design[data-preview-style=zen] .theme-modal-design-sample{color:color-mix(in oklab, var(--text-primary) 90%, transparent);letter-spacing:.08em;font-style:italic;font-weight:400}.theme-modal-design[data-preview-style=zine] .theme-modal-design-preview{background:linear-gradient(135deg, color-mix(in oklab, #ffd84d 60%, var(--bg-primary)) 0 10px, transparent 10px 18px), color-mix(in oklab, var(--bg-primary) 80%, #f4efe3);border:2px solid var(--text-primary);box-shadow:2px 2px 0 var(--text-primary);background-position:8px -6px,0 0;background-repeat:no-repeat,no-repeat;background-size:22px 10px,100% 100%;border-radius:0;transform:rotate(-2deg)}.theme-modal-design[data-preview-style=zine] .theme-modal-design-sample{letter-spacing:0;text-transform:uppercase;font-family:Arial Black,Helvetica Neue,sans-serif;font-weight:900}.theme-modal-design[data-preview-style=comic] .theme-modal-design-preview{background-color:#fff;background-image:radial-gradient(color-mix(in oklab, var(--accent-start) 55%, transparent) 1.2px, transparent 1.6px);background-size:6px 6px;border:2px solid #0a0a0a;border-radius:.4rem;box-shadow:3px 3px #0a0a0a}.theme-modal-design[data-preview-style=comic] .theme-modal-design-sample{color:var(--accent-text);letter-spacing:.05em;text-shadow:-1.5px 0 #0a0a0a,1.5px 0 #0a0a0a,0 -1.5px #0a0a0a,0 1.5px #0a0a0a,2px 2px #0a0a0a;font-family:Bangers,Inter Tight,sans-serif;font-weight:400;transform:rotate(-3deg)}.theme-modal-design[data-preview-style=news] .theme-modal-design-preview{background:color-mix(in oklab, var(--bg-primary) 75%, #f4eedd);border:3px double var(--text-primary);box-shadow:none;border-radius:0;position:relative}.theme-modal-design[data-preview-style=news] .theme-modal-design-preview:after{content:"";border-top:1px solid var(--text-primary);border-bottom:1px solid var(--text-primary);height:3px;position:absolute;bottom:18%;left:8%;right:8%}.theme-modal-design[data-preview-style=news] .theme-modal-design-sample{letter-spacing:.02em;color:var(--text-primary);font-family:UnifrakturMaguntia,Playfair Display,Georgia,serif;font-weight:400}.theme-modal-design-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.theme-modal-design-name{color:var(--text-primary);font-size:.85rem;font-weight:600;line-height:1.2}.theme-modal-design-blurb{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.3;display:-webkit-box;overflow:hidden}.theme-modal-footer{border-top:1px solid var(--border-color);color:var(--text-muted);text-align:center;margin-top:.75rem;padding-top:.5rem;font-size:.7rem}.theme-modal-footer kbd{font-family:var(--font-mono);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;padding:.1rem .3rem;font-size:.65rem}@media (width<=480px){.theme-modal-design-grid{grid-template-columns:1fr}}@media (width<=640px){.theme-modal{align-items:flex-end}.theme-modal-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85dvh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));animation:.2s tm-slide-up}@keyframes tm-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.theme-modal-design-grid{grid-template-columns:1fr;gap:.4rem}.theme-modal-design{padding:.45rem}.theme-modal-design-preview{width:2.25rem;height:2.25rem}.theme-modal-grid{grid-template-columns:1fr 1fr;gap:.2rem}.theme-modal-swatch{gap:.4rem;padding:.35rem .4rem;font-size:.75rem}.theme-modal-color{width:1.1rem;height:1.1rem}.theme-modal-footer{font-size:.65rem}}
