@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700&display=swap";:root{--color-primary: #1c2a20;--color-secondary: #161b21;--color-silver: #e5edf5;--color-gold: #f1df94;--color-light-gray: #e5edf5;--color-dark-gray: #363b41;--color-white: #e5edf5;--color-danger: #7b2226;--color-success: #2e6b47;--color-border: #c4cad2;--color-muted: #6b7280;--color-link: #1c2a20;--color-primary-bg: #edf2ee;--color-bg-alt: #dce4ec;--color-bg: #e5edf5;--color-warning: #d97706;--color-surface: #e5edf5;--color-light: #e5edf5;--color-info: #2563eb;--color-danger-text: #7b2226;--color-danger-bg: #fce8e8;--color-danger-border: #a04044;--color-success-text: #1a6b36;--color-success-bg: #e5f2ea;--color-success-border: #5a9e6f;--font-family: "Open Sans", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--surface-raised: #f0f4f8;--z-play-fullscreen: 1000;--z-page-close: 1050;--z-chrome-handle: 1090;--z-site-chrome: 1100;--z-modal: 1200;--navbar-height: 56px;--hub-feed-gap: 2px;--client-close-size: 40px;--client-close-inset: 12px;--client-close-gap: 8px;--toast-safe-top: 16px}body[data-client-chrome=floating-close]{--toast-safe-top: calc( var(--client-close-inset) + var(--client-close-size) + var(--client-close-gap) )}body[data-client-chrome=page-close]{--toast-safe-top: calc( var(--navbar-height) + var(--client-close-inset) + var(--client-close-size) + var(--client-close-gap) )}.client-close-btn{position:absolute;top:var(--client-close-inset);right:var(--client-close-inset);z-index:40;width:var(--client-close-size);height:var(--client-close-size);border:none;border-radius:50%;background:#0000004d;color:#ffffffb3;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.client-close-btn:hover{background:#0000008c;color:#fff}.client-close-btn--page{position:fixed;top:calc(var(--navbar-height) + var(--client-close-inset));right:var(--client-close-inset);z-index:var(--z-page-close)}[data-theme=original]{--color-primary: #0a3a1f;--color-secondary: #1f1f1f;--color-silver: #c0c0c0;--color-gold: #d4af37;--color-light-gray: #f3f3f3;--color-dark-gray: #5e5e5e;--color-white: #ffffff;--color-danger: #dc3545;--color-success: #28a745;--color-border: #c0c0c0;--color-muted: #888888;--color-link: #0a3a1f;--color-primary-bg: #e8f0fe;--color-bg-alt: #f5f5f5;--color-bg: #ffffff;--color-warning: #e67e22;--color-surface: #ffffff;--color-light: #f3f3f3;--color-info: #17a2b8;--color-danger-text: #dc3545;--color-danger-bg: #fef2f2;--color-danger-border: #dc3545;--color-success-text: #28a745;--color-success-bg: #f0fdf4;--color-success-border: #28a745;--surface-raised: #f7f9fc}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-family);font-size:1rem;color:var(--color-secondary);background-color:var(--color-light-gray);min-height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-primary);font-weight:700;line-height:1.2;margin-top:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer}.btn{display:inline-block;padding:8px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;transition:opacity .2s}.btn:hover{opacity:.9;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-silver)}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-gold{background-color:var(--color-gold);color:var(--color-secondary)}.container{max-width:1140px;margin:0 auto;padding:0 16px}input,select,textarea{font-family:var(--font-family);font-size:1rem;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;width:100%}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1c2a2026}.hero-banner{background:linear-gradient(#0000004d,#0000004d),url(/jumbotron_banner.png) no-repeat center center;background-size:cover;padding:3.5rem 16px;text-align:center;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);margin-top:-24px;margin-bottom:32px}.hero-banner h1,.hero-banner p{color:var(--color-silver);text-shadow:-1px -1px 0 var(--color-secondary),1px -1px 0 var(--color-secondary),-1px 1px 0 var(--color-secondary),1px 1px 0 var(--color-secondary)}.hero-banner h1{font-size:2.5rem;margin-bottom:8px}.hero-banner p{font-size:1.15rem;line-height:1.6;max-width:800px;margin:0 auto}.card-primary{background:var(--color-white);border-radius:10px;box-shadow:0 4px 12px #00000014;overflow:hidden;margin-bottom:32px}.card-primary-inner{display:grid;grid-template-columns:1fr 2fr;gap:0}.card-primary-sidebar{padding:24px;background:var(--color-light-gray);border-right:1px solid var(--color-border)}.card-primary-sidebar nav ul{list-style:none;padding:0;margin:12px 0 0}.card-primary-sidebar nav ul li{margin-bottom:8px}.card-primary-sidebar nav ul li a{color:var(--color-dark-gray);font-size:.9rem}.card-primary-sidebar nav ul li a:hover{color:var(--color-primary)}.card-primary-content{padding:32px}@media(max-width:768px){.card-primary-inner{grid-template-columns:1fr}.card-primary-sidebar{border-right:none;border-bottom:1px solid var(--color-border)}}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:768px){.catalog-grid{grid-template-columns:repeat(5,1fr)}}.game-card{position:relative;border-radius:10px;overflow:hidden;padding-top:120%;box-shadow:0 4px 6px #0000001a;transition:box-shadow .2s,transform .2s}.game-card:hover{box-shadow:0 6px 16px #0000002e;transform:translateY(-2px)}.game-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-color:var(--color-light-gray)}.game-card-bg.has-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000,#0000 40%,#0003 60%,#000000e6)}.game-card-bg.has-image:before{content:"";position:absolute;top:50%;left:0;right:0;bottom:0;background:linear-gradient(to top,#ffffffe6,#fff9 50%,#fff0 70%);z-index:1}.game-card-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;box-shadow:inset 0 0 0 10px var(--color-silver);z-index:3;pointer-events:none}.game-card-inner-border{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px solid black;border-radius:10px;z-index:4;pointer-events:none}.game-card-body{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;z-index:5}.game-card-title{color:var(--color-primary);text-align:center;text-shadow:1px 1px 0 var(--color-silver),-1px 1px 0 var(--color-silver),1px -1px 0 var(--color-silver),-1px -1px 0 var(--color-silver);font-size:1rem;font-weight:700;margin:0}.game-card-creator{text-align:center;font-size:.8rem;color:var(--color-dark-gray);margin:4px 0 0}.game-card-no-image{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-dark-gray);font-size:.9rem}.game-card.owned{box-shadow:0 4px 6px #0000001a,inset 0 0 0 10px var(--color-primary)}.game-card.created{box-shadow:0 4px 6px #0000001a,inset 0 0 0 10px var(--color-success)}.game-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.game-card-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.game-card-badge.badge-owned{background:var(--color-primary);color:var(--color-white)}.game-card-badge.badge-created{background:var(--color-success);color:var(--color-white)}.game-card-badge.badge-free{background:var(--color-light-gray);color:var(--color-dark-gray)}.game-card-badge.badge-price{background:var(--color-gold);color:var(--color-secondary)}.game-card-play-btn{position:absolute;top:8px;right:8px;z-index:6;min-width:44px;min-height:44px;padding:8px 16px;font-size:.9rem;border-radius:6px}.game-card-play-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.catalog-tag-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;align-items:center}.catalog-tag-chip{display:inline-block;padding:6px 14px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-secondary);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-family:var(--font-family)}.catalog-tag-chip:hover{border-color:var(--color-primary)}.catalog-tag-chip.selected{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.catalog-sort-chip{display:inline-block;padding:6px 14px;border-radius:20px;border:1px solid var(--color-info);background:var(--color-info);color:var(--color-white);font-size:.85rem;cursor:pointer;transition:opacity .15s;font-family:var(--font-family)}.catalog-sort-chip:hover{opacity:.85}.catalog-sort-chip.inert{opacity:.6;cursor:default}.catalog-tag-clear{display:inline-block;padding:6px 14px;border-radius:20px;border:1px solid var(--color-danger-border);background:transparent;color:var(--color-danger-text);font-size:.85rem;cursor:pointer;font-family:var(--font-family);transition:background .15s,color .15s}.catalog-tag-clear:hover{background:var(--color-danger);color:var(--color-white)}.catalog-mine{margin-top:32px}.catalog-mine-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-secondary);font-size:.9rem;font-weight:600;cursor:pointer;font-family:var(--font-family);transition:background .15s,border-color .15s,color .15s}.catalog-mine-toggle:hover{border-color:var(--color-primary)}.catalog-mine-toggle[aria-expanded=true]{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.catalog-mine-frame{margin-top:16px;padding:20px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-light-gray, rgba(0, 0, 0, .02))}.catalog-mine-heading{margin:0 0 16px;font-size:1.1rem;color:var(--color-secondary)}.feature-card{background:var(--color-white);border-radius:10px;padding:28px;box-shadow:0 4px 12px #00000014;transition:box-shadow .2s,transform .2s}.feature-card:hover{box-shadow:0 6px 16px #00000024;transform:translateY(-2px)}.feature-card h2{text-shadow:1px 1px 0 var(--color-silver),-1px 1px 0 var(--color-silver)}@media(max-width:768px){.navbar-toggler{display:block!important}.navbar-links{display:none!important;flex-direction:column;position:absolute;top:var(--navbar-height);left:0;right:0;background:var(--color-primary);padding:16px;z-index:100;gap:12px}.navbar-links.open{display:flex!important}.navbar-links>div{flex-direction:column;align-items:center;gap:12px!important}}.form-card{max-width:480px;margin:0 auto;background:var(--color-white);border-radius:10px;padding:32px;box-shadow:0 4px 12px #00000014}.account-table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:8px;overflow:hidden}.account-table th{color:var(--color-primary);font-weight:700;padding:12px;text-align:left;width:160px}.account-table td{color:var(--color-secondary);padding:12px}.account-table tr{border-bottom:1px solid var(--color-border)}.account-table a:not(.btn){color:var(--color-primary)}.play-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100dvw;height:100dvh;z-index:var(--z-play-fullscreen);overflow:hidden;background:#000}.play-client-surface{width:100%;height:100%}.play-fullscreen[data-client-mode=landscape],.play-fullscreen[data-client-mode=portrait]{display:flex;align-items:center;justify-content:center}.play-fullscreen[data-client-mode=landscape] .play-client-surface{width:min(100dvw,calc(100dvh * 16 / 9));height:min(100dvh,56.25dvw)}.play-fullscreen[data-client-mode=portrait] .play-client-surface{width:min(100dvw,56.25dvh);height:min(100dvh,calc(100dvw * 16 / 9))}body.play-fullscreen-active{overflow:hidden}.play-fullscreen[data-tv-mode]{font-size:clamp(1.25rem,1.6vw,2rem);line-height:1.4;cursor:none}.site-chrome--fixed{position:fixed;left:0;right:0;z-index:var(--z-site-chrome);transition:transform .3s ease}.site-chrome--fixed.site-chrome--navbar{top:0}.site-chrome--fixed.site-chrome--footer{bottom:0}.site-chrome--fixed.site-chrome--navbar.site-chrome--hidden{transform:translateY(-100%)}.site-chrome--fixed.site-chrome--footer.site-chrome--hidden{transform:translateY(100%)}.site-chrome--reduced-motion{transition:none}@media(prefers-reduced-motion:reduce){.site-chrome--fixed{transition:none}}.play-surface{max-width:640px;margin:0 auto;display:flex;flex-direction:column;min-height:100%}.play-scroll{flex:1;padding-bottom:16px}.play-actions{position:sticky;bottom:0;background:var(--color-bg, #fff);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #1c2a2014;padding:12px 0;max-height:45vh;overflow-y:auto}.play-actions-footer{display:flex;justify-content:center;gap:16px;margin-top:16px}.system-messages{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.system-message{padding:10px 14px;background:var(--color-white);border-left:3px solid var(--color-primary);border-radius:4px;font-size:.95rem;color:var(--color-secondary)}.location-panel{margin-bottom:20px}.location-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.location-stat{background:var(--color-white);border-radius:6px;padding:8px 14px;box-shadow:0 1px 4px #0000000f;font-size:.9rem}.location-stat-label{color:var(--color-dark-gray);font-size:.8rem}.location-stat-value{font-weight:700;color:var(--color-secondary)}.owner-section{background:var(--color-white);border-radius:10px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.owner-section h3{font-size:1.1rem;margin-bottom:12px}.owner-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.owner-stat{display:flex;gap:6px;align-items:baseline;font-size:.95rem}.owner-stat-label{color:var(--color-dark-gray)}.owner-stat-value{font-weight:700}.container-section{margin-top:12px}.container-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-bottom:6px;cursor:pointer;font-family:var(--font-family)}.container-toggle:hover .container-label{color:var(--color-primary)}.container-toggle-icon{display:inline-block;font-size:.65rem;color:var(--color-dark-gray);transition:transform .15s ease;transform:rotate(0)}.container-toggle-icon.expanded{transform:rotate(90deg)}.container-count{font-size:.8rem;color:var(--color-dark-gray);font-weight:400}.container-label{font-size:.85rem;font-weight:600;color:var(--color-dark-gray);text-transform:uppercase;letter-spacing:.04em}.container-contents{display:flex;flex-wrap:wrap;gap:8px}.asset-card{background:var(--color-light-gray);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;font-size:.9rem}.asset-card-name{font-weight:600;color:var(--color-secondary)}.asset-card-children{font-size:.8rem;color:var(--color-dark-gray);margin-top:2px}.opaque-indicator{color:var(--color-dark-gray);font-style:italic;font-size:.9rem}.play-actions h3{font-size:1rem;margin-bottom:8px}.play-action-list{display:flex;flex-direction:column;gap:8px}.play-action-btn{padding:12px 16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);text-align:left;transition:border-color .2s,box-shadow .2s}.play-action-btn:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 1px 4px #1c2a201f}.play-action-btn:disabled{opacity:.6;cursor:not-allowed}.action-armed{display:inline-flex;align-items:stretch;gap:4px}.action-armed-confirm{background:var(--color-warning)!important;border-color:var(--color-warning)!important;color:var(--color-white, #fff)!important}.action-armed-cancel{flex:0 0 auto;padding:0 12px;border:1px solid var(--color-warning);border-radius:6px;background:transparent;color:var(--color-warning);font-size:.9rem;line-height:1;cursor:pointer}.action-armed-cancel:hover{background:var(--color-warning);color:var(--color-white, #fff)}.confirm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c}.confirm-modal{width:100%;max-width:420px;padding:24px;border-radius:8px;background:var(--color-bg, #fff);color:var(--color-secondary, #1a1a1a);box-shadow:0 8px 32px #00000059}.confirm-modal-title{margin:0 0 8px;font-size:1.25rem}.confirm-modal-body{margin:0 0 20px;color:var(--color-muted, #555);line-height:1.5}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-modal-actions button{padding:8px 20px;border-radius:6px;border:1px solid var(--color-border);cursor:pointer;font-size:.95rem}.confirm-modal-cancel{background:transparent;color:var(--color-secondary, #1a1a1a)}.confirm-modal-cancel:hover{background:var(--surface-raised, rgba(0, 0, 0, .04))}.confirm-modal-confirm{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white, #fff)}.confirm-modal-confirm--destructive{background:var(--color-danger);border-color:var(--color-danger-border, var(--color-danger))}.play-action-name{font-weight:700;color:var(--color-secondary)}.play-action-cost{font-size:.85rem;color:var(--color-dark-gray);margin-top:2px}.play-load-error{padding:12px 16px;border-radius:6px;background:var(--color-danger);color:#fff;margin-bottom:16px}.play-action-param{display:flex;flex-direction:column;gap:6px;padding:8px 12px;cursor:default}.play-action-param:has(select){flex-direction:row;align-items:center;gap:8px;padding:6px 12px}.play-action-slider{width:100%;margin:0;accent-color:var(--color-primary)}.play-action-param-control{display:flex;gap:8px;align-items:center}.play-action-param-control input[type=number]{flex:0 0 auto;width:5rem;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem}.play-action-param-control select{flex:0 0 auto;width:auto;min-width:4.5rem;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem}.play-action-param-control .btn{flex-shrink:0}.play-hand-complete{text-align:center;padding:16px;color:var(--color-dark-gray);font-style:italic}.play-empty{color:var(--color-dark-gray);font-size:.9rem}.game-over-panel{text-align:center;padding:24px;background:var(--color-white);border-radius:10px;box-shadow:0 2px 8px #0000000f;margin-bottom:20px}.game-over-panel h3{margin-bottom:8px}.game-over-panel p{color:var(--color-dark-gray);margin:0}.skeleton-block{background:linear-gradient(90deg,#d4dce6 25%,#eef3f9,#d4dce6 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.scene-banner{position:relative;border-radius:10px;overflow:hidden;margin-bottom:12px;background:var(--color-secondary, #1f5130);min-height:56px;display:flex;align-items:flex-end}.scene-banner-art{min-height:200px}.scene-banner-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.scene-banner-title{position:relative;margin:0;padding:10px 16px;width:100%;color:#fff;font-size:1.4rem;text-shadow:0 2px 6px rgba(0,0,0,.6);background:linear-gradient(to top,#0000008c,#0000)}.location-description{margin:0 0 16px;color:var(--color-dark-gray, #555);font-style:italic;line-height:1.4}.owner-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.owner-header h3{margin:0}.entity-sprite{width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:8px}.entity-sprite-emoji{display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--color-light-gray, #f0f0f0)}.field-hint-list{list-style:none;padding:0;margin:4px 0 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:2px 16px}.hint-met{color:var(--color-success-text)}.hint-unmet{color:var(--color-dark-gray)}.password-wrapper{position:relative}.password-wrapper input{padding-right:44px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--color-dark-gray);font-size:.85rem;line-height:1}.auth-slot{width:164px;display:flex;justify-content:flex-end;flex-shrink:0}.auth-authed{display:flex;align-items:center;gap:8px}.nav-message-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:var(--color-silver);text-decoration:none;flex-shrink:0;transition:background .15s ease,color .15s ease}.nav-message-button:hover{color:var(--color-white);background:#ffffff1a;text-decoration:none}.nav-message-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;box-sizing:border-box;background:var(--color-danger, #7b2226);color:var(--color-white, #e5edf5);font-size:.65rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center}.user-menu{position:relative}.user-menu-toggle{background:none;border:none;color:var(--color-silver);font-size:.9rem;cursor:pointer;padding:0;max-width:120px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-family)}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--color-white);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:200;display:flex;flex-direction:column;overflow:hidden}.user-menu-item{display:block;padding:10px 16px;color:var(--color-secondary);text-decoration:none;font-size:.9rem;border:none;background:none;text-align:left;cursor:pointer;font-family:var(--font-family);width:100%}.user-menu-item:hover{background:var(--color-light-gray);text-decoration:none}.user-menu-logout{border-top:1px solid var(--color-border);color:var(--color-danger)}@media(max-width:768px){.auth-slot{width:auto;justify-content:center}.user-menu-dropdown{position:static;box-shadow:none;margin-top:4px;background:transparent;min-width:auto}.user-menu-item{color:var(--color-silver);text-align:center}.user-menu-item:hover{background:#ffffff1a}.user-menu-logout{border-top:1px solid rgba(255,255,255,.2);color:var(--color-silver)}}.hub-shell{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:var(--z-play-fullscreen);display:grid;grid-template-columns:280px minmax(0,1fr) 300px;background:var(--color-bg);overflow:hidden}.hub-rail{grid-column:1;display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface-raised);border-right:1px solid var(--color-border);overflow-y:auto;padding:var(--space-3) var(--space-2)}.hub-pane{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-bg)}.hub-panel{grid-column:3;background:var(--surface-raised);border-left:1px solid var(--color-border);overflow-y:auto;padding:var(--space-4)}.rail-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:none;border-radius:var(--radius-md);color:var(--color-secondary);font-family:var(--font-family);font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s}.rail-item:hover{background:var(--color-bg-alt)}.rail-item.active{background:var(--color-primary);color:var(--color-white)}.rail-section-label{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--color-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.msg-bubble{position:relative;max-width:72%;align-self:flex-start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--color-secondary);box-shadow:var(--shadow-card);word-break:break-word}.msg-bubble--own{align-self:flex-end;background:var(--color-primary);color:var(--color-white)}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-danger);color:var(--color-white);font-size:.7rem;font-weight:700;line-height:1}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--color-muted);flex-shrink:0}.presence-dot.online{background:var(--color-success)}.rail-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-empty{padding:var(--space-2) var(--space-3);color:var(--color-muted);font-size:.85rem}.hub-banner{padding:var(--space-2) var(--space-4);background:var(--color-danger);color:var(--color-white);font-size:.85rem;text-align:center}.hub-pane-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.hub-back,.hub-info-toggle{border:none;background:none;color:var(--color-link);font-family:var(--font-family);font-size:.9rem;cursor:pointer;padding:var(--space-1) var(--space-2)}.hub-feed{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.hub-feed-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.hub-feed--empty{align-items:center;justify-content:center;gap:var(--space-3)}.msg-row{display:flex;gap:var(--space-2);align-items:flex-start}.msg-row--grouped{margin-top:1px}.msg-row--own{flex-direction:row-reverse}.msg-avatar{width:32px;flex-shrink:0}.msg-main{display:flex;flex-direction:column;min-width:0;max-width:72%}.msg-row--own .msg-main{align-items:flex-end}.msg-sender{display:block;font-size:.75rem;font-weight:700;color:var(--color-link);margin-bottom:2px}.msg-text{white-space:pre-wrap}.msg-text a{color:var(--color-link);word-break:break-word}.msg-preview-slot{margin-top:var(--space-1)}.msg-image-preview{display:inline-block;position:relative;border-radius:var(--radius-md);overflow:hidden}.msg-image{display:block;max-width:320px;max-height:320px;width:auto;height:auto;border-radius:var(--radius-md)}.msg-image-skeleton{width:200px;height:140px;background:var(--surface-raised);border-radius:var(--radius-md);animation:msg-image-pulse 1.2s ease-in-out infinite}@keyframes msg-image-pulse{0%,to{opacity:1}50%{opacity:.5}}.msg-image-fallback{color:var(--color-link);word-break:break-word}.msg-reactions-slot{display:flex;margin-top:2px}.reaction-bar{display:flex;flex-wrap:wrap;gap:var(--space-1)}.reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:1px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--color-secondary);font-size:.8rem;line-height:1.4;cursor:pointer}.reaction-chip--mine{border-color:var(--color-link);background:color-mix(in srgb,var(--color-link) 14%,transparent)}.reaction-count{font-weight:700;font-size:.72rem}.msg-actions-slot{position:absolute;top:-10px;right:var(--space-2);opacity:0;pointer-events:none;transition:opacity .1s ease;z-index:1}.msg-row:hover .msg-actions-slot,.msg-main:focus-within .msg-actions-slot,.msg-actions-slot[data-open=true]{opacity:1;pointer-events:auto}.msg-row--own .msg-actions-slot{right:auto;left:var(--space-2)}.hub-feed--feed{gap:var(--hub-feed-gap);padding:var(--space-2) 0}.msg-row--feed{position:relative;flex-direction:row;align-items:flex-start;gap:var(--space-2);padding:1px var(--space-4)}.msg-row--feed:hover{background:var(--color-bg-alt)}.msg-row--feed.msg-row--grouped{margin-top:0}.msg-main--feed{max-width:none;width:100%;align-items:stretch}.msg-run-header{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:1px}.msg-run-header .msg-sender{margin-bottom:0}.msg-run-time{font-size:.7rem;color:var(--color-muted)}.msg-row--feed:hover .msg-actions-slot,.msg-row--feed:focus-within .msg-actions-slot{opacity:1;pointer-events:auto}.msg-actions{position:relative;display:inline-flex;gap:2px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-card)}.msg-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-size:.95rem}.msg-action:hover{background:var(--surface-raised)}.reaction-picker{position:absolute;top:32px;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-card);z-index:2}.reaction-picker-item{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-size:1.1rem}.reaction-picker-item:hover{background:var(--surface-raised)}.feed-divider{display:flex;align-items:center;text-align:center;margin:var(--space-3) 0;color:var(--color-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.feed-divider:before,.feed-divider:after{content:"";flex:1;border-top:1px solid var(--color-border)}.feed-divider span{padding:0 var(--space-3)}.feed-divider--unread{color:var(--color-danger)}.feed-divider--unread:before,.feed-divider--unread:after{border-top-color:var(--color-danger)}.jump-to-unread{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);background:var(--color-danger);color:var(--color-white);border:none;border-radius:999px;padding:var(--space-1) var(--space-4);font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-card)}.hub-composer{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--surface-raised)}.composer-row{display:flex;gap:var(--space-2)}.composer-quote{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-left:3px solid var(--color-link);border-radius:var(--radius-sm);background:var(--color-bg);font-size:.85rem;color:var(--color-muted)}.composer-quote-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-quote-clear{border:none;background:transparent;cursor:pointer;color:var(--color-muted);font-size:.9rem}.composer-hints{position:absolute;bottom:100%;left:var(--space-4);margin:0 0 var(--space-1);padding:var(--space-1);list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-card);z-index:3}.composer-hint{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.composer-hint--active{background:var(--surface-raised)}.msg-status{font-size:.72rem;color:var(--color-muted);margin-top:2px}.msg-status--failed{color:var(--color-danger, #c0392b)}.msg-status-action{border:none;background:transparent;color:var(--color-link);cursor:pointer;font-size:.72rem;font-weight:700;padding:0 4px}.hub-composer textarea{flex:1;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:.95rem;background:var(--color-bg);color:var(--color-secondary)}.hub-empty,.hub-empty-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.hub-empty{justify-content:center;text-align:center;height:100%;padding:var(--space-6);color:var(--color-secondary)}.hub-empty-actions{flex-direction:row}.panel-heading{margin:0 0 var(--space-3);font-size:1rem}.panel-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.panel-member{display:flex;align-items:center;gap:var(--space-2);width:100%;border:none;background:none;padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-secondary);font-family:var(--font-family);text-align:left}.panel-member:hover{background:var(--color-bg-alt)}.panel-member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-owner-tag{color:var(--color-muted);font-size:.8rem}.panel-profile{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.panel-profile-name{font-weight:700;color:var(--color-link)}.panel-profile-status{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:.85rem}.panel-actions{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.contacts-pane{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4)}.contacts-section{margin-bottom:var(--space-5)}.contacts-list{list-style:none;margin:0;padding:0}.contacts-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.contacts-identity{display:flex;align-items:center;gap:var(--space-2);min-width:0}.contacts-row-actions{display:flex;gap:var(--space-2);flex-shrink:0}.hub-shell--mobile{grid-template-columns:1fr}.hub-shell--mobile .hub-rail,.hub-shell--mobile .hub-pane,.hub-shell--mobile .hub-panel,.hub-shell--mobile .hub-panel-mobile{grid-column:1;display:none}.hub-shell--mobile.mobile-view-rail .hub-rail,.hub-shell--mobile.mobile-view-pane .hub-pane{display:flex}.hub-shell--mobile.mobile-view-panel .hub-panel-mobile{display:block;grid-column:1;overflow-y:auto}.rail-bell{font-weight:600}.rail-bell-icon{font-size:1rem;line-height:1}.notifications-pane{display:flex;flex-direction:column;height:100%;overflow-y:auto}.notifications-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--surface-base, var(--color-bg));z-index:1}.notifications-tabs{display:flex;gap:var(--space-2)}.notifications-tab{border:none;background:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-secondary);font-family:var(--font-family);font-size:.95rem;cursor:pointer}.notifications-tab.active{background:var(--color-primary);color:var(--color-white)}.notifications-markall{border:1px solid var(--color-border);background:none;color:var(--color-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:.85rem;cursor:pointer}.notifications-markall:hover{background:var(--color-bg-alt)}.notifications-loading,.notifications-error,.notifications-empty{padding:var(--space-5) var(--space-4);color:var(--color-muted);text-align:center}.notifications-empty-sub{font-size:.85rem;color:var(--color-muted)}.notifications-list{list-style:none;margin:0;padding:0}.notification-item{border-bottom:1px solid var(--color-border)}.notification-item.unread{background:var(--color-bg-alt)}.notification-row{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;text-align:left;cursor:pointer;font-family:var(--font-family)}.notification-row:hover{background:var(--color-bg-alt)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin-top:6px;flex-shrink:0}.notification-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notification-text{color:var(--color-secondary);font-size:.95rem}.notification-preview{color:var(--color-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{color:var(--color-muted);font-size:.75rem;flex-shrink:0}.notif-settings{padding:var(--space-4)}.notif-settings-intro{color:var(--color-muted);font-size:.9rem;margin-bottom:var(--space-4)}.notif-settings-grid{display:flex;flex-direction:column;gap:var(--space-2)}.notif-settings-head,.notif-settings-row{display:grid;grid-template-columns:1fr 64px 64px;align-items:center;gap:var(--space-2)}.notif-settings-head{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.notif-settings-col{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.notif-settings-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.notif-settings-label{display:flex;flex-direction:column;gap:2px}.notif-settings-title{color:var(--color-secondary);font-weight:600}.notif-settings-desc,.notif-settings-cadence{color:var(--color-muted);font-size:.82rem}.notif-toggle{display:inline-flex;justify-self:center;cursor:pointer}.notif-toggle input{position:absolute;opacity:0;width:0;height:0}.notif-toggle-track{display:inline-block;width:40px;height:22px;border-radius:11px;background:var(--color-muted);position:relative;transition:background .15s}.notif-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-white);transition:transform .15s}.notif-toggle input:checked+.notif-toggle-track{background:var(--color-primary)}.notif-toggle input:checked+.notif-toggle-track:after{transform:translate(18px)}.notif-toggle input:focus-visible+.notif-toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.notif-settings-loading,.notif-settings-error{padding:var(--space-4);color:var(--color-muted)}.editor-shell{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:var(--z-play-fullscreen);display:grid;grid-template-columns:var(--editor-nav-w, 260px) 10px minmax(0,1fr) 10px var(--editor-panel-w, 320px);background:var(--color-bg);overflow:hidden}.editor-nav{display:flex;flex-direction:column;min-width:0;background:var(--surface-raised);border-right:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden}.editor-shell.editor-nav-collapsed .editor-nav{border-right:none}.editor-body{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-bg);overflow-y:auto}.editor-panel{min-width:0;background:var(--surface-raised);border-left:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden}.editor-shell.editor-panel-collapsed .editor-panel{border-left:none}.editor-splitter{position:relative;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;background:transparent;transition:background .15s}.editor-splitter:hover{background:var(--color-bg-alt)}.editor-splitter-toggle{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--color-secondary);font-size:.8rem;line-height:1;cursor:pointer;z-index:1}.editor-splitter-toggle:hover{background:var(--color-bg-alt)}.editor-nav-header{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.editor-preview-btn{text-align:center}.editor-viewgame-link{font-size:.875rem;color:var(--color-secondary);text-align:center}.editor-nav-tree{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-2)}.editor-body-inner,.editor-panel-inner{display:flex;flex-direction:column;min-height:0}.editor-panel-inner{padding:var(--space-4)}.editor-placeholder{padding:var(--space-5)}.editor-panel-hint{color:var(--color-muted);font-size:.9rem}.editor-mobile-header{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.editor-error{max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-4);text-align:center}.editor-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.editor-skeleton-block{height:20px;border-radius:var(--radius-md);background:var(--color-bg-alt);animation:editor-skeleton-pulse 1.4s ease-in-out infinite}@keyframes editor-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.editor-shell--mobile{grid-template-columns:1fr}.editor-shell--mobile .editor-nav,.editor-shell--mobile .editor-body,.editor-shell--mobile .editor-panel{grid-column:1;display:none;border-left:none;border-right:none}.editor-shell--mobile .editor-splitter{display:none}.editor-shell--mobile.mobile-view-nav .editor-nav,.editor-shell--mobile.mobile-view-body .editor-body{display:flex}.editor-shell--mobile.mobile-view-panel .editor-panel{display:block}.game-overview{padding:var(--space-4) var(--space-5) var(--space-6);max-width:960px}.game-overview-banner{display:block;width:100%;height:220px;padding:0;border:none;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--color-bg-alt)}.game-overview-banner img{width:100%;height:100%;object-fit:cover;display:block}.game-overview-banner--empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-muted);font-size:.9rem}.game-overview-title{margin:var(--space-4) 0 var(--space-1)}.game-overview-title button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.game-overview-subtitle{display:flex;align-items:center;gap:var(--space-2);color:var(--color-secondary);font-size:.9rem;flex-wrap:wrap}.game-overview-price{background:none;border:none;padding:0;font:inherit;color:inherit;font-weight:600;cursor:pointer}.game-overview-hero{display:flex;gap:var(--space-4);margin-top:var(--space-4);align-items:flex-start;flex-wrap:wrap}.game-overview-cover{position:relative;flex:0 0 auto}.cover-play{position:relative;display:block;width:220px;height:290px;border:none;padding:0;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--color-bg-alt)}.cover-play-image{width:100%;height:100%;object-fit:cover;display:block}.cover-play-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-3);color:var(--color-muted);text-align:center}.cover-play-badge{position:absolute;bottom:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white);font-size:.85rem;font-weight:600;pointer-events:none}.cover-play-badge--buy{background:var(--color-gold, #b08d2e)}.game-overview-cover-edit{position:absolute;top:var(--space-2);right:var(--space-2);padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--color-secondary);font-size:.75rem;cursor:pointer}.game-overview-description{flex:1 1 280px;min-width:240px}.game-overview-description-text{display:block;width:100%;background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:pre-wrap}.game-overview-description-text.clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:10;overflow:hidden}.game-overview-showmore{margin-top:var(--space-2);background:none;border:none;padding:0;color:var(--color-primary);font-size:.875rem;cursor:pointer}.game-overview-resources-heading{margin:var(--space-6) 0 var(--space-3)}.resource-gallery{display:flex;flex-wrap:wrap;gap:var(--space-3)}.resource-card{position:relative;width:160px;display:flex;flex-direction:column;gap:var(--space-1)}.resource-card--skeleton{height:140px;border-radius:var(--radius-md);background:var(--color-bg-alt);animation:editor-skeleton-pulse 1.4s ease-in-out infinite}.resource-card--hidden .resource-card-face img{opacity:.45}.resource-card--busy{opacity:.7}.resource-card-face{display:block;width:100%;height:110px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--color-bg-alt)}.resource-card-face img{width:100%;height:100%;object-fit:cover;display:block}.resource-card-noimage{display:block;width:100%;height:100%}.resource-card-meta{display:flex;align-items:center;gap:var(--space-1);min-width:0}.resource-card-name{flex:1;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-card-flag{font-size:.7rem;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-1)}.resource-card-toggle{position:absolute;top:var(--space-1);right:var(--space-1);font-size:.7rem;padding:2px var(--space-2)}.resource-gallery-status{color:var(--color-muted);font-size:.9rem}.resource-gallery-toggle-error{color:var(--color-danger);font-size:.85rem}.nav-section{margin-bottom:var(--space-1)}.nav-section-header{display:flex;align-items:center;gap:2px}.nav-section-chevron{flex:0 0 auto;width:22px;height:22px;padding:0;border:none;background:none;color:var(--color-muted);font-size:.7rem;cursor:pointer;border-radius:var(--radius-md)}.nav-section-chevron:hover{background:var(--color-bg-alt)}.nav-section-title{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-section-count{margin-left:auto;font-size:.7rem;font-weight:400;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-1)}.nav-section-title.active .nav-section-count{color:inherit;border-color:currentColor}.nav-section-members{list-style:none;margin:0;padding:0 0 0 var(--space-4)}.nav-member{display:block;font-size:.875rem;padding:var(--space-1) var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-empty-hint{margin:0;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-5);color:var(--color-muted);font-size:.8rem;font-style:italic}.asset-search{padding-left:var(--space-4)}.asset-search-input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:inherit;font-size:.85rem;margin:var(--space-1) 0}.asset-search-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.section-scroll,.asset-contents{padding:var(--space-4) var(--space-5) var(--space-6)}.section-scroll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.section-scroll-empty{color:var(--color-muted)}.section-card{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;background:var(--surface-raised);transition:background .15s}.section-card:hover{background:var(--color-bg-alt)}.section-card-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-alt)}.section-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.section-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.section-card-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-card-stats{font-size:.8rem;color:var(--color-muted)}.asset-detail-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.asset-detail-title{margin:0;font-size:1.1rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.asset-detail-export{margin-left:auto;font-size:.75rem;padding:2px var(--space-2)}.asset-panel-save-state{font-size:.75rem;color:var(--color-muted)}.asset-panel-save-state--saving{font-style:italic}.asset-panel-save-state--saved{color:var(--color-primary)}.asset-panel-save-state--error{color:var(--color-danger)}.asset-panel-member-link{background:none;border:none;padding:0;font:inherit;color:var(--color-primary);cursor:pointer;text-align:left}.panel-member-section{margin-bottom:var(--space-4)}.panel-member-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.panel-member-header h3{margin:0;font-size:.95rem}.panel-member-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.description-panel-field{display:block;margin-bottom:var(--space-3)}.description-panel-label{display:block;font-weight:600;font-size:.85rem;margin-bottom:var(--space-1)}.description-panel-label em{font-weight:400;color:var(--color-muted)}.description-panel-error{color:var(--color-danger)}.description-panel-field textarea{width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:inherit;font:inherit;resize:vertical}.asset-file-panel{margin-bottom:var(--space-4)}.asset-file-panel-title{margin:0 0 var(--space-1);font-size:.95rem}.asset-file-panel-help{margin:0 0 var(--space-2);font-size:.8rem;color:var(--color-muted)}.asset-file-panel-preview img{max-width:100%;max-height:160px;border-radius:var(--radius-md);display:block}.asset-file-panel-view{font-size:.8rem}.asset-file-panel-empty{color:var(--color-muted);font-size:.85rem}.asset-file-panel-upload{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.asset-file-panel-upload input[type=file]{flex:1;min-width:0;font-size:.8rem}.asset-file-panel-error{color:var(--color-danger);font-size:.8rem}.asset-file-panel-meter{margin-top:var(--space-2)}.asset-file-panel-meter-bar{height:6px;border-radius:var(--radius-md);background:var(--color-bg-alt);overflow:hidden}.asset-file-panel-meter-fill{height:100%;background:var(--color-primary)}.asset-file-panel-meter-label{font-size:.75rem;color:var(--color-muted)}.txn-panel-cards{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.txn-panel-card{flex:1 1 180px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)}.txn-card-owner{margin:0 0 var(--space-2);font-size:.85rem;color:var(--color-primary);word-break:break-word}.txn-card-columns{display:flex;gap:var(--space-3)}.txn-card-column{flex:1;min-width:0}.txn-card-column h4{margin:0 0 var(--space-1);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.txn-card-empty{margin:0;color:var(--color-muted)}.txn-posting-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem}.txn-card-neutral{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.txn-posting{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:baseline}.txn-posting-asset{word-break:break-word}.txn-posting-expr{font-size:.8rem;color:var(--color-muted)}.txn-posting-neutral{font-size:.8rem;font-style:italic;color:var(--color-muted)}.editor-preview-stub{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.exchange-flowchart{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.exchange-flow-row{display:flex;align-items:center;gap:var(--space-2)}.exchange-flow-node{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);font-size:.85rem}.exchange-flow-asset{font-weight:600;word-break:break-word}.exchange-flow-owner{font-size:.75rem;color:var(--color-muted);word-break:break-word}.exchange-flow-expr{font-size:.8rem;color:var(--color-primary)}.exchange-flow-arrow{flex:0 0 auto;font-size:1.1rem;color:var(--color-muted)}.game-overview-banner--static,.game-overview-description-text--static{cursor:default}.game-overview-status{font-weight:600}.cover-play-link{background:none;border:none;padding:0;font:inherit;color:var(--color-primary);cursor:pointer;text-decoration:underline}.game-overview-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.game-content-tools{max-width:960px;margin:var(--space-4) var(--space-5) var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.game-content-tools-import{margin:var(--space-3) 0}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.lb{margin-top:24px;border:1px solid var(--color-border, #c4cad2);border-radius:8px;padding:16px}.lb-title{margin:0 0 12px;font-size:1.1rem}.lb-empty{margin:0;opacity:.7}.lb-list{list-style:none;margin:0;padding:0}.lb-list li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.75rem;align-items:center;padding:.4rem .5rem;border-radius:6px}.lb-list li:nth-child(odd){background:var(--color-surface-alt, rgba(0, 0, 0, .03))}.lb-rank{text-align:right;opacity:.6;font-variant-numeric:tabular-nums}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-weight:700;font-variant-numeric:tabular-nums}.lb-list .lb-me{background:var(--color-gold-soft, rgba(255, 200, 60, .18));font-weight:700}.lb-you{margin-top:6px;padding-top:6px;border-top:1px dashed var(--color-border, #c4cad2)}
