.auth-page{min-height:100vh;background:var(--bg-dark);color:var(--text)}.auth-main{display:flex;flex-direction:column;align-items:center;padding:48px 16px 96px;gap:16px}.auth-card{width:100%;max-width:560px;display:flex;flex-direction:column;gap:18px;padding:32px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.auth-title{margin:0;font-size:24px;font-weight:600;color:var(--text-bright)}.auth-subtitle{margin:0;font-size:18px;color:var(--text-bright)}.auth-body{margin:0;line-height:1.55}.auth-footer{color:var(--text-dim);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:14px;font-weight:500;color:var(--text-bright)}.auth-hint{font-size:13px;color:var(--text-dim);line-height:1.45}.auth-input{width:100%;padding:11px 12px;font-size:15px;color:var(--text-bright);background:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;outline:none;color-scheme:dark}.auth-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #b47aff40}.auth-password{display:flex;gap:8px}.auth-password .auth-input{flex:1}.auth-reveal,.auth-secondary{padding:9px 14px;font-size:14px;color:var(--text-bright);background:var(--bg-hover);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;text-decoration:none;white-space:nowrap}.auth-secondary:disabled{opacity:.5;cursor:default}.auth-submit{display:inline-flex;justify-content:center;padding:12px 18px;font-size:15px;font-weight:600;color:#fff;background:var(--grad);border:none;border-radius:8px;cursor:pointer;text-decoration:none}.auth-submit:disabled{opacity:.6;cursor:progress}.auth-link{color:var(--accent);text-decoration:none;font-size:14px}.auth-link:hover{text-decoration:underline}.auth-link-end{align-self:flex-end}.auth-link-danger{color:var(--red)}.auth-error{margin:0;padding:10px 12px;color:#ffd7d5;background:#f851491f;border:1px solid rgba(248,81,73,.35);border-radius:8px;font-size:14px}.auth-error-field,.auth-error-id{color:var(--text-dim);font-size:12px}.auth-notice{margin:0;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.5;border:1px solid var(--border-light);background:var(--bg-hover)}.auth-notice-success{border-color:#3fb95059;background:#3fb9501a}.auth-notice-warning{border-color:#d2992266;background:#d299221a}.auth-providers{display:flex;flex-direction:column;gap:12px}.auth-divider{align-self:center;font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.auth-provider{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;font-size:15px;font-weight:500;color:#1f1f1f;background:#fff;border-radius:8px;text-decoration:none}.auth-keeps ul,.auth-consequences{margin:8px 0 0;padding-left:20px;line-height:1.6}.auth-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.auth-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#040507b8}.auth-card-overlay{max-width:440px;background:#0e0f12f5}.guest-banner{position:fixed;left:16px;bottom:16px;z-index:900;max-width:min(520px,calc(100vw - 32px));display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 14px;font-size:13px;line-height:1.45;color:var(--text);background:#0e0f12eb;border:1px solid var(--border-light);border-radius:10px}.guest-banner-link{color:var(--accent);font-weight:500;text-decoration:none}.guest-banner-play{inset:64px 16px auto auto;max-width:min(360px,calc(100vw - 32px));font-size:12px;opacity:.92}.account-menu{position:relative}.account-menu-trigger{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;color:var(--text-bright);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer}.account-menu-avatar{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-radius:50%;background:var(--grad-subtle);border:1px solid var(--border-light)}.account-menu-name{font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:950;min-width:190px;display:flex;flex-direction:column;padding:6px;background:#0e0f12fa;border:1px solid var(--border-light);border-radius:10px}.account-menu-item{padding:9px 10px;font-size:14px;text-align:left;color:var(--text-bright);background:none;border:none;border-radius:6px;cursor:pointer;text-decoration:none}.account-menu-item:hover{background:var(--bg-hover)}.account-menu-quiet{color:var(--text-dim);font-size:13px}.account-section{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--border)}.account-section-title{margin:0;font-size:17px;color:var(--text-bright)}.account-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.account-facts dt{color:var(--text-dim)}.account-facts dd{margin:0;overflow-wrap:anywhere}.account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px}.account-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.account-provider{text-transform:capitalize}.account-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.privacy-notice{line-height:1.6;overflow-wrap:anywhere}.privacy-notice h2{font-size:18px;color:var(--text-bright);margin:20px 0 6px}.privacy-notice h3{font-size:16px;color:var(--text-bright);margin:16px 0 6px}.privacy-table-wrap{overflow-x:auto;margin:10px 0}.privacy-table{border-collapse:collapse;font-size:13px;min-width:100%}.privacy-table th,.privacy-table td{padding:6px 8px;border:1px solid var(--border-light);text-align:left;vertical-align:top}.privacy-table th{color:var(--text-bright);background:var(--bg-hover)}.app-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-dark);color:var(--text-dim)}.app-splash-logo{width:96px;opacity:.85}.app-splash-text{font-size:14px}@media(max-width:560px){.auth-card{padding:22px 18px}.account-row{flex-direction:column;align-items:stretch}}.navbar{display:flex;align-items:center;gap:36px;width:100%;padding:18px 48px;position:sticky;top:0;z-index:100;background:#08090bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.navbar-left{display:flex;align-items:center}.navbar-wordmark{height:28px;object-fit:contain;cursor:pointer}.navbar-links{display:flex;gap:6px}.navbar-link{padding:8px 18px;font-size:15px;font-weight:500;color:var(--text-dim);background:none;border:none;border-radius:6px;cursor:pointer;transition:color .15s,background .15s}.navbar-link:hover{color:var(--text-bright);background:#ffffff0d}.navbar-right{display:flex;align-items:center;margin-left:auto}.navbar-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;border:1px solid var(--border-light);cursor:pointer;transition:border-color .2s,box-shadow .2s}.navbar-avatar:hover{border-color:var(--accent-dim);box-shadow:0 0 0 2px #a855f726}.navbar-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.navbar{padding:14px 16px}.navbar-links{display:none}}.landing{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:var(--bg-dark) url(/bg.png) center center / cover fixed;overflow-x:hidden}.landing-hero{display:flex;flex-direction:column;align-items:center;padding:64px 40px 48px;position:relative;width:100%;max-width:800px}.landing-glow{position:absolute;top:-80px;left:50%;transform:translate(-50%);width:600px;height:440px;background:radial-gradient(ellipse at center,rgba(168,85,247,.14) 0%,rgba(99,102,241,.06) 40%,transparent 70%);pointer-events:none}.landing-logo{width:160px;height:160px;object-fit:contain;margin-bottom:32px;filter:drop-shadow(0 0 20px rgba(168,85,247,.4))}.landing-title{font-family:Segoe UI,system-ui,sans-serif;font-size:60px;font-weight:700;line-height:1.1;text-align:center;color:var(--text-bright);margin:0 0 20px;letter-spacing:-.5px;text-shadow:0 2px 12px rgba(0,0,0,.6)}.landing-title-accent{background:linear-gradient(135deg,#e040a0,#a855f7,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 10px rgba(168,85,247,.4))}.landing-subtitle{font-size:20px;line-height:1.6;color:var(--text-dim);text-align:center;margin:0 0 44px;max-width:560px}.landing-actions{display:flex;gap:16px}.landing-btn-primary{padding:14px 36px;font-size:16px;font-weight:600;letter-spacing:.4px;color:#fff;background:var(--grad);border:none;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s}.landing-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #a855f74d}.landing-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;font-size:16px;font-weight:600;letter-spacing:.4px;color:var(--text);background:#ffffff0d;border:1px solid var(--border-light);border-radius:10px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.landing-btn-secondary:hover{transform:translateY(-1px);border-color:var(--accent-dim);background:#ffffff14}.landing-gallery{display:flex;gap:16px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:24px 0 36px;mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%)}.landing-gallery::-webkit-scrollbar{display:none}.landing-gallery-card{flex-shrink:0;width:280px;height:164px;border-radius:12px;overflow:hidden;position:relative;cursor:default;border:1px solid var(--border);transition:transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s}.landing-gallery-card:hover{transform:scale(1.04);box-shadow:0 4px 20px #00000080,0 0 0 1px #b47aff33;z-index:2}.landing-gallery-card .adventure-card-placeholder{position:absolute;inset:0}.landing-gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.landing-gallery-card:hover img{transform:scale(1.06)}.landing-gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.15) 50%,transparent 100%)}.landing-gallery-title{position:absolute;bottom:12px;left:14px;right:14px;font-size:15px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:8px 40px 80px;max-width:920px;width:100%}.landing-feature-card{padding:28px 24px;background:#ffffff08;border:1px solid var(--border);border-radius:14px;text-align:center;transition:border-color .2s,background .2s}.landing-feature-card:hover{border-color:var(--border-light);background:#ffffff0d}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:12px;background:var(--grad-subtle);color:var(--accent);margin-bottom:16px}.landing-feature-card h3{font-size:16px;font-weight:600;color:var(--text-bright);margin:0 0 10px}.landing-feature-card p{font-size:14px;line-height:1.5;color:var(--text-dim);margin:0}.landing-footer{width:100%;margin-top:auto;border-top:1px solid var(--border);background:#08090be6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.landing-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:960px;margin:0 auto;padding:48px 40px 36px}.landing-footer-brand img{height:24px;object-fit:contain;margin-bottom:12px}.landing-footer-brand p{font-size:13px;line-height:1.6;color:var(--text-dim);margin:0;max-width:260px}.landing-footer-col h4{font-size:13px;font-weight:600;color:var(--text-bright);margin:0 0 14px;letter-spacing:.3px}.landing-footer-col{display:flex;flex-direction:column;gap:8px}.landing-footer-link{font-size:13px;color:var(--text-dim);background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:color .15s}.landing-footer-link:hover{color:var(--text-bright)}.landing-footer-bottom{border-top:1px solid var(--border);padding:20px 40px;text-align:center}.landing-footer-bottom span{font-size:12px;color:var(--text-dim)}.placeholder-fantasy{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.placeholder-horror{background:linear-gradient(135deg,#0d0d0d,#1a0a2e,#2d1b4e)}.placeholder-noir{background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#0a0a0a)}.placeholder-default{background:linear-gradient(135deg,#0e1117,#161b22,#1c2128)}@media(max-width:768px){.landing-hero{padding:44px 20px 32px}.landing-logo{width:96px;height:96px}.landing-title{font-size:36px}.landing-subtitle{font-size:15px}.landing-actions{flex-direction:column;gap:10px;width:100%;max-width:320px}.landing-btn-primary,.landing-btn-secondary{width:100%;justify-content:center;text-align:center}.landing-gallery-card{width:210px;height:124px}.landing-features{grid-template-columns:1fr;padding:8px 20px 52px;max-width:420px}.landing-footer-top{grid-template-columns:1fr 1fr;gap:28px;padding:32px 20px 24px}}.adventure-card{flex-shrink:0;width:200px;aspect-ratio:2 / 3;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;scroll-snap-align:start;transition:transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s;background:var(--bg-card);border:1px solid var(--border)}.adventure-card:hover{transform:scale(1.06);box-shadow:0 8px 32px #00000080,0 0 0 1px #b47aff33;z-index:10}.adventure-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.adventure-card:hover .adventure-card-img{transform:scale(1.05)}.adventure-card-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.4) 40%,transparent 70%)}.adventure-card-content{position:absolute;bottom:0;left:0;right:0;padding:16px;z-index:2}.adventure-card-title{font-size:14px;font-weight:600;color:#fff;margin:0 0 4px;text-shadow:0 1px 4px rgba(0,0,0,.7)}.adventure-card-logline{font-size:11px;color:#ffffffbf;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.adventure-card-badge{position:absolute;top:12px;right:12px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;z-index:3}.badge-beginner{background:#3fb950d9;color:#fff}.badge-intermediate{background:#d29922d9;color:#fff}.badge-advanced{background:#db6d28d9;color:#fff}.badge-expert{background:#f85149d9;color:#fff}.adventure-card-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.session-card{flex-shrink:0;width:280px;height:100px;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;scroll-snap-align:start;transition:transform .3s,box-shadow .3s;background:var(--bg-card);border:1px solid var(--border)}.session-card:hover{transform:scale(1.04);box-shadow:0 4px 20px #0006}.session-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}.session-card-content{position:relative;z-index:2;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;height:100%;box-sizing:border-box}.session-card-name{font-size:14px;font-weight:600;color:var(--text-bright);margin:0}.session-card-meta{font-size:11px;color:var(--text-dim);display:flex;gap:12px}.session-card-actions{position:absolute;top:8px;right:8px;display:none;gap:4px;z-index:5}.session-card:hover .session-card-actions{display:flex}.session-card-pin{width:24px;height:24px;border:none;background:#ffffff1a;border-radius:50%;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.session-card-pin:hover{background:#a855f74d;color:var(--accent)}.session-card-pin.pinned{color:var(--accent);background:#a855f740;display:flex}.session-card .session-card-pin.pinned{display:flex}.session-card:not(:hover) .session-card-actions:has(.pinned){display:flex}.session-pin-badge{margin-right:6px;font-size:12px}.session-card-delete{width:24px;height:24px;border:none;background:#f8514933;border-radius:50%;color:var(--red);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.session-card-delete:hover{background:#f8514966}.adventure-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.adventure-modal-backdrop{position:absolute;inset:0;background:#000000d9;animation:modalBgIn .3s ease forwards}@keyframes modalBgIn{0%{opacity:0}to{opacity:1}}.adventure-modal-content{position:relative;width:90%;max-width:800px;max-height:90vh;background:var(--bg-dark);border:1px solid var(--border-light);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.modal-header-sticky{flex-shrink:0}.modal-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}@keyframes modalSlideIn{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-hero{position:relative;width:100%;aspect-ratio:16 / 7;overflow:hidden;background:var(--bg-card)}.modal-hero img{width:100%;height:100%;object-fit:cover}.modal-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 32px 24px;background:linear-gradient(to top,var(--bg-dark) 10%,transparent 100%);z-index:2}.modal-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 10px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.modal-tags{display:flex;gap:8px;flex-wrap:wrap}.modal-tag{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;background:#ffffff1a;color:#fffc;letter-spacing:.3px}.modal-tag.difficulty{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-tag.difficulty.beginner{background:#3fb95033;color:var(--green)}.modal-tag.difficulty.intermediate{background:#d2992233;color:var(--yellow)}.modal-tag.difficulty.advanced{background:#db6d2833;color:var(--orange)}.modal-tag.difficulty.expert{background:#f8514933;color:var(--red)}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;color:#fff;font-size:20px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:#ffffff26}.modal-gallery{display:flex;gap:10px;padding:16px 32px;overflow-x:auto;scrollbar-width:none}.modal-gallery::-webkit-scrollbar{display:none}.modal-gallery img{height:100px;border-radius:8px;cursor:pointer;opacity:.7;transition:opacity .2s,transform .2s;flex-shrink:0}.modal-gallery img:hover{opacity:1;transform:scale(1.05)}.modal-body{padding:8px 32px 24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.modal-lore{padding:20px;border-left:3px solid rgba(139,109,71,.35);background:#8b6d470a;border-radius:0 8px 8px 0}.modal-lore h3{font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;color:#d4c8b0;margin:0 0 12px}.modal-lore .lore-text{font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.7;color:#c4b89a}.modal-lore .lore-text p{margin:0 0 12px}.modal-lore .lore-text p:first-child{font-style:italic}.modal-lore .lore-text strong{color:#ddd0b8}.modal-meta{padding:20px;border-left:3px solid rgba(88,166,255,.25);background:#58a6ff08;border-radius:0 8px 8px 0}.modal-meta h3{font-size:16px;font-weight:600;color:var(--text-bright);margin:0 0 12px}.modal-meta .meta-text{font-size:13px;line-height:1.6;color:var(--text)}.modal-meta .meta-text h3{font-size:13px;font-weight:700;color:var(--text-bright);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.5px}.modal-meta .meta-text h3:first-child{margin-top:0}.modal-meta .meta-text p{margin:0 0 10px}.modal-meta .meta-text strong{color:var(--text-bright)}.modal-meta .meta-text ul{margin:4px 0 12px;padding-left:18px}.modal-meta .meta-text li{margin-bottom:4px}.modal-cta{flex-shrink:0;padding:16px 32px 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;background:var(--bg-dark);border-top:1px solid var(--border)}.start-adventure-btn{padding:14px 48px;font-size:16px;font-weight:600;letter-spacing:1px;color:#fff;background:var(--grad);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-adventure-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #a855f74d}@media(max-width:768px){.adventure-card{width:160px}.session-card{width:240px}.modal-body{grid-template-columns:1fr;padding:8px 20px 20px}.adventure-modal-content{width:95%;max-height:95vh}.modal-hero-overlay{padding:30px 20px 20px}.modal-title{font-size:22px}}.modal-byoc-note{flex-basis:100%;margin:0;text-align:center;font-size:14px;color:var(--text-dim, #a8b0bd)}.start-adventure-btn:disabled{opacity:.5;cursor:not-allowed}.dash{display:flex;flex-direction:column;height:100vh;background:var(--bg-dark);overflow:hidden}.dash-body{display:flex;flex:1;min-height:0}.dash-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:#0c0d10f2;border-right:1px solid var(--border);padding:16px 0}.dash-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.dash-nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;color:var(--text-dim);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:color .15s,background .15s;text-align:left}.dash-nav-item:hover{color:var(--text);background:#ffffff0a}.dash-nav-item.active{color:var(--text-bright);background:#ffffff12}.dash-nav-item.active svg{color:var(--accent)}.dash-main{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}.dash-content{padding:32px 40px 60px;max-width:1100px}.dash-page-title{font-size:24px;font-weight:700;color:var(--text-bright);margin:0 0 28px;letter-spacing:-.3px}.dash-tabs{display:flex;gap:4px;margin-bottom:24px}.dash-tab{padding:6px 16px;font-size:12px;font-weight:600;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.dash-tab:hover{color:var(--text);background:#ffffff0a}.dash-tab.active{color:#fff;background:var(--grad);border-color:transparent}.dash-section{margin-bottom:32px}.dash-section-title{font-size:16px;font-weight:600;color:var(--text-bright);margin:0 0 14px;display:flex;align-items:baseline;gap:10px}.dash-section-tagline{font-size:12px;color:var(--text-dim);font-weight:400}.dash-card-grid,.dash-session-grid{display:flex;gap:16px;flex-wrap:wrap}.dash-placeholder{color:var(--text-dim);font-size:14px;padding:40px 0}@media(max-width:768px){.dash-sidebar{width:56px;padding:14px 0}.dash-sidebar-logo{justify-content:center;padding:0 0 18px}.dash-sidebar-logo span{display:none}.dash-nav{padding:0 4px}.dash-nav-item{justify-content:center;padding:10px;font-size:0;gap:0}.dash-content{padding:20px 16px 40px}.dash-page-title{font-size:20px}}.dash-char-card{display:flex;gap:.75rem;padding:.75rem;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;background:var(--bg-card, rgba(20,20,24,.6))}.dash-char-portrait{width:56px;height:56px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff0f;flex-shrink:0}.dash-char-portrait img{width:100%;height:100%;object-fit:cover}.dash-char-initial{font-size:1.5rem;font-weight:600;opacity:.7}.dash-char-body{display:flex;flex-direction:column;gap:.25rem}.dash-char-name{font-weight:600}.dash-char-meta{font-size:.8rem;opacity:.65}.dash-char-delete{align-self:flex-start;margin-top:.25rem;font-size:.75rem;background:none;border:none;color:var(--red, #f85149);cursor:pointer;padding:0}.creation-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.creation-backdrop{position:absolute;inset:0;background:#0009}.creation-content{position:relative;z-index:1;width:min(560px,92vw);max-height:88vh;overflow-y:auto;padding:1.5rem;border-radius:14px;background:var(--bg-card, #14141a);border:1px solid var(--border, rgba(255,255,255,.1))}.creation-content h2{margin:0 0 1rem;font-size:1.1rem}.creation-step{display:flex;flex-direction:column;gap:.6rem}.creation-step label{font-size:.8rem;opacity:.7}.creation-step textarea,.creation-step input{width:100%;padding:.5rem;border-radius:8px;background:var(--bg-input, rgba(255,255,255,.05));border:1px solid var(--border, rgba(255,255,255,.1));color:inherit;font:inherit;box-sizing:border-box}.creation-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.creation-actions button{padding:.5rem .9rem;border-radius:8px;border:1px solid var(--border, rgba(255,255,255,.12));background:transparent;color:inherit;cursor:pointer}.creation-actions button.primary{background:var(--accent, #b47aff);border-color:transparent;color:#fff}.creation-actions button:disabled{opacity:.5;cursor:default}.creation-review-head{display:flex;gap:1rem}.creation-portrait{width:80px;height:80px;border-radius:10px;overflow:hidden;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:2rem;opacity:.8;flex-shrink:0}.creation-portrait img{width:100%;height:100%;object-fit:cover}.creation-budget{font-size:.85rem;opacity:.8;margin-top:.5rem}.creation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.creation-stat{display:flex;align-items:center;gap:.35rem;justify-content:space-between;padding:.35rem .5rem;border-radius:8px;background:#ffffff0a}.creation-stat button{width:22px;height:22px;border-radius:6px;border:1px solid var(--border, rgba(255,255,255,.12));background:transparent;color:inherit;cursor:pointer}.creation-stat button:disabled{opacity:.3;cursor:default}.creation-list{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}.creation-list h4{margin:0 .4rem 0 0;font-size:.8rem;opacity:.7}.creation-list span{font-size:.8rem;padding:.2rem .5rem;border-radius:6px;background:#ffffff0f}.creation-error{color:var(--red, #f85149);font-size:.8rem}.dash-char-levelup{align-self:flex-start;margin-top:.25rem;font-size:.75rem;background:none;border:1px solid var(--border, rgba(255,255,255,.12));border-radius:6px;color:var(--accent, #b47aff);cursor:pointer;padding:.15rem .5rem}.dash-world-card{display:flex;flex-direction:column;gap:.4rem;padding:.9rem;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;background:var(--bg-card, rgba(20,20,24,.6))}.dash-world-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-world-name{font-weight:600;font-size:1rem}.dash-world-palette{display:flex;gap:3px}.dash-world-swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.15);display:inline-block}.dash-world-tagline{font-size:.85rem;opacity:.75;font-style:italic}.dash-world-meta{font-size:.78rem;opacity:.6}.dash-world-archetypes{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.25rem}.dash-world-archetypes-label{font-size:.75rem;opacity:.6}.dash-world-archetype{font-size:.75rem;padding:.15rem .5rem;border-radius:6px;background:#ffffff0f;cursor:help}.top-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#0404068c;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border-light);flex-shrink:0;flex-wrap:wrap}.top-bar .logo-img{height:26px;width:auto;object-fit:contain}.topbar-adventure-name{font-size:13px;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.info-pill{display:flex;align-items:center;gap:5px;padding:3px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:14px;font-size:12px;color:var(--text-dim)}.info-pill .icon{font-size:12px}.info-pill .value{color:var(--text);font-weight:500}.timescale-bar{display:flex;align-items:center;gap:2px;padding:2px;background:#ffffff0a;border:1px solid var(--border);border-radius:8px;margin:0 auto}.timescale-btn{padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-dim);background:none;border:none;border-radius:6px;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}.timescale-btn:hover{color:var(--text);background:#ffffff0f}.timescale-btn.active{color:#fff;background:var(--grad);font-weight:600}.topbar-right{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.topbar-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:5px;color:var(--text-dim);cursor:pointer;transition:color .15s;flex-shrink:0}.topbar-icon-btn:hover{color:var(--text)}.topbar-icon-btn .music-off-line{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ef4444;pointer-events:none}.topbar-icon-btn.music-muted{opacity:.5}.topbar-pin-btn{width:24px;height:24px}.topbar-pin-btn.pinned{color:var(--accent)}.conditions-bar{display:flex;gap:4px;flex-wrap:wrap}.side-panel .character-conditions{padding-top:6px}.condition-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:#f851491f;color:var(--red);font-weight:500}.condition-badge.positive{background:#3fb9501f;color:var(--green)}.user-login{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:20px;background:#ffffff08;border:1px solid var(--border);cursor:pointer;transition:background .2s,border-color .2s;flex-shrink:0}.user-login:hover{background:#ffffff0f;border-color:var(--border-light)}.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.user-name{font-size:12px;color:var(--text);font-weight:500}.game-screen{display:flex;flex-direction:column;height:100vh}.main{flex:1;display:flex;overflow:hidden}.narrative-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.scene-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2s ease;z-index:0;pointer-events:none}.scene-bg.visible{opacity:var(--scene-opacity, 1)}.scene-darken{position:absolute;inset:0;background:#000;z-index:1;pointer-events:none;transition:opacity .4s ease}.chat-column-bg{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:768px;max-width:100%;background:#000;z-index:2;pointer-events:none;transition:opacity .4s ease}.character-portrait-overlay{position:absolute;bottom:0;left:0;z-index:3;pointer-events:none;width:clamp(220px,30vw,420px);max-height:85vh;transition:opacity .6s ease}.character-portrait-overlay.peeking{opacity:0}.character-portrait-img{display:block;width:100%;height:auto;object-fit:contain;object-position:bottom left;opacity:0;transition:opacity 1.5s ease}.character-portrait-img.visible{opacity:1}.scene-bg.peeking{opacity:1!important;transition:opacity .4s ease}.scene-darken.peeking,.chat-column-bg.peeking{opacity:0!important}.narrative-feed.peeking,.narrative-panel.peeking .input-area{opacity:.05;pointer-events:none;transition:opacity .4s ease}.narrative-feed{flex:1;overflow-y:auto;padding:16px 20px;scroll-behavior:smooth;position:relative;z-index:3;transition:opacity .6s ease;max-width:768px;margin:0 auto;width:100%}.narrative-feed::-webkit-scrollbar{display:none}.narrative-feed{scrollbar-width:none}.turn-block{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.04)}.turn-block:last-child{border-bottom:none}.message{margin-bottom:14px;animation:fadeIn .3s ease;position:relative}.message.player{padding:8px 12px;background:#ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:3px solid var(--accent);border-radius:5px}.message.player .mode-tag{display:block;font-size:9px;font-weight:600;text-transform:uppercase;color:var(--accent);letter-spacing:1px;margin-bottom:3px}.message.player .text{color:var(--text-bright);font-size:13px}.message.player-action{display:flex;align-items:center;gap:12px;padding:6px 0;margin-bottom:10px}.message.player-action .action-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);opacity:.4}.message.player-action .action-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);white-space:nowrap;-webkit-user-select:none;user-select:none}.message.player-action .action-icon{display:flex;align-items:center;opacity:.8;line-height:0}.message.narrator{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;margin:4px 0;background:none}.message.narrator .narrator-body{flex:1;min-width:0;padding:10px 14px;line-height:1.75;font-size:16px;font-style:italic;background:#00000059;border-radius:5px}.message.narrator .narrator-speech{font-style:normal;font-weight:600;color:var(--text, #e6edf3);margin:10px 0;line-height:1.6}.message.narrator .narrator-speech:first-child{margin-top:0}.message.narrator .narrator-speech:last-child{margin-bottom:0}.message.narrator .narrator-emph{font-style:normal}.message.narrator .narrator-speech .narrator-emph{font-style:italic}.message.narrator .text{white-space:pre-wrap}.message.narrator .text p{margin-bottom:8px}.message.narrator .text p:last-child{margin-bottom:0}.message.narrator.streaming .text p:last-child:after{content:"◌";color:var(--accent-fuchsia);animation:cursorBlink .8s step-end infinite;margin-left:1px}.gm-thinking{display:flex;align-items:baseline;gap:0}.gm-thinking-text{color:var(--text-dim);font-style:italic;font-size:14px;opacity:.7}.gm-thinking-dots{display:inline-flex;gap:0;margin-left:1px}.gm-thinking-dots span{color:var(--text-dim);font-size:14px;font-style:italic;opacity:0;animation:dotFade 1.4s ease-in-out infinite}.gm-thinking-dots span:nth-child(1){animation-delay:0s}.gm-thinking-dots span:nth-child(2){animation-delay:.2s}.gm-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dotFade{0%,20%{opacity:0}40%{opacity:.7}60%,to{opacity:0}}.message.system{font-size:11px;color:var(--text-dim);font-style:italic;padding:4px 14px;text-align:center}.npc-badges{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:75%;margin-left:14px}.npc-badge{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:4px;font-size:11px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1.3}.npc-badge-name{font-weight:600;color:var(--accent);white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.npc-badge-action{color:var(--text-dim);font-size:11px}.message.state-diff{padding:6px 12px;background:#8250df14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:11px}.diff-header{font-weight:600;color:var(--accent);margin-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.diff-entry{display:flex;gap:8px;color:var(--text-dim);line-height:1.4}.message.denied{padding:8px 12px;background:#f8514914;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:3px solid var(--red);border-radius:0 6px 6px 0;color:var(--red);font-size:12px}.message .ephemera{margin-top:6px;font-size:11px;color:var(--text-dim);font-style:italic;display:flex;flex-wrap:wrap;gap:2px 10px}.ephemera-item{opacity:.8}.ephemera-item:before{content:"•";opacity:.4}.event-details{margin-top:6px;font-size:11px}.event-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.event-tag{padding:1px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px;background:#ffffff0f;color:var(--text-dim)}.event-tag.success{color:var(--accent-green, #4ade80);background:#4ade801a}.event-tag.fail{color:var(--accent-red, #f87171);background:#f871711a}.event-desc{color:var(--text-dim)}.outcome-message{padding:24px;background:#00000059;border-radius:5px}.outcome-dice-icon{color:var(--text-dim);flex-shrink:0}.outcome-system-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-green, #4ade80);background:#4ade801a;padding:2px 6px;border-radius:3px;line-height:1}.outcome-summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.outcome-summary:hover{opacity:.8}.outcome-roll{font-family:SF Mono,Fira Code,monospace;font-weight:700;color:var(--text-dim)}.outcome-label{font-weight:600}.outcome-label.success,.outcome-label.critical-success{color:var(--accent-green, #4ade80)}.outcome-label.partial{color:var(--yellow, #facc15)}.outcome-label.failure{color:var(--orange, #fb923c)}.outcome-label.critical-failure{color:var(--red, #f87171)}.outcome-expand{font-size:11px;color:var(--text-dim)}.outcome-details{margin-top:12px;display:flex;flex-direction:column;gap:4px}.outcome-details .outcome-card{padding:6px 10px;background:#ffffff08;border-radius:4px;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}.outcome-details .outcome-card.selected{border-color:#a855f766;background:#a855f714}.outcome-details .oc-text{flex:1;min-width:0}.outcome-details .oc-label{font-weight:500;font-size:12px}.outcome-details .oc-right{display:flex;align-items:center;align-self:center;gap:6px;flex-shrink:0}.outcome-details .oc-range{font-size:11px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:3px;padding:2px 7px;font-variant-numeric:tabular-nums}.outcome-details .oc-prob{font-size:12px;font-weight:600;color:var(--accent);font-family:SF Mono,Fira Code,monospace;font-variant-numeric:tabular-nums}.outcome-details .oc-hint{font-size:12px;color:var(--text-dim);font-style:italic}.outcome-details .oc-rolled{font-size:13px;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:#fff;background:#a855f780;padding:2px 7px;border-radius:3px;min-width:24px;text-align:center}.outcome-details .oc-desc{font-size:11px;color:var(--text-dim);margin-top:2px}.outcome-compact{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:5px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.outcome-compact:hover{background:#ffffff14}.outcome-compact-roll{font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:700;color:var(--text-dim)}.outcome-compact-result{font-size:12px;font-weight:600}.outcome-compact-result.crit-success{color:var(--green)}.outcome-compact-result.success{color:var(--accent)}.outcome-compact-result.partial{color:var(--yellow)}.outcome-compact-result.failure{color:var(--orange)}.outcome-compact-result.crit-failure{color:var(--red)}.outcome-detail{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;opacity:0;padding:0 12px;background:#00000040;border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;display:flex;align-items:center;gap:12px}.outcome-detail.open{max-height:500px;opacity:1;padding:8px 12px}.narrator-actions{display:flex;gap:4px;margin-top:6px;opacity:.45;transition:opacity .15s}.message.narrator:hover .narrator-actions{opacity:1}.narrator-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:6px;background:none;border:none;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s,opacity .15s}.narrator-action-btn:hover{background:#ffffff14;color:var(--text)}.narrator-action-btn:disabled{opacity:.2;cursor:not-allowed}.input-area{padding:10px 16px 14px;background:#0404068c;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--border-light);flex-shrink:0;position:relative;z-index:3;width:100%}.input-layout{display:flex;align-items:stretch;gap:12px;max-width:768px;margin:0 auto}.input-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.mode-row{display:flex;align-items:center;gap:3px}.mode-tabs{display:flex;gap:3px}.mode-tab{padding:4px 12px;font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:5px;background:#ffffff05;color:var(--text-dim);cursor:pointer;transition:all .15s ease}.mode-tab:hover{background:var(--bg-hover);color:var(--text)}.mode-tab.active{background:var(--grad);border-color:transparent;color:#fff}.mode-tab.locked{opacity:.35;cursor:not-allowed;pointer-events:none}.mode-tab .shortcut{font-size:9px;font-weight:400;opacity:.5;margin-left:4px}.quick-actions{display:flex;gap:4px;margin-left:auto;padding-left:8px;border-left:1px solid var(--border)}.quick-action{padding:4px 12px;font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:12px;background:#ffffff08;color:var(--text-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.quick-action .shortcut{font-size:9px;font-weight:400;opacity:.5;margin-left:4px}.quick-action:hover{background:#ffffff14;color:var(--text);border-color:var(--accent-dim)}.quick-action.continue-btn{padding:4px 8px;display:flex;align-items:center;justify-content:center}.quick-action.continue-btn svg{display:block}.input-row{display:flex;gap:6px}.input-row input{flex:1;padding:9px 12px;background:#ffffff0a;border:1px solid var(--border);border-radius:6px;color:var(--text-bright);font-size:13px;outline:none;transition:border-color .15s}.input-row input:focus{border-color:var(--accent)}.input-row input::placeholder{color:var(--text-dim)}.input-row button{padding:9px 18px;background:var(--grad);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;opacity:.85}.input-row button:hover{opacity:1}.input-row button:disabled{opacity:.35;cursor:not-allowed}.input-row .mic-btn{padding:0;width:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);opacity:1}.input-row .mic-btn:hover{color:var(--text);border-color:var(--accent-dim);background:#ffffff14}.input-row .mic-btn.listening{color:#fff;background:var(--grad);border-color:transparent;animation:micPulse 1.4s ease-in-out infinite}@keyframes micPulse{0%,to{box-shadow:0 0 #a855f773}50%{box-shadow:0 0 0 6px #a855f700}}.weaver-orb{position:relative;width:58px;flex-shrink:0;align-self:stretch}.weaver-orb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:50%}.weaver-orb .orb-dark{opacity:1}.weaver-orb .orb-solo{opacity:0!important;transition:opacity .3s ease;border-radius:0}.weaver-orb.thinking .orb-solo{opacity:1!important;animation:orbPulse 1.6s ease-in-out infinite}.weaver-orb .orb-full{opacity:0;transition:opacity .4s ease}.weaver-orb.done .orb-full{opacity:1;animation:orbDone 2s ease forwards}.weaver-orb.done .orb-solo{opacity:0!important;animation:none}@keyframes orbPulse{0%,to{opacity:.5;filter:drop-shadow(0 0 4px rgba(168,85,247,.2))}50%{opacity:1;filter:drop-shadow(0 0 12px rgba(168,85,247,.5))}}@keyframes orbDone{0%{opacity:1;filter:drop-shadow(0 0 16px rgba(168,85,247,.7))}70%{opacity:1;filter:drop-shadow(0 0 12px rgba(168,85,247,.4))}to{opacity:0;filter:drop-shadow(0 0 0 transparent)}}.roll-action{display:flex;flex-direction:column;gap:3px;width:100%;background:#ffffff0a;border-left:2px solid var(--accent, #8b5cf6);border-radius:5px;padding:8px 12px;text-align:left}.roll-action-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent, #8b5cf6);font-weight:600}.roll-action-text{font-size:14px;line-height:1.45;color:var(--text, #e6edf3)}.pre-roll-text{font-style:italic;font-size:14px;line-height:1.6;color:var(--text-light, #c9d1d9);background:#0000004d;border-radius:5px;padding:8px 12px;width:100%;text-align:left}.roll-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#040406eb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;display:flex;flex-direction:column;align-items:center;z-index:100;gap:14px;padding:24px 28px;animation:rollFadeIn .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:visible;max-width:520px;width:90%;box-shadow:0 8px 40px #0009}@keyframes rollFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.outcomes-list{display:flex;flex-direction:column;gap:14px;width:100%;max-width:480px}.outcome-card{background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 14px;transition:border-color .4s,background .4s,transform .4s,opacity .4s}.outcome-card .oc-header{display:flex;justify-content:space-between;align-items:center}.outcome-card .oc-label{font-weight:500;font-size:13px;color:var(--text)}.outcome-card .oc-prob{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;font-family:SF Mono,Fira Code,monospace}.outcome-card .oc-prob.visible{color:var(--accent)}.outcome-card .oc-prob.hidden{color:var(--text-dim);font-style:italic;font-weight:400;font-family:inherit}.outcome-card .oc-desc{font-size:12px;color:var(--text-dim);line-height:1.4}.oc-range{font-family:SF Mono,Fira Code,monospace;font-size:10px;font-weight:500;color:var(--text-dim);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:3px;padding:1px 6px;font-variant-numeric:tabular-nums}.outcome-card.selected{border-color:#a855f780;background:#a855f71f;transform:scale(1.03);box-shadow:0 0 20px #a855f733}.outcome-card.selected .oc-label{color:var(--accent);font-weight:700}.outcome-card.selected .oc-range{border-color:#a855f74d;color:var(--accent)}.outcome-card.dimmed{opacity:.15;transform:scale(.97)}.roll-action-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;height:190px;width:100%;flex-shrink:0}.tap-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px;animation:tapPulse 2s ease-in-out infinite}.tap-prompt .tap-icon{width:60px;height:60px;border-radius:50%;border:2px solid var(--accent-dim);display:flex;align-items:center;justify-content:center;background:#7c3aed14;box-shadow:0 0 20px #a855f726}.tap-prompt .tap-icon svg{display:block}.tap-prompt .tap-label{color:var(--text-dim);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500}@keyframes tapPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.roll-tumbler{font-size:72px;font-weight:800;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-height:90px;display:flex;align-items:center;justify-content:center}.roll-tumbler.tumbling{animation:tumblerShake .08s ease infinite}@keyframes tumblerShake{0%{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,-3px)}to{transform:translate(2px,2px)}}.roll-tumbler.slam{animation:rollSlam .5s cubic-bezier(.22,1.5,.36,1) forwards;position:relative}@keyframes rollSlam{0%{transform:scale(2.5) rotate(-5deg);opacity:.2;filter:drop-shadow(0 0 60px rgba(168,85,247,.8)) blur(2px)}40%{transform:scale(.85) rotate(1deg);opacity:1;filter:drop-shadow(0 0 40px rgba(168,85,247,.6)) blur(0)}55%{transform:scale(1.08) rotate(-.5deg)}70%{transform:scale(.97)}to{transform:scale(1) rotate(0);opacity:1;filter:drop-shadow(0 0 20px rgba(168,85,247,.4))}}.roll-shockwave{position:absolute;top:50%;left:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;border-radius:50%;border:2px solid rgba(168,85,247,.6);pointer-events:none;animation:shockwaveExpand .6s ease-out forwards}@keyframes shockwaveExpand{0%{transform:scale(.5);opacity:1}to{transform:scale(4);opacity:0}}.roll-resolving{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px;letter-spacing:1px;text-transform:uppercase;animation:resolvePulse 1.5s ease-in-out infinite}.roll-resolving-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:resolveDotPulse 1s ease-in-out infinite}.roll-resolving-dot:nth-child(2){animation-delay:.2s}.roll-resolving-dot:nth-child(3){animation-delay:.4s}@keyframes resolvePulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes resolveDotPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.4);opacity:1}}.back-out-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-dim);font-size:12px;cursor:pointer;padding:6px 16px;border-radius:6px;transition:color .2s,border-color .2s;margin-top:28px}.back-out-btn:hover{color:var(--text);border-color:#ffffff4d}.settings-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center}.settings-backdrop{position:absolute;inset:0;background:#000000b3;animation:modalBgIn .25s ease forwards}.settings-content{position:relative;width:380px;max-width:92vw;max-height:85vh;background:var(--bg-dark);border:1px solid var(--border-light);border-radius:12px;overflow-y:auto;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1) forwards}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.settings-header h2{margin:0;font-size:15px;font-weight:600;color:var(--text)}.settings-close{background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;padding:0 4px;transition:color .15s}.settings-close:hover{color:var(--text)}.settings-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.settings-group{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-label{font-size:12px;font-weight:500;color:var(--text-dim);white-space:nowrap;min-width:90px}.settings-divider{height:1px;background:var(--border);margin:4px 0}.toggle-group{display:flex;align-items:center;gap:3px;padding:2px;background:#ffffff0a;border:1px solid var(--border);border-radius:5px}.toggle-opt{padding:2px 6px;font-size:10px;font-weight:500;border:none;border-radius:3px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s}.toggle-opt:hover{color:var(--text)}.toggle-opt.active{background:var(--grad);color:#fff}.select-input{padding:3px 6px;font-size:11px;background:#ffffff0a;color:var(--text);border:1px solid var(--border);border-radius:5px;cursor:pointer;outline:none}.select-input:focus{border-color:var(--accent)}.settings-slider{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:#ffffff1a;border-radius:2px;outline:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent, #a78bfa);border:2px solid rgba(0,0,0,.3);cursor:pointer}.settings-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent, #a78bfa);border:2px solid rgba(0,0,0,.3);cursor:pointer}.llm-label{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);white-space:nowrap;-webkit-user-select:none;user-select:none}.llm-label-clickable{cursor:pointer;transition:background .15s,border-color .15s}.llm-label-clickable:hover{background:#ffffff1a;border-color:var(--accent)}.llm-label-icon{font-size:8px;color:var(--accent);opacity:.8}.llm-label-text{font-size:12px;color:var(--text-light);letter-spacing:.4px;font-family:var(--font-mono, monospace)}.topbar-music{display:flex;align-items:center;gap:4px;padding:0 4px 0 2px;border-left:1px solid var(--border-light);margin-left:2px}.topbar-track-name{font-size:11px;color:var(--text-dim);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;cursor:default}.topbar-mood-badge{font-size:8px;padding:1px 5px;border-radius:6px;background:#ffffff0f;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px}.topbar-volume{display:flex;align-items:center;gap:2px}.topbar-volume-slider{width:50px;height:3px;accent-color:var(--accent);cursor:pointer}.scene-gallery-overlay{position:fixed;inset:0;z-index:9999;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.scene-gallery-close{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--text-dim);font-size:28px;cursor:pointer;z-index:10}.scene-gallery-close:hover{color:var(--text-bright)}.scene-gallery-main{max-width:80vw;max-height:65vh;border-radius:8px;object-fit:contain}.scene-gallery-prompt{margin-top:12px;font-size:12px;color:var(--text-dim);font-style:italic;max-width:600px;text-align:center}.scene-gallery-counter{margin-top:8px;font-size:11px;color:var(--text-dim);letter-spacing:1px}.scene-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.scene-gallery-nav:hover{background:#b47aff33;color:var(--accent)}.scene-gallery-nav.prev{left:24px}.scene-gallery-nav.next{right:24px}.scene-gallery-strip{display:flex;gap:8px;margin-top:16px;overflow-x:auto;max-width:80vw}.scene-gallery-thumb{width:64px;height:40px;border-radius:4px;object-fit:cover;cursor:pointer;opacity:.5;border:2px solid transparent;transition:opacity .2s,border-color .2s;flex-shrink:0}.scene-gallery-thumb:hover{opacity:.8}.scene-gallery-thumb.active{opacity:1;border-color:var(--accent)}.peek-overlay{position:fixed;inset:0;z-index:9998;background:#000000e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;animation:modalBgIn .2s ease forwards}.peek-image{max-width:85vw;max-height:85vh;border-radius:10px;object-fit:contain;cursor:default;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1) forwards;box-shadow:0 8px 40px #0009}.loading-indicator{display:none;font-size:12px;color:var(--text-dim);padding:8px 20px;text-align:center}.loading-indicator.visible{display:block}.side-panel{width:250px;border-left:1px solid var(--border-light);background:#0404068c;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.side-panel::-webkit-scrollbar{width:4px}.side-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.panel-section{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.panel-section h3{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);margin-bottom:8px}.panel-section-header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;transition:color .15s}.panel-section-header:hover{color:var(--text)}.panel-chevron{flex-shrink:0;transition:transform .2s ease}.panel-chevron.open{transform:rotate(90deg)}.panel-section--collapsed h3{margin-bottom:0}.panel-section-title-row{display:flex;align-items:center;gap:6px}.peek-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:default;opacity:.45;transition:opacity .15s,color .15s;flex-shrink:0}.peek-icon:hover{opacity:1;color:var(--text)}.peek-tooltip{position:fixed;width:260px;max-height:340px;overflow-y:auto;padding:12px 14px;background:#0a0a10f5;border:1px solid var(--border);border-radius:8px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:-4px 4px 24px #0000008c;z-index:9999;animation:peekIn .14s ease-out}.peek-tooltip::-webkit-scrollbar{width:3px}.peek-tooltip::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes peekIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.character-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 12px 12px!important;border-bottom:1px solid var(--border)!important;position:relative}.character-card-portrait{position:relative;width:88px;height:88px;margin-bottom:10px;flex-shrink:0}.character-card-portrait.clickable{cursor:pointer}.character-card-portrait.clickable:hover .character-card-frame{filter:brightness(1.4)}.character-card-img{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--bg-card);position:relative;z-index:1}.character-card-img img{width:100%;height:100%;object-fit:cover;object-position:top}.portrait-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#b47affb3;background:linear-gradient(145deg,#6366f11f,#a855f72e,#e040a01f)}.character-card-frame{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 0deg,#6366f180,#a855f780,#e040a080,#6366f180);z-index:0;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));animation:portraitFrameSpin 8s linear infinite}@keyframes portraitFrameSpin{to{transform:rotate(360deg)}}.character-card-identity{display:flex;flex-direction:column;align-items:center;gap:2px}.character-card-name{font-size:15px;font-weight:700;color:var(--text-bright);letter-spacing:.3px}.character-card-epithet{font-size:11px;font-style:italic;color:var(--accent);letter-spacing:.3px;opacity:.85}.vitals-section{display:flex;flex-direction:column;gap:8px}.vital-bar{display:flex;align-items:center;gap:8px;font-size:12px}.vital-label{font-weight:700;width:22px;flex-shrink:0}.vital-track{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.vital-track .bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.vital-value{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.hp-fill{background:var(--green);box-shadow:0 0 6px #4ade8080,0 0 12px #4ade8033}.mana-fill{background:var(--grad);box-shadow:0 0 6px #60a5fa80,0 0 12px #60a5fa33}.location-name-side{font-size:13px;font-weight:600;color:var(--text-bright);margin-bottom:4px}.location-desc{font-size:11px;color:var(--text-dim);line-height:1.5}.time-phase-side{font-size:11px;color:var(--text-dim);margin-top:6px;text-transform:capitalize}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.stat-cell{text-align:center;font-size:10px;padding:3px 0}.stat-cell .stat-name{color:var(--text-dim);font-weight:600;font-size:9px}.stat-cell .stat-val{color:var(--text);font-weight:500}.ability-item{font-size:11px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:background .15s}.ability-item:hover{background:#ffffff08}.ability-header{display:flex;justify-content:space-between;align-items:center}.ability-name{color:var(--text);font-weight:500}.ability-ready{color:var(--accent);font-size:9px;text-transform:uppercase;font-weight:600}.ability-cooldown{color:var(--text-dim);font-size:9px}.ability-desc{font-size:10px;color:var(--text-dim);margin-top:4px;line-height:1.4;padding-left:1px}.ability-meta{font-size:9px;color:var(--text-dim);margin-top:2px;display:flex;gap:8px}.ability-cost{color:var(--accent-blue)}.ability-source{font-style:italic}.inventory-item{font-size:11px;padding:3px 0;color:var(--text);display:flex;gap:6px;align-items:center}.inventory-item .item-icon{color:var(--yellow);font-size:10px}.inventory-item .item-tags{font-size:9px;color:var(--text-dim)}.entity-card{display:flex;align-items:center;gap:8px;padding:6px;border-radius:5px;margin-bottom:3px}.entity-card:hover{background:var(--bg-hover)}.entity-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.avatar-npc{background:var(--accent-dim);color:var(--text-bright)}.avatar-creature{background:#5e3a1a;color:var(--orange)}.avatar-hostile{background:#5a1a1a;color:var(--red)}.entity-info{flex:1;min-width:0}.entity-name{font-size:12px;font-weight:500;color:var(--text)}.entity-meta{font-size:10px;color:var(--text-dim);display:flex;gap:4px;align-items:center}.attitude-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.entity-avatar.has-portrait{padding:0;overflow:hidden}.entity-avatar.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.entity-avatar.clickable:hover{transform:scale(1.15);box-shadow:0 0 8px #a855f766}.entity-avatar-img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.attitude-friendly{background:var(--green)}.attitude-neutral{background:var(--text-dim)}.attitude-wary{background:var(--yellow)}.attitude-hostile{background:var(--red)}.attitude-afraid{background:var(--purple)}.paperdoll-backdrop{position:fixed;inset:0;z-index:9999;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;animation:paperdollFadeIn .25s ease}@keyframes paperdollFadeIn{0%{opacity:0}to{opacity:1}}.paperdoll-frame{width:min(420px,85vw);height:min(420px,85vw);border-radius:50%;overflow:hidden;border:3px solid rgba(168,85,247,.5);box-shadow:0 0 40px #a855f740,0 0 80px #6366f126;cursor:default;animation:paperdollScaleIn .3s ease}@keyframes paperdollScaleIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.paperdoll-img{width:100%;height:100%;object-fit:cover;object-position:top}.paperdoll-name{font-size:18px;font-weight:700;color:var(--text-bright);text-shadow:0 2px 8px rgba(0,0,0,.6);letter-spacing:.5px;cursor:default}.tension-item{padding:4px 0;font-size:11px;display:flex;flex-direction:column;gap:3px}.tension-severity{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase;width:fit-content}.severity-low{background:#8b949e1f;color:var(--text-dim)}.severity-medium{background:#d299221f;color:var(--yellow)}.severity-high{background:#db6d281f;color:var(--orange)}.severity-critical{background:#f851491f;color:var(--red)}.tension-text{color:var(--text-dim);line-height:1.4}.closed-door-item{font-size:11px;padding:3px 0;color:var(--text-dim);display:flex;gap:4px}.closed-door-item .x-mark{color:var(--red);font-weight:600}.gm-select,.lang-select{padding:3px 6px;font-size:11px;background:#ffffff0a;color:var(--text);border:1px solid var(--border);border-radius:5px;cursor:pointer;outline:none}.gm-select:focus,.lang-select:focus{border-color:var(--accent)}.perm-toggle,.len-toggle,.crunch-toggle,.painter-toggle,.portraitist-toggle,.portrait-ref-toggle,.portrait-cutout-toggle,.composer-toggle{display:flex;align-items:center;gap:3px;padding:2px;background:#ffffff0a;border:1px solid var(--border);border-radius:5px}.perm-opt,.len-opt,.crunch-opt,.painter-opt,.portraitist-opt,.portrait-ref-opt,.portrait-cutout-opt,.composer-opt{padding:2px 6px;font-size:10px;font-weight:500;border:none;border-radius:3px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s}.perm-opt:hover,.len-opt:hover,.crunch-opt:hover,.painter-opt:hover,.portraitist-opt:hover,.portrait-ref-opt:hover,.portrait-cutout-opt:hover,.composer-opt:hover{color:var(--text)}.perm-opt.active{background:var(--accent-dim);color:var(--text-bright)}.len-opt.active,.crunch-opt.active,.painter-opt.active,.portraitist-opt.active,.portrait-ref-opt.active,.portrait-cutout-opt.active,.composer-opt.active{background:var(--grad);color:#fff}.asset-lib-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 16px}.asset-lib-tab{padding:8px 14px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s}.asset-lib-tab:hover{color:var(--text)}.asset-lib-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.asset-lib-empty{color:var(--text-dim);font-size:12px;text-align:center;padding:24px 0}.asset-lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.asset-lib-grid.portraits{grid-template-columns:repeat(4,1fr)}.asset-lib-thumb{position:relative;border-radius:6px;overflow:hidden;background:#ffffff08;aspect-ratio:16/9}.asset-lib-thumb.portrait{aspect-ratio:1}.asset-lib-thumb img{width:100%;height:100%;object-fit:cover;display:block}.asset-lib-label{position:absolute;bottom:0;left:0;right:0;padding:2px 4px;font-size:9px;color:#fff;background:linear-gradient(transparent,#000000b3);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-btn{display:none;padding:4px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:16px;cursor:pointer}.mobile-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:99}@media(max-width:768px){.side-panel{display:none;position:fixed;top:0;right:0;width:280px;height:100vh;z-index:100;box-shadow:-4px 0 20px #00000080}.game-screen.side-panel-open .side-panel{display:flex}.game-screen.side-panel-open .mobile-backdrop,.mobile-menu-btn{display:block}}.topbar-conclude-btn{color:var(--green, #3fb950)}.turn-error{display:flex;align-items:center;gap:.75rem;margin:0 1rem .5rem;padding:.5rem .75rem;border:1px solid rgba(220,90,90,.5);border-radius:6px;background:#461414d9;color:#ffd7d7;font-size:.85rem}.turn-error-dismiss{margin-left:auto;padding:0;border:none;background:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer}:root{--bg-dark: #08090b;--bg-card: rgba(14, 15, 18, .7);--bg-input: rgba(18, 19, 23, .6);--bg-hover: rgba(28, 30, 35, .6);--border: rgba(255, 255, 255, .07);--border-light: rgba(255, 255, 255, .11);--text: #c4c4c4;--text-dim: #7a7a7a;--text-bright: #e8e8e8;--accent: #b47aff;--accent-dim: #7c3aed;--accent-blue: #6366f1;--accent-fuchsia: #e040a0;--grad: linear-gradient(135deg, #6366f1, #a855f7, #e040a0);--grad-subtle: linear-gradient(135deg, rgba(99,102,241,.15), rgba(168,85,247,.15), rgba(224,64,160,.15));--grad-border: linear-gradient(135deg, rgba(99,102,241,.4), rgba(168,85,247,.4), rgba(224,64,160,.4));--green: #3fb950;--yellow: #d29922;--orange: #db6d28;--red: #f85149;--purple: #b47aff;--glass-blur: 16px}@property --glow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes glowSpin{to{--glow-angle: 360deg}}.glow-border{position:relative}.glow-border:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:conic-gradient(from var(--glow-angle),transparent 40%,var(--accent-blue) 50%,var(--accent) 55%,var(--accent-fuchsia) 60%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:glowSpin 4s linear infinite;pointer-events:none;opacity:.6}.glow-border-subtle:before{opacity:.35}.glow-border-hover:before{opacity:0;transition:opacity .4s ease}.glow-border-hover:hover:before{opacity:.5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}#body-bg{position:fixed;inset:0;background:url(/bg.png) center center / cover no-repeat;z-index:-1;opacity:1;transition:opacity 2s ease;pointer-events:none}#body-bg.fade-out{opacity:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}
