:root{--font-display: "Bricolage Grotesque", "Hanken Grotesk", system-ui, sans-serif;--font-body: "Hanken Grotesk", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Menlo", "Consolas", monospace;--color-bg-primary: #0a0e0c;--color-bg-deep: #060907;--color-bg-secondary: #0e1310;--color-bg-card: rgba(18, 24, 20, .66);--color-bg-card-solid: #11160f;--color-bg-sidebar: rgba(9, 13, 11, .82);--color-bg-elevated: rgba(255, 255, 255, .025);--color-border: rgba(150, 200, 150, .1);--color-border-hover: rgba(150, 220, 150, .22);--color-accent: #5fd97a;--color-accent-bright: #8af0a0;--color-accent-deep: #2f9b4e;--color-accent-glow: rgba(95, 217, 122, .35);--color-gold: #f2b945;--color-gold-soft: rgba(242, 185, 69, .14);--color-success: #5fd97a;--color-error: #ff6f60;--color-error-soft: rgba(255, 111, 96, .12);--color-text-primary: #edf3ec;--color-text-secondary: #c4d2c2;--color-text-muted: #8a9b8b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 30px -12px rgba(0, 0, 0, .7);--shadow-lg: 0 28px 60px -20px rgba(0, 0, 0, .85);--shadow-glow: 0 0 0 1px rgba(95, 217, 122, .2), 0 12px 40px -12px rgba(95, 217, 122, .35);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--transition: all .22s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 268px;--content-max: 1500px;--content-pad: 2.5rem;font-family:var(--font-body);color:var(--color-text-primary);font-synthesis:none}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;min-height:100%;background-color:var(--color-bg-deep)}body{position:relative;min-height:100vh;width:100%;line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--color-bg-primary);background-image:radial-gradient(circle at 12% -10%,rgba(95,217,122,.13),transparent 45%),radial-gradient(circle at 92% 8%,rgba(242,185,69,.09),transparent 40%),radial-gradient(circle at 78% 108%,rgba(47,155,78,.11),transparent 50%),linear-gradient(rgba(150,200,150,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(150,200,150,.022) 1px,transparent 1px),linear-gradient(180deg,var(--color-bg-primary),var(--color-bg-deep));background-size:auto,auto,auto,34px 34px,34px 34px,auto}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}::selection{background:#5fd97a47;color:#fff}h1,h2,h3,.brand-name,.modal-title,.server-name{font-family:var(--font-display)}#root{min-height:100vh;display:flex;flex-direction:column}.shell{flex:1;width:100%;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.6rem 1.15rem;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:.8rem;margin-bottom:2rem;padding:0 .4rem 1.5rem;border-bottom:1px solid var(--color-border)}.brand-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:linear-gradient(160deg,#5fd97a29,#2f9b4e0f);border-radius:13px;border:1px solid rgba(95,217,122,.22);box-shadow:inset 0 1px #ffffff14,0 6px 18px -8px var(--color-accent-glow)}.brand-icon svg{filter:drop-shadow(0 2px 5px rgba(0,0,0,.45));image-rendering:pixelated}.brand-text{display:flex;flex-direction:column;gap:.1rem}.brand-name{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary)}.brand-tagline{font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-accent);font-weight:600}.nav{display:flex;flex-direction:column;gap:.3rem;flex:1}.nav-link{position:relative;display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.92rem;font-weight:600;transition:var(--transition);border:1px solid transparent}.nav-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:56%;border-radius:0 3px 3px 0;background:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow);transition:transform .22s cubic-bezier(.4,0,.2,1)}.nav-link:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.nav-link.active{color:var(--color-text-primary);background:linear-gradient(100deg,#5fd97a24,#5fd97a05);border-color:#5fd97a2e}.nav-link.active:before{transform:translateY(-50%) scaleY(1)}.nav-link svg{opacity:.65;transition:var(--transition);flex-shrink:0}.nav-link:hover svg,.nav-link.active svg{opacity:1;color:var(--color-accent)}.sidebar-footer{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--color-border)}.logout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.8rem .95rem;border-radius:var(--radius-md);background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition)}.logout-btn:hover{color:var(--color-error);background:var(--color-error-soft);border-color:#ff6f6052}.content{display:flex;flex-direction:column;align-items:center;padding:2.25rem clamp(1rem,4vw,var(--content-pad));overflow-x:hidden;min-width:0}.topbar,.page-content{width:100%;max-width:var(--content-max);margin-inline:auto}.page-content{flex:1;animation:rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:.08s}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2.25rem;padding-bottom:1.4rem;border-bottom:1px solid var(--color-border);animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.topbar-title{display:flex;flex-direction:column;gap:.35rem}.eyebrow{text-transform:uppercase;font-size:.68rem;letter-spacing:.22em;color:var(--color-accent);font-weight:700}.topbar h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text-primary);line-height:1.05}.user-pill{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem;border-radius:999px;background:var(--color-bg-card);border:1px solid var(--color-border);font-size:.9rem;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.user-pill svg{color:var(--color-accent)}.topbar-actions{display:flex;align-items:center;gap:.75rem}.lang-switcher{padding:.55rem .9rem;border-radius:999px;background:var(--color-bg-card);border:1px solid var(--color-border);font-size:.85rem;font-weight:600;cursor:pointer}input,select,textarea{border-radius:var(--radius-md);border:1px solid var(--color-border);background:#00000047;color:var(--color-text-primary);padding:.8rem 1rem;font-size:.95rem;font-family:var(--font-body);transition:var(--transition);outline:none}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a9b8b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);background:#00000059;box-shadow:0 0 0 3px #5fd97a26}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.7}label{display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}button{font-family:var(--font-body);border-radius:var(--radius-md);border:none;background:linear-gradient(180deg,var(--color-accent-bright),var(--color-accent));color:#06210f;padding:.82rem 1.2rem;font-size:.92rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:var(--transition);box-shadow:inset 0 1px #fff6,0 8px 22px -10px var(--color-accent-glow)}button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff6,0 14px 30px -10px var(--color-accent-glow)}button:active{transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.card{position:relative;padding:1.9rem;border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff09,#fff0),var(--color-bg-card);border:1px solid var(--color-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-md)}.card h2{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.form,.form form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid{display:grid;gap:1.5rem}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.list{display:flex;flex-direction:column;gap:.6rem}.list-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid transparent;transition:var(--transition)}.list-item:hover{background:#ffffff0b;border-color:var(--color-border)}.list-item strong{font-weight:700;color:var(--color-text-primary)}.list-item span{color:var(--color-text-muted);font-size:.875rem}.auth-layout{position:relative;min-height:100vh;display:grid;place-items:center;padding:1.5rem;overflow:hidden}.auth-layout:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--color-accent-glow),transparent 65%);top:-160px;left:50%;transform:translate(-50%);filter:blur(40px);opacity:.8;animation:drift 14s ease-in-out infinite alternate}.auth-layout .card{position:relative;z-index:1;width:min(420px,100%);text-align:center;padding:2.5rem 2.25rem;box-shadow:var(--shadow-lg);animation:rise .6s cubic-bezier(.2,.7,.2,1) both}.auth-layout .card h1{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.4rem;color:var(--color-text-primary)}.auth-subtitle{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.75rem;margin-top:0}.auth-submit{margin-top:.4rem;width:100%;padding:.95rem;font-size:.98rem}.auth-footer{margin-top:1.5rem!important;padding-top:1.25rem;border-top:1px solid var(--color-border);text-transform:none!important;letter-spacing:normal!important;font-size:.9rem!important;font-weight:500!important}.auth-logo-svg{filter:drop-shadow(0 8px 16px rgba(0,0,0,.5)) drop-shadow(0 0 22px var(--color-accent-glow));image-rendering:pixelated}.auth-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-layout p{color:var(--color-text-muted);font-size:.9rem;margin-top:1rem}.auth-layout a{color:var(--color-accent);font-weight:700;transition:var(--transition)}.auth-layout a:hover{color:var(--color-accent-bright);text-decoration:underline;text-underline-offset:3px}.token-box{padding:1rem;border-radius:var(--radius-md);background:var(--color-gold-soft);border:1px solid rgba(242,185,69,.24);text-align:left}.token-box p{color:var(--color-text-muted);font-size:.85rem;margin-bottom:.5rem}.token-box code{display:block;padding:.75rem;background:#0006;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.82rem;word-break:break-all;color:var(--color-accent-bright)}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.button-row button{padding:.7rem 1.2rem;font-size:.875rem}.field-error{display:flex;align-items:center;gap:.5rem;color:#ffb3aa;font-size:.82rem;font-weight:500;text-align:left;padding:.6rem .8rem;background:var(--color-error-soft);border-radius:var(--radius-sm);border-left:3px solid var(--color-error)}.field-hint{display:block;color:var(--color-text-secondary);font-size:.8rem;text-align:left;margin-top:-.4rem}.success-msg{display:flex;align-items:center;gap:.5rem;color:var(--color-accent-bright);font-size:.82rem;padding:.6rem .8rem;background:#5fd97a1a;border-radius:var(--radius-sm);border-left:3px solid var(--color-success)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#040705b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s ease}.modal{width:min(480px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .26s cubic-bezier(.2,.8,.2,1)}.modal--sm{width:min(400px,100%)}.modal--lg{width:min(680px,100%)}.upload-progress{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 .5rem}.upload-progress-bar{width:100%;height:10px;border-radius:999px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .06));overflow:hidden}.upload-progress-fill{height:100%;border-radius:999px;background:var(--color-accent);transition:width .2s ease}.upload-progress-meta{display:flex;justify-content:space-between;font-size:.9rem;color:var(--color-text-muted)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:#ffffff04}.modal-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--color-text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:var(--transition);box-shadow:none}.modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-elevated);transform:none;box-shadow:none}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.75rem}.confirm-message{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin:0}.confirm-stack{display:flex;flex-direction:column;gap:.875rem}.confirm-highlight{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1px solid rgba(255,111,96,.28);border-radius:var(--radius-md);background:var(--color-error-soft)}.confirm-highlight-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.confirm-highlight-value{font-size:.95rem;font-weight:700;color:var(--color-text-primary);word-break:break-word}.confirm-label{display:flex;flex-direction:column;gap:.5rem;color:var(--color-text-secondary);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.confirm-input{width:100%}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:10rem;padding:1.5rem;border:2px dashed var(--color-border-hover);border-radius:var(--radius-lg);background:#ffffff04;text-align:center;cursor:pointer;transition:var(--transition)}.upload-dropzone--active{border-color:var(--color-accent);background:#5fd97a14}.upload-dropzone-title{margin:0;font-weight:700;color:var(--color-text-primary)}.upload-dropzone-subtitle{margin:0;font-size:.9rem;color:var(--color-text-muted)}.upload-file-list,.upload-preview-list{display:flex;flex-direction:column;gap:.75rem}.upload-file-row,.upload-preview-card{display:flex;flex-direction:column;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.upload-file-row{flex-direction:row;align-items:center;justify-content:space-between}.upload-file-name,.upload-preview-name{font-weight:700;color:var(--color-text-primary);word-break:break-word}.upload-file-meta,.upload-preview-meta,.upload-preview-details{font-size:.85rem;color:var(--color-text-muted)}.upload-preview-summary{padding:.8rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:700}.upload-preview-summary--ok{border:1px solid rgba(95,217,122,.3);background:#5fd97a1f;color:var(--color-accent-bright)}.upload-preview-summary--blocked{border:1px solid rgba(255,111,96,.3);background:var(--color-error-soft);color:#ffb3aa}.upload-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.upload-preview-details{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.upload-preview-issues{display:flex;flex-direction:column;gap:.4rem;margin:0;padding-left:1rem}.upload-preview-issue{line-height:1.5}.upload-preview-issue--error{color:#ffb3aa}.upload-preview-issue--warning{color:var(--color-gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.875rem;font-weight:700;letter-spacing:.01em;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition);white-space:nowrap;font-family:var(--font-body)}.btn-primary{background:linear-gradient(180deg,var(--color-accent-bright),var(--color-accent));color:#06210f;box-shadow:inset 0 1px #fff6,0 8px 22px -10px var(--color-accent-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff6,0 14px 30px -10px var(--color-accent-glow)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#ffffff08;border-color:var(--color-border);color:var(--color-text-secondary);box-shadow:none}.btn-secondary:hover{color:var(--color-text-primary);background:#ffffff12;border-color:var(--color-border-hover);transform:none}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:linear-gradient(180deg,#ff8478,#ef5346);color:#2a0703;box-shadow:inset 0 1px #ffffff4d,0 8px 22px -10px #ff6f6066}.btn-danger:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 14px 30px -10px #ff6f6073}.btn-danger:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#ffffff05;color:var(--color-text-muted);cursor:pointer;transition:var(--transition);box-shadow:none}.btn-icon:hover{color:var(--color-text-primary);background:#ffffff12;border-color:var(--color-border-hover);transform:translateY(-1px)}.btn-icon:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-icon.btn-icon--danger:hover{color:var(--color-error);background:var(--color-error-soft);border-color:#ff6f6052}.btn-icon.btn-icon--accent:hover{color:var(--color-accent);background:#5fd97a1a;border-color:#5fd97a52}.table-container{border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-md);overflow:hidden;animation:rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:.12s}.table-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem 1.6rem;border-bottom:1px solid var(--color-border);background:#ffffff04}.table-header h2{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--color-text-primary)}.table-header--stacked{align-items:flex-end;gap:1rem}.toolbar-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem}.toolbar-field{min-width:220px;flex:1 1 220px}.toolbar-field select{width:100%}.section-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:.3rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{border-bottom:1px solid var(--color-border)}th{padding:.85rem 1.6rem;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);background:#ffffff05}td{padding:.95rem 1.6rem;font-size:.9rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}tbody tr{transition:background .18s ease}tr:hover td{background:#5fd97a0a}td strong{color:var(--color-text-primary);font-weight:700}.table-actions{display:flex;gap:.4rem}.col-actions{text-align:right}.col-actions .table-actions{justify-content:flex-end}.cell-id,.mono-truncate{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.8rem;cursor:pointer}.cell-id:hover{color:var(--color-text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem;color:var(--color-text-muted);gap:1rem}.empty-state p{margin:0;font-size:.95rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:capitalize}.badge--owner{background:#f2b94524;color:var(--color-gold);border:1px solid rgba(242,185,69,.3)}.badge--admin{background:#f2b9451f;color:#f5cd7a;border:1px solid rgba(242,185,69,.26)}.badge--member{background:#5fd97a1f;color:var(--color-accent-bright);border:1px solid rgba(95,217,122,.28)}.badge--danger{background:var(--color-error-soft);color:#ffb3aa;border:1px solid rgba(255,111,96,.3)}.badge--neutral{background:#8a9b8b1f;color:var(--color-text-secondary);border:1px solid rgba(138,155,139,.24)}.detail-header-card h2,.detail-stack h2{margin-bottom:.5rem}.detail-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.detail-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.detail-breadcrumbs{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:var(--color-text-muted)}.detail-grid{align-items:start}.detail-stack{display:flex;flex-direction:column;gap:1rem}.detail-list{display:flex;flex-direction:column;gap:.9rem}.detail-list>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.detail-list>div:last-child{border-bottom:none;padding-bottom:0}.detail-list span{color:var(--color-text-muted);text-align:right}.server-detail{display:flex;flex-direction:column;gap:1.5rem}.server-header{position:relative;background:radial-gradient(circle at 100% 0%,rgba(95,217,122,.08),transparent 55%),var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.6rem 2rem;box-shadow:var(--shadow-md);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.server-header-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.server-breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.server-breadcrumbs a{color:var(--color-accent);font-weight:600;transition:var(--transition)}.server-breadcrumbs a:hover{color:var(--color-accent-bright)}.breadcrumb-separator{opacity:.4}.server-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.server-actions-divider{align-self:stretch;width:1px;margin:.1rem .3rem;background:var(--color-border)}.btn-with-icon{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem}.btn-with-icon svg{width:14px;height:14px}.server-header-main{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.server-restart-banner{display:flex;align-items:center;gap:.85rem;margin:0;padding:.9rem 1.1rem;border:1px solid color-mix(in srgb,var(--color-gold) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-gold) 12%,transparent);color:var(--color-text-primary)}.server-restart-banner-icon{display:inline-flex;color:var(--color-gold);flex-shrink:0}.server-restart-banner-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.server-restart-banner-text strong{font-size:.95rem;color:var(--color-gold)}.server-restart-banner-text span{font-size:.82rem;color:var(--color-text-secondary)}.server-restart-banner-cta{margin-left:auto;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-gold) 55%,transparent);background:color-mix(in srgb,var(--color-gold) 22%,transparent);color:var(--color-gold)}.server-restart-banner-cta:hover:not(:disabled){background:color-mix(in srgb,var(--color-gold) 32%,transparent)}.pending-invitations{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.pending-invitation-banner{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;border:1px solid color-mix(in srgb,var(--color-accent) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-text-primary)}.pending-invitation-icon{display:inline-flex;color:var(--color-accent);flex-shrink:0}.pending-invitation-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pending-invitation-text strong{font-size:.95rem}.pending-invitation-text span{font-size:.82rem;color:var(--color-text-secondary)}.pending-invitation-cta{margin-left:auto;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-accent) 55%,transparent);background:color-mix(in srgb,var(--color-accent) 22%,transparent);color:var(--color-accent)}.pending-invitation-cta:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 32%,transparent)}.server-identity{display:flex;align-items:center;gap:1.1rem}.server-icon-wrapper{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:linear-gradient(160deg,#5fd97a2e,#2f9b4e0f);border-radius:14px;border:1px solid rgba(95,217,122,.22);color:var(--color-accent);box-shadow:inset 0 1px #ffffff14}.server-name{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text-primary);margin:0;line-height:1.15}.server-meta{display:flex;align-items:center;gap:.7rem;margin-top:.3rem}.server-dot{color:var(--color-text-muted);opacity:.4}.server-slug,.server-flavor{font-size:.85rem;color:var(--color-text-muted)}.server-slug{font-family:var(--font-mono)}.status-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.26rem .72rem .26rem .62rem;border-radius:999px;font-size:.73rem;font-weight:700;letter-spacing:.04em;text-transform:capitalize;border:1px solid transparent}.status-chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.status-chip--live{color:var(--color-accent-bright);background:#5fd97a1f;border-color:#5fd97a4d}.status-chip--live .status-chip-dot{background:var(--color-accent);animation:status-pulse 2s ease-in-out infinite}.status-chip--warn{color:#f5cd7a;background:#f2b9451f;border-color:#f2b94547}.status-chip--warn .status-chip-dot{background:var(--color-gold);animation:dot-blink 1.2s ease-in-out infinite}.status-chip--error{color:#ffb3aa;background:var(--color-error-soft);border-color:#ff6f604d}.status-chip--error .status-chip-dot{background:var(--color-error)}.status-chip--idle{color:var(--color-text-secondary);background:#8a9b8b1f;border-color:#8a9b8b3d}.status-chip--idle .status-chip-dot{background:var(--color-text-muted)}.server-address-card{background:var(--color-gold-soft);border:1px solid rgba(242,185,69,.22);border-radius:var(--radius-md);padding:1rem 1.25rem;min-width:280px}.server-address-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-gold);margin-bottom:.35rem}.server-address-value{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.75rem}.server-hostname{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--color-text-primary)}.server-port{font-family:var(--font-mono);font-size:.95rem;color:var(--color-text-muted)}.server-copy-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.78rem;font-weight:700;color:var(--color-text-secondary);background:#00000040;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.server-copy-btn:hover{color:var(--color-text-primary);background:#0006;border-color:var(--color-gold);transform:none}.server-copy-btn svg{width:14px;height:14px}.server-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{position:relative;display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition)}.stat-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:0;transition:opacity .22s ease}.stat-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card:hover:after{opacity:.75}.stat-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-md);border:1px solid var(--color-border);flex-shrink:0}.stat-icon--memory{background:#5fd97a1a;color:var(--color-accent)}.stat-icon--players{background:#f2b9451a;color:var(--color-gold)}.stat-icon--version{background:#5fd97a14;color:var(--color-accent-bright)}.stat-icon--runtime{background:#f2b9451a;color:var(--color-gold)}.stat-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.stat-value{font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary);line-height:1.1}.stat-value .badge{font-size:.72rem}.stat-label{font-size:.78rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.live-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.live-metric-item{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;background:#ffffff04;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition)}.live-metric-item:hover{background:#ffffff0a;border-color:var(--color-border-hover)}.live-metric-item--full{grid-column:1 / -1}.live-metric-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.live-metric-value{font-size:.98rem;font-weight:600;color:var(--color-text-primary);word-break:break-word}.live-metric-value[data-testid=live-players]{font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--color-accent-bright)}.live-metric-value[data-testid=live-version]{font-family:var(--font-mono);font-size:.92rem}.live-metrics-empty{display:flex;align-items:center;justify-content:center;min-height:6rem;padding:1.75rem 1rem;text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#ffffff03}.live-metrics-empty p{margin:0;color:var(--color-text-muted);font-size:.9rem}.server-content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.server-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease}.server-card:hover{border-color:var(--color-border-hover)}.server-card-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:#ffffff04}.server-card-header-left{display:flex;align-items:center;gap:.75rem;flex:1}.server-tabs{display:flex;flex-direction:column;gap:1.6rem}.server-tabs-nav{display:flex}.server-tabs-bar{display:inline-flex;gap:.2rem;max-width:100%;padding:.32rem;border-radius:999px;background:#00000042;border:1px solid var(--color-border);box-shadow:inset 0 1px 2px #00000052;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.server-tabs-bar::-webkit-scrollbar{display:none}.server-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:999px;margin:0;padding:.58rem 1.15rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.01em;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;box-shadow:none;transition:var(--transition)}.server-tab:hover{color:var(--color-text-primary);background:#ffffff0b;transform:none;box-shadow:none}.server-tab--active,.server-tab--active:hover{color:var(--color-text-primary);background:linear-gradient(180deg,#5fd97a33,#5fd97a0d);border-color:#5fd97a57;box-shadow:inset 0 1px #ffffff1a,0 6px 18px -10px var(--color-accent-glow)}.server-tab-icon{display:inline-flex;align-items:center;color:currentColor;opacity:.7;transition:var(--transition)}.server-tab-icon svg{width:16px;height:16px;display:block}.server-tab:hover .server-tab-icon{opacity:1}.server-tab--active .server-tab-icon{color:var(--color-accent);opacity:1}.server-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.server-tabpanel{display:flex;flex-direction:column;gap:1.5rem}.server-tabpanel>*{animation:rise .42s cubic-bezier(.2,.7,.2,1) both}.server-tabpanel>*:nth-child(2){animation-delay:.06s}.server-tabpanel>*:nth-child(3){animation-delay:.12s}.server-tabpanel>*:nth-child(4){animation-delay:.18s}.server-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:linear-gradient(160deg,#5fd97a26,#2f9b4e0d);border-radius:var(--radius-sm);border:1px solid rgba(95,217,122,.16);color:var(--color-accent)}.server-card h2{font-size:1.12rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.server-card-body{padding:1.5rem}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}.config-item{display:flex;flex-direction:column;gap:.35rem}.config-item--full{grid-column:1 / -1}.config-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.config-value{font-size:.95rem;color:var(--color-text-primary);font-weight:600}.config-value--mono{font-family:var(--font-mono);font-size:.88rem;font-weight:500}.config-time{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.config-time svg{width:14px;height:14px}.network-error{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--color-error-soft);border:1px solid rgba(255,111,96,.22);border-radius:var(--radius-sm);font-size:.85rem;color:#ffb3aa}.network-info{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:#5fd97a0d;border:1px solid rgba(95,217,122,.14);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-muted)}.motd-section{padding:1rem 1.1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1.25rem}.motd-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.5rem}.motd-value{font-size:1rem;color:var(--color-text-primary);font-style:italic}.gameplay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.gameplay-item{display:flex;align-items:center;gap:.75rem;padding:.9rem;background:#ffffff04;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition)}.gameplay-item:hover{background:#ffffff0d;border-color:var(--color-border-hover)}.gameplay-item--full{grid-column:1 / -1}.gameplay-icon{font-size:1.25rem;width:32px;text-align:center}.gameplay-info{display:flex;flex-direction:column;gap:.15rem}.gameplay-label{font-size:.72rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.gameplay-value{font-size:.9rem;color:var(--color-text-primary);font-weight:600}.gameplay-value--mono{font-family:var(--font-mono);font-size:.85rem;font-weight:500}.toggle{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700}.toggle--on{background:#5fd97a26;color:var(--color-accent-bright);border:1px solid rgba(95,217,122,.28)}.toggle--off{background:#8a9b8b1f;color:var(--color-text-muted);border:1px solid rgba(138,155,139,.22)}.server-timeline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.empty-timeline{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.9rem}.timeline,.timeline-list{display:flex;flex-direction:column}.timeline-list{gap:.85rem}.timeline-item{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated)}.timeline-item>div{display:flex;flex-direction:column;gap:.2rem}.timeline-item span{color:var(--color-text-muted);font-size:.85rem}.timeline-item-meta{align-items:flex-end;text-align:right}.timeline-row{display:flex;gap:1rem;padding:1rem 0;position:relative}.timeline-row:last-child .timeline-line{display:none}.timeline-marker{display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0}.timeline-dot{width:12px;height:12px;border-radius:50%;border:2px solid;background:var(--color-bg-secondary)}.timeline-dot--success{border-color:var(--color-success);background:var(--color-success);box-shadow:0 0 10px var(--color-accent-glow)}.timeline-dot--error{border-color:var(--color-error);background:var(--color-error)}.timeline-dot--pending{border-color:var(--color-gold);background:var(--color-gold)}.timeline-dot--info{border-color:var(--color-text-muted);background:var(--color-text-muted)}.timeline-line{flex:1;width:2px;background:var(--color-border);margin-top:.5rem}.timeline-content{flex:1;display:flex;flex-direction:column;gap:.35rem;padding-bottom:.5rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.timeline-title{font-weight:700;color:var(--color-text-primary);text-transform:capitalize}.timeline-badge{font-size:.68rem}.timeline-message{font-size:.85rem;color:var(--color-text-muted);line-height:1.45}.timeline-time{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-muted)}.timeline-time svg{width:12px;height:12px}.timeline-error{margin-top:.25rem;padding:.5rem;background:var(--color-error-soft);border-radius:var(--radius-sm);font-size:.8rem;color:#ffb3aa}.server-logs-card .server-card-header{justify-content:space-between}.server-logs{background:#00000073;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.6;max-height:400px;overflow:auto;white-space:pre-wrap;word-break:break-all;color:var(--color-accent-bright);margin:0}.platform-admin-page{display:flex;flex-direction:column;gap:1.5rem}.admin-hero{position:relative;padding:1.75rem 2rem;border-radius:var(--radius-lg);border:1px solid rgba(242,185,69,.18);background:radial-gradient(circle at 100% 0%,rgba(242,185,69,.1),transparent 55%),var(--color-bg-card);box-shadow:var(--shadow-md);overflow:hidden}.admin-hero .eyebrow{color:var(--color-gold)}.admin-hero h1{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;margin:.3rem 0;color:var(--color-text-primary)}.admin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.admin-stats-grid .stat-card{padding:1.4rem 1.5rem}.admin-stats-grid .stat-value{font-size:1.7rem}.admin-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.server-info{display:flex;flex-direction:column;gap:.15rem}.server-info strong{color:var(--color-text-primary);font-weight:700}.server-info span{color:var(--color-text-muted);font-size:.82rem}.toast{position:fixed;top:1.5rem;right:1.5rem;z-index:1100;display:flex;align-items:center;gap:.6rem;padding:.9rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;box-shadow:var(--shadow-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:toast-in .32s cubic-bezier(.2,.8,.2,1)}.toast--success{background:#5fd97a29;border:1px solid rgba(95,217,122,.32);color:var(--color-accent-bright)}.toast--error{background:#ff6f6029;border:1px solid rgba(255,111,96,.32);color:#ffb3aa}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes drift{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(30px)}}@keyframes status-pulse{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}70%{box-shadow:0 0 0 6px #5fd97a00}to{box-shadow:0 0 #5fd97a00}}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1280px){.server-stats,.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1080px){:root{--sidebar-width: 232px}.server-content-grid,.server-timeline-grid{grid-template-columns:1fr}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:50;height:auto;flex-direction:row;align-items:center;gap:1rem;border-right:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;min-width:0}.brand{margin-bottom:0;padding:0;border-bottom:none;flex-shrink:0}.nav{flex:1;min-width:0;flex-direction:row;gap:.35rem;overflow-x:auto;padding-bottom:0;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;padding:.6rem .85rem}.nav-link:before{display:none}.sidebar-footer{margin-top:0;padding-top:0;border-top:none;flex-shrink:0}.logout-btn{padding:.6rem .85rem}.logout-btn span{display:none}.content{padding:1.5rem}.two-columns,.form-grid,.server-content-grid,.server-timeline-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.server-header-main{flex-direction:column;align-items:flex-start}.server-address-card{width:100%;min-width:auto}}@media(max-width:600px){.content{padding:1.1rem}.brand-tagline{display:none}.topbar{align-items:flex-start}.topbar h1{font-size:1.55rem}.user-pill{align-self:stretch}.table-header--stacked{align-items:stretch}.detail-header-row,.timeline-item,.detail-list>div{flex-direction:column;align-items:flex-start}.detail-list span{text-align:left}.server-header{padding:1.25rem}.server-header-top{flex-direction:column;gap:1rem;align-items:flex-start}.server-actions{width:100%;flex-wrap:wrap}.server-restart-banner{flex-wrap:wrap}.server-restart-banner-cta{margin-left:0;width:100%;justify-content:center}.server-stats,.admin-stats-grid,.config-grid,.gameplay-grid,.live-metrics-grid{grid-template-columns:1fr}th,td{padding-left:1rem;padding-right:1rem}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#5fd97a2e;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#5fd97a52;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(95,217,122,.22) transparent}.server-console{display:flex;flex-direction:column;gap:.5rem}.console-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.console-header-status{min-height:1.2rem;display:flex;align-items:center}.console-polling{font-size:.78rem;color:var(--color-text-muted);font-style:italic}.console-header-controls{display:flex;align-items:center;gap:.75rem}.console-autoscroll{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.console-clear-btn{font-size:.8rem;padding:.3rem .7rem}.console-output{height:320px;overflow-y:auto;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-deep);font-family:var(--font-mono);font-size:.82rem;line-height:1.5}.console-line{display:block;white-space:pre-wrap;word-break:break-word}.console-line--muted{color:var(--color-text-muted)}.console-line--error{color:var(--color-error)}.console-line--command{color:var(--color-text-primary)}.console-line--response{color:var(--color-text-secondary, var(--color-text-muted))}.console-line--pending{color:var(--color-text-muted)}.console-logs{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit}.console-pending-label{font-style:italic}.console-input-row{display:flex;align-items:center;gap:.5rem}.console-prompt{font-family:var(--font-mono);color:var(--color-text-muted)}.console-input{flex:1;font-family:var(--font-mono)}.players-section-body{display:flex;flex-direction:column;gap:1.25rem}.players-unavailable{padding:.6rem .85rem;border-radius:8px;background:#f0b4291a;border:1px solid rgba(240,180,41,.28);color:var(--color-text-secondary, var(--color-text-muted));font-size:.85rem}.players-block{display:flex;flex-direction:column;gap:.6rem;padding-bottom:1.1rem;border-bottom:1px solid var(--color-border)}.players-block:last-of-type{border-bottom:none;padding-bottom:0}.players-block-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.players-block-header h3{margin:0;font-size:.95rem}.players-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.players-hint{margin:0;font-size:.8rem;color:var(--color-text-muted)}.players-error{margin:0;font-size:.8rem;color:var(--color-error)}.players-add-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.players-input{flex:1 1 12rem;min-width:8rem}.players-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.players-list-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-deep)}.players-list-name{font-family:var(--font-mono);font-size:.85rem}.players-list-actions{display:inline-flex;gap:.35rem}.btn-sm{font-size:.75rem;padding:.25rem .6rem}.players-count{margin:0;font-size:.85rem;color:var(--color-text-secondary, var(--color-text-muted))}.players-empty{margin:0;font-size:.85rem;color:var(--color-text-muted)}.players-raw,.players-feedback-resp{margin:0;padding:.6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-deep);font-family:var(--font-mono);font-size:.8rem;white-space:pre-wrap;word-break:break-word}.players-feedback{display:flex;flex-direction:column;gap:.35rem}.players-feedback-cmd{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}.players-pending{font-size:.8rem;font-style:italic;color:var(--color-text-muted)}.server-card-header--split{justify-content:space-between;gap:1rem;flex-wrap:wrap}.server-card-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;padding:.1rem .55rem;border-radius:999px;font-family:var(--font-mono);font-size:.74rem;font-weight:600;color:var(--color-accent-bright);background:#5fd97a1a;border:1px solid rgba(95,217,122,.24)}.btn-sm{padding:.42rem .85rem;font-size:.78rem}.input-sm,.select-sm{padding:.52rem .8rem;font-size:.84rem;border-radius:var(--radius-sm)}.select-sm{padding-right:2.2rem;background-position:right .7rem center}.manage-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.manage-toolbar-search{position:relative;flex:1 1 220px;min-width:180px}.manage-toolbar-search svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--color-text-muted);pointer-events:none}.manage-toolbar-search input{width:100%;padding-left:2.3rem}.notice-stack{display:flex;flex-direction:column;gap:.5rem}.notice-stack:not(:empty){margin-bottom:1rem}.notice{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.5}.notice--info{background:#5fd97a0f;border:1px solid rgba(95,217,122,.16);color:var(--color-text-secondary)}.notice--warn{background:var(--color-gold-soft);border:1px solid rgba(242,185,69,.26);color:#f5cd7a}.notice--danger{background:var(--color-error-soft);border:1px solid rgba(255,111,96,.26);color:#ffb3aa}.data-list{display:flex;flex-direction:column;gap:.55rem}.data-row{display:flex;align-items:center;gap:.9rem;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:var(--transition)}.data-row:hover{background:#ffffff0a;border-color:var(--color-border-hover)}.data-row--clickable{cursor:pointer}.data-row--clickable:hover{border-color:#5fd97a4d;box-shadow:0 6px 18px -12px var(--color-accent-glow)}.data-row-check{width:16px;height:16px;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer;padding:0}.data-row-check:disabled{cursor:not-allowed}.data-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.data-row-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.data-row-title strong{font-weight:700;color:var(--color-text-primary)}.data-row-sub{font-family:var(--font-mono);font-size:.76rem;color:var(--color-text-muted);word-break:break-all}.data-row-desc{font-size:.85rem;color:var(--color-text-muted);line-height:1.45}.data-row-tags{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.data-row-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.data-row-error{margin-top:.2rem;font-size:.8rem}.meta-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .55rem;border-radius:999px;border:1px solid var(--color-border);background:#00000038;color:var(--color-text-muted);font-size:.72rem;font-weight:600;white-space:nowrap}.meta-chip--mono{font-family:var(--font-mono)}.latest-badge{display:inline-flex;align-items:center;padding:.14rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold);background:var(--color-gold-soft);border:1px solid rgba(242,185,69,.3)}.show-more-row{display:flex;justify-content:center;margin-top:.9rem}.collapse-group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff03;overflow:hidden}.collapse-group+.collapse-group{margin-top:.8rem}.collapse-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.35rem .6rem .35rem .3rem}.collapse-toggle{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:.55rem;padding:.55rem .6rem;background:transparent;border:none;border-radius:var(--radius-sm);box-shadow:none;color:var(--color-text-primary);font-family:var(--font-body);font-size:.92rem;font-weight:700;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:var(--transition)}.collapse-toggle:hover{background:#ffffff0a;transform:none;box-shadow:none}.collapse-chevron{display:inline-flex;flex-shrink:0;color:var(--color-text-muted);transition:transform .2s ease,color .2s ease}.collapse-toggle[aria-expanded=true] .collapse-chevron{transform:rotate(90deg);color:var(--color-accent)}.collapse-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.collapse-body{display:flex;flex-direction:column;gap:.55rem;padding:.3rem .85rem .9rem}.collapse-body>.section-subtitle{margin:.2rem .1rem}.mods-add--divided{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--color-border)}.mods-add-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.mods-add-title{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.mods-add-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.seed-row{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.seed-field{flex:1 1 240px;min-width:200px}.seed-field input{width:100%;font-family:var(--font-mono)}.seed-save{flex-shrink:0}.form-hint{margin:.7rem 0 0;font-size:.8rem;line-height:1.55;color:var(--color-text-muted)}.world-stack{display:flex;flex-direction:column;gap:1.5rem}.server-card--danger{border-color:#ff6f6033}.server-card--danger:hover{border-color:#ff6f6052}.server-card-icon--danger{background:linear-gradient(160deg,#ff6f6029,#ff6f600a);border-color:#ff6f603d;color:var(--color-error)}.danger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}.danger-panel{display:flex;flex-direction:column;gap:.7rem;padding:1.1rem 1.2rem;border:1px solid rgba(255,111,96,.18);border-radius:var(--radius-md);background:#ff6f6008}.danger-panel h3{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.danger-panel-sub{margin:0;font-size:.85rem;line-height:1.5;color:var(--color-text-muted)}.danger-panel-actions{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.2rem}.file-input{width:100%;padding:.5rem;font-size:.82rem;color:var(--color-text-muted);background:#00000038;border:1px dashed var(--color-border-hover);cursor:pointer}.file-input::file-selector-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-right:.8rem;padding:.45rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#ffffff0d;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}.file-input:not(:disabled):hover::file-selector-button{color:var(--color-text-primary);background:#ffffff17;border-color:var(--color-border-hover)}.file-input:disabled{opacity:.45;cursor:not-allowed}.file-selected-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.file-selected-name{font-size:.84rem;color:var(--color-text-secondary);word-break:break-word}@media(max-width:900px){.danger-grid{grid-template-columns:1fr}}@media(max-width:600px){.data-row{flex-direction:column;align-items:flex-start;gap:.6rem}.data-row-actions{width:100%;justify-content:flex-end}.collapse-head{padding-bottom:.55rem}.collapse-actions{width:100%}}.assistant{position:fixed;right:1.6rem;bottom:1.6rem;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.9rem}.assistant-launcher{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--color-border-hover);background:linear-gradient(135deg,var(--color-accent-deep),var(--color-accent));color:var(--color-bg-deep);cursor:pointer;box-shadow:var(--shadow-glow);transition:var(--transition)}.assistant-launcher:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.assistant-launcher.is-open{background:var(--color-bg-card-solid);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-md)}.assistant-panel{width:min(380px,calc(100vw - 3.2rem));height:min(560px,calc(100vh - 6rem));display:flex;flex-direction:column;background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.assistant-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.assistant-panel-heading{display:flex;flex-direction:column;gap:.15rem}.assistant-panel-title{font-family:var(--font-display);font-weight:600;color:var(--color-text-primary)}.assistant-panel-subtitle{font-size:.8rem;color:var(--color-text-muted)}.assistant-panel-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition)}.assistant-panel-close:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.assistant-log{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem}.assistant-empty{margin:auto 0;text-align:center;color:var(--color-text-muted)}.assistant-empty-title{font-family:var(--font-display);color:var(--color-text-secondary);margin-bottom:.35rem}.assistant-empty-hint{font-size:.85rem}.assistant-message{display:flex;flex-direction:column;gap:.3rem;max-width:92%;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated)}.assistant-message-user{align-self:flex-end;background:var(--color-gold-soft);border-color:#f2b94547}.assistant-message-assistant{align-self:flex-start}.assistant-message-author{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.assistant-message-body{color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.assistant-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.assistant-chips-label{width:100%;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.assistant-chip{display:inline-flex;align-items:baseline;gap:.4rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--color-border-hover);background:var(--color-bg-secondary);font-size:.78rem}.assistant-chip-tool{font-family:var(--font-mono);color:var(--color-accent-bright)}.assistant-chip-summary{color:var(--color-text-secondary)}.assistant-thinking{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.85rem}.assistant-thinking-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:assistant-pulse 1.2s ease-in-out infinite}.assistant-thinking-dot:nth-child(2){animation-delay:.2s}.assistant-thinking-dot:nth-child(3){animation-delay:.4s}.assistant-thinking-label{margin-left:.3rem}@keyframes assistant-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.assistant-error{margin:0 1.1rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-error);background:var(--color-error-soft);color:var(--color-error);font-size:.85rem}.assistant-input{display:flex;align-items:center;gap:.55rem;padding:.85rem 1.1rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.assistant-input input{flex:1;padding:.6rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-card-solid);color:var(--color-text-primary);font-family:var(--font-body)}.assistant-input input:focus{outline:none;border-color:var(--color-border-hover)}.assistant-send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--color-border-hover);background:linear-gradient(135deg,var(--color-accent-deep),var(--color-accent));color:var(--color-bg-deep);cursor:pointer;transition:var(--transition)}.assistant-send:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.assistant{right:1rem;bottom:1rem}}
