@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#0b0f17;--bg-raise:#0e131d;--surface:#121826;--surface-2:#1a2233;--surface-3:#222c42;--text:#e8edf7;--muted:#8b98b0;--border:rgba(148,163,199,0.14);--border-strong:rgba(148,163,199,0.28);--accent:#ff5d4a;--accent-text:#ffffff;--link:#7fb3f5;--ok:#5ecb81;--warn:#f0b44c;--err:#ff7b6e;--bar-track:rgba(148,163,199,0.12);--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px -12px rgba(0,0,0,0.5);--shadow-lg:0 2px 6px rgba(0,0,0,0.45),0 20px 48px -16px rgba(0,0,0,0.6);--header-bg:rgba(11,15,23,0.82);--tint:22%;--type-grass:#7ac74c;--type-water:#6390f0;--type-fire:#ee8130;--type-lightning:#f7d02c;--type-colorless:#a8a77a;--type-fighting:#c22e28;--type-psychic:#f95587;--type-dragon:#6f35fc;--type-darkness:#705746;--type-metal:#b7b7ce;--type-fairy:#d685ad;--font-display:"Space Grotesk Variable","Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-body:"Inter Variable",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,"Cascadia Mono",Consolas,monospace;--r-sm:8px;--r-md:10px;--r-lg:14px;--t-fast:150ms cubic-bezier(0.3,0.7,0.4,1);--t-med:260ms cubic-bezier(0.3,0.7,0.4,1);color-scheme:dark}:root[data-theme=light]{--bg:#f3f5f9;--bg-raise:#eceff5;--surface:#ffffff;--surface-2:#eef1f6;--surface-3:#e3e8f0;--text:#18202e;--muted:#5b6880;--border:rgba(24,32,46,0.12);--border-strong:rgba(24,32,46,0.24);--accent:#d8402f;--accent-text:#ffffff;--link:#1d5fa8;--ok:#237a43;--warn:#9a6200;--err:#c0392b;--bar-track:rgba(24,32,46,0.08);--shadow:0 1px 2px rgba(16,24,40,0.06),0 6px 16px -8px rgba(16,24,40,0.12);--shadow-lg:0 2px 6px rgba(16,24,40,0.08),0 16px 40px -16px rgba(16,24,40,0.2);--header-bg:rgba(255,255,255,0.85);--tint:14%;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6}img,svg{max-width:100%}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}h1{font-size:clamp(1.7rem,3.5vw,2.2rem);margin:0 0 .35rem}h2{font-size:1.35rem;margin:2.2rem 0 .7rem}h1+p.lead,h2+p.lead,p.lead{color:var(--muted);margin:0 0 1.1rem;max-width:64ch;font-size:1.02rem}.container{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);width:100%;min-width:0}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{display:flex;min-height:100vh}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.app-main>.container{flex:1 1}.sidebar{width:236px;flex:none;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-raise);border-right:1px solid var(--border);padding:.9rem .75rem;z-index:50;transition:margin-left var(--t-med)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem 1rem}.sidebar-brand{display:block}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;flex:1 1;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-radius:var(--r-md);color:var(--muted);font-weight:500;font-size:.95rem;transition:color var(--t-fast),background var(--t-fast),transform var(--t-fast)}.sidebar-link svg{flex:none;opacity:.85}.sidebar-link:hover{color:var(--text);background:var(--surface-2);text-decoration:none;transform:translateX(2px)}.sidebar-link.active{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .5rem .25rem;border-top:1px solid var(--border)}.sidebar-backdrop{display:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.65rem;min-height:3.6rem;padding:0 clamp(1rem,3vw,2rem);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.topbar-brand{display:block}.icon-btn{padding:.45rem;line-height:0}@media (min-width:1001px){.app-shell.nav-closed .sidebar{margin-left:-236px}.app-shell:not(.nav-closed) .topbar-brand{display:none}}@media (max-width:1000px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-104%);transition:transform var(--t-med);box-shadow:var(--shadow-lg);width:min(280px,84vw)}.app-shell.nav-open .sidebar{transform:translateX(0)}.app-shell.nav-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(4,6,10,.55);z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.1rem 1.2rem;margin:1rem 0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin:1rem 0}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.75rem 1rem;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--stat-accent,var(--accent));opacity:.85}.stat .stat-value{font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.15}.stat .stat-label{color:var(--muted);font-size:.8rem}.hover-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:0;overflow:hidden;overflow-wrap:anywhere;transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.hover-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-glow,var(--accent)) 45%,var(--border));box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--card-glow,var(--accent)) 25%,transparent),0 12px 40px -12px color-mix(in srgb,var(--card-glow,var(--accent)) 35%,transparent)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow)}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data td,table.data th{padding:.5rem .7rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}table.data tbody tr:last-child td{border-bottom:none}table.data th{color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);position:-webkit-sticky;position:sticky;top:0}table.data tbody tr{transition:background var(--t-fast)}table.data tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data td.num{font-family:var(--font-display);font-weight:500}td.dim{color:var(--muted);opacity:.4}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.medal{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-family:var(--font-display);font-weight:700;font-size:.78rem;color:#1b1503}.medal.gold{background:linear-gradient(145deg,#ffe27a,#dfa927);box-shadow:0 0 10px rgba(240,190,60,.45)}.medal.silver{background:linear-gradient(145deg,#e8edf5,#9fb0c4)}.medal.bronze{background:linear-gradient(145deg,#e5a06b,#a05f2c);color:#fff}.podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.podium-card{display:flex;align-items:center;gap:.7rem;padding:.8rem .95rem;color:var(--text)}.podium-card:hover{text-decoration:none}.podium-body{display:flex;flex-direction:column;min-width:0;flex:1 1}.podium-body strong{font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--bar-track);border-radius:4px;height:.65rem;min-width:110px;width:100%;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transform-origin:left center}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);grid-gap:clamp(1rem,4vw,3rem);gap:clamp(1rem,4vw,3rem);align-items:center;margin:1.25rem 0 1.75rem;padding:clamp(1.4rem,4vw,2.75rem);border-radius:var(--r-lg);border:1px solid var(--border);background:radial-gradient(130% 160% at 12% -30%,color-mix(in srgb,#9787d8 20%,transparent) 0,transparent 55%),radial-gradient(120% 150% at 95% 130%,color-mix(in srgb,var(--accent) 14%,transparent) 0,transparent 50%),var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}@media (max-width:760px){.hero{grid-template-columns:1fr;text-align:center;justify-items:center}}.hero-tagline{color:var(--muted);max-width:46ch;font-size:1.05rem;margin:.75rem 0 1.25rem}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap}@media (max-width:760px){.hero-actions{justify-content:center}}.shiny-card{justify-self:center;text-align:center;padding:1.25rem 1.5rem 1rem;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,#9787d8 35%,var(--border));background:color-mix(in srgb,#9787d8 8%,var(--surface-2));box-shadow:0 0 40px -12px color-mix(in srgb,#9787d8 45%,transparent)}.shiny-card img{image-rendering:pixelated;height:96px;width:auto;animation:shiny-float 3.2s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}@keyframes shiny-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.shiny-card .shiny-label{display:block;margin-top:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9787d8}@media (prefers-reduced-motion:reduce){.shiny-card img{animation:none}}.metachart{display:grid;grid-template-columns:minmax(260px,340px) 1fr;grid-gap:clamp(1.25rem,3vw,2.5rem);gap:clamp(1.25rem,3vw,2.5rem);align-items:center}@media (max-width:820px){.metachart{grid-template-columns:1fr;justify-items:center}.metachart-bars{width:100%}}.metachart-donut{position:relative;width:100%;max-width:340px}.metachart-tip{position:absolute;left:50%;bottom:-.4rem;transform:translate(-50%,100%);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:.45rem .7rem;width:max-content;max-width:240px;z-index:10}@media (max-width:760px){.metachart-tip{position:static;transform:none;margin-top:.4rem}}.metabar-row{display:grid;grid-template-columns:6.2rem 1fr 2.4rem 3.2rem minmax(0,10rem);grid-gap:.55rem;gap:.55rem;align-items:center;padding:.18rem .3rem;border-radius:var(--r-sm);font-size:.86rem;transition:opacity var(--t-fast),background var(--t-fast)}.metabar-row:hover{background:var(--surface-2)}.metabar-label{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;white-space:nowrap}.metabar-num{text-align:right;font-family:var(--font-display);font-weight:600}.metabar-share{text-align:right;font-size:.78rem}.metabar-top{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:560px){.metabar-row{grid-template-columns:5.6rem 1fr 2.2rem 3rem}.metabar-top{display:none}}.type-badge{display:inline-flex;align-items:center;gap:.38rem;padding:.14rem .6rem .14rem .4rem;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--tb-color) var(--tint),transparent);border:1px solid color-mix(in srgb,var(--tb-color) 38%,transparent);line-height:1.4}.type-badge img{display:block}.type-badge.icon-only{padding:.2rem;border-radius:50%}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.chip.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 55%,transparent);background:color-mix(in srgb,var(--err) 10%,transparent)}.chip.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:.9rem;gap:.9rem}.badge-cell{text-align:center;font-size:.75rem;color:var(--muted);position:relative}.badge-cell .count{font-family:var(--font-display);font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge-cell.unlit{opacity:.32;filter:grayscale(1)}.badge-art{position:relative;display:inline-block;line-height:0}@keyframes badge-shine{0%{opacity:0;transform:scale(.6) rotate(-20deg)}35%{opacity:1}to{opacity:0;transform:scale(1.5) rotate(15deg)}}.badge-cell.lit .badge-art:after{content:"";position:absolute;inset:-8px;background:radial-gradient(circle,color-mix(in srgb,var(--badge-color,#fff) 55%,white) 0,transparent 65%);opacity:0;pointer-events:none}.badge-cell.lit.shine .badge-art:after{animation:badge-shine .9s ease-out 1}.progress-track{background:var(--bar-track);border-radius:999px;height:.5rem;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffb547);transition:width .6s cubic-bezier(.3,.7,.3,1)}[data-tip]{position:relative}[data-tip]:focus-visible:after,[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.3rem .55rem;font-size:.72rem;font-weight:500;white-space:pre-line;width:max-content;max-width:220px;z-index:30;box-shadow:var(--shadow);pointer-events:none}.agenda-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.agenda-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.7rem .8rem;min-height:7rem}.agenda-day.today{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.agenda-day h3{margin:0 0 .5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.agenda-day.today h3{color:var(--accent)}.agenda-slot{font-size:.85rem;padding:.3rem 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:.5rem}.agenda-slot:first-of-type{border-top:none}.agenda-slot .time{font-family:var(--font-display);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:55%}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end;margin:1rem 0}.field,.filter-bar label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--muted);font-weight:600}input[type=date],input[type=email],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.45rem .65rem;font:inherit;font-size:.9rem;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff) 0,var(--accent) 55%,color-mix(in srgb,var(--accent) 88%,#000) 100%);color:var(--accent-text);border:none;border-radius:var(--r-md);padding:.6rem 1.15rem;font:inherit;font-size:.95rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 2px 10px -2px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform var(--t-fast),filter var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.btn:hover,button:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 18px -4px color-mix(in srgb,var(--accent) 65%,transparent);text-decoration:none}.btn:active,button:active{transform:translateY(0) scale(.98);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}.btn.secondary,button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--shadow)}.btn.secondary:hover,button.secondary:hover{background:var(--surface-3);filter:none}.btn.ghost,button.ghost{background:transparent;color:var(--muted);border:1px solid transparent}.btn.ghost:hover,button.ghost:hover{color:var(--text);background:var(--surface-2)}.btn.small,button.small{padding:.25rem .6rem;font-size:.78rem}.btn.danger,button.danger{background:color-mix(in srgb,var(--err) 18%,transparent);color:var(--err);border:1px solid color-mix(in srgb,var(--err) 45%,transparent)}button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-gap:.9rem;gap:.9rem;max-width:560px}.form-msg{border-radius:var(--r-sm);padding:.6rem .8rem;font-size:.85rem;border:1px solid}.form-msg.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}.form-msg.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 45%,transparent);background:color-mix(in srgb,var(--err) 8%,transparent)}.auth-card{max-width:420px;margin:3rem auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.6rem}.auth-card h1{font-size:1.35rem}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.skeleton{background:var(--surface-2);border-radius:var(--r-sm);animation:skeleton-pulse 1.4s ease-in-out infinite;min-height:.9rem}.builder-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);grid-gap:1rem;gap:1rem;align-items:flex-start}@media (max-width:900px){.builder-layout{grid-template-columns:1fr}.builder-pane{display:none}.builder-pane.active{display:block}.builder-tabs{display:flex!important}}.builder-tabs{display:none;position:-webkit-sticky;position:sticky;top:3.6rem;z-index:20;background:var(--bg);padding:.5rem 0;gap:.5rem}.builder-tabs button{flex:1 1}.builder-tabs button[aria-selected=false]{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-strong)}.card-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:.5rem;gap:.5rem}.card-thumb{position:relative;border-radius:6px;overflow:visible;cursor:pointer;background:none;border:none;padding:0;line-height:0}.card-thumb img{width:100%;height:auto;border-radius:5.5%/4%;transition:transform var(--t-fast),box-shadow var(--t-fast);background:var(--surface-2)}.card-thumb:focus-visible img,.card-thumb:hover img{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 28px -8px rgba(0,0,0,.55)}.card-thumb.illegal img{filter:grayscale(.9) brightness(.6)}.card-thumb .set-tag{position:absolute;bottom:4px;left:4px;z-index:2;font-size:.58rem;font-weight:700;letter-spacing:.02em;padding:.08rem .35rem;border-radius:999px;background:rgba(10,12,18,.82);color:#d9e2f2;line-height:1.5;opacity:0;transition:opacity var(--t-fast);pointer-events:none}.card-thumb:focus-visible .set-tag,.card-thumb:hover .set-tag{opacity:1}@media (pointer:coarse){.card-thumb .set-tag{opacity:1}}.card-thumb .flag{position:absolute;top:4px;right:4px;z-index:2;font-size:.62rem;font-weight:700;padding:.05rem .35rem;border-radius:999px;background:rgba(10,10,14,.8);color:var(--err);line-height:1.5}.card-zoom{position:fixed;z-index:60;width:260px;pointer-events:none;filter:drop-shadow(0 16px 40px rgba(0,0,0,.55))}.card-zoom img{width:100%;border-radius:4.8%/3.6%}.deck-list-group h4{margin:.8rem 0 .25rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;justify-content:space-between}.deck-line{display:flex;align-items:center;gap:.45rem;padding:.22rem .3rem;border-radius:var(--r-sm);font-size:.87rem;transition:background var(--t-fast)}.deck-line:hover{background:var(--surface-2)}.deck-line .qty{font-family:var(--font-display);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:1.4rem;text-align:right;color:var(--muted)}.deck-line .nm{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-line.problem{color:var(--err);background:color-mix(in srgb,var(--err) 8%,transparent)}.deck-line button{opacity:0;transition:opacity var(--t-fast)}.deck-line:focus-within button,.deck-line:hover button{opacity:1}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.shake{animation:shake .22s ease-in-out 2}.validation-panel{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);padding:.7rem .9rem;font-size:.84rem;display:grid;grid-gap:.3rem;gap:.3rem}.validation-panel .v-line{display:flex;gap:.45rem;align-items:baseline}.validation-panel .v-line.err{color:var(--err)}.validation-panel .v-line.warn{color:var(--warn)}.validation-panel .v-line.ok{color:var(--ok)}.ring-wrap{position:relative;width:64px;height:64px;flex:none}.ring-wrap svg{transform:rotate(-90deg)}.ring-wrap .ring-label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring-track{stroke:var(--bar-track)}.ring-track,.ring-value{fill:none;stroke-width:5}.ring-value{stroke-linecap:round;transition:stroke-dashoffset .4s cubic-bezier(.3,.7,.3,1),stroke .4s}.builder-head{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.deck-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:.5rem;gap:.5rem}.deck-tile{position:relative;line-height:0;border-radius:6px;cursor:-webkit-grab;cursor:grab}.deck-tile:active{cursor:-webkit-grabbing;cursor:grabbing}.deck-tile img{width:100%;border-radius:5.5%/4%;background:var(--surface-2);transition:transform var(--t-fast),box-shadow var(--t-fast)}.deck-tile:hover img{transform:translateY(-3px);box-shadow:0 10px 24px -8px rgba(0,0,0,.55)}.deck-tile.problem img{outline:2px solid var(--err);outline-offset:-1px}.deck-tile .cover-star{position:absolute;top:4px;left:4px;z-index:2;color:var(--warn);font-size:.95rem;text-shadow:0 1px 3px rgba(0,0,0,.8);line-height:1}.tile-controls{position:absolute;left:4px;right:4px;bottom:4px;z-index:2;display:flex;justify-content:center;gap:3px;opacity:0;transition:opacity var(--t-fast)}.deck-tile:focus-within .tile-controls,.deck-tile:hover .tile-controls{opacity:1}.tile-controls button{padding:.1rem .45rem;font-size:.85rem;line-height:1.4;border-radius:6px;background:rgba(10,12,18,.85);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.18)}.tile-controls button:hover{background:rgba(10,12,18,.95);transform:none;filter:none}@media (pointer:coarse){.tile-controls{opacity:1}}.oauth-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.8rem;margin:.25rem 0 .75rem}.oauth-divider:after,.oauth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%}.admin-nav{display:flex;gap:.35rem;flex-wrap:wrap;margin:1rem 0 .25rem;padding:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.admin-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:var(--r-md);font-size:.88rem;font-weight:600;color:var(--muted);transition:color var(--t-fast),background var(--t-fast)}.admin-tab:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.admin-tab.active{color:var(--accent-text);background:var(--accent)}.admin-badge{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--err);color:#fff;line-height:1}.admin-tab.active .admin-badge{background:rgba(255,255,255,.25)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.9rem;gap:.9rem}.admin-card h3{margin:.5rem 0 .25rem;font-size:1.02rem}.admin-card p{margin:0}.admin-card-icon{font-size:1.5rem;line-height:1}.admin-entity-form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end}.admin-entity-form label{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--muted);font-weight:600;min-width:0}.admin-entity-form input[type=text]{min-width:130px}.store-top-type{display:flex;align-items:center;gap:.4rem;margin:.55rem 0 0;padding:.3rem .6rem;border-radius:999px;width:-moz-fit-content;width:fit-content;background:color-mix(in srgb,var(--tt-color,var(--accent)) 14%,transparent);border:1px solid color-mix(in srgb,var(--tt-color,var(--accent)) 35%,transparent)}.store-top-type img{flex:none}.ban-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.9rem;gap:.9rem;margin:1.25rem 0}.ban-card{position:relative;padding:0;background:none;border:none;box-shadow:none;line-height:0;cursor:pointer;border-radius:8px}.ban-card img{width:100%;border-radius:4.5%/3.5%;background:var(--surface-2);filter:grayscale(.25);transition:transform var(--t-med),filter var(--t-med),box-shadow var(--t-med)}.ban-card:focus-visible img,.ban-card:hover img{transform:translateY(-4px) scale(1.02);filter:grayscale(0);box-shadow:0 14px 30px -10px rgba(0,0,0,.6)}.ban-card:focus-visible,.ban-card:hover{transform:none;filter:none;box-shadow:none}.ban-card .ban-stamp{top:8%;left:50%;transform:translateX(-50%) rotate(-12deg);font-family:var(--font-display);font-size:.78rem;letter-spacing:.12em;color:#fff;background:color-mix(in srgb,var(--err) 88%,black);border:2px solid rgba(255,255,255,.75);padding:.12rem .5rem;border-radius:6px;line-height:1.4;box-shadow:0 2px 8px rgba(0,0,0,.45)}.ban-card .ban-date,.ban-card .ban-stamp{position:absolute;font-weight:700;pointer-events:none}.ban-card .ban-date{bottom:6px;right:6px;font-size:.62rem;color:#d9e2f2;background:rgba(10,12,18,.85);padding:.1rem .4rem;border-radius:999px;line-height:1.5}.ban-modal-backdrop{position:fixed;inset:0;z-index:90;background:rgba(4,6,10,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.ban-modal{position:relative;display:flex;gap:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.25rem;max-width:680px;width:100%;max-height:92vh;overflow-y:auto}.ban-modal-img{width:min(290px,42vw);flex:none;align-self:flex-start;border-radius:4.5%/3.5%}.ban-modal-info{min-width:0}.ban-modal-info h3{margin:0;font-size:1.15rem;padding-right:2rem}.deck-view-card.as-button{padding:0;border:none;background:none;box-shadow:none;cursor:pointer}.deck-view-card.as-button:focus-visible,.deck-view-card.as-button:hover{transform:none;filter:none;box-shadow:none}.deck-view-card.as-button img{transition:transform var(--t-fast),box-shadow var(--t-fast)}.deck-view-card.as-button:hover img{transform:translateY(-3px);box-shadow:0 10px 24px -8px rgba(0,0,0,.55)}.card-attack{padding:.5rem 0;border-top:1px solid var(--border)}.card-attack:first-child{border-top:none;padding-top:0}.card-attack p{margin:.25rem 0 0;color:var(--muted)}.attack-cost{display:inline-flex;gap:2px;align-items:center;flex:none}.ban-modal-close{position:absolute;top:.6rem;right:.6rem}@media (max-width:620px){.ban-modal{flex-direction:column;align-items:center;text-align:left}.ban-modal-img{width:min(320px,78vw)}}.card-zoom-caption{display:block;margin-top:.4rem;text-align:center;font-size:.82rem;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9);line-height:1.3}.stack-bar{display:flex;height:.45rem;border-radius:999px;overflow:hidden;margin-top:.45rem;background:var(--bar-track)}.stack-bar span{transition:width var(--t-med)}.curve-bars{display:inline-flex;align-items:flex-end;gap:3px;margin-left:.3rem}.curve-col{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;width:12px;height:30px;position:relative}.curve-fill{width:8px;min-height:2px;background:var(--accent);border-radius:2px 2px 0 0;transition:height var(--t-med)}.curve-label{font-size:.55rem;color:var(--muted);line-height:1.4}.deck-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.9rem;gap:.9rem}.deck-card{display:flex;gap:.75rem;padding:.75rem;color:var(--text)}.deck-card:hover{text-decoration:none}.deck-card .cover{width:74px;flex:none;line-height:0}.deck-card .cover img{width:100%;border-radius:6%/4.5%;background:var(--surface-2)}.deck-card .cover .placeholder{width:74px;height:103px;border-radius:6px;background:color-mix(in srgb,var(--card-glow,var(--surface-3)) 25%,var(--surface-2));display:grid;place-items:center}.deck-card h3{margin:0 0 .2rem;font-size:.98rem;line-height:1.3}.deck-card .meta-line{font-size:.76rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.deck-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:.5rem;gap:.5rem}.deck-view-card{position:relative;line-height:0}.deck-view-card img{width:100%;border-radius:5.5%/4%;background:var(--surface-2);transition:transform var(--t-fast)}.deck-view-card:hover img{transform:translateY(-3px) scale(1.03)}.deck-view-fallback{display:grid;place-items:center;aspect-ratio:63/88;background:var(--surface-2);border-radius:6px;font-size:.7rem;line-height:1.3;padding:.4rem;text-align:center;color:var(--muted)}.qty-badge{position:absolute;bottom:6px;right:6px;background:rgba(10,10,14,.85);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:.05rem .4rem;line-height:1.5}.markdown-body :is(h1,h2,h3){margin:1.2rem 0 .4rem}.markdown-body pre{background:var(--surface-2);border-radius:var(--r-sm);padding:.7rem;overflow-x:auto}.markdown-body code{font-family:var(--font-mono);font-size:.85em}.markdown-body blockquote{border-left:3px solid var(--border-strong);margin:.6rem 0;padding:.1rem .9rem;color:var(--muted)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-state svg{opacity:.55;margin-bottom:.75rem}.empty-state h3{margin:0 0 .3rem;color:var(--text)}.empty-state p{margin:0 auto;max-width:42ch;font-size:.9rem}.player-hero{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 85% -20%,color-mix(in srgb,var(--hero-color,var(--accent)) 26%,transparent) 0,transparent 55%),var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.3rem 1.4rem;margin:1rem 0}.player-hero h1{margin:0}.deck-hero-art{position:absolute;inset:0;background-size:cover;background-position:center 22%;opacity:.17;filter:saturate(1.2);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.95) 0,rgba(0,0,0,.75) 55%,rgba(0,0,0,.45));mask-image:linear-gradient(90deg,rgba(0,0,0,.95) 0,rgba(0,0,0,.75) 55%,rgba(0,0,0,.45))}:root[data-theme=light] .deck-hero-art{opacity:.13}.deck-hero-content{position:relative;z-index:1}.deck-wins{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.7rem}.deck-win-group{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;width:-moz-fit-content;width:fit-content;max-width:100%;padding:.35rem .7rem;border-radius:var(--r-md);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);font-size:.86rem}.deck-win-head{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.deck-win-head .tnum{font-size:1rem}.deck-win-dates{display:inline-flex;gap:.3rem;flex-wrap:wrap}.date-chip{display:inline-block;padding:.12rem .45rem;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);font-size:.72rem;font-weight:600;color:var(--muted);line-height:1.5}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--surface-3);border:2px solid color-mix(in srgb,var(--hero-color,var(--accent)) 55%,transparent);flex:none}.avatar.placeholder{display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--muted)}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.9rem;gap:.9rem}.store-card{display:block;padding:1rem 1.1rem;color:var(--text)}.store-card:hover{text-decoration:none}.store-card h3{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.store-card p{overflow-wrap:anywhere;white-space:normal}.site-footer{margin-top:4rem;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem;padding:1.5rem 0 2.25rem;background:var(--bg-raise)}.site-footer p{margin:.3rem 0}.footer-types{display:flex;gap:.35rem;margin-bottom:.75rem;opacity:.8}.muted{color:var(--muted)}.small{font-size:.8rem}.mono{font-family:var(--font-mono);font-size:.85em}.mt0{margin-top:0}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flex-between{justify-content:space-between;gap:1rem}.flex-between,.flex-row{display:flex;align-items:center;flex-wrap:wrap}.flex-row{gap:.6rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem}@media (max-width:640px){.hide-sm{display:none}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}