 :root{color-scheme:light dark;--bg:#fafafa;--surface:#fff;--ink:#171717;--muted:#707070;--line:#e3e3e3;--accent:#171717;--soft:#f1f1f1;--error:#a03932;--button:#171717;--button-text:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:8px 14px;transition:background .15s,transform .15s}button:hover{background:var(--soft);transform:translateY(-1px)}button:disabled{cursor:default;opacity:.5;transform:none}input,select{min-width:0;width:100%;padding:11px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px}label{display:block;font-size:13px;font-weight:600;margin:10px 0 5px}.top{max-width:1260px;margin:auto;display:flex;align-items:center;gap:25px;padding:25px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;font-weight:700;letter-spacing:-.6px;color:var(--ink)}.top>a:last-child{margin-left:auto;font-size:13px}.tagline{font-size:12px;color:var(--muted)}main{max-width:1060px;margin:auto;padding:0 32px}.hero{text-align:center;padding:70px 0 20px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:2.5px}h1{font-size:clamp(38px,5.3vw,65px);line-height:1.13;letter-spacing:-2.5px;font-weight:500;margin:22px 0}h1 em{font:inherit;color:var(--muted)}.lede{color:var(--muted);font-size:16px}.searchbar{max-width:720px;margin:30px auto 15px;padding:7px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none}.searchbar>span{font-size:28px;padding-left:14px;color:var(--accent)}.searchbar input{border:0;background:transparent;padding:12px 8px}.searchbar button{background:var(--button);color:var(--button-text);border:0;white-space:nowrap;padding:13px 22px}.examples{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.examples button{font-size:12px;border-radius:30px;padding:5px 12px;background:transparent}.trust{font-size:11px;color:var(--muted);margin-top:26px}.trust span{padding:0 12px}.statusbar{display:flex;align-items:center;justify-content:center;gap:15px;min-height:55px;font-size:13px;color:var(--muted)}#error{background:var(--soft);border-left:3px solid var(--error);padding:15px;color:var(--error)}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:35px 0 48px;border-top:1px solid var(--line)}.how span{font-size:10px;letter-spacing:1.6px;color:var(--accent);font-weight:700}.how h3{font-size:16px;margin:12px 0 6px}.how p{font-size:13px;color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:26px;margin-bottom:20px;box-shadow:none}h2{font-size:20px;letter-spacing:-.5px;margin:0 0 16px}h3{font-size:17px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.badge{font-size:9px;letter-spacing:1px;background:var(--soft);color:var(--accent);padding:4px 8px;border-radius:5px}.result-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}#person{display:flex;align-items:center;gap:24px}#person img{width:90px;height:110px;object-fit:cover;border-radius:9px}#person h2{font-size:30px;margin:0}#person p{margin:5px 0}.muted{color:var(--muted);font-size:12px}.actions{display:flex;gap:8px;margin-bottom:20px}.actions button{font-size:12px}dt{font-size:11px;color:var(--muted);margin-top:14px}dd{margin:2px 0;font-size:14px}#sources{display:grid;grid-template-columns:1fr 1fr;gap:12px}.source{border:1px solid var(--line);border-radius:10px;padding:17px;background:var(--surface);scroll-margin-top:30px}.source:target{outline:2px solid var(--accent);background:var(--soft)}.source a{font-size:14px;font-weight:600}.source p{margin:7px 0 0}.sources-section{margin:15px 0 25px}.citation{font-size:11px;font-weight:700;padding:0 2px}.settings{margin-top:35px}.settings summary{cursor:pointer;font-weight:600}.settings summary span{margin-left:14px;font-weight:400}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:20px}.key-row{display:flex;gap:8px}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto}footer{max-width:1180px;margin:40px auto 0;padding:25px 32px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;gap:30px;align-items:baseline}footer strong{color:var(--ink)}footer p{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#picker button{display:block;text-align:left;width:100%;margin:8px 0}#picker small{display:block;color:var(--muted)}@media(max-width:700px){.top{padding:18px 20px}.tagline{display:none}main{padding:0 20px}.hero{padding-top:40px}.how,.result-grid,.settings-grid,#sources{grid-template-columns:1fr}.how{gap:24px}.searchbar button{padding:12px}.searchbar>span{display:none}.card{padding:20px}footer{display:block}footer p{margin:8px 0}.settings summary span{display:block;margin:0}h1{letter-spacing:-1.5px}}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#111;--surface:#191919;--ink:#f5f5f5;--muted:#aaa;--line:#333;--accent:#f5f5f5;--soft:#242424;--error:#f7aa97;--button:#eee;--button-text:#111}.brand img{filter:brightness(1.2)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.header-controls{margin-left:auto;display:flex;align-items:center;gap:18px}.header-controls select{width:150px;padding:6px 9px;font-size:12px}.header-controls a{white-space:nowrap;font-size:12px}.length-setting{max-width:300px;margin-top:22px}#provider{max-width:360px}#gemini-load{margin-top:12px}#theme{cursor:pointer}
:root[data-theme="light"]{color-scheme:light;--bg:#fafafa;--surface:#fff;--ink:#171717;--muted:#707070;--line:#e3e3e3;--accent:#171717;--soft:#f1f1f1;--error:#a03932;--button:#171717;--button-text:#fff}
:root[data-theme="black"]{color-scheme:dark;--bg:#111;--surface:#1b1b1b;--ink:#eee;--muted:#aaa;--line:#363636;--accent:#eee;--soft:#252525;--error:#ffaf9d;--button:#eee;--button-text:#111}
:root[data-theme="sepia"]{color-scheme:light;--bg:#f3ead9;--surface:#fff7e9;--ink:#473526;--muted:#7b6754;--line:#d8c5a8;--accent:#805129;--soft:#eadcc5;--error:#a33725;--button:#805129;--button-text:#fff}
:root[data-theme="oled"]{color-scheme:dark;--bg:#000;--surface:#000;--ink:#f4f4f4;--muted:#aaa;--line:#333;--accent:#fff;--soft:#151515;--error:#ffa996;--button:#fff;--button-text:#000}
:root[data-theme="discord"]{color-scheme:dark;--bg:#313338;--surface:#2b2d31;--ink:#f2f3f5;--muted:#b5bac1;--line:#46484e;--accent:#adb4ff;--soft:#3a3f60;--error:#ffb7ae;--button:#5865f2;--button-text:#fff}
:root[data-theme="midnight"]{color-scheme:dark;--bg:#0d1424;--surface:#152036;--ink:#e8eefb;--muted:#a5b4ce;--line:#2d3d59;--accent:#9fc7ff;--soft:#213654;--error:#ffb3a2;--button:#27558d;--button-text:#fff}
:root[data-theme="graphite"]{color-scheme:dark;--bg:#262626;--surface:#303030;--ink:#f4f4f4;--muted:#b5b5b5;--line:#484848;--accent:#fff;--soft:#3a3a3a;--error:#f7b29a;--button:#f4f4f4;--button-text:#171717}
@media(max-width:700px){.top{flex-wrap:wrap;gap:14px}.header-controls{width:100%;margin:0;justify-content:space-between}.header-controls select{width:155px}.top .tagline{display:none}}

/* Neutral, typography-led base. Optional colored palettes only override the tokens. */
.brand{font-weight:600;letter-spacing:-.7px}.brand img{filter:grayscale(1)}
.top{padding-top:22px;padding-bottom:22px}.hero{padding-top:64px}
h1{font-weight:600;letter-spacing:-2.8px;font-size:clamp(38px,5vw,60px)}
.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.8px}
.searchbar{border-radius:10px}.searchbar button{border-radius:6px}
.card{border-radius:10px}.source{border-radius:8px}
button:hover{transform:none}.examples button{border-color:transparent}.examples button:hover{border-color:var(--line)}
.badge{background:transparent;border:1px solid var(--line);color:var(--muted)}
.header-controls select{background:transparent;border-color:var(--line)}
.how span{color:var(--muted)}.trust{letter-spacing:.1px}
@media(max-width:700px){h1{letter-spacing:-1.6px}.hero{padding-top:40px}}
@media(max-width:450px){h1{font-size:32px;line-height:1.2;letter-spacing:-1.3px}.lede{font-size:15px}}
