/* Little Fish / editorial utility system. Content determines the layout. */
:root { --ui-paper:#f6f5f0; --ui-surface:#fffefa; --ui-ink:#252a26; --ui-muted:#73786e; --ui-line:#dedfd5; --ui-accent:#315b48; --ui-soft:#ecefe6; --ui-danger:#a63f35; --ui-serif:"Songti SC","Noto Serif CJK SC","SimSun",serif; --ui-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; --ui-mono:"SFMono-Regular",Consolas,monospace; }
body.fish-ui { margin:0; color:var(--ui-ink); background:var(--ui-paper); font-family:var(--ui-sans); font-size:14px; line-height:1.65; --ink:var(--ui-ink); --text:var(--ui-ink); --muted:var(--ui-muted); --line:var(--ui-line); --paper:var(--ui-surface); --shadow:none; --green:var(--ui-accent); --moss:var(--ui-accent); --moss-deep:#234434; --gold:#b59460; color-scheme:light; }
.fish-ui *, .fish-ui *::before, .fish-ui *::after { box-sizing:border-box; }
.fish-ui [hidden] { display:none!important; }
.fish-ui button, .fish-ui input, .fish-ui select, .fish-ui textarea { font-family:inherit; }
.fish-ui button, .fish-ui a, .fish-ui summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.fish-ui button:focus-visible, .fish-ui a:focus-visible, .fish-ui summary:focus-visible { outline:2px solid var(--ui-accent); outline-offset:4px; }
.fish-ui input:focus-visible, .fish-ui textarea:focus-visible, .fish-ui select:focus-visible { outline:2px solid var(--ui-accent); outline-offset:1px; box-shadow:none; }
.fish-ui input, .fish-ui textarea, .fish-ui select { min-width:0; accent-color:var(--ui-accent); }
.fish-ui input::placeholder, .fish-ui textarea::placeholder { color:#8b8e83; }
.fish-ui h1, .fish-ui h2, .fish-ui h3, .fish-ui p { overflow-wrap:anywhere; }
.fish-ui h1 { font-size:36px; line-height:1.25; font-weight:650; letter-spacing:-1px; }
.fish-ui h2 { font-size:22px; line-height:1.4; font-weight:650; letter-spacing:-.5px; }
.fish-ui h3 { font-size:16px; line-height:1.5; font-weight:650; }
.fish-ui p { line-height:1.8; }
.fish-ui table { font-variant-numeric:tabular-nums; }
.fish-ui th { font-size:11px; letter-spacing:.03em; font-weight:500; }
.fish-ui td { font-size:14px; }
.fish-ui button { cursor:pointer; }
.fish-ui button:disabled { cursor:not-allowed; }
.fish-ui .muted, .fish-ui .subtitle, .fish-ui .eyebrow, .fish-ui .sub { color:var(--ui-muted); }
.fish-ui .eyebrow, .fish-ui .kicker, .fish-ui .section-kicker { font-size:11px; letter-spacing:.06em; }
.fish-ui .primary-button, .fish-ui .btn.primary, .fish-ui button.primary, .fish-ui .button.primary, .fish-ui .auth-submit { border:1px solid var(--ui-accent); border-radius:5px; background:var(--ui-accent); color:#fff; box-shadow:none; text-shadow:none; min-height:42px; font-weight:550; }
.fish-ui .primary-button:hover, .fish-ui .btn.primary:hover, .fish-ui button.primary:hover, .fish-ui .button.primary:hover { filter:brightness(.92); transform:none; }
.fish-ui .secondary-button, .fish-ui .btn.secondary, .fish-ui .button.outline, .fish-ui .secondary, .fish-ui .round-btn, .fish-ui .pill-button, .fish-ui .ghost { background:transparent; color:var(--ui-ink); border:1px solid var(--ui-line); border-radius:5px; box-shadow:none; }
.fish-ui .badge, .fish-ui .pill, .fish-ui .status-pill, .fish-ui .status { border-radius:3px; box-shadow:none; font-size:11px; font-weight:500; }
.fish-ui .badge:not(.danger), .fish-ui .pill { background:var(--ui-soft); color:var(--ui-accent); border-color:transparent; }
.fish-ui .card-head, .fish-ui .panel-heading, .fish-ui .section-head { gap:18px; }
.fish-ui .card-head h2, .fish-ui .card-head h3 { margin:0; }
.fish-ui .card-head p, .fish-ui .panel-heading .muted { margin:7px 0 0; font-size:12px; }
.fish-ui .tabs, .fish-ui .mode-tabs, .fish-ui .board-tabs, .fish-ui .league-toolbar { box-shadow:none; backdrop-filter:none; border-radius:0; }
.fish-ui .toast, .fish-ui .notice { border-radius:5px; background:#292e29; color:#fff; box-shadow:none; }
.fish-ui .modal, .fish-ui .modal-panel, .fish-ui dialog.dialog { border-radius:8px; box-shadow:0 18px 70px #0002; }
.fish-ui .overlay, .fish-ui .modal-backdrop { backdrop-filter:none; background:#20281f70; }
.fish-ui footer { color:var(--ui-muted); font-size:11px; }
.fish-ui ::selection { background:#dce4d4; color:#25392a; }
.fish-ui .ui-step-title { font-size:12px; font-weight:600; color:var(--ui-accent); margin:0 0 18px; letter-spacing:.05em; }
.fish-ui .ui-help { margin-top:18px; border-top:1px solid var(--ui-line); padding-top:12px; }
.fish-ui .ui-help summary { color:var(--ui-muted); font-size:12px; cursor:pointer; }
.fish-ui .ui-help p { font-size:12px; color:var(--ui-muted); }
@media(max-width:600px) { .fish-ui h1 { font-size:29px; } .fish-ui input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), .fish-ui textarea, .fish-ui select { font-size:16px; } .fish-ui button { min-height:36px; } }
@media(prefers-reduced-motion:reduce) { .fish-ui *, .fish-ui *::before, .fish-ui *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
