:root { --bg:#f5f7f5; --surface:#fff; --ink:#17201a; --muted:#5f6b62; --line:#dfe7df; --line-strong:#7f8a81; --brand:#176b3a; --brand-soft:#e7f3ea; --focus:#246fe5; --ring:rgba(36,111,229,.12); --danger:#a04434; --warn-bg:#fff1d8; --warn-ink:#8a5b00; --state-bg:#f0f3f0; --field:#fbfcfb; --topbar:rgba(255,255,255,.94); --shadow:0 10px 30px rgba(22,50,30,.06); }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
button,input,select,textarea { font:inherit; }
.topbar { position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:11px;padding:14px max(18px,calc((100% - 980px)/2));background:var(--topbar);border-bottom:1px solid var(--line);backdrop-filter:blur(12px); }
.brand-mark { display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--brand);color:#fff;font-weight:800;font-size:12px;letter-spacing:-.05em; }
.brand-name,.brand-subtitle { margin:0; }.brand-name { font-weight:800;letter-spacing:-.02em; }.brand-subtitle { color:var(--muted);font-size:12px; }
.connection { margin-left:auto;color:var(--muted);font-size:12px; }.connection.online { color:var(--brand); }.connection.offline { color:var(--danger); }
.shell { max-width:980px;margin:0 auto;padding:34px 18px 70px; }
.intro { display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px; }.eyebrow { margin:0 0 8px;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.12em; }.intro h1 { max-width:620px;margin:0;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.055em; }.intro-copy { max-width:650px;margin:14px 0 0;color:var(--muted);font-size:16px; }.progress-wrap { flex:0 0 140px;padding-bottom:4px;color:var(--muted);font-size:12px;text-align:right; }.progress-wrap strong { display:block;color:var(--ink);font-size:25px;letter-spacing:-.04em; }.progress { height:7px;margin-top:9px;background:var(--line-strong);border-radius:99px;overflow:hidden; }.progress i { display:block;width:0;height:100%;background:var(--brand);border-radius:inherit; }
.toolbar { display:flex;gap:10px;margin-bottom:20px; }.search { display:flex;align-items:center;gap:8px;flex:1;padding:0 13px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;color:var(--muted); }.search input { width:100%;height:44px;border:0;outline:0;background:transparent;color:var(--ink); }.filter-button { min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700; }.filter-button.active { border-color:var(--brand);background:var(--brand-soft);color:var(--brand); }
.pager { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface); }.page-label { display:grid;gap:1px;text-align:center;min-width:0; }.page-label:focus { outline:2px solid var(--focus);outline-offset:3px;border-radius:8px; }.page-label strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }.page-label small { color:var(--muted);font-size:11px; }.page-button { min-height:44px;padding:7px 11px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700;font-size:12px;white-space:nowrap; }.page-button:hover:not(:disabled) { border-color:var(--brand);color:var(--brand); }.page-button:disabled { opacity:.4;cursor:not-allowed; }.groups { display:grid;gap:12px; }.group { padding:0; }
.question { padding:17px 18px 14px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow); }.question + .question { margin-top:9px; }.question-head { display:flex;align-items:flex-start;gap:12px; }.question-number { display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:12px; }.question-copy { flex:1;min-width:0; }.question-meta { display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;font-weight:700; }.priority { padding:2px 7px;border-radius:99px;background:var(--warn-bg);color:var(--warn-ink); }.question h2 { margin:5px 0 0;font-size:15px;line-height:1.42;letter-spacing:-.01em; }.answer-state { flex:none;padding:4px 8px;border-radius:99px;background:var(--state-bg);color:var(--muted);font-size:11px;font-weight:700; }.answer-state.done { background:var(--brand-soft);color:var(--brand); }
.answer-area { margin:15px 0 10px 41px; }.answer-area select,.answer-area input,.answer-area textarea { width:100%;border:1px solid var(--line-strong);border-radius:10px;background:var(--field);color:var(--ink);padding:10px 12px;outline:none; }.answer-area select,.answer-area input { height:44px; }.answer-area textarea { min-height:64px;resize:vertical;margin-top:10px; }.part + .part { margin-top:10px; }.part-label { display:block;margin-bottom:6px;font-size:11px;font-weight:700;color:var(--muted); }.ketik { margin-top:8px; }.answer-area select:focus,.answer-area input:focus,.answer-area textarea:focus,.search:focus-within { border-color:var(--focus);box-shadow:0 0 0 3px var(--ring); }.choices { display:flex;flex-wrap:wrap;gap:8px; }.choices label { display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:10px;background:var(--field);color:var(--ink);font-size:13px;cursor:pointer; }.choices input { width:18px;height:18px;accent-color:var(--brand); }.date-pair,.person-pair { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.question-actions { display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:41px; }.saved-at { margin-right:auto;color:var(--muted);font-size:11px; }.save-button { min-height:44px;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:10px 14px;font-weight:800;cursor:pointer; }.save-button:hover { filter:brightness(.94); }.save-button:disabled { opacity:.55;cursor:wait; }.empty { padding:30px;text-align:center;color:var(--muted); }
.toast { position:fixed;left:50%;bottom:22px;z-index:5;max-width:calc(100% - 32px);padding:12px 15px;border-radius:11px;background:var(--ink);color:#fff;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:.2s; }.toast.show { transform:translate(-50%,0);opacity:1; }.toast.error { background:var(--danger); }
@media (max-width:700px) { .topbar { padding:12px 15px; }.connection { max-width:110px;text-align:right; }.shell { padding:26px 14px 50px; }.intro { display:block; }.progress-wrap { max-width:220px;margin-top:18px;text-align:left; }.toolbar { position:sticky;top:63px;z-index:1;padding:8px 0;background:var(--bg); }.filter-button { padding:0 10px; }.question { padding:14px; }.question-head { gap:9px; }.answer-area,.question-actions { margin-left:38px; }.date-pair,.person-pair { grid-template-columns:1fr; }.question-actions { align-items:flex-end; }.saved-at { font-size:10px; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
