.home-page{overflow:hidden}.home-hero{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);flex-shrink:0;max-width:700px;margin:0 auto}.home-hero h1{font-size:var(--font-size-2xl,2rem);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.home-hero p{font-size:var(--font-size-md,1rem);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.home-hero__actions{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.home-hero__cta{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--border-radius-md,6px);font-size:var(--font-size-md,1rem);font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.home-hero__cta:hover{opacity:.85}.home-hero__cta--primary{background:var(--color-accent,#4a7);color:var(--color-background,#fff)}.home-hero__cta--secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background:0 0}.content-container{box-sizing:border-box;width:100%;min-height:0;padding:var(--spacing-lg) 0 var(--spacing-xl);flex:1;display:flex}.left-area{width:var(--sidebar-width);margin:0 var(--spacing-lg)}.middle-area{width:var(--central-width);min-height:0;overflow-y:auto}.home-page .news-feed{max-height:none;overflow-y:visible}.right-area{width:var(--sidebar-width);margin:0 var(--spacing-lg)}html[data-view-mode=compact] .content-container{padding:var(--spacing-md)}html[data-view-mode=compact] .middle-area,html[data-view-mode=compact] .middle-area--solo{width:100%;max-width:100%}html[data-device=mobile] .content-container{padding:var(--spacing-md)}html[data-device=mobile] .content-container a{align-items:center;min-height:44px;display:inline-flex}.news-feed{max-height:80vh;overflow-y:auto}.news-article{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px dashed var(--color-border)}.news-article:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.news-article h3{color:var(--color-primary);margin-top:0;margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.news-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.news-article{cursor:pointer;transition:background-color .3s}.news-article:hover{background-color:color-mix(in srgb, var(--color-primary), transparent 90%)}.modal-overlay{box-sizing:border-box;padding:calc(var(--spacing-xl) + var(--safe-area-top,0px)) calc(var(--spacing-xl) + var(--safe-area-right,0px)) calc(var(--spacing-xl) + var(--safe-area-bottom,0px)) calc(var(--spacing-xl) + var(--safe-area-left,0px));background-color:color-mix(in srgb, var(--color-background), transparent 35%);overscroll-behavior:contain;z-index:var(--z-index-modal-backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);width:min(900px,100%);max-height:100%;box-shadow:var(--shadow-lg);z-index:var(--z-index-modal);flex-direction:column;display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex}.modal-header h2{font-size:var(--font-size-xl);margin:0}.close-button{color:var(--color-text-primary);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);background-color:#0000}.close-button:hover{background-color:color-mix(in srgb, var(--color-primary), transparent 90%)}.modal-body{padding:var(--spacing-lg);-webkit-overflow-scrolling:touch;overflow:auto}.modal-footer{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;display:flex}.modal-footer .share-buttons{margin-right:auto}.article-content{color:var(--color-text-primary)}.article-content p{margin:0 0 var(--spacing-md)}.article-content h1,.article-content h2,.article-content h3{color:var(--color-primary);margin:var(--spacing-lg) 0 var(--spacing-sm)}.article-content ul,.article-content ol{margin:0 0 var(--spacing-md);padding-left:var(--spacing-xl)}.article-content code{font-family:var(--font-family-mono);background-color:color-mix(in srgb, var(--color-background), transparent 70%);padding:0 var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:.95em}.article-content pre{margin:0 0 var(--spacing-md);padding:var(--spacing-md);background-color:color-mix(in srgb, var(--color-background), transparent 70%);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:auto}.article-content pre code{background-color:#0000;padding:0}.article-content blockquote{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--color-border);color:var(--color-text-secondary)}.article-content a{color:var(--color-primary)}.news-article-panel{gap:var(--spacing-lg);flex-direction:column;min-height:100%;display:flex}.news-article-panel__actions{padding-bottom:var(--spacing-md);justify-content:flex-end;display:flex}@media (width<=768px){.modal-overlay{padding:calc(var(--spacing-md) + var(--safe-area-top,0px)) calc(var(--spacing-md) + var(--safe-area-right,0px)) calc(var(--spacing-md) + var(--safe-area-bottom,0px)) calc(var(--spacing-md) + var(--safe-area-left,0px))}.modal-header,.modal-body,.modal-footer{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.modal-header h2{font-size:var(--font-size-lg)}}.share-buttons{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.share-buttons__item{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.share-buttons__item:hover{color:var(--color-text-primary);background-color:color-mix(in srgb, var(--color-primary), transparent 88%);border-color:var(--color-primary)}.share-buttons__item svg{flex-shrink:0}.share-buttons__item--success{color:var(--color-success);border-color:var(--color-success)}.share-buttons__item--error{color:var(--color-error);border-color:var(--color-error)}.mobile-panel{z-index:1060;will-change:transform;background:var(--color-background,#1a1a2e);color:var(--color-text-primary);padding-top:env(safe-area-inset-top,0px);flex-direction:column;animation:.25s ease-out mobilePanelSlideUp;display:flex;position:fixed;inset:0}.mobile-panel--closing{animation:.2s ease-in forwards mobilePanelSlideDown}@keyframes mobilePanelSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes mobilePanelSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.mobile-panel,.mobile-panel--closing{animation:none}}.mobile-panel__header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;display:flex}.mobile-panel__title{font-size:var(--font-size-lg,18px);font-weight:600}.mobile-panel__close{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-md,6px);touch-action:manipulation;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.mobile-panel__close:active{background:#ffffff14}.mobile-panel__body{-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;overflow-y:auto}.murmurs-feed{max-height:50vh;overflow:hidden}.murmurs-feed.is-scrollable{overflow-y:auto}.murmur-item{padding:var(--spacing-sm);border-bottom:1px dashed var(--color-border)}.murmur-item:last-child{border-bottom:none}.murmur-item:hover{background-color:color-mix(in srgb, var(--color-primary), transparent 90%)}.murmur-meta{gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);display:flex}.murmur-message{color:var(--color-text);word-break:break-word}.room-carousel{padding:var(--spacing-md)}.room-carousel__viewport{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--border-radius-md);width:100%;box-shadow:var(--shadow-md);background-color:var(--color-background-lighter);position:relative;overflow:hidden}.room-carousel__track{will-change:transform;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1);display:flex}.room-carousel__slide{background-color:var(--color-secondary);flex:0 0 100%;height:100%;position:relative}.room-carousel__image{object-fit:cover;z-index:1;width:100%;height:100%;display:block;position:absolute}.room-carousel__image-fallback{padding:var(--spacing-lg);color:var(--color-text-secondary);background-color:var(--color-secondary);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.room-carousel__overlay{padding:var(--spacing-sm) var(--spacing-md);background-color:color-mix(in srgb, var(--color-background), transparent 35%);border-top:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:var(--spacing-md);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.room-carousel__name{color:var(--color-text-primary);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-carousel__hint{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.room-carousel__placeholder{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.main-content-area{flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden auto}.language-switcher{align-items:center;display:flex}.language-select{background-color:var(--color-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.language-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary), transparent 50%);outline:none}.language-switcher--list{width:100%}.language-switcher-list{flex-direction:column;gap:6px;display:flex}.language-option-button{text-align:left;background:color-mix(in srgb, var(--color-secondary) 70%, transparent);width:100%;color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);border:1px solid #0000;border-radius:10px;padding:8px 10px}.language-option-button:hover{background:color-mix(in srgb, var(--color-secondary) 55%, transparent)}.language-option-button.is-active{border-color:color-mix(in srgb, var(--color-primary) 70%, transparent);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-secondary))}.theme-switcher{align-items:center;gap:var(--spacing-sm);display:flex}.theme-switcher label{color:var(--color-text-primary);font-weight:700}.theme-select{background-color:var(--color-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.theme-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary), transparent 50%);outline:none}.theme-switcher--list{width:100%}.theme-switcher-list{flex-direction:column;gap:6px;display:flex}.theme-option-button{text-align:left;border-radius:var(--border-radius-lg,10px);background:color-mix(in srgb, var(--color-secondary) 70%, transparent);width:100%;color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);border:1px solid #0000;padding:8px 10px}.theme-option-button:hover{background:color-mix(in srgb, var(--color-secondary) 55%, transparent)}.theme-option-button.is-active{border-color:color-mix(in srgb, var(--color-primary) 70%, transparent);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-secondary))}.top-nav-bar{background-color:var(--color-secondary);height:var(--header-height);z-index:10;flex-direction:row;display:flex;box-shadow:0 2px 8px #00000059}html[data-device=mobile] .top-nav-bar{padding-top:var(--safe-area-top)}html[data-view-mode=compact] .top-nav-bar{box-sizing:border-box;padding-top:var(--safe-area-top);height:calc(44px + var(--safe-area-top));position:relative}html[data-view-mode=compact] .top-nav-bar--overlay{position:fixed}.top-nav-bar--overlay{padding-top:var(--safe-area-top,0px);z-index:50;transition:transform .18s;position:fixed;top:0;left:0;right:0;transform:translateY(-110%)}.top-nav-bar--overlay.is-open{transform:translateY(0)}.brand-container{align-items:center;display:flex}.brand-icon{-webkit-mask-image:var(--brand-icon-mask,radial-gradient(circle, black 60%, transparent 85%));mask-image:var(--brand-icon-mask,radial-gradient(circle, black 60%, transparent 85%));-webkit-mask-image:var(--brand-icon-mask,radial-gradient(circle, black 60%, transparent 85%));vertical-align:middle}html[data-view-mode=compact] .brand-icon{width:36px;height:36px}.brand-container .nav-links>ul:first-child{margin-right:var(--spacing-sm,.5rem)}.nav-links{flex-grow:1;justify-content:center;align-items:center;display:flex}@media (width<=1024px){.all-links{display:none}.all-links.is-open{left:0;right:0;top:var(--header-height);background:var(--color-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md);z-index:11;justify-content:center;display:flex;position:absolute;box-shadow:0 6px 18px #00000059}html[data-view-mode=compact] .all-links.is-open{top:calc(44px + var(--safe-area-top,0px))}}.menu-toggle{display:none}@media (width<=1024px){.menu-toggle{font-size:var(--font-size-lg);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);background:0 0;border:none;display:block}}.user-actions{padding:0 var(--spacing-xl);align-items:center;margin-left:auto;display:flex}.compact-actions{align-items:center;gap:8px;display:flex}.icon-button{border-radius:var(--border-radius-lg,10px);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-secondary) 80%, transparent);width:38px;height:38px;color:var(--color-text-primary);justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.icon-button:hover{background:color-mix(in srgb, var(--color-secondary) 60%, transparent)}.compact-action{position:relative}.compact-popover{border-radius:var(--border-radius-lg,10px);border:1px solid var(--color-border);background:var(--color-secondary);z-index:70;min-width:180px;max-width:calc(100vw - 16px);padding:10px;position:absolute;top:calc(100% + 6px);left:0;right:auto;box-shadow:0 10px 26px #00000059}html[data-view-mode=compact] .user-actions{padding:0 var(--spacing-md)}.nav-links ul{gap:var(--spacing-xl);margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--color-text-primary);font-weight:700;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--color-primary)}@media (width<=1024px){.brand-name{display:none}}.play-button-nav{display:none}@media (width<=1024px){.play-button-nav{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--border-radius-md);font-weight:700;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;text-decoration:none;transition:background .2s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-button-nav:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}}.nav-links a.nav-play-highlight{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-md);transition:background .2s,color .2s}.nav-links a.nav-play-highlight:hover{background:var(--color-primary);color:var(--color-on-primary)}.inline-alert{justify-content:space-between;align-items:center;gap:var(--spacing-sm,.5rem);border-radius:var(--border-radius-md,6px);padding:var(--spacing-sm,.5rem) var(--spacing-md,.75rem);border:1px solid var(--color-border);font-size:var(--font-size-sm,.95rem);background:var(--color-secondary);color:var(--color-text-primary);display:flex}.inline-alert__content{gap:var(--spacing-xs,.25rem);flex-direction:column;display:flex}.inline-alert__title{font-weight:600}.inline-alert__message{line-height:1.4}.inline-alert__actions{align-items:center;gap:var(--spacing-sm,.5rem);display:flex}.inline-alert__cta{color:inherit;padding:var(--spacing-xs,.25rem) var(--spacing-sm,.5rem);border-radius:var(--border-radius-sm,4px);cursor:pointer;font-size:var(--font-size-xs,.85rem);background:0 0;border:1px solid}.inline-alert__cta--solid{background:var(--color-background);color:var(--color-text-primary)}.inline-alert__dismiss{font-size:var(--font-size-md,1rem);cursor:pointer;color:inherit;background:0 0;border:none}.inline-alert--info{color:var(--color-info);border-color:var(--color-info);background:var(--color-background-lighter)}.inline-alert--success{color:var(--color-success);border-color:var(--color-success);background:var(--color-background-lighter)}.inline-alert--warning{color:var(--color-warning);border-color:var(--color-warning);background:var(--color-background-lighter)}.inline-alert--error{color:var(--color-error);border-color:var(--color-error);background:var(--color-background-lighter)}.play-landing-page{height:auto;min-height:100%}.play-landing__hero{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);max-width:700px;margin:0 auto}.play-landing__hero h1{font-size:var(--font-size-2xl,2rem);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.play-landing__hero p{font-size:var(--font-size-md,1rem);color:var(--color-text-secondary);line-height:1.6}.play-landing__features{gap:var(--spacing-lg);max-width:900px;padding:0 var(--spacing-lg) var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 auto;display:grid}.play-landing__feature{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-md,6px);background:var(--color-surface,transparent)}.play-landing__feature h2{font-size:var(--font-size-lg,1.25rem);margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.play-landing__feature p{font-size:var(--font-size-sm,.875rem);color:var(--color-text-secondary);line-height:1.5}.play-landing__cta-section{justify-content:center;gap:var(--spacing-md);padding:0 var(--spacing-lg) var(--spacing-xl);flex-wrap:wrap;display:flex}.play-landing__cta{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--border-radius-md,6px);font-size:var(--font-size-md,1rem);font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.play-landing__cta:hover{opacity:.85}.play-landing__cta--primary{background:var(--color-accent,#4a7);color:var(--color-bg,#fff)}.play-landing__cta--secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background:0 0}.play-landing__cta--guest{border:1px solid var(--color-accent,#4a7);color:var(--color-accent,#4a7);background:0 0}.play-landing__resume-section{text-align:center;max-width:500px;padding:0 var(--spacing-lg) var(--spacing-xl);margin:0 auto}.play-landing__resume-title{font-size:var(--font-size-lg,1.25rem);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.play-landing__resume-body{font-size:var(--font-size-sm,.875rem);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.play-landing__resume-actions{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}html[data-view-mode=compact] .play-landing__hero{padding:var(--spacing-md) var(--spacing-md)}html[data-view-mode=compact] .play-landing__hero h1{font-size:var(--font-size-xl,1.5rem)}html[data-view-mode=compact] .play-landing__features{gap:var(--spacing-md);padding:0 var(--spacing-md) var(--spacing-lg);grid-template-columns:1fr}html[data-view-mode=compact] .play-landing__cta-section{padding:0 var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:center}html[data-view-mode=compact] .play-landing__cta{text-align:center;box-sizing:border-box;width:100%;max-width:300px}html[data-view-mode=compact] .play-landing__resume-section{padding:0 var(--spacing-md) var(--spacing-lg)}html[data-view-mode=compact] .play-landing__resume-actions{flex-direction:column;align-items:center}html[data-view-mode=compact] .play-landing__resume-actions .play-landing__cta{text-align:center;box-sizing:border-box;width:100%;max-width:300px}.protected-route-status{margin:var(--spacing-xxl,2rem) auto;max-width:min(640px,100%)}.runtime-debug-hud{z-index:9999;color:#f2f2f2;background:#141418e6;border:1px solid #ffffff14;border-radius:8px;width:380px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;position:fixed;bottom:12px;right:12px;box-shadow:0 10px 30px #00000059}.runtime-debug-hud__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:8px 10px;font-weight:600;display:flex}.runtime-debug-hud__actions{gap:6px;display:flex}.runtime-debug-hud__actions button{color:#f2f2f2;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:6px;padding:2px 6px;font-size:11px}.runtime-debug-hud__actions button:hover{background:#ffffff2e}.runtime-debug-hud__body{flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.runtime-debug-hud__row{justify-content:space-between;gap:8px;display:flex}.runtime-debug-hud__muted{color:#fff9}.runtime-debug-hud.is-collapsed .runtime-debug-hud__body{display:none}.orientation-lock-overlay{z-index:99999;background-color:var(--color-background,#0b0f16);color:var(--color-text-primary,#fff);font-family:var(--font-family-primary,sans-serif);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px;display:flex;position:fixed;inset:0}.orientation-lock-overlay__icon{width:64px;height:64px;animation:1.5s ease-in-out infinite orientation-lock-rotate}.orientation-lock-overlay__message{opacity:.85;max-width:280px;font-size:1.1rem;line-height:1.5}@keyframes orientation-lock-rotate{0%,to{transform:rotate(0)}25%{transform:rotate(-90deg)}50%{transform:rotate(-90deg)}75%{transform:rotate(0)}}.pwa-update-banner{justify-content:center;align-items:center;gap:var(--spacing-sm,.5rem);padding:var(--spacing-xs,.25rem) var(--spacing-md,.75rem);background:var(--color-info,#2563eb);color:var(--color-text-on-info,#fff);font-size:var(--font-size-sm,.875rem);z-index:var(--z-index-toast,9999);display:flex}.pwa-update-banner__action{color:inherit;padding:2px var(--spacing-sm,.5rem);border-radius:var(--border-radius-sm,4px);cursor:pointer;font-size:var(--font-size-xs,.8rem);background:0 0;border:1px solid;font-weight:600}.pwa-update-banner__action:hover{background:#ffffff26}.site-footer{background-color:var(--color-secondary);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg);align-items:center;gap:var(--spacing-md);flex-direction:column;flex-shrink:0;display:flex}.site-footer__links{gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center;display:flex}.site-footer__links a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.site-footer__links a:hover{color:var(--color-primary)}.site-footer__separator{color:var(--color-border)}.site-footer__copyright{color:var(--color-text-secondary);text-align:center}html[data-view-mode=compact] .site-footer{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md);gap:var(--spacing-sm)}:root{--brand-icon-mask:radial-gradient(circle, black 45%, transparent 72%);--color-background:#1a1a1a;--color-background-lighter:color-mix(in srgb, var(--color-background) 90%, white 1%);--color-text-primary:#e0e0e0;--color-text-secondary:#b0b0b0;--color-primary:#4caf50;--color-primary-hover:#45a049;--color-secondary:#333;--color-border:#444;--color-accent:#8a4a8a;--color-accent-hover:#a05aa0;--color-success:#4caf50;--color-warning:#f44336;--color-error:#f44336;--color-info:#2196f3;--color-weather:#1e3a8a;--color-log-own-action:#ff9800;--color-interactive-item:#8a8a4a;--color-interactive-creature:#4a4a8a;--color-interactive-resource:#4a8a4a;--color-interactive-room:#8a8a4a;--color-interactive-roomType:#8a7a4a;--color-interactive-portal:#8a4a8a;--color-interactive-skill:#4a8a8a;--color-interactive-exit:#4c6a43;--color-interactive-scenery:#6a6a6a;--color-interactive-body:#8a6a4a;--color-interactive-lore:#4a6a8a;--color-interactive-recipe:#8a4a6a;--color-interactive-door:#6f3600;--color-interactive-effectTemplate:#780101;--color-interactive-weatherTemplate:#780101;--color-interactive-other:#6a6a6a;--color-interactive-item-border:#ffff6a;--color-interactive-creature-border:#6a6aff;--color-interactive-resource-border:#6aff6a;--color-interactive-room-border:#ffff6a;--color-interactive-roomType-border:#ffcc6a;--color-interactive-portal-border:#ff6aff;--color-interactive-skill-border:#6affff;--color-interactive-exit-border:#8c8c8c;--color-interactive-scenery-border:#8c8c8c;--color-interactive-body-border:#ffb36a;--color-interactive-lore-border:#6aaaff;--color-interactive-recipe-border:#ff6aaa;--color-interactive-door-border:#3a1c00;--color-interactive-effectTemplate-border:#400000;--color-interactive-weatherTemplate-border:#400000;--color-interactive-other-border:#8c8c8c;--interactive-text-shadow:1px 1px 1px #000;--rd-room-bg-opacity:.15;--rd-room-bg-blend-mode:normal;--rd-room-bg-filter:saturate(.6);--rd-room-bg-text-shadow:0 1px 4px #000c, 0 0 2px #00000080;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-xxl:32px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-pill:999px;--border-radius-progress-bar:999px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:1.5rem;--header-height:60px;--sidebar-width:20%;--central-width:60%;--shadow-sm:0 2px 4px #0003;--shadow-md:0 4px 8px #0003;--shadow-lg:0 8px 16px #0003;--font-family-primary:"Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono:source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--z-index-dropdown:100000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--font-family-base:var(--font-family-primary);--color-bg-secondary:color-mix(in srgb, var(--color-secondary) 84%, var(--color-background-lighter) 16%);--color-surface:color-mix(in srgb, var(--color-secondary) 72%, var(--color-background-lighter) 28%);--color-bg:var(--color-background);--color-bg-panel:var(--color-bg-secondary);--color-text:var(--color-text-primary);--color-text-light:var(--color-text-primary);--color-text-muted:var(--color-text-secondary);--color-text-tertiary:color-mix(in srgb, var(--color-text-secondary) 72%, var(--color-background-lighter) 28%);--color-background-alt:color-mix(in srgb, var(--color-secondary) 82%, var(--color-background-lighter) 18%);--color-background-hover:color-mix(in srgb, var(--color-secondary) 68%, var(--color-background-lighter) 32%);--color-surface-elevated:color-mix(in srgb, var(--color-secondary) 78%, var(--color-background-lighter) 22%);--color-surface-hover:color-mix(in srgb, var(--color-secondary) 64%, var(--color-background-lighter) 36%);--color-border-dim:color-mix(in srgb, var(--color-border) 72%, transparent 28%);--color-accent-bg:color-mix(in srgb, var(--color-accent) 18%, transparent 82%);--color-accent-dim:color-mix(in srgb, var(--color-accent) 70%, var(--color-background-lighter) 30%);--color-danger:var(--color-error);--color-danger-bg:var(--color-error);--color-danger-text:var(--color-secondary);--color-negative:var(--color-error);--color-positive:var(--color-success);--color-error-bg:color-mix(in srgb, var(--color-error) 14%, transparent 86%);--color-success-bg:color-mix(in srgb, var(--color-success) 14%, transparent 86%);--color-success-muted:color-mix(in srgb, var(--color-success) 55%, var(--color-text-secondary) 45%);--color-warning-bg:color-mix(in srgb, var(--color-warning) 16%, transparent 84%);--color-on-primary:var(--color-secondary);--color-primary-text:var(--color-secondary);--color-primary-transparent:color-mix(in srgb, var(--color-primary) 16%, transparent 84%);--color-white:#fff;--font-mono:var(--font-family-mono);--font-serif:Georgia, "Times New Roman", serif;--font-size-base:var(--font-size-md);--font-weight-medium:500;--font-weight-semibold:600;--spacing-xxs:calc(var(--spacing-xs) / 2);--z-index-toast:calc(var(--z-index-tooltip) + 10);--admin-primary:var(--color-primary);--admin-primary-hover:var(--color-primary-hover);--admin-primary-alpha:var(--color-primary-transparent);--admin-accent:var(--color-primary);--admin-accent-bg:var(--color-primary-transparent);--admin-accent-rgb:100, 155, 255;--admin-bg-primary:var(--color-background);--admin-bg-secondary:var(--color-bg-secondary);--admin-bg-tertiary:var(--color-surface);--admin-bg-hover:var(--color-surface-hover);--admin-bg-selected:var(--color-primary-transparent);--admin-surface:var(--color-surface-elevated);--admin-surface-subtle:var(--color-surface);--admin-surface-hover:var(--color-surface-hover);--admin-surface-highlight:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface-elevated) 88%);--admin-subtle-bg:var(--color-background-alt);--admin-border:var(--color-border);--admin-border-light:color-mix(in srgb, var(--color-border) 60%, transparent 40%);--admin-border-subtle:color-mix(in srgb, var(--color-border) 42%, transparent 58%);--admin-text:var(--color-text-primary);--admin-text-primary:var(--color-text-primary);--admin-text-secondary:var(--color-text-secondary);--admin-text-tertiary:var(--color-text-tertiary);--admin-text-muted:var(--color-text-muted);--admin-error:var(--color-error);--admin-error-bg:var(--color-error-bg);--admin-error-subtle:color-mix(in srgb, var(--color-error) 9%, transparent 91%);--admin-success:var(--color-success);--admin-success-bg:var(--color-success-bg);--admin-success-subtle:color-mix(in srgb, var(--color-success) 9%, transparent 91%);--admin-info:var(--color-info);--admin-info-rgb:59, 130, 246;--admin-info-subtle:color-mix(in srgb, var(--color-info) 9%, transparent 91%);--admin-warning:var(--color-warning);--admin-warning-rgb:234, 179, 8;--admin-warning-bg:var(--color-warning-bg);--admin-warning-subtle:color-mix(in srgb, var(--color-warning) 9%, transparent 91%);--admin-input-bg:var(--color-bg-secondary);--admin-font-mono:var(--font-family-mono);--admin-font-size-lg:var(--font-size-lg);--admin-font-size-sm:var(--font-size-sm);--admin-font-size-xs:var(--font-size-xs);--admin-gap-lg:var(--spacing-lg);--admin-gap-md:var(--spacing-md);--admin-gap-sm:var(--spacing-sm);--admin-spacing-xl:var(--spacing-xl);--admin-spacing-lg:var(--spacing-lg);--admin-spacing-md:var(--spacing-md);--admin-spacing-sm:var(--spacing-sm);--admin-spacing-xs:var(--spacing-xs);--admin-radius-md:var(--border-radius-md);--admin-radius-sm:var(--border-radius-sm);--admin-radius:var(--border-radius-md);--rd-active-progress-height:0px;--rd-communication-dock-height:0px;--rd-exits-strip-height:0px;--rd-room-bg-image:none}body{font-family:var(--font-family-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;height:100dvh;margin:0;padding:0;overflow:hidden}#app{flex-direction:column;height:100%;display:flex}html[data-device=mobile] body{overscroll-behavior:none;-webkit-touch-callout:none}html[data-device=mobile]{overflow-x:hidden}.page{width:100%;height:100%;color:var(--color-primary);flex-direction:column;align-items:center;display:flex}html[data-device=mobile] .page{-webkit-overflow-scrolling:touch;overflow-y:auto}input,select{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary), transparent 50%);outline:none}.form-group{gap:var(--spacing-sm);margin-top:var(--spacing-lg);flex-direction:column;display:flex}html[data-device=mobile] .form-group{margin-top:var(--spacing-md)}.form-actions{flex-direction:column;justify-content:flex-end;align-items:flex-end;display:flex}html[data-device=mobile] .form-actions{align-items:stretch}html[data-device=mobile] .form-actions button{width:100%}.error-message{color:var(--color-error);margin-bottom:var(--spacing-sm)}button{background-color:var(--color-primary);color:var(--color-secondary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);cursor:pointer;border:none;font-weight:700;transition:background-color .3s}button:hover{background-color:var(--color-primary-hover)}html[data-device=mobile] button,html[data-device=mobile] a,html[data-device=mobile] input,html[data-device=mobile] select,html[data-device=mobile] textarea,html[data-device=mobile] [role=button]{touch-action:manipulation}html[data-device=mobile] body{font-size:max(var(--font-size-base,.95rem), 14px)}html[data-device=mobile] input,html[data-device=mobile] select,html[data-device=mobile] textarea{font-size:max(1rem,16px)}.content-block{background-color:var(--color-secondary);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-md)}.content-block h2{color:var(--color-primary);margin-top:0;margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--color-text-secondary) transparent}
