@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";.lc-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.82rem;color:var(--muted)}.lc-breadcrumb-item-wrap{display:flex;align-items:center;gap:4px}.lc-breadcrumb-sep{opacity:.35;-webkit-user-select:none;user-select:none}.lc-breadcrumb-item.link{color:var(--accent);text-decoration:none;transition:opacity .15s ease}.lc-breadcrumb-item.link:hover{opacity:.75}.lc-breadcrumb-item.current{color:var(--ink);font-weight:600}.lc-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.lc-page-header-body{display:flex;flex-direction:column;gap:6px}.lc-page-header-breadcrumb{margin-bottom:2px}.lc-page-header-title{font-size:var(--text-xl);font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0}.lc-page-header-subtitle{font-size:.9rem;color:var(--muted);margin:0}.lc-page-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}@media(max-width:768px){.lc-page-header{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.lc-page-header-actions{flex-wrap:wrap;gap:var(--space-sm)}.lc-page-header-actions .button{flex:1;min-width:120px}}.lc-content-card{background:var(--card);border:1px solid var(--card-border);border-radius:20px;padding:var(--space-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.lc-content-card.flat{background:var(--surface-subtle);box-shadow:none;border-color:transparent}.lc-content-card.stats{background:var(--overview-card-bg)}.lc-content-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.lc-content-card-title{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0 0 2px}.lc-content-card-subtitle{font-size:.85rem;color:var(--muted);margin:0}.lc-content-card-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}:root{color-scheme:light;font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--bg: #f6f1ea;--bg-2: #e7f1ff;--ink: #1c1d20;--muted: #5c5f67;--accent: #2a9d8f;--accent-2: #e76f51;--accent-3: #1d3557;--card: rgba(255, 255, 255, .82);--card-border: rgba(20, 23, 30, .08);--shadow: 0 20px 45px rgba(20, 23, 30, .12);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--surface: rgba(255, 255, 255, .9);--surface-elevated: rgba(255, 255, 255, .96);--surface-overlay: rgba(255, 255, 255, .65);--surface-hover: rgba(42, 157, 143, .06);--surface-subtle: rgba(29, 53, 87, .04);--surface-muted: rgba(29, 53, 87, .08);--surface-tinted: rgba(29, 53, 87, .12);--border: rgba(20, 23, 30, .12);--border-light: rgba(20, 23, 30, .08);--border-focus: rgba(42, 157, 143, .55);--backdrop: rgba(20, 23, 30, .45);--accent-tint: rgba(42, 157, 143, .12);--bg-gradient-warm: rgba(255, 215, 174, .6);--bg-gradient-cool: rgba(160, 210, 255, .6);--bg-gradient-mint: rgba(163, 255, 233, .5);--alert-error-bg: rgba(231, 111, 81, .16);--alert-error-text: #b54830;--alert-success-bg: rgba(42, 157, 143, .16);--alert-success-text: #1b6f63;--alert-warn-bg: rgba(230, 167, 73, .2);--alert-warn-text: #8a5a14;--color-hot: #1b6f63;--color-sell: #b42318;--color-comment: #3b82f6;--color-score: #10b981;--color-warn: #e6a749;--color-info-bg: rgba(29, 53, 87, .12);--color-info-text: #1d3557;--color-warning-bg: rgba(230, 167, 73, .25);--color-warning-text: #7f4f08;--color-critical-bg: rgba(180, 35, 24, .16);--color-critical-text: #8c1f16;--row-bg: rgba(255, 255, 255, .7);--row-header-bg: rgba(29, 53, 87, .12);--overview-card-bg: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(230, 245, 255, .72));--detail-modal-bg: linear-gradient(180deg, rgba(251, 254, 255, .98), rgba(242, 249, 255, .95));--orb-gradient: radial-gradient(circle, rgba(42, 157, 143, .8), transparent 65%);--orb-gradient-2: radial-gradient(circle, rgba(231, 111, 81, .5), transparent 65%);--orb-gradient-3: radial-gradient(circle, rgba(29, 53, 87, .35), transparent 65%);--grid-line-color: rgba(29, 53, 87, .08);--login-tag-bg: rgba(255, 255, 255, .75);--login-tag-border: rgba(42, 157, 143, .25);--login-form-bg: rgba(255, 255, 255, .72);--login-input-icon: var(--muted);--login-visual-overlay: linear-gradient(to top, var(--bg) 0%, transparent 40%);--chart-grid-stroke: rgba(29, 53, 87, .18);--chart-axis-stroke: rgba(29, 53, 87, .35);--chart-band-fill: rgba(29, 53, 87, .14);--chart-line-stroke: rgba(29, 53, 87, .2);--accent-active-ring: rgba(42, 157, 143, .42);--accent-active-bg: rgba(42, 157, 143, .08);--accent-target-border: rgba(42, 157, 143, .55);--accent-target-bg: rgba(42, 157, 143, .14);--accent-guide-stroke: rgba(42, 157, 143, .75);--accent-grid-active: rgba(42, 157, 143, .65);--compare-border: rgba(29, 53, 87, .2);--band-range-bg: rgba(29, 53, 87, .55);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--touch-target: 44px;--text-xs: .75rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.1rem;--text-xl: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.2rem + 1vw, 2rem);--text-3xl: clamp(1.8rem, 1.4rem + 1.2vw, 2.6rem)}[data-theme=dark]{color-scheme:dark;--bg: #0f1117;--bg-2: #151922;--ink: #e4e6eb;--muted: #8b8f9a;--accent: #3dbdad;--accent-2: #f08a6e;--accent-3: #7da2d4;--card: rgba(25, 28, 36, .85);--card-border: rgba(255, 255, 255, .07);--shadow: 0 20px 45px rgba(0, 0, 0, .35);--surface: rgba(22, 25, 33, .9);--surface-elevated: rgba(30, 33, 42, .96);--surface-overlay: rgba(18, 20, 28, .75);--surface-hover: rgba(61, 189, 173, .08);--surface-subtle: rgba(255, 255, 255, .03);--surface-muted: rgba(255, 255, 255, .06);--surface-tinted: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .06);--border-focus: rgba(61, 189, 173, .6);--backdrop: rgba(0, 0, 0, .6);--accent-tint: rgba(61, 189, 173, .15);--bg-gradient-warm: rgba(180, 120, 60, .15);--bg-gradient-cool: rgba(60, 100, 180, .15);--bg-gradient-mint: rgba(60, 180, 140, .12);--alert-error-bg: rgba(240, 138, 110, .14);--alert-error-text: #f4a08a;--alert-success-bg: rgba(61, 189, 173, .14);--alert-success-text: #5cd4c0;--alert-warn-bg: rgba(230, 167, 73, .14);--alert-warn-text: #f0c060;--color-hot: #5cd4c0;--color-sell: #f4786a;--color-comment: #60a0f8;--color-score: #34d399;--color-warn: #f0c060;--color-info-bg: rgba(125, 162, 212, .14);--color-info-text: #7da2d4;--color-warning-bg: rgba(240, 192, 96, .14);--color-warning-text: #f0c060;--color-critical-bg: rgba(240, 138, 110, .14);--color-critical-text: #f4a08a;--row-bg: rgba(255, 255, 255, .04);--row-header-bg: rgba(255, 255, 255, .08);--overview-card-bg: linear-gradient(145deg, rgba(25, 28, 36, .9), rgba(20, 28, 42, .72));--detail-modal-bg: linear-gradient(180deg, rgba(20, 23, 30, .98), rgba(18, 22, 32, .95));--orb-gradient: radial-gradient(circle, rgba(61, 189, 173, .4), transparent 65%);--orb-gradient-2: radial-gradient(circle, rgba(240, 138, 110, .25), transparent 65%);--orb-gradient-3: radial-gradient(circle, rgba(125, 162, 212, .2), transparent 65%);--grid-line-color: rgba(255, 255, 255, .04);--login-tag-bg: rgba(25, 28, 36, .75);--login-tag-border: rgba(61, 189, 173, .3);--login-form-bg: rgba(25, 28, 36, .65);--login-input-icon: var(--muted);--login-visual-overlay: linear-gradient(to top, var(--bg) 0%, transparent 40%);--chart-grid-stroke: rgba(255, 255, 255, .08);--chart-axis-stroke: rgba(255, 255, 255, .15);--chart-band-fill: rgba(255, 255, 255, .06);--chart-line-stroke: rgba(255, 255, 255, .1);--accent-active-ring: rgba(61, 189, 173, .45);--accent-active-bg: rgba(61, 189, 173, .1);--accent-target-border: rgba(61, 189, 173, .55);--accent-target-bg: rgba(61, 189, 173, .14);--accent-guide-stroke: rgba(61, 189, 173, .75);--accent-grid-active: rgba(61, 189, 173, .65);--compare-border: rgba(255, 255, 255, .12);--band-range-bg: rgba(255, 255, 255, .25)}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-tinted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:var(--accent-tint);color:var(--ink)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 20%,var(--bg-gradient-warm),transparent 40%),radial-gradient(circle at 80% 10%,var(--bg-gradient-cool),transparent 45%),radial-gradient(circle at 70% 80%,var(--bg-gradient-mint),transparent 40%),linear-gradient(120deg,var(--bg),var(--bg-2));color:var(--ink);transition:background .3s ease,color .2s ease}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 12px;letter-spacing:-.02em}p{margin:0;color:var(--muted)}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{padding:var(--space-lg) var(--space-md);background:var(--surface-overlay);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--card-border);display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-radius:14px;display:grid;place-items:center;font-weight:700;letter-spacing:1px}.brand-title{font-size:1.1rem;font-weight:700}.brand-subtitle{font-size:.85rem;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:6px}.nav-group-label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) var(--space-sm) var(--space-xs);margin-top:var(--space-sm)}.nav-group-label:first-child{margin-top:0}.nav-link{position:relative;padding:10px 14px;border-radius:12px;font-weight:600;color:var(--muted);transition:all .25s ease}.nav-link:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent-2));transform:translateY(-50%);transition:height .3s cubic-bezier(.34,1.56,.64,1)}.nav-link:after{content:"";position:absolute;inset:0;border-radius:12px;background:var(--accent-tint);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;z-index:-1}.nav-link:hover{color:var(--ink);padding-left:18px}.nav-link:hover:after{transform:scaleX(1)}.nav-link.active{color:var(--ink);background:var(--accent-tint)}.nav-link.active:before{height:60%}.sidebar-foot{margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--border-light);display:flex;gap:8px;flex-wrap:wrap}.pill{padding:6px 10px;border-radius:999px;font-size:.75rem;background:var(--surface-tinted);color:var(--accent-3)}.main-area{display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl) var(--space-sm)}.topbar-title{font-size:var(--text-lg);font-weight:600}.topbar-user{display:flex;align-items:center;gap:16px}.topbar-name{font-weight:600}.topbar-meta{font-size:.8rem;color:var(--muted)}.main{padding:0 var(--space-xl) var(--space-xl)}.page{display:flex;flex-direction:column;gap:20px}.page-header{display:flex;justify-content:space-between;align-items:flex-end}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--card);border:1px solid var(--card-border);border-radius:20px;padding:var(--space-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease;animation:cardFadeIn .35s ease both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;font-weight:600;color:var(--muted)}.map-settings-policy-option{display:flex;align-items:center;gap:.5rem;margin:.4rem 0;cursor:pointer}.map-settings-policy-desc{color:var(--muted);font-size:.9em}.input,.select,.textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-family:inherit;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.button{position:relative;padding:10px 16px;border-radius:10px;border:none;background:var(--surface-tinted);color:var(--accent-3);font-weight:600;cursor:pointer;transition:all .2s ease;overflow:hidden}.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.button:active{transform:scale(.97);box-shadow:none}.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));background-size:200% 200%;color:#fff;transition:all .2s ease,background-position .4s ease}.button.primary:hover{background-position:right center;box-shadow:0 4px 18px #2a9d8f59}.button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.button.ghost:hover{border-color:var(--accent);color:var(--accent)}.button.danger{background:linear-gradient(135deg,#ff6b6b,#e63946);color:#fff}.button.danger:hover{box-shadow:0 4px 18px #e6394659}.alert{padding:12px 14px;border-radius:12px;font-weight:600}.alert.error{background:var(--alert-error-bg);color:var(--alert-error-text)}.alert.success{background:var(--alert-success-bg);color:var(--alert-success-text)}.alert.warn{background:var(--alert-warn-bg);color:var(--alert-warn-text)}.table{display:grid;gap:8px}.table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--row-bg);transition:transform .15s ease,background .15s ease}.table-row:not(.header):hover{background:var(--surface-hover);transform:scale(1.002)}.table-row.header{font-weight:700;background:var(--row-header-bg)}.table-full-row{grid-column:1 / -1}.table.author-maps-table .table-row{grid-template-columns:minmax(180px,1.6fr) minmax(120px,1fr) minmax(320px,2fr)}.table.author-maps-table .table-row>:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table.author-maps-table .table-row>:nth-child(1){min-width:0;overflow-wrap:anywhere}.author-map-actions{gap:6px}.author-map-actions .link-tile{padding:8px 10px}.table.admin-authors-table .table-row{grid-template-columns:minmax(260px,2.2fr) minmax(120px,1fr) minmax(120px,1fr) minmax(70px,.55fr) minmax(70px,.55fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(170px,1.3fr)}.table.admin-authors-table .table-row>:nth-child(1){min-width:0;overflow-wrap:anywhere}@media(max-width:1100px){.table.author-maps-table .table-row,.table.admin-authors-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.table.saves-table .table-row{grid-template-columns:76px minmax(82px,.65fr) minmax(150px,.95fr) minmax(120px,1fr) minmax(120px,1fr) minmax(160px,1fr) minmax(220px,1.7fr)}@media(max-width:1100px){.table.saves-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.table.players-table .table-row{grid-template-columns:56px minmax(82px,.65fr) minmax(180px,1.2fr) minmax(86px,.6fr) minmax(250px,1.35fr)}.table.players-table .table-row>div{text-align:center}.table.players-table .nickname-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-actions{justify-content:center}.player-actions .select{min-width:82px}.player-actions .button{padding:8px 10px}.player-status{font-weight:700}.player-status.normal{color:var(--color-hot)}.player-status.banned{color:var(--color-sell)}.table.cheat-stats-table .table-row{grid-template-columns:2em 56px minmax(90px,.8fr) minmax(140px,1.2fr) minmax(80px,.6fr) minmax(90px,.7fr) minmax(280px,1.6fr)}.table.cheat-type-table .table-row{grid-template-columns:56px minmax(150px,1fr) minmax(120px,.85fr) minmax(76px,.6fr) minmax(160px,1fr) minmax(220px,1.9fr)}.table.cheat-type-table .table-row>:last-child{min-width:0;overflow-wrap:anywhere}.cheat-type-modal{width:min(1400px,calc(100% - 32px))}.cheat-stats-table .player-actions{justify-content:flex-start}.cheat-stats-table .player-actions .select{min-width:82px}.cheat-stats-table .player-actions .button{padding:8px 10px}.cheat-stats-table .player-unregistered{color:var(--muted);font-size:.8rem}.cheat-stats-table .cheat-checkbox{display:flex;align-items:center;justify-content:center}.cheat-stats-table .cheat-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}@media(max-width:1100px){.table.players-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:1200px){.table.cheat-stats-table .table-row,.table.cheat-type-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.map-errors-overview-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.map-errors-overview-card{background:var(--overview-card-bg);border:1px solid var(--card-border);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.map-errors-overview-card h3{margin:0 0 10px;font-size:.9rem;color:var(--muted)}.map-errors-overview-value{margin:0;font-size:1.8rem;font-weight:700;color:var(--accent-3)}.map-errors-overview-sub{margin-top:6px;font-size:.8rem}.map-errors-filter-card{gap:10px}.table.map-errors-table .table-row{grid-template-columns:36px minmax(80px,.5fr) minmax(200px,1.5fr) minmax(56px,.3fr) minmax(56px,.3fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(200px,1fr)}@media(max-width:1200px){.table.map-errors-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.table.map-error-players-table .table-row{grid-template-columns:minmax(200px,1.6fr) minmax(90px,.7fr) minmax(140px,1fr) minmax(60px,.4fr) minmax(100px,.7fr) minmax(80px,.6fr) minmax(180px,1.2fr)}@media(max-width:900px){.table.map-error-players-table .table-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.map-errors-detail-modal{width:min(1320px,calc(100% - 32px));max-height:90vh;background:var(--detail-modal-bg);overflow-x:hidden;overflow-y:auto}.map-errors-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.map-errors-meta-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.map-errors-code-block{max-height:220px;overflow:auto;padding:12px;border-radius:12px;background:var(--surface-muted);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word}.result{display:flex;flex-direction:column;gap:6px}.result-item{padding:8px 10px;border-radius:10px;background:var(--accent-tint)}.result-item.error{background:var(--alert-error-bg)}.mono{font-family:var(--mono);font-size:.85rem}.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.link-tile{padding:12px;border-radius:12px;background:var(--surface-muted);font-weight:600;text-align:center;transition:background .15s ease}.link-tile:hover{background:var(--accent-tint)}.log{max-height:360px;overflow:auto;background:var(--surface-muted);border-radius:12px;padding:12px;font-family:var(--mono);font-size:.8rem}.clipboard-helper-textarea{position:fixed;left:-9999px;opacity:0}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;animation:modalFade .16s ease}.modal{width:min(520px,calc(100% - 32px));background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:20px;box-shadow:var(--shadow);padding:var(--space-lg);display:flex;flex-direction:column;gap:12px;animation:modalIn .24s cubic-bezier(.34,1.56,.64,1)}.modal-meta{display:flex;flex-wrap:wrap;gap:8px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.save-edit-head{text-align:center}.save-edit-type-row{justify-content:center}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.96);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.home{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 24px 40px;position:relative}.home-nav{width:100%;max-width:800px;display:flex;align-items:center;justify-content:space-between;padding:20px 0}.home-nav-brand{font-size:1rem;font-weight:600;color:var(--ink);text-decoration:none}.home-nav-right{display:flex;align-items:center;gap:12px}.home-nav-login{text-decoration:none;font-size:.85rem;padding:6px 18px}.home-header{text-align:center;margin-bottom:48px}.home-title{font-size:2.6rem;font-weight:700;margin:0 0 12px}.home-subtitle{font-size:1.1rem;color:var(--muted);margin:0}.home-content{max-width:800px;width:100%;display:flex;flex-direction:column;gap:36px}.home-card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:28px 32px;box-shadow:var(--shadow)}.home-card h2{font-size:1.2rem;font-weight:600;margin:0 0 12px}.home-card p{color:var(--muted);line-height:1.8;margin:0}.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-feature-item{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:24px 20px;text-align:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.home-feature-item:hover{transform:translateY(-2px);box-shadow:0 24px 50px #14171e29}.home-feature-icon{font-size:2rem;margin-bottom:12px}.home-feature-item h3{font-size:1rem;font-weight:600;margin:0 0 8px}.home-feature-item p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}.home-footer{margin-top:48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.home-disclaimer{font-size:.78rem;color:var(--muted);line-height:1.6;max-width:600px;margin:0}.home-icp{font-size:.75rem;margin:0}.home-icp a{color:var(--muted);text-decoration:none}.home-icp a:hover{text-decoration:underline}.home-login-btn{text-decoration:none;font-size:.85rem;padding:8px 24px}@media(max-width:640px){.home{padding:40px 16px 32px}.home-title{font-size:1.8rem}.home-features{grid-template-columns:1fr}.home-card{padding:20px}}.login{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;overflow:hidden;animation:loginFadeIn .8s ease both}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}.login-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat}.login-bg-overlay{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;pointer-events:none;animation:loginBgFloat 10s ease-in-out infinite}@keyframes loginBgFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-bg-scene{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover;pointer-events:none}.login-spine{position:absolute;z-index:2;width:100%;height:100%;top:0;right:-25%;pointer-events:none}.login-spine .spine-player{background:transparent!important;border:none!important;width:100%!important;height:100%!important}.login-spine .spine-player-canvas{pointer-events:none}.login-nav{position:absolute;top:24px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;z-index:10}.login-nav-home{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:500;color:#fff;text-decoration:none;text-shadow:0 1px 4px rgba(0,0,0,.5);transition:opacity .2s}.login-nav-home:hover{opacity:.8}@keyframes heroStagger{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-form-title{font-size:1.5rem;font-weight:700;text-align:center;background:linear-gradient(135deg,var(--ink),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-form.card{position:relative;z-index:10;width:100%;max-width:380px;background:#0f1117b3;backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:32px 28px;gap:18px;box-shadow:0 8px 32px #0006;animation:heroStagger .7s ease .2s both}.login-field label{font-size:.82rem;font-weight:600;color:#fff9;transition:color .2s}.login-field:focus-within label{color:var(--accent)}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:12px;color:var(--accent);pointer-events:none;transition:color .2s;flex-shrink:0}.login-field:focus-within .login-input-icon{color:var(--accent)}.login-input-wrap .input{width:100%;padding-left:40px;padding-right:12px;border-radius:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#e4e6eb;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-input-wrap .input::placeholder{color:#ffffff59}.login-input-wrap .input:focus{border-color:var(--accent);background:#ffffff1a;box-shadow:0 0 0 3px #2a9d8f33,0 2px 8px #00000026}.login-pwd-toggle{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#fff6;cursor:pointer;transition:color .2s,background .2s}.login-pwd-toggle:hover{color:var(--accent);background:#ffffff14}.login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:1rem;border-radius:12px;position:relative;overflow:hidden;margin-top:4px}.login-submit:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:none}.login-submit:hover:after{animation:shimmer .8s ease forwards}@keyframes shimmer{to{left:120%}}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-submit:disabled:after{display:none}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-error{animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.login-footer{position:absolute;bottom:20px;left:0;right:0;z-index:10;font-size:.75rem;color:#ffffff80;text-shadow:0 1px 3px rgba(0,0,0,.5);text-align:center;animation:heroStagger .7s ease .4s both}.topbar-menu-btn{display:none;align-items:center;justify-content:center;min-width:var(--touch-target);min-height:var(--touch-target);padding:0;border:none;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s ease;flex-shrink:0}.topbar-menu-btn:hover{background:var(--surface-hover)}.sidebar-backdrop{display:none}@media(max-width:1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:40;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}[data-sidebar-open] .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:var(--backdrop);z-index:39;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.topbar-menu-btn{display:flex}.topbar{flex-direction:row;align-items:center;gap:10px}.main{padding:0 var(--space-md) var(--space-md)}.login{padding:20px}.login-nav{left:20px;right:20px}}.announcement-modal{width:min(580px,calc(100% - 32px));max-height:80vh}.announcement-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding-right:4px}.announcement-item{padding:10px 12px;border-radius:12px;background:var(--surface-subtle);display:flex;flex-direction:column;gap:4px}.announcement-item.latest{background:var(--accent-tint);border-left:3px solid var(--accent)}.announcement-item-header{display:flex;align-items:center;gap:8px}.announcement-item-body{font-size:.9rem;line-height:1.5;color:var(--ink)}.announcement-type{padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.announcement-commit-meta{font-size:.75rem;color:var(--muted)}.announcement-commit-date{margin-left:auto;font-size:.75rem;color:var(--muted)}.version-pill{padding:6px 10px;border-radius:999px;font-size:.75rem;font-family:var(--mono);background:var(--accent-tint);color:var(--accent);cursor:pointer;transition:background .2s ease}.version-pill:hover{background:var(--accent-target-bg)}.story-content-card-stats-value{margin:0;font-size:2rem;font-weight:700;color:var(--accent-3)}.map-logs-table .table-row{grid-template-columns:2em 1fr .8fr 1.2fr .6fr 1.2fr auto}.map-logs-viewer-modal{width:90vw;max-width:1200px;height:85vh;display:flex;flex-direction:column;overflow:hidden}.map-logs-loading{margin:16px}.map-logs-viewer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.map-logs-viewer-meta{display:flex;gap:8px;padding:8px 20px;flex-wrap:wrap;flex-shrink:0}.map-logs-search-bar{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.map-logs-search-bar input{flex:1;min-width:200px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:.85rem;background:var(--surface);color:var(--ink)}.map-logs-search-count{font-family:var(--mono);font-size:.8rem;color:var(--muted);white-space:nowrap}.map-logs-content{flex:1;overflow:auto;background:#1e1e1e;color:#d4d4d4;font-family:IBM Plex Mono,Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.5;padding:8px 0}.map-logs-line{display:flex;padding:0 16px 0 0;min-height:1.5em}.map-logs-line:hover{background:#ffffff0a}.map-logs-line-num{flex-shrink:0;width:56px;text-align:right;padding-right:16px;color:#858585;-webkit-user-select:none;user-select:none}.map-logs-line-text{white-space:pre-wrap;word-break:break-all;flex:1}.map-logs-level-error .map-logs-line-text{color:#f14c4c}.map-logs-level-warn .map-logs-line-text{color:#cca700}.map-logs-level-info .map-logs-line-text{color:#3794ff}.map-logs-level-debug .map-logs-line-text{color:#89d185}.map-logs-match{background:#ffd2004d;border-radius:2px}.map-logs-current-match{background:#ffd20099;border-radius:2px;outline:1px solid #ffd200}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;outline:none}.theme-toggle-track{position:relative;display:flex;align-items:center;width:52px;height:28px;border-radius:14px;background:linear-gradient(135deg,#87ceeb,gold);padding:0 4px;transition:background .4s ease}[data-theme=dark] .theme-toggle-track{background:linear-gradient(135deg,#1a1a3e,#2d2b55)}.theme-toggle-thumb{position:absolute;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .theme-toggle-thumb{transform:translate(24px);background:#e4e6eb}.theme-toggle-icon{font-size:.8rem;line-height:1;z-index:1;transition:opacity .2s ease}.theme-toggle-icon.sun{opacity:1;margin-right:auto}.theme-toggle-icon.moon{opacity:.7;margin-left:auto}[data-theme=dark] .theme-toggle-icon.sun{opacity:.5}[data-theme=dark] .theme-toggle-icon.moon{opacity:1}.skeleton{background:linear-gradient(90deg,var(--surface-muted) 25%,var(--surface-subtle) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes modalSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.table-row{grid-template-columns:1fr!important;gap:var(--space-xs);padding:var(--space-md)}.table-row.header{display:none}.table-row>div[data-label]:before{content:attr(data-label);font-size:var(--text-xs);font-weight:600;color:var(--muted);display:block;margin-bottom:2px}.player-actions,.author-map-actions{flex-wrap:wrap;gap:var(--space-sm)}.player-actions .button,.player-actions .select,.author-map-actions .button,.author-map-actions .link-tile{min-height:var(--touch-target)}.modal-backdrop{align-items:flex-end}.modal{width:100%;max-width:100%;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1)}.modal:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--surface-tinted);margin:0 auto var(--space-sm);flex-shrink:0}.map-errors-detail-modal,.map-logs-viewer-modal,.cheat-type-modal,.sm-log-viewer-modal{width:100%;max-width:100%;height:95vh;max-height:95vh;border-radius:16px 16px 0 0}.modal-footer .button{min-height:var(--touch-target);flex:1}.button{min-height:var(--touch-target);padding:12px 16px}.nav-link{min-height:var(--touch-target);display:flex;align-items:center}.input,.select,.textarea{min-height:var(--touch-target)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.page-header .row{flex-wrap:wrap}.login-spine{display:none}.login-form.card{max-width:100%;padding:var(--space-lg) var(--space-md)}.home{padding:var(--space-lg) var(--space-md) var(--space-xl)}.home-title{font-size:var(--text-2xl)}.home-features{grid-template-columns:1fr;gap:var(--space-md)}.home-card{padding:var(--space-md)}.map-errors-filter-card .row{flex-direction:column;align-items:stretch}.map-errors-filter-card .select{width:100%}}
