:root,[data-theme=light]{color-scheme:light;--bg: #eef2f6;--card: #ffffff;--ink: #152033;--muted: #5d6d82;--line: #dbe3ec;--shadow: 0 10px 28px rgba(20, 40, 70, .07);--chip: #eef3f8;--chip-ink: #4c5e74;--ok-bg: #e5f6ec;--ok-ink: #157443;--input: #ffffff;--button: #1f4f8a;--button-ink: #f7fbff;--tool: #ffffff;--focus: #1f4f8a}[data-theme=dark]{color-scheme:dark;--bg: #0d141d;--card: #172230;--ink: #e7eef7;--muted: #9aadc2;--line: #2c3d52;--shadow: 0 12px 30px rgba(0, 0, 0, .32);--chip: #223246;--chip-ink: #c5d3e3;--ok-bg: #143528;--ok-ink: #86d7ad;--input: #101924;--button: #4c94ef;--button-ink: #061018;--tool: #1b293a;--focus: #7eb0f5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Segoe UI,Helvetica Neue,system-ui,sans-serif;background:var(--bg);color:var(--ink)}button,input{font:inherit;color:inherit}h1,h2{font-weight:640;letter-spacing:-.02em}.tools{position:fixed;top:.85rem;right:.85rem;z-index:3;display:flex;gap:.4rem}.icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0;border-radius:.65rem;border:1px solid var(--line);background:var(--tool);color:var(--ink);box-shadow:var(--shadow);cursor:pointer}.icon svg{width:1.15rem;height:1.15rem}.icon:focus-visible,input:focus-visible,.card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.gate{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.login{width:min(24rem,100%);background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:1.6rem 1.4rem 1.3rem;box-shadow:var(--shadow)}.eyebrow{margin:0;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--muted)}.login h1{margin:.35rem 0 1rem;font-size:1.8rem}label{display:grid;gap:.35rem;margin-bottom:.8rem;font-size:.86rem;color:var(--muted)}input{border:1px solid var(--line);background:var(--input);border-radius:.55rem;padding:.7rem .75rem;color:var(--ink)}.login button[type=submit]{border:0;border-radius:.55rem;background:var(--button);color:var(--button-ink);padding:.7rem 1rem;cursor:pointer}.login button[type=submit]:disabled{opacity:.65;cursor:wait}.form-error{color:#9a3412;background:#ffedd5;border-radius:.5rem;padding:.55rem .65rem;margin:0 0 .75rem}[data-theme=dark] .form-error{color:#fdba74;background:#3a2414}.library{padding:1.15rem clamp(.85rem,2vw,1.6rem) 2rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:.9rem}.card{display:flex;flex-direction:column;min-height:100%;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:.7rem;box-shadow:var(--shadow);transition:border-color .14s ease,transform .14s ease}.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--button) 45%,var(--line))}.shot{display:block;width:100%;height:10.4rem;object-fit:cover;object-position:top center;border-radius:.55rem;border:1px solid var(--line);background:var(--chip)}.card-body{padding:.75rem .15rem .15rem;display:flex;flex-direction:column;gap:.28rem;flex:1}.card-title{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.card-title h2{margin:0;font-size:1.15rem}.pill{flex:none;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.22rem .48rem;background:var(--chip);color:var(--chip-ink)}.pill.up{background:var(--ok-bg);color:var(--ok-ink)}.url,.summary,.stack{margin:0}.url,.stack{color:var(--muted);font-size:.84rem}.summary{line-height:1.4;font-size:.92rem}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem;margin:.45rem 0 0}dt{margin:0;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}dd{margin:.08rem 0 0;font-size:.9rem}
