:root{--bg:#070B16;--surface:#0E1528;--surface-2:#121B32;--surface-3:#18233E;--text:#F5F7FF;--muted:#94A3B8;--muted-2:#64748B;--border:rgba(148,163,184,.18);--primary:#6556F5;--primary-2:#7C6BFF;--primary-soft:rgba(101,86,245,.16);--success:#22C55E;--warning:#F59E0B;--danger:#EF4444;--shadow:0 24px 70px rgba(0,0,0,.32);--radius:22px;color-scheme:dark}html[data-theme="light"]{--bg:#F6F8FC;--surface:#FFFFFF;--surface-2:#F8FAFC;--surface-3:#EEF2F7;--text:#111827;--muted:#5F6B7A;--muted-2:#8A94A3;--border:rgba(15,23,42,.12);--primary-soft:rgba(101,86,245,.10);--shadow:0 24px 70px rgba(15,23,42,.12);color-scheme:light}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% -5%,rgba(91,76,240,.22),transparent 35rem),radial-gradient(circle at 88% 5%,rgba(17,183,255,.12),transparent 32rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none !important}.app-shell{width:min(1480px,100%);margin:0 auto;padding:0 28px}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:20;padding:16px 0;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(22px)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#7769FF,#4B3CDF);box-shadow:0 12px 28px rgba(91,76,240,.32)}.brand-mark svg{width:24px;height:24px;fill:currentColor;stroke:none}.brand strong{display:block;font-size:1rem;letter-spacing:-.01em}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}.top-actions{display:flex;align-items:center;gap:9px}.button{min-height:42px;border:1px solid transparent;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;color:var(--text);background:transparent;font-weight:750;font-size:.86rem;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.drop-zone:focus-visible{outline:3px solid rgba(101,86,245,.28);outline-offset:2px}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{color:#fff;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 10px 24px rgba(91,76,240,.28)}.button.secondary{background:var(--surface-3);border-color:var(--border)}.button.ghost{border-color:var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}.icon-button{width:42px;padding:0}.full-width{width:100%}.theme-sun{display:none}html[data-theme="light"] .theme-sun{display:block}html[data-theme="light"] .theme-moon{display:none}.hero{min-height:360px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:64px;padding:64px 0 54px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#AFA7FF;font-size:.74rem;font-weight:850;letter-spacing:.10em;text-transform:uppercase}html[data-theme="light"] .eyebrow{color:#5848DA}.pulse{width:8px;height:8px;border-radius:50%;background:#53E68D;box-shadow:0 0 0 6px rgba(83,230,141,.10)}.hero h1{max-width:820px;margin:17px 0 18px;font-size:clamp(2.65rem,6.4vw,5.8rem);line-height:.98;letter-spacing:-.064em}.hero-copy>p{max-width:700px;margin:0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.23rem);line-height:1.7}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:24px;overflow:hidden;background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:var(--shadow)}.hero-stats article{padding:28px 18px;text-align:center}.hero-stats article + article{border-left:1px solid var(--border)}.hero-stats span{display:block;font-size:clamp(1.8rem,4vw,2.75rem);font-weight:900;letter-spacing:-.045em}.hero-stats small{display:block;margin-top:5px;color:var(--muted);font-size:.73rem}.catalog-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(18px)}.search-field{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.search-field svg{color:var(--muted);flex:0 0 auto}.search-field input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.search-field input::placeholder{color:var(--muted-2)}.search-field kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:2px 7px;color:var(--muted);background:var(--surface);font-size:.68rem}.filter-row{display:flex;flex-wrap:wrap;gap:7px}.filter-chip{min-height:38px;border:1px solid var(--border);border-radius:11px;padding:0 13px;color:var(--muted);background:transparent;font-weight:750;font-size:.76rem;cursor:pointer}.filter-chip.active{color:#fff;border-color:transparent;background:var(--primary)}.sort-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem}.sort-field select,.admin-form input,.admin-form textarea,.admin-form select,.admin-auth input{border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface-2)}.sort-field select{min-height:40px;padding:0 34px 0 12px}.catalog-section{padding:42px 0 84px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.section-heading h2{margin:0;font-size:1.75rem;letter-spacing:-.03em}.section-heading p{margin:6px 0 0;color:var(--muted);font-size:.86rem}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-card{--card-accent:var(--primary);min-height:360px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--card-accent) 4%),var(--surface));box-shadow:0 14px 40px rgba(0,0,0,.13);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.app-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--card-accent) 55%,var(--border));box-shadow:0 24px 58px rgba(0,0,0,.21)}.card-glow{width:220px;height:220px;position:absolute;top:-130px;right:-100px;border-radius:50%;background:var(--card-accent);filter:blur(75px);opacity:.15;pointer-events:none}.card-top,.card-title-row,.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 48%,transparent);border-radius:18px;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 74%,white 18%),var(--card-accent));box-shadow:0 14px 26px color-mix(in srgb,var(--card-accent) 26%,transparent)}.app-icon svg{width:29px;height:29px}.status-badge,.version-badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;white-space:nowrap;font-size:.66rem;font-weight:850}.status-badge{gap:6px;padding:7px 9px;color:var(--muted);background:var(--surface-2)}.status-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}.status-badge.online::before{background:var(--success);box-shadow:0 0 0 4px rgba(34,197,94,.10)}.status-badge.beta::before{background:#8B5CF6}.status-badge.maintenance::before{background:var(--warning)}.status-badge.offline::before{background:var(--danger)}.version-badge{padding:4px 8px;color:var(--muted)}.card-copy h3{margin:0;font-size:1.28rem;letter-spacing:-.025em}.card-copy p{min-height:66px;margin:10px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag{border:1px solid var(--border);border-radius:9px;padding:5px 8px;color:var(--muted);background:var(--surface-2);font-size:.65rem;font-weight:720}.card-meta{margin-top:auto;color:var(--muted-2);font-size:.68rem}.card-open{width:100%;min-height:46px;justify-content:space-between;color:#fff;background:var(--card-accent)}.card-open[aria-disabled="true"]{opacity:.45;pointer-events:none}.empty-state{padding:74px 20px;text-align:center}.empty-icon{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;color:var(--primary-2);background:var(--primary-soft)}.empty-state h3{margin:0}.empty-state p{margin:8px 0 20px;color:var(--muted)}footer{min-height:74px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.modal{width:min(1180px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--border);border-radius:26px;color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.modal::backdrop{background:rgba(2,6,23,.74);backdrop-filter:blur(10px)}.modal-shell{min-height:min(760px,calc(100vh - 30px));display:flex;flex-direction:column}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:5px 0;font-size:1.45rem}.modal-header p{margin:0;color:var(--muted);font-size:.82rem}.admin-layout{min-height:0;flex:1;display:grid;grid-template-columns:275px minmax(0,1fr)}.admin-sidebar{min-height:0;display:flex;flex-direction:column;gap:15px;padding:18px;border-right:1px solid var(--border);background:var(--surface-2)}.admin-auth label>span,.admin-form label>span,.upload-panel label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.72rem;font-weight:780}.secret-field{position:relative}.secret-field input{width:100%;height:42px;padding:0 42px 0 12px}.secret-field button{width:38px;height:38px;position:absolute;top:2px;right:2px;border:0;color:var(--muted);background:transparent;cursor:pointer}.remember-row,.check-row,.backup-row{display:flex !important;align-items:center;gap:8px;color:var(--muted);font-size:.72rem}.remember-row{margin-top:9px}.remember-row span,.check-row span,.backup-row span{margin:0 !important}.admin-app-list{min-height:0;flex:1;overflow:auto;display:flex;flex-direction:column;gap:7px}.admin-app-button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;border:1px solid transparent;border-radius:13px;padding:9px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.admin-app-button:hover,.admin-app-button.active{border-color:var(--border);background:var(--surface-3)}.admin-app-button .mini-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--mini-accent)}.admin-app-button strong,.admin-app-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-app-button strong{font-size:.78rem}.admin-app-button small{margin-top:2px;color:var(--muted);font-size:.62rem}.admin-content{min-width:0;min-height:0;overflow:auto;padding:22px}.admin-placeholder{min-height:570px;display:grid;place-content:center;justify-items:center;text-align:center}.admin-placeholder>svg{width:54px;height:54px;color:var(--primary-2)}.admin-placeholder h3{margin:18px 0 7px}.admin-placeholder p{max-width:400px;margin:0;color:var(--muted);font-size:.83rem;line-height:1.5}.admin-form{display:flex;flex-direction:column;gap:22px}.admin-form-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.admin-form-heading h3{margin:5px 0 0;font-size:1.35rem}.api-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:7px 10px;color:var(--muted);background:var(--surface-2);font-size:.66rem;font-weight:800}.api-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}.api-status.ready::before{background:var(--success)}.api-status.error::before{background:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:1 / -1}.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:10px 12px}.admin-form input,.admin-form select{min-height:43px}.admin-form textarea{resize:vertical;line-height:1.45}.form-actions{display:flex;justify-content:flex-end}.upload-panel{display:flex;flex-direction:column;gap:15px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.upload-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.upload-heading h4{margin:0 0 5px}.upload-heading p{margin:0;color:var(--muted);font-size:.75rem}.drop-zone{display:grid;justify-items:center;padding:28px 18px;border:1px dashed color-mix(in srgb,var(--primary) 62%,var(--border));border-radius:16px;color:var(--muted);background:var(--primary-soft);text-align:center}.drop-zone.dragover{border-style:solid;background:color-mix(in srgb,var(--primary-soft) 80%,var(--primary) 20%)}.drop-zone>svg{width:38px;height:38px;margin-bottom:10px;color:var(--primary-2)}.drop-zone strong{color:var(--text);font-size:.88rem}.drop-zone>span{margin-top:5px;font-size:.72rem}.drop-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px}.selected-files{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.selected-files-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--border);font-size:.74rem}.link-button{border:0;padding:0;color:#9B91FF;background:transparent;font-size:.7rem;font-weight:780;cursor:pointer}.file-list{max-height:180px;overflow:auto;padding:7px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border-radius:9px;font-size:.68rem}.file-row:hover{background:var(--surface-2)}.file-row span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row span:last-child{flex:0 0 auto;color:var(--muted)}.upload-progress>div{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.upload-progress progress{width:100%;height:8px;margin-top:8px;accent-color:var(--primary)}.toast-region{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.toast{max-width:min(390px,calc(100vw - 36px));border:1px solid var(--border);border-radius:14px;padding:11px 14px;color:var(--text);background:var(--surface);box-shadow:var(--shadow);font-size:.77rem;animation:toast-in .18s ease both}.toast.success{border-color:rgba(34,197,94,.35)}.toast.error{border-color:rgba(239,68,68,.42)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}@media (max-width:1080px){.hero{grid-template-columns:1fr;gap:34px}.hero-stats{max-width:620px}.catalog-toolbar{grid-template-columns:1fr}.sort-field{justify-self:start}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-shell{padding:0 16px}.topbar{min-height:72px}.brand small{display:none}#refreshButton{display:none}#adminButton{width:42px;padding:0;font-size:0}.hero{min-height:0;padding:42px 0 38px}.hero h1{font-size:clamp(2.5rem,13vw,4.2rem)}.hero-stats article{padding:20px 10px}.app-grid{grid-template-columns:1fr}.app-card{min-height:330px}.admin-layout{grid-template-columns:1fr}.admin-sidebar{max-height:260px;border-right:0;border-bottom:1px solid var(--border)}.admin-app-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.modal{width:calc(100% - 12px);max-height:calc(100vh - 12px);border-radius:20px}.modal-shell{min-height:calc(100vh - 14px)}.modal-header{padding:17px}.admin-content{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}@media (max-width:460px){.hero-stats{grid-template-columns:1fr}.hero-stats article + article{border-left:0;border-top:1px solid var(--border)}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.filter-chip{flex:0 0 auto}.admin-app-list{grid-template-columns:1fr}.upload-heading{flex-direction:column}}.local-admin-layout{grid-template-columns:300px minmax(0,1fr)}.local-storage-notice{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(99,102,241,.25);border-radius:14px;padding:11px;color:var(--muted);background:var(--primary-soft)}.local-storage-notice>svg{width:25px;height:25px;color:var(--primary-2)}.local-storage-notice strong,.local-storage-notice span{display:block}.local-storage-notice strong{color:var(--text);font-size:.78rem}.local-storage-notice span{margin-top:3px;font-size:.64rem;line-height:1.4}.catalog-file-actions{display:grid;gap:7px;padding-top:8px;border-top:1px solid var(--border)}.danger-outline{border-color:rgba(239,68,68,.30);color:#FCA5A5;background:rgba(127,29,29,.10)}.danger-outline:hover:not(:disabled){border-color:rgba(239,68,68,.55);background:rgba(127,29,29,.20)}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:.68rem;line-height:1.5}.field-help code{border:1px solid var(--border);border-radius:6px;padding:2px 5px;color:#C7D2FE;background:var(--surface)}.local-form-actions{justify-content:space-between;flex-wrap:wrap}.local-form-actions #saveMetadataButton{margin-left:auto}@media (max-width:760px){.local-admin-layout{grid-template-columns:1fr}.local-form-actions{display:grid;grid-template-columns:1fr}.local-form-actions #saveMetadataButton{margin-left:0}}.auth-modal{width:min(470px,calc(100% - 28px));max-height:none;overflow:visible;border-radius:24px}.auth-card{display:flex;flex-direction:column;gap:20px;padding:24px}.auth-header{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:15px}.auth-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(101,86,245,.34);border-radius:16px;color:#C7D2FE;background:var(--primary-soft)}.auth-icon svg{width:26px;height:26px}.auth-header h2{margin:5px 0 7px;font-size:1.34rem;letter-spacing:-.025em}.auth-header p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.auth-field>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.72rem;font-weight:780}.auth-password-wrap{position:relative}.auth-password-wrap input{width:100%;min-height:46px;border:1px solid var(--border);border-radius:13px;padding:0 48px 0 13px;color:var(--text);background:var(--surface-2)}.auth-password-toggle{width:42px;height:42px;position:absolute;top:2px;right:2px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--muted);background:transparent;cursor:pointer}.auth-password-toggle:hover{color:var(--text);background:var(--surface-3)}.auth-error{margin:-8px 0 0;border:1px solid rgba(239,68,68,.30);border-radius:11px;padding:9px 11px;color:#FCA5A5;background:rgba(127,29,29,.12);font-size:.73rem}.auth-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width:520px){.auth-card{padding:19px}.auth-header{grid-template-columns:1fr}.auth-actions{display:grid;grid-template-columns:1fr}}#saveTargetStatus.saving::before{background:var(--warning)}#saveTargetStatus.error::before{background:var(--danger)}
/* === Organizza Games / HTML Arcade visual layer === */
:root{
  --bg:#05020d;
  --surface:#0d0719;
  --surface-2:#130b25;
  --surface-3:#1b1033;
  --text:#fbf9ff;
  --muted:#aaa1bb;
  --muted-2:#756c88;
  --border:rgba(190,167,255,.17);
  --primary:#7c3aed;
  --primary-2:#a855f7;
  --primary-soft:rgba(124,58,237,.18);
  --neon:#22d3ee;
  --neon-2:#f43f8c;
  --success:#34d399;
  --shadow:0 30px 90px rgba(0,0,0,.48);
  --radius:18px;
}
html[data-theme="light"]{
  --bg:#f5f2fb;
  --surface:#ffffff;
  --surface-2:#f7f3ff;
  --surface-3:#eee7fb;
  --text:#17101f;
  --muted:#655b72;
  --muted-2:#8d8399;
  --border:rgba(88,53,125,.15);
  --primary-soft:rgba(124,58,237,.10);
}
body{
  position:relative;
  background:
    radial-gradient(circle at 16% 8%,rgba(124,58,237,.26),transparent 28rem),
    radial-gradient(circle at 88% 12%,rgba(34,211,238,.10),transparent 30rem),
    radial-gradient(circle at 54% 92%,rgba(244,63,140,.09),transparent 34rem),
    var(--bg);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(167,139,250,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(167,139,250,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1000;
  opacity:.035;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,#fff 4px);
  mix-blend-mode:screen;
}
.app-shell{width:min(1540px,100%);}
.topbar{
  min-height:88px;
  border-bottom:1px solid transparent;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 92%,transparent),color-mix(in srgb,var(--bg) 74%,transparent));
}
.topbar::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(168,85,247,.55),rgba(34,211,238,.45),transparent);
}
.brand-mark{
  width:48px;height:48px;border-radius:13px;
  background:linear-gradient(145deg,#a855f7,#6d28d9 56%,#22d3ee);
  box-shadow:0 0 0 1px rgba(255,255,255,.09),0 0 32px rgba(168,85,247,.30);
  transform:rotate(-2deg);
}
.brand strong{font-size:1.06rem;letter-spacing:.04em;text-transform:uppercase;}
.brand small{color:#8b7ca1;font-size:.64rem;letter-spacing:.18em;font-weight:800;}
.button{border-radius:10px;text-transform:uppercase;letter-spacing:.055em;font-size:.76rem;}
.button.primary{background:linear-gradient(135deg,#9333ea,#6d28d9 60%,#4338ca);box-shadow:0 0 28px rgba(147,51,234,.26);}
.button.primary:hover:not(:disabled){box-shadow:0 0 38px rgba(147,51,234,.40);}
.hero{min-height:440px;position:relative;isolation:isolate;padding:78px 0 64px;}
.hero::before{
  content:"PLAY // BUILD // REPEAT";
  position:absolute;
  right:0;top:58px;
  z-index:-1;
  color:rgba(255,255,255,.025);
  font-size:clamp(3.6rem,9vw,8.5rem);
  font-weight:1000;
  line-height:.8;
  letter-spacing:-.08em;
  writing-mode:vertical-rl;
  text-transform:uppercase;
}
.eyebrow{color:#d8b4fe;letter-spacing:.16em;font-size:.68rem;}
.pulse{background:#22d3ee;box-shadow:0 0 0 5px rgba(34,211,238,.10),0 0 18px rgba(34,211,238,.75);}
.hero h1{
  max-width:850px;margin:18px 0 20px;
  font-size:clamp(3.1rem,7vw,6.6rem);
  line-height:.88;
  letter-spacing:-.07em;
  text-transform:uppercase;
  text-shadow:0 10px 45px rgba(0,0,0,.28);
}
.hero-highlight{
  color:transparent;
  background:linear-gradient(90deg,#c084fc 0%,#a855f7 44%,#22d3ee 100%);
  background-clip:text;
  -webkit-background-clip:text;
  filter:drop-shadow(0 0 22px rgba(168,85,247,.18));
}
.hero-copy>p{max-width:720px;font-size:1.05rem;line-height:1.75;}
.hero-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.hero-features span{
  border:1px solid rgba(192,132,252,.22);
  border-radius:7px;
  padding:7px 10px;
  color:#b9acc9;
  background:rgba(18,9,35,.54);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
}
.hero-stats{
  position:relative;
  border-radius:18px;
  border-color:rgba(168,85,247,.26);
  background:linear-gradient(145deg,rgba(24,11,43,.90),rgba(8,5,17,.94));
  box-shadow:0 22px 70px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.05);
}
.hero-stats::before{
  content:"PLAYER HUB";
  position:absolute;
  top:-12px;left:18px;
  padding:4px 9px;
  border:1px solid rgba(34,211,238,.25);
  border-radius:5px;
  color:#67e8f9;
  background:var(--bg);
  font-size:.55rem;
  font-weight:1000;
  letter-spacing:.15em;
}
.hero-stats article{padding:34px 18px;}
.hero-stats span{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 22px rgba(168,85,247,.35);}
.hero-stats small{text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:.59rem;}
.catalog-toolbar{
  position:relative;
  border-radius:14px;
  padding:13px;
  border-color:rgba(168,85,247,.20);
  background:linear-gradient(180deg,rgba(19,11,37,.86),rgba(10,5,20,.84));
  box-shadow:0 14px 44px rgba(0,0,0,.22);
}
.catalog-toolbar::before{
  content:"";
  position:absolute;left:18px;right:18px;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,#a855f7,#22d3ee,transparent);
  opacity:.65;
}
.search-field{border-radius:9px;background:rgba(7,3,16,.48);}
.search-field:focus-within{border-color:rgba(34,211,238,.45);box-shadow:0 0 0 3px rgba(34,211,238,.06),0 0 26px rgba(34,211,238,.08);}
.filter-chip{border-radius:8px;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;}
.filter-chip.active{background:linear-gradient(135deg,#9333ea,#6d28d9);box-shadow:0 0 18px rgba(147,51,234,.20);}
.sort-field select{border-radius:8px;}
.catalog-section{padding-top:48px;}
.section-heading h2{text-transform:uppercase;letter-spacing:-.04em;font-size:2rem;}
.section-heading p{text-transform:uppercase;letter-spacing:.07em;font-size:.65rem;}
.app-grid{gap:20px;}
.app-card{
  min-height:390px;
  border-radius:16px;
  border-color:rgba(190,167,255,.16);
  background:
    linear-gradient(145deg,color-mix(in srgb,#150a29 91%,var(--card-accent) 9%),#090512 74%),
    var(--surface);
  box-shadow:0 16px 55px rgba(0,0,0,.25);
  clip-path:polygon(0 0,calc(100% - 19px) 0,100% 19px,100% 100%,19px 100%,0 calc(100% - 19px));
}
html[data-theme="light"] .app-card{background:linear-gradient(145deg,color-mix(in srgb,#fff 94%,var(--card-accent) 6%),#f7f3ff);}
.app-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,var(--card-accent),transparent 28%) top left/56% 2px no-repeat,
    linear-gradient(180deg,var(--card-accent),transparent 36%) top left/2px 42% no-repeat;
  opacity:.65;
}
.app-card::after{
  content:"";
  position:absolute;right:12px;bottom:11px;width:34px;height:6px;
  background:repeating-linear-gradient(90deg,var(--card-accent) 0 5px,transparent 5px 8px);
  opacity:.48;
}
.app-card:hover{transform:translateY(-7px) scale(1.008);box-shadow:0 28px 80px rgba(0,0,0,.42),0 0 0 1px color-mix(in srgb,var(--card-accent) 30%,transparent);}
.card-glow{width:260px;height:260px;top:-130px;right:-90px;opacity:.22;filter:blur(86px);}
.featured-ribbon{
  position:absolute;right:15px;top:15px;z-index:4;
  padding:6px 8px;border:1px solid color-mix(in srgb,var(--card-accent) 56%,transparent);border-radius:6px;
  color:#fff;background:color-mix(in srgb,var(--card-accent) 25%,rgba(6,3,13,.86));
  font-size:.54rem;font-weight:950;letter-spacing:.11em;
  box-shadow:0 0 20px color-mix(in srgb,var(--card-accent) 18%,transparent);
}
.card-top{min-height:74px;}
.app-icon{
  width:64px;height:64px;border-radius:14px;
  transform:rotate(-2deg);
  box-shadow:0 12px 30px color-mix(in srgb,var(--card-accent) 28%,transparent),inset 0 1px rgba(255,255,255,.22);
}
.app-icon svg{width:32px;height:32px;}
.status-badge{border-radius:7px;padding:6px 8px;font-size:.57rem;letter-spacing:.07em;text-transform:uppercase;}
.card-copy h3{font-size:1.42rem;text-transform:uppercase;letter-spacing:-.035em;}
.card-copy p{min-height:72px;line-height:1.65;}
.version-badge{border-radius:6px;font-size:.56rem;letter-spacing:.06em;}
.tag{border-radius:6px;text-transform:uppercase;letter-spacing:.065em;font-size:.56rem;background:rgba(255,255,255,.025);}
.card-meta{text-transform:uppercase;letter-spacing:.07em;font-size:.57rem;}
.card-open{
  min-height:50px;
  position:relative;
  overflow:hidden;
  border-radius:8px;
  padding-inline:17px;
  letter-spacing:.12em;
  font-size:.69rem;
  background:linear-gradient(100deg,color-mix(in srgb,var(--card-accent) 86%,#7c3aed),var(--card-accent));
  box-shadow:0 10px 28px color-mix(in srgb,var(--card-accent) 18%,transparent);
}
.card-open::before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:transform .5s ease;}
.card-open:hover::before{transform:translateX(120%);}
.empty-icon{border-radius:13px;}
footer{text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;}
.modal{border-radius:18px;background:linear-gradient(160deg,var(--surface),color-mix(in srgb,var(--surface) 94%,#6d28d9 6%));}
.modal-header,.admin-sidebar{border-color:rgba(168,85,247,.18);}
.admin-app-button,.admin-form input,.admin-form textarea,.admin-form select,.auth-password-wrap input,.local-storage-notice,.upload-panel{border-radius:9px;}
.admin-app-button.active{border-color:rgba(168,85,247,.36);box-shadow:inset 3px 0 #a855f7;}
.toast{border-radius:9px;}
@media (max-width:760px){
  .hero{padding-top:54px;}
  .hero h1{font-size:clamp(3rem,15vw,5rem);}
  .hero::before{display:none;}
  .hero-features{gap:6px;}
  .app-card{min-height:365px;}
}
