:root { color-scheme:light dark; --page:light-dark(#f1f4f8,#12161d); --panel:light-dark(#fff,#1d242e); --text:light-dark(#1c2c40,#f0f4fa); --muted:light-dark(#586a80,#b3c0d1); --line:light-dark(#d6e0eb,#3b4a5e); --accent:light-dark(#2256a6,#a7caff); --soft:light-dark(#edf4ff,#273e5b); --field:light-dark(#fff,#232e3e); }
* { box-sizing:border-box; }
body { margin:0; background:var(--page); color:var(--text); font:16px/1.65 Arial,Tahoma,sans-serif; }
button,input,select { font:inherit; }
button,select,label.choice { cursor:pointer; }
button:focus-visible,select:focus-visible,input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.workspace { max-width:900px; margin:auto; padding:26px 24px 40px; }
.app-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:32px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; }
.brand-mark { display:grid; place-items:center; width:38px; height:42px; background:var(--text); color:var(--panel); border-radius:10px; font-size:26px; font-style:italic; }
.brand small { display:block; font-weight:400; font-size:12px; color:var(--muted); }
.languages { display:flex; gap:4px; background:var(--panel); border:1px solid var(--line); padding:4px; border-radius:10px; }
.languages button { border:0; border-radius:6px; padding:7px 12px; background:transparent; color:var(--muted); }
.languages button[aria-pressed=true] { background:var(--soft); color:var(--accent); }
.panel { max-width:660px; margin:auto; border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow:hidden; }
.panel-header { padding:20px 26px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.eyebrow { color:var(--muted); font-size:13px; }
.badge { background:var(--soft); color:var(--accent); padding:4px 10px; border-radius:20px; font-size:12px; white-space:nowrap; }
.content { padding:28px 26px; }
h1 { margin:0 0 26px; font-size:26px; line-height:1.4; font-weight:600; }
fieldset { border:0; padding:0; margin:0; min-width:0; }
legend { padding:0; margin-bottom:12px; font-weight:600; }
.choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.choice { display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; min-height:48px; background:var(--field); }
.choice:has(:checked) { background:var(--soft); border-color:var(--accent); }
.choice input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.field { margin-top:24px; }
.field label { display:block; font-weight:600; margin-bottom:8px; }
select { width:100%; min-height:48px; padding:10px 12px; border-radius:8px; border:1px solid var(--line); background:var(--field); color:var(--text); text-overflow:ellipsis; }
.endpoint { margin:26px 0 0; padding-inline-start:14px; border-inline-start:3px solid var(--accent); color:var(--muted); font-size:14px; }
.path { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.path span { display:block; color:var(--muted); font-size:12px; margin-bottom:6px; }
.path ol { display:flex; flex-wrap:wrap; gap:6px 10px; list-style:none; padding:0; margin:0; font-size:13px; }
.path li:not(:last-child)::after { content:' /'; color:var(--muted); margin-inline-start:10px; }
.actions { display:flex; gap:12px; justify-content:space-between; padding:16px 26px; border-top:1px solid var(--line); }
.button { min-height:44px; padding:8px 16px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--field); }
.button.primary { color:var(--panel); background:var(--text); border-color:var(--text); }
.button:disabled { opacity:.45; cursor:default; }
.closed { text-align:center; padding:32px; }
footer { padding-top:18px; text-align:center; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
@media(max-width:540px) { .workspace { padding:18px 12px 30px; } .app-header { margin-bottom:22px; gap:8px; } .languages button { padding:7px 9px; } .panel-header { padding:16px 18px; } .content { padding:24px 18px; } h1 { font-size:23px; } .actions { padding:14px 18px; } }
@media(prefers-reduced-motion:no-preference) { .field { animation:appear .16s ease-out; } @keyframes appear { from { opacity:.5; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } } }
