:root,:root[data-theme=ink]{--serif:"Spectral", Georgia, serif;--display:"Bodoni Moda", Didot, "Times New Roman", serif;--mono:"DM Mono", ui-monospace, monospace;--maxw:1240px;--bg:#0c0b08;--bg-2:#15120c;--bg-image:radial-gradient(120% 80% at 50% -10%, #c69a4c1a, transparent 55%), radial-gradient(70% 50% at 85% 12%, #7890810d, transparent 60%), linear-gradient(180deg, #0c0b08 0%, #15120c 40%, #0c0b08 100%);--surface:linear-gradient(180deg, #ffffff05, transparent);--surface-solid:#15120c;--surface-2:#1d1910;--text:#ece4d4;--text-dim:#b3a88f;--text-mute:#8c8170;--accent:#c69a4c;--accent-bright:#e7c47a;--accent-deep:#9a7434;--on-accent:#0c0b08;--good:#7bbf8a;--warn:#d8a14a;--bad:#cf6f5e;--line:#c69a4c42;--line-soft:#ece4d41a;--shadow:0 30px 60px -30px #000c;--grain-opacity:.05;--grain-blend:overlay;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=marble]{--bg:#f3ecdd;--bg-2:#e9dfcb;--bg-image:radial-gradient(110% 80% at 12% -5%, #fff9, transparent 42%), radial-gradient(100% 75% at 88% 8%, #d6c8aa73, transparent 52%), radial-gradient(90% 70% at 50% 105%, #a87f3312, transparent 60%), linear-gradient(158deg, #f4eddf 0%, #e8debf 48%, #f0e8d7 100%);--surface:#ffffff52;--surface-solid:#efe7d5;--surface-2:#e9dfcb;--text:#2c2318;--text-dim:#6e6150;--text-mute:#8c8070;--accent:#a87f33;--accent-bright:#c69a4c;--accent-deep:#7c5c24;--on-accent:#fffaf0;--good:#5e8d62;--warn:#b07a2e;--bad:#b0573f;--line:#7c5c2442;--line-soft:#2c23181a;--shadow:0 28px 50px -28px #46341466;--grain-opacity:.05;--grain-blend:multiply;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.05' numOctaves='4' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.14 0 0 0 0 0.09 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-image) fixed;color:var(--text);font-family:var(--serif);letter-spacing:.005em;-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;font-weight:300;line-height:1.6}body:after{content:"";pointer-events:none;z-index:9999;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);background-image:var(--grain);position:fixed;inset:0}::selection{background:color-mix(in srgb, var(--accent) 32%, transparent)}a{color:var(--accent-bright);text-decoration:none}.kicker{font-family:var(--mono);letter-spacing:.4em;text-transform:uppercase;color:var(--accent);font-size:11px}.mono{font-family:var(--mono)}.display{font-family:var(--display);letter-spacing:-.01em;font-weight:500;line-height:1.02}.display em{color:var(--accent-bright);font-style:italic}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.05}.muted{color:var(--text-dim)}.tiny{font-size:12px}.card{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:22px 24px;position:relative}.card.solid{background:var(--surface-solid)}.plate{border:1px solid var(--line);background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%), var(--surface);border-radius:5px;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s;overflow:hidden}.plate.hoverable:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:var(--shadow);transform:translateY(-5px)}.divider{background:linear-gradient(90deg, transparent, var(--line), transparent);border:0;height:1px;margin:0}.btn{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;text-decoration:none;transition:all .25s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-bright)}.btn.primary{background:linear-gradient(180deg, var(--accent-bright), var(--accent-deep));color:var(--on-accent);border-color:#0000;font-weight:500}.btn.primary:hover{color:var(--on-accent);filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:6px 12px;font-size:11px}.btn.danger:hover{border-color:var(--bad);color:var(--bad)}label.field{margin-bottom:14px;display:block}.field .lab{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:10px;display:block}input,select,textarea{background:var(--bg-2);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--serif);border-radius:3px;padding:10px 12px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input[type=file]{font-family:var(--mono);padding:8px;font-size:12px}.pill{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);border-radius:30px;padding:4px 12px;font-size:10px;display:inline-block}.pill.solid{background:color-mix(in srgb, var(--accent) 14%, transparent)}.stat .num{font-family:var(--display);color:var(--text);font-size:38px;line-height:1}.stat .lab{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-top:8px;font-size:10px}.meter{background:var(--line-soft);border:1px solid var(--line);border-radius:20px;height:7px;overflow:hidden}.meter>span{background:linear-gradient(90deg, var(--accent-deep), var(--accent-bright));border-radius:20px;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.delta-up{color:var(--good)}.delta-down{color:var(--bad)}.row{align-items:center;gap:14px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grid{gap:18px;display:grid}.stack{flex-direction:column;gap:14px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app-shell{height:100dvh;padding-top:env(safe-area-inset-top);grid-template-columns:268px 1fr;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 30%);flex-direction:column;gap:26px;min-height:0;padding:26px 22px;display:flex;overflow-y:auto}.nav-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:4px;flex:none;width:40px;height:36px;font-size:15px;display:none}.nav-veil{display:none}.brand{font-family:var(--display);font-size:23px;line-height:1.05}.brand .sub{font-family:var(--mono);letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-top:8px;font-size:9.5px}.nav-links{flex-direction:column;gap:3px;list-style:none;display:flex}.nav-links a{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);border:1px solid #0000;border-radius:4px;align-items:center;gap:12px;padding:11px 12px;font-size:12px;transition:all .2s;display:flex}.nav-links a:hover{color:var(--accent-bright);background:color-mix(in srgb, var(--accent) 6%, transparent)}.nav-links a.active{color:var(--accent-bright);border-color:var(--line);background:color-mix(in srgb, var(--accent) 9%, transparent)}.nav-links a .ic{opacity:.85;flex:none;width:17px;height:17px}.content{overscroll-behavior-y:contain;min-width:0;padding:34px 40px 80px;overflow-y:auto}.content-inner{max-width:var(--maxw);width:100%}.page-head{margin-bottom:30px}.page-head h1{font-size:clamp(30px,4vw,46px)}.page-head .lede{color:var(--text-dim);max-width:680px;margin-top:10px;font-size:17px}.athlete-switch{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:12px}.athlete-switch .who{align-items:center;gap:11px;display:flex}.avatar{border:1px solid var(--line);object-fit:cover;background:var(--surface-2) radial-gradient(60% 60% at 50% 35%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);width:42px;height:42px;font-family:var(--display);color:var(--accent-bright);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.athlete-switch .name{font-family:var(--display);font-size:18px;line-height:1.1}.athlete-switch .cat{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:2px;font-size:9.5px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.media-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.thumb{aspect-ratio:3/4;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:4px;display:block;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb .meta{font-family:var(--mono);letter-spacing:.1em;color:#f3ecdd;text-transform:uppercase;background:linear-gradient(#0000,#000000b8);padding:8px 10px;font-size:10px;position:absolute;inset:auto 0 0}.thumb .badge{background:color-mix(in srgb, var(--accent) 88%, black);color:var(--on-accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:3px;padding:3px 7px;font-size:9px;position:absolute;top:8px;left:8px}.empty{border:1px dashed var(--line);text-align:center;color:var(--text-dim);border-radius:6px;padding:44px}.empty .glyph{color:color-mix(in srgb, var(--accent) 45%, transparent);margin-bottom:14px}.toast{z-index:10000;background:var(--surface-solid);border:1px solid var(--accent);color:var(--text);font-family:var(--mono);letter-spacing:.08em;box-shadow:var(--shadow);border-radius:4px;padding:12px 20px;font-size:12px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.banner{border:1px solid var(--line);border-left:3px solid var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 6%, transparent), transparent);color:var(--text-dim);border-radius:4px;padding:14px 18px;font-size:14px}.banner b{color:var(--accent-bright)}.scorebar-row{grid-template-columns:150px 1fr 52px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.scorebar-row .lab{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.scorebar-row .val{font-family:var(--display);text-align:right;font-size:19px}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;font-size:10px}table.data td{border-bottom:1px solid var(--line-soft);color:var(--text-dim);padding:10px 12px}table.data tr:hover td{color:var(--text)}@media (width<=880px){.app-shell{grid-template-columns:64px 1fr}.sidebar{padding:12px 8px calc(12px + env(safe-area-inset-bottom));align-items:center;gap:16px;overflow-x:hidden}.nav-toggle{display:block}.sidebar:not(.open) .brand,.sidebar:not(.open) .athlete-switch select,.sidebar:not(.open) .athlete-switch .who>div:last-child,.sidebar:not(.open) .nav-label,.sidebar:not(.open) .side-extras{display:none}.sidebar:not(.open) .athlete-switch{background:0 0;border:0;padding:0}.sidebar:not(.open) .avatar{width:36px;height:36px;font-size:15px}.sidebar:not(.open) .nav-links a{justify-content:center;gap:0;padding:10px}.sidebar.open{z-index:9600;width:274px;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));background:var(--surface-solid);box-shadow:var(--shadow);align-items:stretch;position:fixed;top:0;bottom:0;left:0}.nav-veil{z-index:9500;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:block;position:fixed;inset:0}.content{padding:22px 16px 64px}.grid{grid-template-columns:1fr!important}.scorebar-row{grid-template-columns:96px 1fr 44px}table.data{display:block;overflow-x:auto}}.legal-links{margin-top:12px}.legal-links button{cursor:pointer;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);background:0 0;border:0;padding:0;font-size:9.5px;transition:color .2s}.legal-links button:hover{color:var(--accent-bright)}.disclaimer-overlay{z-index:10000;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:24px;animation:.3s both disclaimer-fade;display:flex;position:fixed;inset:0}.disclaimer-modal{width:100%;max-width:540px;box-shadow:var(--shadow);animation:.35s cubic-bezier(.2,.8,.2,1) both disclaimer-rise}.disclaimer-modal p a{text-underline-offset:2px;text-decoration:underline}@keyframes disclaimer-fade{0%{opacity:0}to{opacity:1}}@keyframes disclaimer-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dropzone{position:relative}.dropzone-veil{z-index:50;pointer-events:none;opacity:0;border:2px dashed var(--accent);background:color-mix(in srgb, var(--bg) 78%, transparent);border-radius:6px;place-items:center;transition:opacity .12s;display:grid;position:absolute;inset:0}.dropzone.over .dropzone-veil{opacity:1}.dropzone-veil span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright);font-size:12px}.drop-hint{border:1px dashed var(--line);text-align:center;color:var(--text-mute);border-radius:4px;margin-bottom:14px;padding:14px;font-size:13px}.queue-row{font-family:var(--mono);color:var(--text-dim);justify-content:space-between;gap:10px;padding:3px 0;font-size:11px;display:flex}
