@font-face{font-family:Roboto;src:url(/fonts/Roboto.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Italic.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{color-scheme:light;--navy: #3d2e1e;--blue: #c47b17;--blue-light: #f3e3c8;--paper: #f7f3ec;--ink: #1c1914;--muted: #6b6256;--line: #e2d8c8;--surface: #fff;--surface-2: #f0e9dc;--input-border: #c9bba6;--on-accent: #fff;--btn-hover: #9a5e10;--header-bg: #1c1914;--header-fg: #fff;--header-link: #f3e3c8;--ok-bg: #dcefe0;--ok-fg: #24502c;--bad-bg: #f8d7da;--bad-fg: #842029;--bad-line: #e8b9b0;--warn-bg: #fbeed3;--warn-fg: #74501a;--danger: #b03a2e;--radius: 8px;--shadow: 0 4px 14px rgba(28, 25, 20, .08);--sans: "Roboto", system-ui, sans-serif}:root[data-theme=dark]{color-scheme:dark;--navy: #f3e3c8;--blue: #e0a03a;--blue-light: #3a2c18;--paper: #12100d;--ink: #f4eee4;--muted: #b4a790;--line: #3a3328;--surface: #1c1914;--surface-2: #2a241c;--input-border: #5a4e3c;--on-accent: #1c1914;--btn-hover: #f0c27a;--header-bg: #0b0a08;--header-fg: #f4eee4;--header-link: #e0cba0;--ok-bg: #1d3a26;--ok-fg: #a6e3b6;--bad-bg: #4a2023;--bad-fg: #f7b0b0;--bad-line: #6b3034;--warn-bg: #3d2f12;--warn-fg: #f2cd83;--danger: #f08a7e;--shadow: 0 4px 14px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.5}h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .6em}h1{font-size:1.6rem}h2{font-size:1.2rem}a{color:var(--blue)}.container{width:min(1100px,100% - 2rem);margin-inline:auto}.page{padding:1.6rem 0 3rem}.muted{color:var(--muted)}.small{font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--blue);color:var(--on-accent);border:1px solid var(--blue);padding:.55rem 1.1rem;border-radius:var(--radius);font:600 .95rem var(--sans);cursor:pointer;text-decoration:none}.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:var(--surface);color:var(--blue)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-small{padding:.25rem .6rem;font-size:.82rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem}.form{display:grid;gap:.9rem}.field{display:grid;gap:.3rem}.field label{font-weight:600;font-size:.9rem}input,select,textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:6px;font:inherit;background:var(--surface);color:var(--ink)}.alert{padding:.7rem 1rem;border-radius:6px;border:1px solid var(--line)}.alert-error{border-color:var(--bad-line);background:var(--bad-bg);color:var(--bad-fg)}.alert-warn{border-color:var(--warn-bg);background:var(--warn-bg);color:var(--warn-fg)}table.table{width:100%;border-collapse:collapse;background:var(--surface)}.table th,.table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.78rem;text-transform:uppercase;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.poster{aspect-ratio:2/3;background:var(--surface-2);border-radius:6px;object-fit:cover;width:100%}.tile{display:grid;gap:.4rem;text-decoration:none;color:inherit}header.top{background:var(--header-bg);color:var(--header-fg)}header.top .bar{display:flex;align-items:center;gap:1rem;min-height:56px}header.top a{color:var(--header-link);text-decoration:none}header.top nav{display:flex;gap:.9rem;flex-wrap:wrap}.spacer{flex:1}.theme-toggle{min-width:44px;min-height:44px;border-radius:22px;border:1px solid var(--header-link);background:transparent;color:var(--header-fg);font:600 .9rem var(--sans);cursor:pointer}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.tree{list-style:none;margin:0;padding:0}.tree .tree{padding-left:1.15rem}.tree-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .45rem;border-radius:6px}.tree-row:hover{background:var(--surface-2)}.tree-toggle{width:1.6rem;min-width:1.6rem;height:1.6rem;border:0;background:transparent;color:var(--ink);font:600 1rem var(--sans);cursor:pointer;padding:0}.tree-toggle.placeholder{visibility:hidden}.tree-label{flex:1;min-width:0}.active-row{background:var(--blue-light)}
