a[href="#main-content"]{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}a[href="#main-content"]:focus{position:fixed;top:var(--space-2);left:var(--space-2);width:auto;height:auto;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-interface);font-size:.875rem;z-index:9999;outline:2px solid var(--color-text-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}.text-narrative{font-family:var(--font-narrative);font-size:1.125rem;line-height:1.75;color:var(--color-text-primary)}.text-narrative p{margin-bottom:var(--space-4)}.text-narrative p:last-child{margin-bottom:0}.text-narrative em{font-style:italic;color:inherit}.text-narrative.scene-spacing p{margin-bottom:var(--space-6)}.text-narrative.preserve-breaks{white-space:pre-line}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;transition:color .15s}a:hover{color:var(--color-accent-hover)}body{font-family:var(--font-interface),system-ui,sans-serif;background:var(--color-canvas);color:var(--color-text-primary);margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}body,body>*{position:relative}body>*{z-index:1}.text-technical{font-family:var(--font-system);font-size:.875rem;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.text-ui{font-family:var(--font-interface);font-size:1rem;line-height:1.5;color:var(--color-text-primary)}.font-narrative{font-family:var(--font-narrative)}.font-system{font-family:var(--font-system)}.button,.font-interface{font-family:var(--font-interface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;line-height:1;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.button:disabled{opacity:.5;pointer-events:none}.button-default{background:var(--color-accent);color:var(--color-text-inverse);border:1px solid var(--color-accent)}.button-default:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.button-secondary{background:var(--color-surface-hover);color:var(--color-text-primary);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong,var(--color-border))}.button-outline{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.button-outline:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong,var(--color-border))}.button-ghost{background:transparent;color:var(--color-text-primary);border:1px solid transparent}.button-ghost:hover{background:var(--color-surface-hover)}.button.button-link{background:transparent;color:var(--color-accent);border:1px solid transparent;text-decoration:underline;text-underline-offset:2px;padding:0;min-height:auto}.button-link:hover{color:var(--color-accent-hover)}.button-destructive{background:var(--color-danger);color:var(--color-text-inverse);border:1px solid var(--color-danger)}.button-destructive:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.button-success{background:var(--color-success);color:var(--color-text-inverse);border:1px solid var(--color-success)}.button-success:hover{background:var(--color-success-hover,var(--color-success));border-color:var(--color-success-hover,var(--color-success))}.button-info{background:var(--color-accent-soft);color:var(--color-accent);border:1px solid var(--color-accent)}.button-info:hover{background:var(--color-accent);color:var(--color-text-inverse)}.button-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning-border)}.button-warning:hover{background:var(--color-warning);color:var(--color-text-inverse)}.button-size-default{padding:var(--space-2) var(--space-4);min-height:2.25rem}.button-size-sm{padding:var(--space-1) var(--space-3);font-size:.75rem;min-height:1.75rem}.button-size-lg{padding:var(--space-3) var(--space-6);font-size:1rem;min-height:2.75rem}.button-size-icon{padding:var(--space-2);min-height:2.25rem;min-width:2.25rem}.button-size-icon svg{width:1rem;height:1rem}.dark-mode-toggle,.theme-switcher{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.dark-mode-toggle-option,.theme-switcher-option{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-2);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-system);font-size:.625rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:color .12s ease,background-color .12s ease}.dark-mode-toggle-option{padding:var(--space-1) var(--space-1_5)}.dark-mode-toggle-option svg{width:14px;height:14px}.dark-mode-toggle-option:hover,.theme-switcher-option:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.dark-mode-toggle-option-active,.theme-switcher-option-active{color:var(--color-text-primary);background:var(--color-surface-hover)}.dark-mode-toggle-option-compact,.theme-switcher-option-compact{padding:.1875rem .375rem;font-size:.5625rem}.dark-mode-toggle-option-compact svg{width:12px;height:12px}.ending-triumphant{background-color:hsl(var(--ending-triumphant))}.ending-bittersweet{background-color:hsl(var(--ending-bittersweet))}.ending-mysterious{background-color:hsl(var(--ending-mysterious))}.ending-tragic{background-color:hsl(var(--ending-tragic))}.ending-hopeful{background-color:hsl(var(--ending-hopeful))}.narrative-history-segments{display:flex;flex-direction:column;gap:var(--space-5)}.narrative-segment{display:flex;flex-direction:column;gap:var(--space-3)}.inventory-category-list{display:flex;flex-direction:column;gap:var(--space-8)}.app-surface-default,.app-surface-manuscript{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas)}.default-surface-main{flex:1;min-height:0}.default-surface-inner{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-4)}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem var(--space-4) 3rem;position:relative;overflow:hidden}.home-hero:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--color-text-primary) 12%,transparent) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 0,hsl(0deg 0% 0%) 20%,transparent 80%);mask-image:radial-gradient(ellipse 100% 100% at 50% 0,hsl(0deg 0% 0%) 20%,transparent 80%)}.home-hero:after,.home-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.home-hero:after{background:radial-gradient(ellipse 70% 60% at 50% 110%,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent)}.home-hero-logo{width:5.5rem;height:5.5rem;margin-bottom:var(--space-5);position:relative;z-index:1;animation:home-fade-up .5s ease both,home-logo-float 6s ease-in-out .5s infinite}.home-hero-title{font-family:var(--font-narrative);font-size:clamp(3.5rem,10vw,5rem);font-weight:400;line-height:1;letter-spacing:-.025em;color:var(--color-text-primary);margin:0 0 var(--space-4);position:relative;z-index:1;animation:home-fade-up .5s ease .1s both}.home-hero-tagline{font-family:var(--font-interface);font-size:1.0625rem;line-height:1.65;color:var(--color-text-secondary);max-width:30rem;margin:0;position:relative;z-index:1;animation:home-fade-up .5s ease .18s both}.home-dashboard{border-top:1px solid var(--color-border);padding-top:var(--space-6)}@keyframes home-fade-up{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes home-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.375rem)}}@media (width >= 768px){.home-hero{padding:5rem var(--space-4) 4rem}.home-hero-logo{width:7rem;height:7rem}.home-hero-tagline{font-size:1.125rem}}[data-theme=ds1] .home-hero{padding:3rem var(--space-4) 2.5rem}[data-theme=ds1] .home-hero:before{display:none}[data-theme=ds1] .home-hero:after{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-accent) 6%,transparent) 70%)}[data-theme=ds1] .home-hero-title{letter-spacing:-.02em;font-weight:400;margin-bottom:var(--space-3)}[data-theme=ds1] .home-hero-title:after{content:"";display:block;width:2px;height:48px;margin:var(--space-4) auto var(--space-2);background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .home-hero-tagline{max-width:32rem;letter-spacing:.005em}[data-theme=ds1] .home-dashboard{border-top-color:var(--color-border-strong);padding-top:var(--space-5)}@media (width >= 768px){[data-theme=ds1] .home-hero{padding:4rem var(--space-4) 3rem}[data-theme=ds1] .home-hero-title:after{height:64px}}[data-theme=ds2] .home-hero{padding:clamp(4rem,9vh,6rem) var(--space-4) clamp(3rem,7vh,5rem)}[data-theme=ds2] .home-hero:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--color-text-primary) 8%,transparent) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 110% 100% at 50% 0,hsl(0deg 0% 0%) 30%,transparent 90%);mask-image:radial-gradient(ellipse 110% 100% at 50% 0,hsl(0deg 0% 0%) 30%,transparent 90%)}[data-theme=ds2] .home-hero:after{background:radial-gradient(ellipse 80% 70% at 50% 110%,color-mix(in srgb,var(--color-accent) 14%,transparent),transparent 70%)}[data-theme=ds2] .home-hero-logo{margin-bottom:var(--space-6);animation:home-fade-up .8s cubic-bezier(.19,1,.22,1) both,home-logo-float 8s ease-in-out .6s infinite}[data-theme=ds2] .home-hero-title{font-weight:400;letter-spacing:-.015em;font-size:clamp(3.25rem,9vw,4.5rem);margin-bottom:var(--space-5);animation:home-fade-up .8s cubic-bezier(.19,1,.22,1) .12s both}[data-theme=ds2] .home-hero-tagline{font-size:1.125rem;line-height:1.7;max-width:34rem;animation:home-fade-up .8s cubic-bezier(.19,1,.22,1) .24s both}[data-theme=ds2] .home-dashboard{border-top:none;padding-top:clamp(3rem,7vh,5rem)}@media (width >= 768px){[data-theme=ds2] .home-hero{padding:clamp(5rem,11vh,8rem) var(--space-4) clamp(4rem,9vh,6rem)}[data-theme=ds2] .home-hero-tagline{font-size:1.1875rem}}[data-theme=ds3] .home-hero{padding:4rem var(--space-4) 3rem}[data-theme=ds3] .home-hero:before{display:none}[data-theme=ds3] .home-hero:after{background:radial-gradient(ellipse 75% 65% at 50% 115%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 75%)}[data-theme=ds3] .home-hero-title{font-style:normal;font-weight:400;letter-spacing:-.012em;margin-bottom:var(--space-3)}[data-theme=ds3] .home-hero-title:after{content:"";display:block;width:96px;height:4px;margin:var(--space-4) auto var(--space-2);background-image:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}[data-theme=ds3] .home-hero-tagline{font-family:var(--font-narrative);font-style:italic;font-size:1.125rem;line-height:1.6;letter-spacing:.005em;color:var(--color-text-secondary)}[data-theme=ds3] .home-dashboard{border-top:none;padding-top:var(--space-6);position:relative}[data-theme=ds3] .home-dashboard:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x}@media (width >= 768px){[data-theme=ds3] .home-hero{padding:5rem var(--space-4) 4rem}[data-theme=ds3] .home-hero-tagline{font-size:1.1875rem}}@media (prefers-reduced-motion:reduce){[data-theme=ds2] .home-hero-logo,[data-theme=ds2] .home-hero-tagline,[data-theme=ds2] .home-hero-title{animation:none}}.app-surface-workshop{display:flex;min-height:100vh;background:var(--color-canvas);position:relative}.workshop-sidebar{width:18rem;min-width:18rem;height:100vh;overflow-y:auto;position:sticky;top:0;background:var(--color-surface-hover);border-right:1px solid var(--color-border);z-index:30}.workshop-sidebar-nav{min-height:100%;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-4) var(--space-3)}.workshop-sidebar-brand-row{padding:0 var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border)}.workshop-sidebar-brand{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-text-primary)}.workshop-sidebar-primary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.workshop-sidebar-primary-link{display:block;padding:var(--space-2) var(--space-3);font-family:var(--font-interface);font-size:.95rem;letter-spacing:.01em;color:var(--color-text-secondary);text-decoration:none;border-left:2px solid transparent;transition:color .12s ease,border-color .12s ease,background .12s ease}.workshop-sidebar-primary-link:hover{color:var(--color-text-primary)}.workshop-sidebar-primary-link:focus-visible{color:var(--color-text-primary);outline:2px solid var(--color-accent);outline-offset:-2px}.workshop-sidebar-primary-link[data-active=true]{color:var(--color-text-primary);border-left-color:var(--color-accent);background:var(--color-accent-soft)}.workshop-sidebar-worlds-section{display:flex;flex-direction:column;gap:var(--space-2)}.workshop-sidebar-section-label{margin:0;padding:0 var(--space-1);font-family:var(--font-system);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.workshop-sidebar-worlds-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.workshop-sidebar-world-item{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--space-2) var(--space-2);width:100%;min-height:auto;padding:var(--space-2) var(--space-3);text-align:left;border:1px solid transparent;border-radius:var(--radius)}.workshop-sidebar-world-item[data-active=true]{background:var(--color-surface);border-color:var(--color-border)}.workshop-sidebar-world-name{grid-column:1;font-family:var(--font-narrative);font-size:.95rem;line-height:1.2;color:var(--color-text-primary);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workshop-sidebar-world-meta{grid-column:1;font-family:var(--font-system);font-size:.7rem;letter-spacing:.04em;color:var(--color-text-muted)}.workshop-sidebar-world-item svg{grid-column:2;grid-row:1/span 2;align-self:center;color:var(--color-accent)}.workshop-sidebar-spacer{flex:1 1 auto;min-height:var(--space-2)}.workshop-sidebar-toolbar{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-top:1px solid var(--color-border);background:var(--color-surface-hover);position:sticky;bottom:0}.workshop-sidebar-toolbar>*{flex-shrink:0}.workshop-workspace{flex:1;min-width:0;background:var(--color-surface);display:flex;flex-direction:column}.workshop-context-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:sticky;top:0;z-index:20;padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.workshop-context-header-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.workshop-context-header-right{display:flex;align-items:center;gap:var(--space-2)}.workshop-context-header-mobile-trigger{display:none}.workshop-context-header-mobile-title{display:none;margin:0;font-family:var(--font-system);font-size:.875rem;letter-spacing:.04em;color:var(--color-text-secondary);text-transform:uppercase}.workshop-workspace-main{min-height:100vh}.workshop-workspace-inner{width:100%;max-width:1024px;margin:0 auto;padding:var(--space-4)}.app-surface-default h1,.app-surface-workshop h1{font-family:var(--font-interface);font-size:2rem;line-height:1.2}.app-surface-default h2,.app-surface-workshop h2{font-family:var(--font-interface);font-size:1.5rem;line-height:1.25}.app-surface-default h3,.app-surface-workshop h3{font-family:var(--font-interface);font-size:1.125rem;line-height:1.35}.workshop-sidebar-backdrop{display:none}@media (width < 768px){.default-surface-inner{padding:var(--space-3)}.app-surface-workshop{display:block}.workshop-sidebar{position:fixed;inset:0 auto 0 0;width:85vw;max-width:20rem;min-width:0;transform:translateX(-100%);transition:transform .15s ease;z-index:40}.workshop-sidebar.workshop-sidebar-open{transform:translateX(0)}.workshop-sidebar-backdrop{display:block;position:fixed;inset:0;border:0;padding:0;margin:0;background:var(--color-scrim);z-index:35}.workshop-context-header{padding:var(--space-3) var(--space-4)}.workshop-context-header-mobile-title,.workshop-context-header-mobile-trigger{display:inline-flex}.workshop-context-header-mobile-title{display:block}.workshop-context-header .workshop-context-header-breadcrumbs,.workshop-context-header .workshop-context-header-recent{display:none}.workshop-workspace-main{min-height:calc(100vh - 3.5rem)}.workshop-workspace-inner{width:100%}}@media (width >= 1024px){.default-surface-inner{padding:var(--space-6)}}.header-nav{position:sticky;top:0;z-index:30;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-nav-inner{justify-content:space-between;max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-4)}.header-nav-inner,.header-nav-left,.header-nav-links{display:flex;align-items:center;gap:var(--space-4)}.header-nav-links a[data-navigation]{font-family:var(--font-interface);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .12s ease}.header-nav-links a[data-navigation]:hover{color:var(--color-text-primary)}.header-nav-actions{display:flex;align-items:center;gap:var(--space-2)}.header-dropdown-trigger{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-interface);font-size:.875rem}.header-dropdown-menu{position:absolute;top:100%;right:0;z-index:50;min-width:14rem;margin-top:var(--space-1);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.header-dropdown-header{padding:var(--space-2) var(--space-3);font-family:var(--font-system);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.header-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-interface);font-size:.875rem;color:var(--color-text-primary);text-decoration:none;transition:background-color .12s ease}.header-dropdown-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.header-dropdown-divider{border-top:1px solid var(--color-border);margin:var(--space-1) 0;padding-top:var(--space-1)}.breadcrumbs-container{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.breadcrumbs-inner{max-width:1200px;margin:0 auto;padding:var(--space-2) var(--space-4)}.breadcrumbs-nav{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-interface);font-size:.8125rem;color:var(--color-text-muted)}.breadcrumbs-item{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);text-decoration:none;transition:color .12s ease}.breadcrumbs-item:hover{color:var(--color-text-primary)}.breadcrumbs-item[aria-current=page]{color:var(--color-text-primary);font-weight:500;pointer-events:none}.breadcrumbs-item svg{width:.875rem;height:.875rem}.breadcrumbs-separator{color:var(--color-text-muted);font-size:.75rem}.breadcrumbs-desktop{display:none}@media (width >= 768px){.breadcrumbs-mobile{display:none}.breadcrumbs-desktop{display:flex}}.mobile-nav-menu{position:fixed;inset:0;z-index:50;background:var(--color-surface);display:flex;flex-direction:column;overflow-y:auto}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.mobile-nav-brand{display:inline-flex;align-items:center;gap:var(--space-2)}.mobile-nav-header-actions{display:flex;align-items:center;gap:var(--space-2)}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);flex:1}.mobile-nav-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.mobile-nav-section-title{font-family:var(--font-system);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 var(--space-2)}.mobile-nav-world-list{display:flex;flex-direction:column;gap:var(--space-1)}.mobile-nav-actions{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media (width >= 768px){.mobile-nav-menu{display:none}}.active-state-card{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.active-state-card:hover{border-color:var(--color-border-strong)}.active-state-card-active{border-color:hsl(var(--success-border))}.active-state-card-inactive{border-color:var(--color-border)}.active-state-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:hsl(var(--success-background));color:hsl(var(--success-text));font-family:var(--font-system);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.active-state-indicator svg{width:.875rem;height:.875rem}.card-action-group{display:flex;flex-direction:column;gap:var(--space-3)}.card-action-group>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.card-action-group button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-interface);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .12s ease}.card-action-group button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text-primary)}.card-action-group button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-action-group button svg{width:.875rem;height:.875rem}.card-action-variant-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.card-action-variant-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-text-inverse)}.card-action-variant-success{background:hsl(var(--success));color:hsl(var(--success-foreground));border-color:hsl(var(--success))}.card-action-variant-success:hover{opacity:.9;color:hsl(var(--success-foreground))}.card-action-variant-danger{color:var(--color-danger);border-color:transparent;background:transparent}.card-action-variant-danger:hover{background:hsl(var(--destructive)/8%);color:var(--color-danger-hover)}.component-world-card{display:flex;flex-direction:column}.component-world-card>div:first-child{flex:1;display:flex;flex-direction:column}.component-world-card footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.component-world-card footer time{font-family:var(--font-system);font-size:.75rem;color:var(--color-text-muted)}.world-card-character-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-full,9999px);background:transparent;cursor:pointer;font-family:var(--font-interface);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);transition:background-color .12s ease,border-color .12s ease}.world-card-character-pill:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.world-card-character-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.world-card-character-pill img{-o-object-fit:cover;object-fit:cover}.world-card-character-pill img,.world-card-character-pill-initial{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full,9999px)}.world-card-character-pill-initial{background:var(--color-surface-hover);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.world-list,.worlds-screen{display:block}.world-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (width < 768px){.world-list-grid{grid-template-columns:1fr;gap:var(--space-3)}}.world-card-body{flex:1;display:flex;flex-direction:column}.world-card-content{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);flex:1}.world-card-meta{display:flex;flex-direction:column;gap:var(--space-2)}.world-card-character-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.world-card-description-block{display:flex;flex-direction:column;gap:var(--space-2)}.world-card-description-block p{color:var(--color-text-secondary);font-family:var(--font-interface);font-size:.9375rem;line-height:1.5;margin:0}.world-card-type-badge{display:flex;flex-wrap:wrap;gap:var(--space-2)}.world-card-footer-meta{display:flex;align-items:center;justify-content:space-between}.world-card-footer-actions{display:flex;flex-direction:column;gap:var(--space-2)}.world-list-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.world-list-empty-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full,9999px);background:var(--color-surface-hover);color:var(--color-accent)}.world-list-empty-icon svg{width:2rem;height:2rem}.world-list-empty-title{font-family:var(--font-narrative);font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.world-list-empty-lede{font-size:1rem;color:var(--color-text-secondary)}.world-list-empty-description,.world-list-empty-lede{font-family:var(--font-interface);margin:0;max-width:36rem}.world-list-empty-description{font-size:.9375rem;color:var(--color-text-muted)}.world-list-empty-guide{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);text-align:left;width:100%;max-width:36rem;display:flex;flex-direction:column;gap:var(--space-3)}.world-list-empty-guide-heading{font-family:var(--font-interface);font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin:0}.world-list-empty-guide-steps{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-5);margin:0;color:var(--color-text-secondary);font-family:var(--font-interface);font-size:.9375rem;line-height:1.5}.world-list-empty-guide-steps li::marker{color:var(--color-accent);font-weight:600}.world-list-empty-guide-steps strong{color:var(--color-text-primary);font-weight:600}.world-list-empty-tip{padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-surface);border-radius:var(--radius-sm)}.world-list-empty-tip p{margin:0;font-family:var(--font-interface);font-size:.875rem;color:var(--color-text-secondary)}@media (width < 768px){.world-list-empty{padding:var(--space-6) var(--space-4)}.world-list-empty-guide{padding:var(--space-3) var(--space-4)}}.world-detail-hero{margin-bottom:var(--space-3)}.world-detail-body,.world-detail-sections{display:flex;flex-direction:column;gap:var(--space-5)}.world-detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.world-detail-section h2{margin:0 0 var(--space-4);font-family:var(--font-interface);font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}@media (width <= 640px){.world-detail-section{padding:var(--space-4)}}[data-theme=ds1] .world-detail-section{border-radius:2px}[data-theme=ds1] .world-detail-section h2{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .world-detail-section h2:before{content:"Section";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .world-detail-section h2:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 var(--space-1);background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds2] .world-detail-body,[data-theme=ds2] .world-detail-sections{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .world-detail-section{border-radius:1rem;padding:clamp(var(--space-5),3vw,var(--space-6));animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .world-detail-section h2{font-family:var(--font-narrative);font-weight:400;font-size:1.375rem;letter-spacing:-.005em}[data-theme=ds3] .world-detail-section h2{position:relative;padding-top:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-4);font-family:var(--font-narrative);font-style:italic;font-weight:400}[data-theme=ds3] .world-detail-section h2:before{content:"• Section";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .world-detail-section h2:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}.component-world-editor{display:flex;flex-direction:column;gap:var(--space-5)}.component-world-editor .component-collapsible-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.component-world-editor .component-collapsible-section [data-testid=collapsible-section-header]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer}.component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]{margin:0;font-family:var(--font-interface);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.component-world-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:0 var(--space-5) var(--space-5)}.component-world-editor .component-collapsible-section [data-testid=collapsible-section-content][aria-hidden=true]{display:none}@media (width <= 640px){.component-world-editor .world-editor-actions{flex-direction:column;align-items:stretch}}[data-theme=ds1] .component-world-editor{gap:var(--space-4)}[data-theme=ds1] .component-world-editor .component-collapsible-section{border-radius:2px}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-header]{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-header][aria-expanded=false]{border-bottom-color:transparent}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]:before{content:"Section";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 0;background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:var(--space-4) var(--space-5) var(--space-5)}[data-theme=ds1] .world-editor-actions{border-radius:2px;border-left:2px solid var(--color-accent);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5)}[data-theme=ds2] .component-world-editor{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .component-world-editor .component-collapsible-section{border-radius:1rem;animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-header]{padding:clamp(var(--space-4),2vw,var(--space-5)) clamp(var(--space-5),3vw,var(--space-6))}[data-theme=ds2] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]{font-family:var(--font-narrative);font-weight:400;font-size:1.375rem;letter-spacing:-.005em}[data-theme=ds2] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:0 clamp(var(--space-5),3vw,var(--space-6)) clamp(var(--space-5),3vw,var(--space-6))}[data-theme=ds2] .world-editor-actions{border-radius:1rem;padding:clamp(var(--space-4),2vw,var(--space-5)) clamp(var(--space-5),3vw,var(--space-6));justify-content:center;gap:clamp(var(--space-3),2vw,var(--space-5))}[data-theme=ds3] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-header]{position:relative}[data-theme=ds3] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-header][aria-expanded=true]:after{content:"";display:block;position:absolute;bottom:0;left:var(--space-5);right:var(--space-5);height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}[data-theme=ds3] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]{position:relative;padding-top:var(--space-3)}[data-theme=ds3] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-title]:before{content:"• Section";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .component-world-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding-top:var(--space-4)}[data-theme=ds3] .world-editor-actions{position:relative;padding-top:var(--space-5)}[data-theme=ds3] .world-editor-actions:before{content:"";display:block;position:absolute;top:0;left:var(--space-5);right:var(--space-5);height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}.component-character-card,.component-character-card>div{display:flex;flex-direction:column}.component-character-card>div{flex:1}.component-character-card h3{font-family:var(--font-interface);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;margin:var(--space-2) 0 var(--space-1);padding:0 var(--space-4)}.component-character-card h3:hover{color:var(--color-accent)}.component-character-card>div>div:first-child{padding:var(--space-4);flex:1;display:flex;flex-direction:column}.component-character-card>div>div:first-child>p{font-family:var(--font-interface);font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin:var(--space-2) 0}.component-character-card footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.characters-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.characters-body{display:flex;flex-direction:column;gap:var(--space-4)}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--space-4)}@media (width <= 640px){.characters-grid{grid-template-columns:1fr}}.characters-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.characters-empty h2{margin:0;font-family:var(--font-interface);font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}[data-theme=ds1] .characters-toolbar{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-strong)}[data-theme=ds1] .characters-grid{gap:var(--space-3)}[data-theme=ds1] .component-character-card{border-radius:2px}[data-theme=ds1] .component-character-card h3{position:relative;font-weight:500;letter-spacing:-.005em;padding-top:var(--space-3)}[data-theme=ds1] .component-character-card h3:before{content:"Character";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .component-character-card h3:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 0;background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .characters-empty{padding:var(--space-6) var(--space-5);border-radius:2px;border-left:2px solid var(--color-accent)}[data-theme=ds1] .characters-empty h2{position:relative;font-weight:500;letter-spacing:-.01em}[data-theme=ds1] .characters-empty h2:after{content:"";display:block;width:2px;height:32px;margin:var(--space-3) 0 0;background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds2] .characters-toolbar{margin-bottom:clamp(var(--space-4),2vw,var(--space-6))}[data-theme=ds2] .characters-grid{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .component-character-card{border-radius:1rem}[data-theme=ds2] .component-character-card h3{font-family:var(--font-narrative);font-weight:400;letter-spacing:-.005em;font-size:1.25rem}[data-theme=ds2] .component-character-card>div>div:first-child{padding:var(--space-5)}[data-theme=ds2] .component-character-card>div>div:first-child>p{line-height:1.7}[data-theme=ds2] .component-character-card footer{padding:var(--space-4) var(--space-5);border-top:none}[data-theme=ds2] .characters-empty{align-items:center;text-align:center;padding:clamp(3rem,7vh,5rem) var(--space-5);border-radius:1rem;animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .characters-empty h2{font-family:var(--font-narrative);font-weight:400;letter-spacing:-.01em;font-size:clamp(1.375rem,3vw,1.625rem)}@keyframes characters-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-theme=ds3] .characters-toolbar{padding-bottom:var(--space-3);position:relative}[data-theme=ds3] .characters-toolbar:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}[data-theme=ds3] .characters-grid{gap:var(--space-4)}[data-theme=ds3] .component-character-card h3{position:relative;padding-top:var(--space-3)}[data-theme=ds3] .component-character-card h3:before{content:"• Character";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .component-character-card footer{border-top:none;position:relative}[data-theme=ds3] .component-character-card footer:before{content:"";position:absolute;top:0;left:var(--space-4);right:var(--space-4);height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}[data-theme=ds3] .characters-empty{align-items:center;text-align:center;padding:var(--space-8) var(--space-5)}[data-theme=ds3] .characters-empty h2{position:relative;font-family:var(--font-narrative);font-style:italic;font-weight:400}[data-theme=ds3] .characters-empty h2:after{content:"";display:block;width:96px;height:4px;margin:var(--space-3) auto 0;background-image:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}.character-detail-body{display:flex;flex-direction:column;gap:var(--space-5)}.character-detail-header{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-5)}.character-detail-header>.component-character-portrait{flex:0 0 auto;width:clamp(160px,20vw,240px);height:clamp(160px,20vw,240px);border-radius:var(--radius-md);background:var(--color-surface-hover)}.character-detail-header-info{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-width:0}.character-detail-header-info h2{margin:0;font-family:var(--font-interface);font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.character-detail-header-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-1);color:var(--color-text-muted);font-size:.875rem}.character-detail-header-meta p{margin:0}.character-detail-sections{display:flex;flex-direction:column;gap:var(--space-5)}.character-detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.character-detail-section h2{margin:0 0 var(--space-4);font-family:var(--font-interface);font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}@media (width <= 640px){.character-detail-header{flex-direction:column;align-items:stretch}}[data-theme=ds1] .character-detail-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-strong)}[data-theme=ds1] .character-detail-header-info h2{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.01em}[data-theme=ds1] .character-detail-header-info h2:before{content:"Character";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .character-detail-header-info h2:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 0;background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .character-detail-section{border-radius:2px}[data-theme=ds1] .character-detail-section h2{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .character-detail-section h2:before{content:"Section";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .character-detail-section h2:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 var(--space-1);background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds2] .character-detail-body,[data-theme=ds2] .character-detail-header{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .character-detail-header-info h2{font-family:var(--font-narrative);font-weight:400;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.01em}[data-theme=ds2] .character-detail-sections{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .character-detail-section{border-radius:1rem;padding:clamp(var(--space-5),3vw,var(--space-6));animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .character-detail-section h2{font-family:var(--font-narrative);font-weight:400;font-size:1.375rem;letter-spacing:-.005em}[data-theme=ds3] .character-detail-header{position:relative;padding-bottom:var(--space-4)}[data-theme=ds3] .character-detail-header:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}[data-theme=ds3] .character-detail-header-info h2{position:relative;padding-top:var(--space-3)}[data-theme=ds3] .character-detail-header-info h2:before{content:"• Character";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .character-detail-section h2{position:relative;padding-top:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-4);font-family:var(--font-narrative);font-style:italic;font-weight:400}[data-theme=ds3] .character-detail-section h2:before{content:"• Section";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .character-detail-section h2:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}.character-edit-back{margin-bottom:var(--space-3)}.character-edit-body,.component-character-editor{display:flex;flex-direction:column;gap:var(--space-5)}.component-character-editor .component-collapsible-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.component-character-editor .component-collapsible-section [data-testid=collapsible-section-header]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer}.component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]{margin:0;font-family:var(--font-interface);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.component-character-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:0 var(--space-5) var(--space-5)}.component-character-editor .component-collapsible-section [data-testid=collapsible-section-content][aria-hidden=true]{display:none}.character-editor-actions{display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.character-editor-actions-primary{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}@media (width <= 640px){.character-editor-actions,.character-editor-actions-primary{flex-direction:column;align-items:stretch}}[data-theme=ds1] .character-edit-body,[data-theme=ds1] .component-character-editor{gap:var(--space-4)}[data-theme=ds1] .component-character-editor .component-collapsible-section{border-radius:2px}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-header]{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-header][aria-expanded=false]{border-bottom-color:transparent}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]:before{content:"Section";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 0;background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:var(--space-4) var(--space-5) var(--space-5)}[data-theme=ds1] .component-character-editor .attributes-form-row,[data-theme=ds1] .component-character-editor .skills-form-row{border-radius:2px}[data-theme=ds1] .character-editor-actions{border-radius:2px;border-left:2px solid var(--color-accent);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5)}[data-theme=ds2] .character-edit-body,[data-theme=ds2] .component-character-editor{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .component-character-editor .component-collapsible-section{border-radius:1rem;animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-header]{padding:clamp(var(--space-4),2vw,var(--space-5)) clamp(var(--space-5),3vw,var(--space-6))}[data-theme=ds2] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]{font-family:var(--font-narrative);font-weight:400;font-size:1.375rem;letter-spacing:-.005em}[data-theme=ds2] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding:0 clamp(var(--space-5),3vw,var(--space-6)) clamp(var(--space-5),3vw,var(--space-6))}[data-theme=ds2] .component-character-editor .attributes-form-row,[data-theme=ds2] .component-character-editor .skills-form-row{border-radius:.75rem;padding:var(--space-4)}[data-theme=ds2] .component-character-editor .attributes-form-header>h2,[data-theme=ds2] .component-character-editor .component-background-form>h2,[data-theme=ds2] .component-character-editor .skills-form-header>h2{font-family:var(--font-narrative);font-weight:400}[data-theme=ds2] .character-editor-actions{border-radius:1rem;padding:clamp(var(--space-4),2vw,var(--space-5)) clamp(var(--space-5),3vw,var(--space-6));justify-content:center;gap:clamp(var(--space-3),2vw,var(--space-5))}[data-theme=ds2] .character-editor-actions-primary{gap:var(--space-3)}[data-theme=ds3] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-header]{position:relative}[data-theme=ds3] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-header][aria-expanded=true]:after{content:"";display:block;position:absolute;bottom:0;left:var(--space-5);right:var(--space-5);height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.7}[data-theme=ds3] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]{position:relative;padding-top:var(--space-3)}[data-theme=ds3] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-title]:before{content:"• Section";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .component-character-editor .component-collapsible-section [data-testid=collapsible-section-content]{padding-top:var(--space-4)}[data-theme=ds3] .component-character-editor .attributes-form-list,[data-theme=ds3] .component-character-editor .skills-form-list{gap:var(--space-2)}[data-theme=ds3] .component-character-editor .attributes-form-row,[data-theme=ds3] .component-character-editor .skills-form-row{position:relative;background:transparent;border:1px solid transparent;border-radius:0;padding-top:var(--space-4)}[data-theme=ds3] .component-character-editor .attributes-form-row+.attributes-form-row:before,[data-theme=ds3] .component-character-editor .skills-form-row+.skills-form-row:before{content:"";display:block;position:absolute;top:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.5}[data-theme=ds3] .component-character-editor .attributes-form-meta,[data-theme=ds3] .component-character-editor .skills-form-meta{font-family:var(--font-system)}[data-theme=ds3] .component-character-editor .attributes-form-header>h2,[data-theme=ds3] .component-character-editor .component-background-form>h2,[data-theme=ds3] .component-character-editor .skills-form-header>h2{font-family:var(--font-narrative);font-style:italic;font-weight:400}[data-theme=ds3] .character-editor-actions{position:relative;padding-top:var(--space-5)}[data-theme=ds3] .character-editor-actions:before{content:"";display:block;position:absolute;top:0;left:var(--space-5);right:var(--space-5);height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}.settings-page{gap:var(--space-5)}.settings-page,.settings-section{display:flex;flex-direction:column}.settings-section{gap:var(--space-3)}.settings-section h2{margin:0;font-family:var(--font-interface);font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.settings-export-import{display:flex;flex-direction:column;gap:var(--space-4)}.settings-export-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.settings-export-import-files{display:inline-flex;align-items:center}.settings-export-import-help{display:flex;flex-direction:column;gap:var(--space-2);font-size:.875rem;color:var(--color-text-secondary)}.settings-export-import-help p{margin:0}@media (width <= 640px){.settings-card{padding:var(--space-4)}.settings-export-import-actions{flex-direction:column;align-items:stretch}.settings-export-import-files{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}}[data-theme=ds1] .settings-card{border-radius:2px;border-left:2px solid var(--color-accent)}[data-theme=ds1] .settings-section h2{position:relative;padding-top:var(--space-3);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .settings-section h2:before{content:"Section";display:block;margin-bottom:var(--space-2);font-family:var(--font-system);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .settings-section h2:after{content:"";display:block;width:2px;height:18px;margin:var(--space-2) 0 var(--space-1);background:linear-gradient(to bottom,var(--color-accent),transparent)}[data-theme=ds1] .settings-export-import-help{font-family:var(--font-system);font-size:.8125rem}[data-theme=ds2] .settings-page{gap:clamp(var(--space-5),3vw,var(--space-8))}[data-theme=ds2] .settings-section{gap:clamp(var(--space-3),2vw,var(--space-5))}[data-theme=ds2] .settings-card{border-radius:1rem;padding:clamp(var(--space-5),3vw,var(--space-6));animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .settings-section h2{font-family:var(--font-narrative);font-weight:400;font-size:1.375rem;letter-spacing:-.005em}[data-theme=ds2] .settings-export-import-actions{gap:clamp(var(--space-3),2vw,var(--space-5))}[data-theme=ds2] .settings-export-import-help{font-family:var(--font-narrative);font-style:italic;font-size:.9375rem}[data-theme=ds3] .settings-card{border-radius:6px}[data-theme=ds3] .settings-section h2{position:relative;padding-top:var(--space-3);padding-bottom:var(--space-3);font-family:var(--font-narrative);font-style:italic;font-weight:400}[data-theme=ds3] .settings-section h2:before{content:"• Section";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:.6875rem;font-weight:500;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds3] .settings-section h2:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}[data-theme=ds3] .settings-export-import{gap:var(--space-5)}[data-theme=ds3] .settings-export-import-help{font-family:var(--font-system);font-size:.8125rem}[data-theme=ds3] .settings-export-import-help p+p{padding-top:var(--space-2);background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;background-position:0 0}@media (prefers-reduced-motion:reduce){[data-theme=ds2] .character-detail-section,[data-theme=ds2] .characters-empty,[data-theme=ds2] .component-character-editor .component-collapsible-section,[data-theme=ds2] .component-world-editor .component-collapsible-section,[data-theme=ds2] .settings-card,[data-theme=ds2] .world-detail-section{animation:none}}.character-portrait-clickable{width:var(--space-6);height:var(--space-6);cursor:pointer;border-radius:var(--radius-full,9999px);overflow:hidden}.journal-page{max-width:100%}.journal-content{display:flex;flex-direction:column;min-height:0}.journal-detail-pane,.journal-list-pane{display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;min-height:0}.journal-detail-pane{flex:1}.journal-list-header{margin-bottom:var(--space-3)}.journal-list-header h2{font-family:var(--font-interface);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.journal-search-wrapper{margin-bottom:var(--space-3)}.journal-load-more{display:flex;justify-content:center;padding:var(--space-3) 0}.journal-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted);flex:1}.journal-detail-empty svg{width:2.5rem;height:2.5rem;margin-bottom:var(--space-3);opacity:.5}.journal-detail-empty h3{font-family:var(--font-interface);font-size:1rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-1)}.journal-detail-empty p{font-family:var(--font-interface);font-size:.875rem;color:var(--color-text-muted);margin:0}.journal-detail-pane.hidden,.journal-list-pane.hidden{display:none}@media (width >= 768px){.journal-content{flex-direction:row}.journal-list-pane{width:20rem;flex-shrink:0;border-right:1px solid var(--color-border);padding:var(--space-4) var(--space-5)}.journal-list-pane.hidden{display:flex}.journal-detail-pane{padding:var(--space-4) var(--space-6)}.journal-detail-pane.hidden{display:flex}}.journal-entry-list{display:flex;flex-direction:column;gap:var(--space-2)}.journal-entry-list [data-slot=card]{cursor:pointer;padding:var(--space-3);transition:background-color .12s ease,border-color .12s ease}.journal-entry-list [data-slot=card]:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.journal-entry-list [data-slot=card] h4{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-interface);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-1)}.journal-entry-list [data-slot=card] h4 svg{width:.875rem;height:.875rem;color:var(--color-text-muted)}.journal-entry-list [data-slot=card]>p{font-family:var(--font-interface);font-size:.8125rem;color:var(--color-text-secondary);margin:0 0 var(--space-2);line-height:1.4}.journal-entry-list [data-slot=card]>div:last-child{display:flex;align-items:center;gap:var(--space-2)}.journal-entry-list [data-slot=card]>div:last-child>span{font-family:var(--font-system);font-size:.75rem;color:var(--color-text-muted)}.journal-entry-detail{display:flex;flex-direction:column;gap:var(--space-4)}.journal-entry-detail h3{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-interface);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.journal-entry-detail h3 svg{width:1rem;height:1rem;color:var(--color-text-muted)}.journal-entry-detail h4{font-family:var(--font-system);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 var(--space-2)}.journal-entry-detail>div:nth-child(2){display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.journal-entry-detail>div:nth-child(2)>span{font-family:var(--font-system);font-size:.75rem;color:var(--color-text-muted)}.journal-entry-list-item{cursor:pointer}.journal-entry-list-item-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.journal-system-event{opacity:.8;border-style:dashed}.journal-entry-header{display:flex;flex-direction:column;gap:var(--space-2)}.journal-entry-content{display:flex;flex-direction:column;gap:var(--space-4)}.journal-empty-state{padding:var(--space-8) var(--space-4);text-align:center}.journal-hero{margin-bottom:var(--space-3)}.journal-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-4);font-family:var(--font-interface);color:var(--color-text-secondary);font-size:.875rem}[data-theme=ds1] .journal-page .journal-list-pane{border-right:2px solid var(--color-border);padding:var(--space-4)}[data-theme=ds1] .journal-page .journal-list-header h2{font-family:var(--font-system);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .journal-page .journal-nav{border-top:2px solid var(--color-border);padding-top:var(--space-4)}[data-theme=ds1] .journal-page .journal-nav span{font-family:var(--font-system);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .journal-page .journal-detail-empty,[data-theme=ds1] .journal-page .journal-empty-state{border:2px solid var(--color-border);border-radius:var(--radius-sm)}[data-theme=ds2] .journal-page .journal-content{animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .journal-page .journal-list-pane{padding:clamp(var(--space-4),2vw,var(--space-6));border-radius:1rem;background:color-mix(in oklab,var(--color-surface) 70%,transparent)}[data-theme=ds2] .journal-page .journal-list-header h2{font-family:var(--font-narrative);font-style:italic;font-size:1.25rem;font-weight:500;letter-spacing:-.005em;text-transform:none;color:var(--color-text-primary)}[data-theme=ds2] .journal-page .journal-nav{font-family:var(--font-narrative);font-style:italic;font-size:.9375rem;border-top:none;padding-top:clamp(var(--space-3),2vw,var(--space-4))}[data-theme=ds2] .journal-page .journal-detail-empty,[data-theme=ds2] .journal-page .journal-empty-state{border-radius:1rem;box-shadow:0 4px 12px color-mix(in oklab,var(--color-accent) 10%,transparent)}[data-theme=ds3] .journal-page .journal-list-header h2{position:relative;font-family:var(--font-system);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase}[data-theme=ds3] .journal-page .journal-list-header h2:before{content:"• ";color:var(--color-text-muted)}[data-theme=ds3] .journal-page .journal-nav{background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;background-position:0 0;padding-top:var(--space-4);font-family:var(--font-system);font-size:.8125rem;letter-spacing:.05em}[data-theme=ds3] .journal-page .journal-detail-empty,[data-theme=ds3] .journal-page .journal-empty-state{border-radius:var(--radius-md);border:1px dashed var(--color-border-strong)}@media (prefers-reduced-motion:reduce){[data-theme=ds2] .journal-page .journal-content{animation:none}}.component-hero{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:10rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in oklab,var(--color-accent) 10%,var(--color-surface)) 0,var(--color-surface) 70%);isolation:isolate}.component-hero:has(.component-hero-image){min-height:clamp(12rem,30vw,22rem)}.component-hero-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:0}.component-hero:has(.component-hero-image):after{content:"";position:absolute;left:0;right:0;bottom:0;height:6rem;z-index:1;background:linear-gradient(to top,var(--color-surface) 0,color-mix(in oklab,var(--color-surface) 60%,transparent) 60%,transparent 100%);pointer-events:none}.component-hero-overlay{position:relative;z-index:2;margin-top:auto;padding:var(--space-5) var(--space-6);background:var(--color-surface)}.component-hero:not(:has(.component-hero-image)) .component-hero-overlay{background:transparent}.component-hero-content{display:flex;flex-direction:column;gap:var(--space-1);max-width:64rem}.component-hero-title{margin:0;font-family:var(--font-narrative);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.2;color:var(--color-text-primary)}.component-hero-subtitle{margin:0;font-family:var(--font-interface);font-size:1rem;color:var(--color-text-secondary)}.component-hero-badge{margin-top:var(--space-2)}.component-hero-actions{position:absolute;right:var(--space-4);bottom:var(--space-4);z-index:2}[data-theme=ds1] .component-hero{border-radius:2px;border-width:2px}[data-theme=ds1] .component-hero-overlay{border-left:2px solid var(--color-accent);padding:var(--space-4) var(--space-5)}[data-theme=ds1] .component-hero-title{font-family:var(--font-interface);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .component-hero-subtitle{font-family:var(--font-system);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds2] .component-hero{border-radius:1rem;animation:characters-fade-up .7s cubic-bezier(.19,1,.22,1) both}[data-theme=ds2] .component-hero-overlay{padding:clamp(var(--space-4),2vw,var(--space-6)) clamp(var(--space-5),3vw,var(--space-6))}[data-theme=ds2] .component-hero-title{font-family:var(--font-narrative);font-weight:400;letter-spacing:-.005em}[data-theme=ds2] .component-hero-subtitle{font-family:var(--font-narrative);font-style:italic;font-size:1.0625rem;color:var(--color-text-secondary)}[data-theme=ds3] .component-hero{border-radius:var(--radius-md);border-color:var(--color-border-strong)}[data-theme=ds3] .component-hero-overlay{padding:var(--space-4) var(--space-5)}[data-theme=ds3] .component-hero-title{font-family:var(--font-narrative);font-style:italic;font-weight:500}[data-theme=ds3] .component-hero-subtitle{position:relative;padding-top:var(--space-2);font-family:var(--font-system);font-size:.8125rem;letter-spacing:.05em;color:var(--color-text-muted)}[data-theme=ds3] .component-hero-subtitle:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-border-strong) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}@media (prefers-reduced-motion:reduce){[data-theme=ds2] .component-hero{animation:none}}.component-section-wrapper{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.component-section-wrapper-title{margin:0;font-size:1.125rem;font-weight:600}.component-section-wrapper-body,.component-section-wrapper-title{font-family:var(--font-interface);color:var(--color-text-primary)}.component-section-wrapper-body{display:flex;flex-direction:column;gap:var(--space-3);line-height:1.6}[data-theme=ds1] .component-section-wrapper{border-radius:2px;border-width:2px}[data-theme=ds1] .component-section-wrapper-title{font-family:var(--font-system);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds2] .component-section-wrapper{border-radius:1rem;padding:clamp(var(--space-4),2vw,var(--space-6))}[data-theme=ds2] .component-section-wrapper-title{font-family:var(--font-narrative);font-style:italic;font-weight:500;font-size:1.25rem;letter-spacing:-.005em}[data-theme=ds3] .component-section-wrapper{border-color:var(--color-border-strong)}[data-theme=ds3] .component-section-wrapper-title{position:relative;font-family:var(--font-system);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase}[data-theme=ds3] .component-section-wrapper-title:before{content:"• ";color:var(--color-text-muted)}.component-ending-screen{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-5);max-width:64rem;margin:0 auto}.component-ending-screen-hero{position:relative}.component-ending-screen-hero-frame{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:clamp(14rem,32vw,22rem);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in oklab,var(--color-accent) 15%,var(--color-surface)) 0,var(--color-surface) 70%);isolation:isolate}.component-ending-screen-hero-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:0}.component-ending-screen-hero-frame:has(.component-ending-screen-hero-image):after{content:"";position:absolute;left:0;right:0;bottom:0;height:6rem;z-index:1;background:linear-gradient(to top,var(--color-surface) 0,color-mix(in oklab,var(--color-surface) 60%,transparent) 60%,transparent 100%);pointer-events:none}.component-ending-screen-hero-overlay{position:relative;z-index:2;margin-top:auto;padding:var(--space-5) var(--space-6);background:var(--color-surface)}.component-ending-screen-hero-frame:not(:has(.component-ending-screen-hero-image)) .component-ending-screen-hero-overlay{background:transparent}.component-ending-screen-hero-header{display:flex;flex-direction:column;gap:var(--space-1)}.component-ending-screen-hero-title{margin:0;font-family:var(--font-narrative);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.1;color:var(--color-text-primary)}.component-ending-screen-hero-meta{margin:0;font-family:var(--font-interface);font-size:1rem;color:var(--color-text-secondary)}.component-ending-screen-hero-error,.component-ending-screen-hero-loading,.component-ending-screen-hero-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);font-family:var(--font-interface);color:var(--color-text-muted);text-align:center}.component-ending-screen-hero-loading-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.component-ending-screen-content{display:flex;flex-direction:column;gap:var(--space-5)}.component-ending-screen-achievements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.component-ending-screen-achievement{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.component-ending-screen-achievement-body{display:flex;flex-direction:column;gap:var(--space-1)}.component-ending-screen-achievement-title{font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.component-ending-screen-achievement-description{font-family:var(--font-interface);font-size:.9375rem;color:var(--color-text-secondary)}[data-theme=ds1] .component-ending-screen-hero-frame{border-radius:2px;border-width:2px}[data-theme=ds1] .component-ending-screen-hero-title{font-family:var(--font-interface);font-weight:500;letter-spacing:-.005em}[data-theme=ds1] .component-ending-screen-hero-meta{font-family:var(--font-system);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}[data-theme=ds1] .component-ending-screen-achievement{border-radius:2px;border-width:2px;border-left:4px solid var(--color-accent)}[data-theme=ds2] .component-ending-screen-hero-frame{border-radius:1rem}[data-theme=ds2] .component-ending-screen-hero-meta{font-family:var(--font-narrative);font-style:italic;font-size:1.0625rem}[data-theme=ds2] .component-ending-screen-achievement{border-radius:1rem}[data-theme=ds3] .component-ending-screen-hero-frame{border-color:var(--color-border-strong)}[data-theme=ds3] .component-ending-screen-hero-title{font-family:var(--font-narrative);font-style:italic;font-weight:500}[data-theme=ds3] .component-ending-screen-hero-meta{font-family:var(--font-system);font-size:.8125rem;letter-spacing:.05em;color:var(--color-text-muted)}[data-theme=ds3] .component-ending-screen-achievement{border-color:var(--color-border-strong)}.range-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;accent-color:var(--color-accent)}.range-slider-constrained{accent-color:var(--color-warning,hsl(45deg 93% 47%))}.logo-icon-inverted{filter:brightness(0)}.toast-dismiss{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm,.25rem);transition:color .12s ease,background-color .12s ease}.toast-dismiss:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}