:root { --sp-ink:#162b4d; --sp-muted:#586579; --sp-line:#d8cfbd; --sp-card:#f7f3eb; --sp-accent:#9b2c2c; --sp-ok:#1f6b45; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --sp-ink:#f5f1e8; --sp-muted:#bbc6d8; --sp-line:#385176; --sp-card:#13233d; --sp-accent:#ffb4b4; --sp-ok:#a6e2bd; } }
:root[data-theme="dark"] { --sp-ink:#f5f1e8; --sp-muted:#bbc6d8; --sp-line:#385176; --sp-card:#13233d; --sp-accent:#ffb4b4; --sp-ok:#a6e2bd; }
[hidden] { display:none !important; }
.sp-skip { position:fixed; left:.5rem; top:-5rem; z-index:5; padding:.7rem 1rem; background:canvas; color:var(--sp-ink); }
.sp-skip:focus { top:.5rem; }
.sp-shell { width:min(100% - 1.25rem,70rem); color:var(--sp-ink); padding-bottom:3rem; }
.sp-back { display:flex; gap:.5rem; align-items:center; margin:1rem 0; color:var(--sp-muted); }
.sp-back a { color:inherit; }
.sp-hero { max-width:52rem; margin:1.5rem 0 2rem; }
.sp-hero h1 { margin:.2rem 0 .5rem; font-size:clamp(2.1rem,8vw,4rem); }
.sp-hero p { font-size:1.08rem; line-height:1.55; }
.sp-kicker { margin:0; color:var(--sp-accent); font-weight:800; text-transform:uppercase; letter-spacing:.07em; font-size:.78rem !important; }
.sp-state,.sp-error { min-height:1.5rem; font-weight:750; }
.sp-error { color:var(--sp-accent); }
.sp-form { display:grid; gap:1.2rem; }
.sp-form fieldset { min-width:0; margin:0; padding:clamp(1rem,3vw,1.4rem); border:1px solid var(--sp-line); border-radius:1rem; background:color-mix(in srgb,var(--sp-card) 75%,transparent); }
.sp-form legend { padding:0 .5rem; font-size:1.25rem; font-weight:850; }
.sp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.sp-grid label { display:grid; align-content:start; gap:.4rem; font-weight:750; }
.sp-wide { grid-column:1 / -1; }
.sp-form input,.sp-form select,.sp-form textarea { width:100%; min-height:3rem; box-sizing:border-box; border:1px solid var(--sp-line); border-radius:.65rem; padding:.65rem .75rem; color:var(--sp-ink); background:canvas; font:inherit; }
.sp-form [aria-invalid="true"] { border:2px solid var(--sp-accent); }
.sp-form select[multiple] { min-height:10rem; }
.sp-form input[type="color"] { max-width:7rem; padding:.25rem; }
.sp-form input[type="file"] { padding:.55rem; }
.sp-form fieldset:disabled { opacity:.72; }
.sp-check { grid-template-columns:auto 1fr !important; align-items:start !important; }
.sp-check input { width:1.35rem; min-height:1.35rem; margin:.2rem 0 0; }
.sp-hint { margin:.2rem 0 .8rem; color:var(--sp-muted); line-height:1.45; }
.sp-previews { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.75rem; }
.sp-previews figure { margin:0; }
.sp-previews figure:has(img[hidden]) { display:none; }
.sp-previews img { display:block; max-width:min(100%,18rem); max-height:8rem; object-fit:contain; padding:.5rem; border:1px solid var(--sp-line); border-radius:.7rem; background:#fff; }
.sp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; }
.sp-actions button,.sp-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; box-sizing:border-box; border-radius:.7rem; padding:.65rem 1rem; font:inherit; font-weight:800; }
.sp-actions button { border:0; background:#162b4d; color:#fff; cursor:pointer; }
.sp-actions a { border:1px solid var(--sp-line); color:var(--sp-ink); }
.sp-actions button:disabled { opacity:.55; cursor:progress; }
.sp-form :focus-visible,.sp-actions :focus-visible,.sp-back a:focus-visible { outline:3px solid var(--sp-accent); outline-offset:2px; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .sp-actions button { background:#f5f1e8; color:#162b4d; } }
:root[data-theme="dark"] .sp-actions button { background:#f5f1e8; color:#162b4d; }
@media (max-width:600px) { .sp-shell { width:min(100% - 1rem,70rem); padding-inline:.25rem; } .sp-grid { grid-template-columns:1fr; } .sp-wide { grid-column:auto; } .sp-form fieldset { padding:.9rem; } .sp-actions > * { width:100%; } }
