  /* Design tokens – text/background pairs meet WCAG 2.1 AA contrast. */
  :root {
    --bg:#faf9f5; --card:#fff; --text:#1f1e1d; --muted:#6b6a64; --line:#e8e6dc; --line2:#f3f1ea;
    --accent:#c15f3c; --accent-2:#d97757; --accent-bg:var(--accent-bg,#f8eee8); --accent-ink:var(--accent-ink,#8a3f22);
    --ok:#047857; --ok-bg:var(--ok-bg,#ecfdf5); --err:#b91c1c; --err-bg:var(--err-bg,#fef2f2); --warn:var(--warn,#92400e); --warn-bg:var(--warn-bg,#fffbeb);
    --radius:14px; --shadow:0 1px 2px rgba(31,30,29,.04), 0 6px 20px rgba(31,30,29,.06);
  }
  * { box-sizing:border-box; }
  body { margin:0; background:var(--bg); color:var(--text); font:15px/1.55 Inter, "Google Sans", Roboto, Arial, sans-serif; -webkit-font-smoothing:antialiased; }
  .hidden { display:none !important; }
  .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
  a { color:var(--accent); }
  :focus-visible { outline:3px solid #e0a083; outline-offset:2px; border-radius:8px; }
  .skip { position:absolute; left:-999px; top:8px; background:var(--card,#fff); color:var(--accent); padding:8px 12px; border-radius:8px; z-index:50; }
  .skip:focus { left:8px; }
  svg.i { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .wrap { max-width:1200px; margin:0 auto; padding:0 24px; }

  /* Header */
  header.top { background:rgba(255,255,255,.92); backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
  header.top .wrap { display:flex; align-items:center; gap:18px; height:64px; }
  .brand { display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; color:var(--text); margin-right:8px; }
  .mark { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#e0a083 0%,#c15f3c 55%,#8a3f22 100%); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 16px -6px rgba(193,95,60,.65), inset 0 1px 0 rgba(255,255,255,.28); }
  .mark svg { width:64%; height:64%; display:block; }
  .wordmark { font-weight:800; letter-spacing:-.02em; }
  .logo-lg { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
  .logo-lg .mark { width:52px; height:52px; border-radius:15px; }
  .logo-lg .wordmark { font-size:26px; color:var(--text); }
  .legal { margin-top:20px; font-size:12.5px; color:var(--muted); }
  .legal a { color:var(--muted); }
  nav.tabs { display:flex; gap:2px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; }
  nav.tabs::-webkit-scrollbar { display:none; }
  nav.tabs button { border:0; background:none; padding:8px 14px; border-radius:10px; font:inherit; font-weight:500; color:var(--muted); cursor:pointer; white-space:nowrap; display:flex; gap:8px; align-items:center; }
  nav.tabs button { flex:0 0 auto; }
  nav.tabs button:hover { background:var(--line2); color:var(--text); }
  nav.tabs button.on { background:var(--accent-bg); color:var(--accent-ink); font-weight:600; }
  .me { display:flex; align-items:center; gap:12px; }
  .usage { min-width:150px; max-width:230px; }
  .usage .t { font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bar { height:6px; background:var(--line2); border-radius:3px; overflow:hidden; margin-top:4px; }
  .bar i { display:block; height:100%; background:var(--accent); border-radius:3px; }
  .avatar { width:34px; height:34px; border-radius:50%; background:var(--accent-bg); color:var(--accent-ink); font-weight:600; font-size:13px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
  .iconbtn { border:1px solid var(--line); background:var(--card,#fff); border-radius:10px; padding:7px; cursor:pointer; color:var(--text); display:inline-flex; }
  .iconbtn:hover { background:var(--line2); }

  /* Hero */
  .hero { padding:32px 0 8px; }
  .hero h1 { font-size:28px; font-weight:700; letter-spacing:-.02em; margin:0; }
  .hero p { color:var(--muted); margin:6px 0 18px; }
  .bigsearch { position:relative; max-width:720px; }
  .bigsearch svg { position:absolute; left:16px; top:15px; color:var(--muted); width:20px; height:20px; }
  .bigsearch input[type=text] { width:100%; padding:14px 16px 14px 46px; font-size:16px; border:1px solid var(--line-d,#d9d6ca); border-radius:14px; background:var(--card,#fff); box-shadow:var(--shadow); }
  .recent { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; align-items:center; }
  .recent .lbl { font-size:12px; color:var(--muted); font-weight:600; }
  .pillbtn { border:1px solid var(--line); background:var(--card,#fff); border-radius:20px; padding:5px 12px; font:inherit; font-size:13px; cursor:pointer; color:var(--text); }
  .pillbtn:hover { border-color:var(--accent-2); color:var(--accent-ink); }

  /* Library layout */
  .lib { display:grid; grid-template-columns:270px minmax(0,1fr); gap:24px; padding:20px 0 48px; align-items:start; }
  .filters { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px; position:sticky; top:80px; max-height:calc(100vh - 100px); overflow-y:auto; }
  .filters h2 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:6px 8px 8px; }
  .fbtn { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; border:0; background:none; padding:8px 10px; border-radius:9px; font:inherit; font-size:14px; cursor:pointer; color:var(--text); text-align:left; }
  .fbtn:hover { background:var(--line2); }
  .fbtn.on { background:var(--accent-bg); color:var(--accent-ink); font-weight:600; }
  .fbtn.subc { padding-left:30px; font-size:13px; color:var(--muted,#6b6a64); }
  .fbtn .n { font-size:11px; color:var(--muted); background:var(--line2); border-radius:10px; padding:1px 8px; }
  .fbtn .dot { width:10px; height:10px; border-radius:3px; display:inline-block; margin-right:8px; flex-shrink:0; }
  .fbtn .lab { display:flex; align-items:center; min-width:0; }
  .fbtn .lab span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .results-bar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
  .results-bar .count { font-weight:600; flex:1; min-width:160px; }
  .results-bar .count small { color:var(--muted); font-weight:400; }
  select, input[type=text], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=date], textarea { padding:10px 12px; border:1px solid var(--line-d,#d9d6ca); border-radius:10px; font:inherit; background:var(--card,#fff); color:var(--text); width:100%; }
  input:focus, textarea:focus, select:focus { outline:none; border-color:var(--accent-2); box-shadow:0 0 0 3px var(--accent-bg); }
  .results-bar select { width:auto; }
  .seg { display:inline-flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--card,#fff); }
  .seg button { border:0; background:none; padding:8px 10px; cursor:pointer; color:var(--muted); display:inline-flex; }
  .seg button.on { background:var(--accent-bg); color:var(--accent-ink); }
  .chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
  .fchipx { display:inline-flex; align-items:center; gap:6px; background:var(--accent-bg); color:var(--accent-ink); border:0; border-radius:20px; padding:5px 8px 5px 12px; font:inherit; font-size:13px; font-weight:500; cursor:pointer; }
  .fchipx svg { width:14px; height:14px; }
  .btn.mfilter { display:none; }

  /* Template cards */
  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
  .tpl { position:relative; text-align:left; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; cursor:pointer; font:inherit; color:inherit; display:flex; flex-direction:column; gap:10px; min-height:150px; box-shadow:0 1px 2px rgba(31,30,29,.04); transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
  .tpl:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--accent-line,#efd3c4); }
  .tpl .ic { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
  .tpl .body { display:flex; flex-direction:column; gap:4px; min-width:0; }
  .tpl .t { font-weight:600; font-size:15px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .tpl .crumb { font-size:12px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
  .tpl .foot { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:8px; }
  .tpl .meta { font-size:12px; color:var(--muted); }
  .tpl .go { color:var(--accent); display:inline-flex; opacity:.0; transition:opacity .12s; }
  .tpl:hover .go, .tpl:focus-visible .go { opacity:1; }
  .badge { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; border-radius:20px; padding:2px 9px; background:var(--accent-bg); color:var(--accent-ink); }
  .badge.pack { background:var(--warn-bg,#fffbeb); color:var(--warn,#92400e); }
  .list .tpl { flex-direction:row; align-items:center; min-height:0; padding:12px 16px; gap:14px; }
  .list .tpl .body { flex:1; min-width:0; }
  .list .tpl .foot { margin:0; gap:14px; }
  .list.grid { grid-template-columns:1fr; gap:8px; }
  .grouph { grid-column:1/-1; font-size:13px; font-weight:600; color:var(--muted); margin:8px 0 -4px; display:flex; align-items:center; gap:8px; }
  .grouph::after { content:""; flex:1; height:1px; background:var(--line); }
  .empty { color:var(--muted); text-align:center; padding:48px 16px; grid-column:1/-1; }
  .askbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; margin-top:20px; padding:16px 18px; border:1px dashed var(--line-d,#d9d6ca); border-radius:14px; background:var(--card); color:var(--muted); }
  .askbar b { color:var(--text); }
  dialog.dlg { border:0; border-radius:16px; padding:24px; width:min(520px, calc(100vw - 32px)); box-shadow:0 24px 64px rgba(31,30,29,.25); color:var(--text); }
  dialog.dlg::backdrop { background:rgba(31,30,29,.45); }
  dialog.dlg h2 { margin:0 0 4px; font-size:19px; }
  dialog.dlg textarea { min-height:96px; }
  .empty b { display:block; color:var(--text); font-size:16px; margin-bottom:4px; }

  /* General */
  .page { padding-top:28px; padding-bottom:48px; }
  .page h2.title { font-size:24px; font-weight:700; margin:0 0 4px; letter-spacing:-.01em; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); }
  .sub { color:var(--muted); margin:0 0 20px; font-size:14px; }
  label { display:block; font-size:13px; font-weight:600; margin:16px 0 6px; color:var(--muted,#6b6a64); }
  label small { font-weight:400; color:var(--muted); }
  textarea { min-height:96px; resize:vertical; }
  .btn { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--card,#fff); padding:10px 18px; border-radius:10px; font:inherit; font-weight:500; cursor:pointer; color:var(--text); text-decoration:none; min-height:42px; }
  .btn:hover { background:var(--bg,#faf9f5); border-color:var(--line-d,#d9d6ca); }
  .btn.primary { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }
  .btn.primary:hover { background:#a94f30; }
  .btn:disabled { opacity:.6; cursor:wait; }
  .row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:22px; }
  .msg { margin-top:14px; padding:11px 14px; border-radius:10px; font-size:14px; }
  .msg.err { background:var(--err-bg); color:var(--err); } .msg.ok { background:var(--ok-bg); color:var(--ok); }
  .spin { width:16px; height:16px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:s .8s linear infinite; display:inline-block; }
  @keyframes s { to { transform:rotate(360deg); } }
  table { width:100%; border-collapse:collapse; font-size:14px; }
  th, td { text-align:left; padding:12px 12px; border-bottom:1px solid var(--line2); }
  th { color:var(--muted); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.05em; background:var(--bg,#faf9f5); }
  tbody tr:hover td { background:var(--soft,#fcfaf7); }
  .card.flush { padding:0; overflow:hidden; }
  .tablewrap { overflow-x:auto; position:relative; }

  /* Form */
  .back { border:0; background:none; color:var(--accent); cursor:pointer; padding:0; font:inherit; font-weight:500; margin-bottom:14px; display:inline-flex; gap:6px; align-items:center; }
  .formhead { display:flex; gap:14px; align-items:flex-start; margin-bottom:6px; }
  .formhead .ic { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; }
  .formhead h2 { font-size:22px; margin:0; letter-spacing:-.01em; }
  .crumbs { font-size:13px; color:var(--muted); }
  .fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); column-gap:18px; }
  .fields .wide { grid-column:1/-1; }
  .switch { display:flex; align-items:center; gap:10px; margin-top:16px; font-size:14px; }
  .switch input { width:18px; height:18px; accent-color:var(--accent); }
  .req { color:var(--err); }
  .hint { font-size:12px; color:var(--muted); margin-top:4px; }
  .pagehead { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
  .newcase { padding:20px; margin-bottom:16px; }
  .ncgrid { display:grid; grid-template-columns:1fr 120px 2fr; gap:12px; } .ncgrid .wide { grid-column:auto; } .ncgrid .wide2 { grid-column:span 2; }
  @media (max-width:640px) { .ncgrid { grid-template-columns:1fr 1fr; } .ncgrid .wide, .ncgrid .wide2 { grid-column:1/-1; } }
  .caselist { display:grid; gap:10px; }
  .caseitem { display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:14px; }
  .caseitem .cic { width:40px; height:40px; border-radius:11px; background:var(--accent-bg); color:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .caseitem .cname { font-weight:600; } .caseitem .cmeta { font-size:12.5px; color:var(--muted); }
  .caseitem .cact { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
  .cchips { display:flex; flex-wrap:wrap; gap:6px; margin-top:5px; }
  .cchip { font-size:11.5px; font-weight:600; border-radius:20px; padding:2px 9px; background:var(--line2); color:var(--muted); }
  .cchip.open { background:var(--warn-bg); color:var(--warn); } .cchip.closed { background:var(--ok-bg); color:var(--ok); } .cchip.type { background:var(--accent-bg); color:var(--accent-ink); }
  .cdash .back { border:0; background:none; color:var(--accent); font:inherit; font-weight:600; cursor:pointer; padding:0; margin-bottom:10px; display:inline-flex; gap:6px; align-items:center; }
  .cdhead { display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-bottom:14px; }
  .cdhead h2 { margin:0; font-size:22px; } .cdhead .acts { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
  .cstats { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-bottom:14px; }
  .cstats div { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 14px; }
  .cstats b { display:block; font-size:20px; } .cstats span { font-size:12.5px; color:var(--muted); }
  .cgrid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .cgrid .card h3 { margin:0 0 4px; font-size:15px; } .cgrid .card .shint { margin:0 0 10px; font-size:12.5px; color:var(--muted); }
  .clist { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
  .clist li { display:flex; gap:10px; align-items:center; font-size:14px; padding:6px 0; border-bottom:1px solid var(--line2); }
  .clist li:last-child { border-bottom:0; } .clist .when { margin-left:auto; font-size:12px; color:var(--muted); white-space:nowrap; }
  .clist .dot { width:18px; height:18px; border-radius:50%; border:2px solid var(--line); flex-shrink:0; }
  .clist .ok { color:var(--ok); display:inline-flex; } .clist .ok svg { width:18px; height:18px; }
  .clist .btn { margin-left:auto; }
  @media (max-width:760px) { .cgrid { grid-template-columns:1fr; } .cstats { grid-template-columns:1fr 1fr; } .cdhead .acts { margin-left:0; } }
  .casebar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 14px; margin-bottom:12px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
  .casebar label { margin:0; font-weight:600; font-size:13.5px; } .casebar select { width:auto; min-width:220px; flex:1; max-width:420px; }
  .casebar .cstat { font-size:12.5px; color:var(--muted); }
  @media (max-width:640px) { .casebar select { min-width:0; max-width:none; flex:1 1 100%; } .casebar .cstat { flex-basis:100%; } }
  .casebanner { display:inline-flex; align-items:center; gap:10px; margin-top:10px; padding:7px 8px 7px 14px; border-radius:999px; background:var(--accent-bg); color:var(--accent-ink); font-size:13.5px; font-weight:600; }
  .casebanner button { border:0; background:transparent; color:inherit; cursor:pointer; padding:2px 6px; border-radius:8px; font:inherit; }
  .info { background:var(--accent-bg); color:var(--accent-ink); border-radius:10px; padding:9px 12px; font-size:13px; margin-bottom:8px; }
  .fsec { border:1px solid var(--line); border-radius:14px; padding:6px 18px 18px; margin-top:16px; background:var(--soft,#fcfaf7); }
  .fsec h3 { font-size:15px; margin:12px 0 2px; display:flex; align-items:center; gap:10px; }
  .fsec h3 .num { width:26px; height:26px; border-radius:50%; background:var(--accent); color:#fff; font-size:12px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
  .fsec .shint { color:var(--muted); font-size:13px; margin:0 0 4px 36px; }
  .secnav { display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 0; position:sticky; top:64px; background:var(--card); padding:10px 0; z-index:2; }
  .secnav a { font-size:12px; text-decoration:none; color:var(--accent-ink); background:var(--accent-bg); border-radius:14px; padding:4px 11px; font-weight:500; }

  /* Form layout: sections + sticky progress panel */
  .formgrid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
  .fcard { background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); margin-bottom:16px; overflow:hidden; scroll-margin-top:84px; }
  .fcard .fh { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line2); background:linear-gradient(180deg,var(--soft,#fcfaf7),var(--card,#fff)); }
  .fcard .fh .sic { width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .fcard .fh h3 { margin:0; font-size:16px; flex:1; }
  .fcard .fh .shint { font-size:12px; color:var(--muted); font-weight:400; margin-top:1px; }
  .fcard .fh .cnt { font-size:12px; font-weight:600; color:var(--muted); background:var(--line2); border-radius:12px; padding:2px 10px; white-space:nowrap; }
  .fcard .fh .cnt.full { background:var(--ok-bg); color:var(--ok); }
  .fcard .fb { padding:6px 20px 20px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); column-gap:16px; }
  .fb > div { grid-column:span 3; } .fb > div.short { grid-column:span 2; } .fb > div.wide { grid-column:1/-1; }
  .todaycard .fb { grid-template-columns:repeat(2,minmax(0,1fr)) !important; row-gap:2px; }
  .todaycard .fb > div { grid-column:auto !important; }
  .todaycard .switch { padding:8px 10px; border-radius:10px; } .todaycard .switch:hover { background:var(--line2); }
  .todaycard .switch label { font-weight:500; }
  .alsoprep { margin:18px auto 6px; max-width:560px; text-align:left; border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:var(--accent-bg); }
  .alsoprep h3 { margin:0 0 4px; font-size:15px; color:var(--accent-ink); } .alsoprep p { margin:0 0 10px; font-size:13px; color:var(--muted); }
  .alsoprep .btns { display:flex; flex-wrap:wrap; gap:8px; }
  .todaymore { margin:0 20px 16px; border-top:1px solid var(--line2); padding-top:10px; }
  .todaymore summary { cursor:pointer; font-weight:600; font-size:14px; color:var(--accent-ink); padding:6px 0; }
  .todaymore .fb { padding:6px 0 0 !important; }
  @media (max-width:640px) { .todaycard .fb { grid-template-columns:1fr !important; } }
  .litem { border:1px solid var(--line); border-radius:14px; margin:14px 20px 0; background:var(--soft,#fcfaf7); }
  .litem .lhead { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line2); }
  .litem .lno { font-weight:700; font-size:14px; flex:1; }
  .litem .fb { padding:4px 14px 14px !important; }
  .ladd { padding:14px 20px 20px; }
  .lempty { margin:14px 20px 0; padding:14px; border:1px dashed var(--line-d,#d9d6ca); border-radius:12px; color:var(--muted); font-size:13.5px; text-align:center; }
  .fb .field-err input, .fb .field-err select, .fb .field-err textarea { border-color:#f87171; box-shadow:0 0 0 3px var(--err-bg,#fee2e2); }
  .fb .errtxt { font-size:12px; color:var(--err); margin-top:4px; }
  .fb > div { position:relative; }
  .gor { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:13px; margin:16px 0 12px; }
  .gor::before, .gor::after { content:""; flex:1; height:1px; background:var(--line); }
  .aibtn { position:absolute; right:0; top:-3px; z-index:5; display:inline-flex; align-items:center; gap:4px; border:1px solid var(--accent-line,#efd3c4); background:var(--accent-bg,#f8eee8); color:var(--accent-ink,#8a3f22); border-radius:20px; padding:2px 10px; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
  .aibtn:hover { background:var(--accent-hover,#f4e2d8); }
  .aimenu { position:absolute; right:0; top:24px; z-index:20; min-width:220px; background:var(--card,#fff); border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(31,30,29,.14); padding:6px; }
  .aimenu button { display:block; width:100%; text-align:left; border:0; background:none; font:inherit; font-size:13.5px; padding:7px 10px; border-radius:8px; cursor:pointer; color:var(--text); }
  .aimenu button:hover:not(:disabled) { background:var(--line2); } .aimenu button:disabled { color:var(--muted,#6b6a64); cursor:default; }
  .aimenu .ainote { font-size:12px; color:var(--muted); padding:6px 10px 4px; border-top:1px solid var(--line2); margin-top:4px; }
  .aires { margin-top:8px; border:1px solid var(--accent-line,#efd3c4); background:var(--soft,#fcfaf7); border-radius:12px; padding:10px 12px; }
  .aires .aih { font-size:12.5px; font-weight:600; color:var(--accent-ink,#8a3f22); margin-bottom:6px; }
  .aires textarea { min-height:110px; background:var(--card,#fff); } .aires .row { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
  .aires .aimiss { font-size:13.5px; color:var(--warn); background:var(--warn-bg); border-radius:8px; padding:8px 10px; }
  .ckbody p { margin:0 0 6px; font-size:14px; } .ckbody ul { margin:0 0 12px; padding-left:20px; font-size:13.5px; color:var(--muted); line-height:1.6; }
  .ckbody .ckwarn { background:var(--warn-bg); color:var(--warn); border-radius:10px; padding:8px 12px; font-size:13.5px; margin-bottom:10px; }
  .inwrap { position:relative; } .inwrap .pre { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:14px; pointer-events:none; }
  .inwrap .pre + input { padding-left:28px; }
  .side { position:sticky; top:84px; display:grid; gap:14px; }
  .side .card { padding:20px; }
  .ring { display:flex; align-items:center; gap:14px; }
  .ring svg { width:64px; height:64px; transform:rotate(-90deg); flex-shrink:0; }
  .ring .pct { font-size:20px; font-weight:700; }
  .steps { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:2px; }
  .steps a { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:9px; text-decoration:none; color:var(--text); font-size:14px; }
  .steps a:hover { background:var(--line2); }
  .steps .st { width:22px; height:22px; border-radius:50%; border:2px solid var(--line-d,#d9d6ca); display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--muted); flex-shrink:0; }
  .steps .stepdone .st { background:var(--ok); border-color:var(--ok); color:#fff; }
  .steps .st svg { width:13px; height:13px; }
  .steps li { min-height:0; } .steps a { line-height:1.2; }
  .steps .lbl { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .steps .n { font-size:11px; color:var(--muted); }
  .side .btn.primary { width:100%; justify-content:center; }
  .autoinfo { font-size:12px; color:var(--muted); display:grid; gap:6px; margin-top:12px; }
  .autoinfo div { display:flex; gap:6px; align-items:flex-start; }
  .autoinfo svg { width:14px; height:14px; margin-top:2px; flex-shrink:0; }
  @media (max-width:980px) { .formgrid { grid-template-columns:1fr; } .side { position:static; order:-1; } .side .steps { display:none; } }
  @media (max-width:640px) { .fb > div, .fb > div.short { grid-column:1/-1; } }

  /* Google Drive connection gate */
  .gate { max-width:620px; margin:40px auto 60px; text-align:center; }
  .gate .card { padding:36px 32px; }
  .gate .gico { width:72px; height:72px; border-radius:20px; background:var(--accent-bg,#f8eee8); color:var(--accent-ink,#8a3f22); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
  .gate .gico svg { width:36px; height:36px; }
  .gate h2 { font-size:24px; margin:0 0 8px; letter-spacing:-.01em; }
  .gate ul { list-style:none; padding:0; margin:20px auto; text-align:left; display:grid; gap:10px; max-width:460px; }
  .gate li { display:flex; gap:10px; align-items:flex-start; font-size:14px; }
  .gate li svg { color:var(--ok); margin-top:2px; }
  .gate .btn.primary { padding:12px 22px; font-size:16px; }
  .drivepill { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; border-radius:20px; padding:3px 10px; background:var(--ok-bg); color:var(--ok); white-space:nowrap; }
  .drivepill.off { background:var(--err-bg); color:var(--err); cursor:pointer; border:0; font:inherit; font-size:12px; font-weight:600; }
  .drivepill svg { width:13px; height:13px; }

  /* Result, plans, details */
  .done { text-align:center; padding:40px 24px; }
  .done .tick { width:64px; height:64px; border-radius:50%; background:var(--ok-bg); color:var(--ok); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
  .done .tick svg { width:32px; height:32px; }
  .doclist { list-style:none; padding:0; margin:16px auto 0; text-align:left; max-width:560px; }
  .doclist li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--line2); }
  .plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
  .plan { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--shadow); }
  .plan.current { border:2px solid var(--accent); }
  .plan .nm { font-weight:700; font-size:17px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
  .plan .price { font-size:30px; font-weight:700; letter-spacing:-.02em; } .plan .price small { font-size:13px; font-weight:400; color:var(--muted); }
  .plan .docs { font-weight:600; color:var(--accent-ink); } .plan .desc { color:var(--muted); font-size:14px; }
  .tag { display:inline-block; font-size:11px; font-weight:700; background:var(--accent-bg); color:var(--accent-ink); border-radius:10px; padding:3px 9px; }
  .lock { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; color:var(--muted); background:var(--line2); border-radius:10px; padding:1px 8px; margin-left:6px; vertical-align:middle; }
  .lock svg { width:12px; height:12px; }
  input[readonly], textarea[readonly] { background:var(--bg,#faf9f5); color:var(--muted,#6b6a64); cursor:not-allowed; }
  .dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
  .dl div { border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:var(--soft,#fcfaf7); }
  .dl dt { font-size:12px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
  .dl dd { margin:4px 0 0; font-size:16px; font-weight:600; word-break:break-word; }
  .dl dd.none { color:var(--muted); font-weight:400; font-style:italic; }
  .kv { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto; gap:8px; align-items:center; margin-bottom:8px; }
  .chip { border:1px dashed var(--line-d,#d9d6ca); background:var(--card,#fff); border-radius:16px; padding:5px 11px; margin:0 6px 6px 0; cursor:pointer; font:inherit; font-size:13px; }
  .chip:hover { border-color:var(--accent-2); color:var(--accent-ink); }

  /* Sign in */
  .login { min-height:100vh; display:grid; grid-template-columns:1.1fr 1fr; }
  .login .side { background:#1f1e1d; color:#e8e6dc; padding:56px; display:flex; flex-direction:column; justify-content:center; gap:18px; }
  .login .side h2 { font-size:34px; line-height:1.15; margin:0; color:#fff; letter-spacing:-.02em; }
  .login .side p { color:#9c998e; max-width:440px; margin:0; }
  .login .side ul { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:10px; }
  .login .side li { display:flex; gap:10px; align-items:center; color:#d9d6ca; }
  .login .side li svg { color:#e9bda6; }
  .login .form { display:flex; align-items:center; justify-content:center; padding:32px 20px; }
  .login .card { width:100%; max-width:420px; padding:32px; }
  .login h1 { font-size:24px; margin:12px 0 4px; letter-spacing:-.01em; }
  .gbtn { width:100%; height:46px; display:flex; align-items:center; justify-content:center; gap:12px; background:#fff; color:#1f1f1f; border:1px solid #747775; border-radius:12px; font:500 15px/1 Roboto, Inter, Arial, sans-serif; cursor:pointer; transition:background .15s, box-shadow .15s; }
  .gbtn:hover { background:#faf9f5; box-shadow:0 1px 3px rgba(60,64,67,.25); }
  .gbtn:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
  .gbtn:disabled { opacity:.7; cursor:progress; }
  .gbtn .spin { border-color:#c7c7c7; border-top-color:#4285f4; }
  .gnote { display:flex; gap:8px; align-items:flex-start; margin:14px 0 0; padding:10px 12px; background:var(--accent-bg); color:var(--accent-ink); border-radius:10px; font-size:13px; line-height:1.45; }
  .gnote svg { flex-shrink:0; margin-top:1px; }
  .orline { display:flex; align-items:center; gap:12px; margin:18px 0 6px; color:var(--muted); font-size:12.5px; }
  .orline::before, .orline::after { content:""; flex:1; height:1px; background:var(--line); }
  .linkbtn { background:none; border:0; padding:6px 0; color:var(--accent); font:inherit; font-weight:500; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
  .acct { display:flex; gap:8px; align-items:center; padding:10px 12px; border-radius:10px; background:var(--ok-bg, var(--ok-bg,#ecfdf5)); color:var(--ok, var(--ok,#065f46)); font-size:13.5px; margin:4px 0 6px; overflow-wrap:anywhere; }
  .pendicon { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--accent-bg); color:var(--accent); margin:6px 0 14px; }
  .pendicon .i { width:26px; height:26px; }
  .codeinput { font-size:24px !important; letter-spacing:8px; text-align:center; }

  @media (max-width:980px) {
    .lib { grid-template-columns:1fr; }
    .filters { position:static; max-height:none; display:none; }
    .filters.open { display:block; }
    .btn.mfilter { display:inline-flex; }
    .usage { display:none; }
  }
  @media (max-width:760px) {
    .wrap { padding:0 16px; }
    header.top .wrap { height:auto; padding-top:10px; padding-bottom:10px; flex-wrap:wrap; gap:10px; }
    nav.tabs { order:3; flex-basis:100%; }
    .me .email { display:none; }
    .hero h1 { font-size:23px; }
    .login { grid-template-columns:1fr; } .login .side { display:none; }
    .list .tpl .meta { display:none; }
  }
  @media (prefers-reduced-motion: reduce) { * { animation:none !important; transition:none !important; } }

  /* Action plan (case page) */
  .plan { margin-bottom:14px; } .plan h3 { margin:0 0 4px; font-size:16px; }
  .planhead { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
  .planchip { border:0; font:inherit; font-size:12px; font-weight:600; border-radius:20px; padding:3px 10px; background:var(--line2); color:var(--muted); white-space:nowrap; cursor:default; }
  .planchip.ok { background:var(--ok-bg); color:var(--ok); } .planchip.err { background:var(--err-bg); color:var(--err); cursor:pointer; } .planchip:empty { display:none; }
  .msg.warn { background:var(--warn-bg); color:var(--warn); } .planchip.warn { background:var(--warn-bg); color:var(--warn); }
  .pstats { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin:10px 0; }
  .pstats div { background:var(--line2); border-radius:10px; padding:8px 12px; } .pstats b { display:block; font-size:19px; } .pstats span { font-size:12px; color:var(--muted); }
  .pgaps { margin-top:10px; } .pgaps li { align-items:flex-start; }
  .pfacts, .pwarn { margin:10px 0; border:1px solid var(--line); border-radius:10px; padding:2px 12px; } .pwarn { background:var(--warn-bg); border-color:var(--warn-line,#fde68a); color:var(--warn); }
  .pfacts summary, .pwarn summary { cursor:pointer; font-weight:600; font-size:14px; padding:8px 0; } .pwarn ul { margin:0 0 8px; padding-left:18px; font-size:13px; }
  .pfl { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
  .pfc { font:inherit; font-size:12.5px; border:1px solid var(--line); background:var(--card); border-radius:20px; padding:3px 6px 3px 10px; cursor:pointer; color:var(--text); }
  .pfc i { font-style:normal; margin-left:6px; border-radius:12px; padding:1px 7px; background:var(--line2); color:var(--muted); font-size:11px; }
  .pfc.on { border-color:var(--ok); } .pfc.on i { background:var(--ok-bg); color:var(--ok); } .pfc.off { border-color:var(--err); text-decoration:line-through; } .pfc.off i { background:var(--err-bg); color:var(--err); text-decoration:none; }
  .pfadd { display:flex; gap:8px; align-items:center; font-size:13px; margin-bottom:10px; } .pfadd select { max-width:60%; }
  .ptabs { display:flex; gap:2px; overflow-x:auto; border-bottom:1px solid var(--line); margin:12px 0 10px; scrollbar-width:none; }
  .ptabs button { border:0; background:none; font:inherit; font-weight:500; color:var(--muted); padding:8px 12px; border-bottom:2px solid transparent; cursor:pointer; white-space:nowrap; }
  .ptabs button.on { color:var(--accent-ink); border-bottom-color:var(--accent); font-weight:600; } .ptabs i { font-style:normal; font-size:11.5px; background:var(--line2); border-radius:10px; padding:1px 7px; margin-left:3px; }
  .pfilters { display:grid; grid-template-columns:2fr repeat(4, 1fr); gap:8px; margin-bottom:10px; } .pfilters input, .pfilters select { width:100%; min-width:0; }
  .pcard { border:1px solid var(--line); border-radius:12px; margin-bottom:8px; background:var(--card); } .pcard.open { border-color:var(--accent-2); }
  .phead { display:flex; gap:10px; align-items:center; width:100%; text-align:left; border:0; background:none; font:inherit; padding:10px 12px; cursor:pointer; color:var(--text); flex-wrap:wrap; }
  .pid { font-size:12px; font-weight:700; color:var(--accent-ink); background:var(--accent-bg); border-radius:6px; padding:1px 7px; } .ptitle { flex:1 1 220px; font-weight:600; font-size:14px; min-width:0; }
  .pchips { display:flex; gap:5px; flex-wrap:wrap; } .pchip { font-size:11.5px; font-weight:600; border-radius:20px; padding:2px 9px; background:var(--line2); color:var(--muted); white-space:nowrap; }
  .pchip.pr-M { background:var(--err-bg); color:var(--err); } .pchip.pr-C { background:var(--warn-bg); color:var(--warn); } .pchip.pr-R { background:var(--accent-bg); color:var(--accent-ink); }
  .pchip.st-completed { background:var(--ok-bg); color:var(--ok); } .pchip.rv { background:var(--line2,#f3f1ea); color:var(--muted,#6b6a64); border:1px dashed #9c998e; }
  .pbody { padding:0 14px 14px; font-size:14px; } .pbody p { margin:6px 0; } .pwhy { background:var(--accent-bg); border-radius:8px; padding:7px 10px; } .pwhy.warn { background:var(--warn-bg); color:var(--warn); } .pwhy.ok { background:var(--ok-bg); color:var(--ok); }
  .pdl { background:var(--line2); border-radius:8px; padding:7px 10px; } .plaw { margin:8px 0; } .plaw summary { cursor:pointer; font-weight:600; color:var(--accent-ink); font-size:13.5px; }
  .pentryh { margin-top:12px; display:flex; gap:8px; align-items:center; font-size:13px; }
  .pentry { display:grid; grid-template-columns:repeat(4, 1fr); gap:8px 10px; margin-top:6px; } .pf { min-width:0; } .pf.wide { grid-column:1 / -1; } .pf label { display:block; font-size:12px; color:var(--muted); margin-bottom:2px; }
  .pf input, .pf textarea { width:100%; font:inherit; } .pbtns { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px; } .pentry .msg { grid-column:1 / -1; margin-top:4px; } .pmore { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
  .plan .clist li { flex-wrap:wrap; } .plan .clist .when { white-space:normal; margin-left:0; }
  .phg { border:1px solid var(--line); border-radius:12px; margin-bottom:8px; padding:0 10px; } .phg > summary { cursor:pointer; padding:10px 2px; } .psub h4 { margin:10px 0 6px; font-size:13px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
  @media (max-width:900px) { .pfilters { grid-template-columns:1fr 1fr; } .pfilters input { grid-column:1 / -1; } .pentry { grid-template-columns:1fr 1fr; } .pstats { grid-template-columns:1fr 1fr; } }
  @media (max-width:520px) { .pentry { grid-template-columns:1fr; } .pfilters { grid-template-columns:1fr; } .planhead { flex-direction:column; } .pfadd select { max-width:100%; } }

  /* Example Text */
  .lblrow { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2px 8px; } .lblrow label { margin-bottom:2px; }
  .exbtn { font:inherit; font-size:12px; font-weight:600; line-height:1.2; color:var(--accent-ink); background:var(--accent-bg); border:1px solid transparent; border-radius:14px; padding:2px 9px; cursor:pointer; white-space:nowrap; margin-bottom:2px; }
  .exbtn:hover { border-color:var(--accent-2); } .exbtn[aria-expanded="true"] { background:var(--accent); color:#fff; }
  .expop { position:absolute; z-index:60; background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(31,30,29,.18); padding:12px 14px; max-width:calc(100vw - 16px); font-size:14px; }
  .expop:focus { outline:none; } .exhead { display:grid; gap:2px; margin-bottom:8px; } .exnote { font-size:12px; color:var(--muted); }
  .extext { white-space:pre-wrap; word-break:break-word; background:var(--line2); border-radius:8px; padding:8px 10px; max-height:40vh; overflow:auto; user-select:text; }
  .exlegal { margin-top:8px; font-size:12.5px; background:var(--warn-bg); color:var(--warn); border-radius:8px; padding:6px 10px; }
  .exask, .exbtns { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:10px; } .exask span { font-size:13px; font-weight:600; width:100%; } .exmsg { font-size:12.5px; color:var(--muted); min-height:1em; margin-top:6px; }
  @media (max-width:600px) { .expop { position:fixed !important; left:8px !important; right:8px !important; top:auto !important; bottom:8px; width:auto !important; max-height:70vh; overflow:auto; } }

  .brand { white-space:nowrap; }
  /* Usability (WCAG 2.2): comfortable touch targets, no clipped header, room for the bottom tab bar on phones */
  .me .email { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  @media (max-width:1280px) { .me .email { display:none; } }
  @media (max-width:760px) { header.top { backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--card,#fff); } body { padding-bottom:calc(66px + env(safe-area-inset-bottom)); } header.top .wrap { flex-wrap:nowrap; } nav.tabs button svg.i { width:22px; height:22px; } nav.tabs button.on { background:var(--accent-bg); } }
  @media (pointer:coarse) { .btn, .pillbtn, .iconbtn, select, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) { min-height:44px; } .exbtn { min-height:32px; padding-inline:12px; } }
  @media (forced-colors:active) { .pchip, .cchip, .exbtn { border:1px solid CanvasText; } }

  /* ===== Theme: one accent (terracotta) on a warm neutral; clean and quiet (like a conversation app). Last in the file so it wins. ===== */
  :root {
    --bg:#faf9f5; --card:#fff; --text:#1f1e1d; --muted:#6b6a64; --line:#e8e6dc; --line2:#f3f1ea;
    --accent:#c15f3c; --accent-2:#d97757; --accent-bg:var(--accent-bg,#f8eee8); --accent-ink:var(--accent-ink,#8a3f22);
    --radius:12px; --shadow:0 1px 2px rgba(31,30,29,.05);
  }
  body { font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Telugu", "Nirmala UI", Arial, sans-serif; letter-spacing:-.003em; }
  h1, h2, .hero h1, .title { font-weight:600; letter-spacing:-.02em; }
  header.top { background:rgba(250,249,245,.94); backdrop-filter:none; box-shadow:none; }
  .mark { background:var(--accent) !important; box-shadow:none !important; }
  .mark svg path, .mark svg circle { stroke:#fff; }
  .card, .filters, .fcard, .tpl { box-shadow:none; }
  .tpl:hover, .card:hover { box-shadow:0 2px 8px rgba(31,30,29,.07); border-color:var(--line-d,#d9d6ca); }
  .btn { border-radius:10px; font-weight:500; background:var(--card,#fff); border:1px solid var(--line); color:var(--text); }
  .btn:hover { background:var(--line2); }
  .btn.primary, button.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
  .btn.primary:hover, button.primary:hover { background:#a94f30; border-color:#a94f30; }
  .btn.sm { border-radius:9px; }
  nav.tabs button.on { background:var(--accent-bg); color:var(--accent-ink); }
  input[type=text], input[type=search], input[type=date], input[type=time], input[type=url], input[type=number], input[type=password], select, textarea { border-color:var(--line-d,#d9d6ca); border-radius:10px; background:var(--card,#fff); }
  input:focus, select:focus, textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(193,95,60,.18); }
  :focus-visible { outline:3px solid rgba(193,95,60,.45); }
  .sic, .ic, #fIc, .tpl .ic { background:var(--accent-bg) !important; color:var(--accent-ink) !important; }
  .dot { background:var(--accent) !important; }
  .bar i { background:var(--accent); }

  /* ===== Light / dark. Tokens only: the pages use var(--…) everywhere. Choice: System (default) / Light / Dark, kept on this device (PortalTheme). ===== */
  :root { color-scheme:light; --soft:#fcfaf7; --line-d:#d9d6ca; --accent-line:#efd3c4; --accent-hover:#f4e2d8; --warn-line:#fde68a; --overlay:rgba(31,30,29,.45); }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { color-scheme:dark;
    --bg:#262624; --card:#30302e; --text:#f1eee6; --muted:#a8a59b; --line:#46443f; --line2:#3a3935; --soft:#2c2b29; --line-d:#55534d;
    --accent:#c15f3c; --accent-2:#d97757; --accent-bg:#3d2b23; --accent-ink:#f0b79f; --accent-line:#5e3d30; --accent-hover:#4b342a;
    --ok:#4ade80; --ok-bg:#12301f; --err:#fca5a5; --err-bg:#3b1d1d; --warn:#fcd34d; --warn-bg:#3a2f12; --warn-line:#6b5a1d; --overlay:rgba(0,0,0,.6);
    --shadow:0 1px 2px rgba(0,0,0,.3); } }
  :root[data-theme="dark"] { color-scheme:dark;
    --bg:#262624; --card:#30302e; --text:#f1eee6; --muted:#a8a59b; --line:#46443f; --line2:#3a3935; --soft:#2c2b29; --line-d:#55534d;
    --accent:#c15f3c; --accent-2:#d97757; --accent-bg:#3d2b23; --accent-ink:#f0b79f; --accent-line:#5e3d30; --accent-hover:#4b342a;
    --ok:#4ade80; --ok-bg:#12301f; --err:#fca5a5; --err-bg:#3b1d1d; --warn:#fcd34d; --warn-bg:#3a2f12; --warn-line:#6b5a1d; --overlay:rgba(0,0,0,.6);
    --shadow:0 1px 2px rgba(0,0,0,.3); }
  /* things that were not written with tokens */
  header.top { background:color-mix(in srgb, var(--bg) 94%, transparent); }
  :root[data-theme="dark"] a, :root[data-theme="dark"] .skip { color:var(--accent-ink); }
  :root[data-theme="dark"] nav.tabs { background:var(--card) !important; border-color:var(--line) !important; }
  :root[data-theme="dark"] .tpl:hover, :root[data-theme="dark"] .card:hover { box-shadow:0 2px 8px rgba(0,0,0,.35); }
  :root[data-theme="dark"] dialog::backdrop { background:var(--overlay); }
  :root[data-theme="dark"] ::placeholder { color:var(--muted,#6b6a64); }
  :root[data-theme="dark"] .logo-img, :root[data-theme="dark"] .gbtn { filter:none; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) a, :root:not([data-theme="light"]) .skip { color:var(--accent-ink); } :root:not([data-theme="light"]) nav.tabs { background:var(--card) !important; border-color:var(--line) !important; } :root:not([data-theme="light"]) ::placeholder { color:var(--muted,#6b6a64); } :root:not([data-theme="light"]) dialog::backdrop { background:var(--overlay); } }
  dialog { background:var(--card); color:var(--text); }
  #bTheme { min-width:36px; font-size:17px; line-height:1; padding:7px 9px; justify-content:center; }
  @media (max-width:760px) { header.top .me { gap:6px; } header.top .me .avatar { display:none; } #bTheme { min-width:34px; padding:7px; } }
  #bKb .kbs { display:none; }
  @media (max-width:760px) { #bKb .kbl { display:none; } #bKb .kbs { display:inline; } header.top .me .usage { display:none; } }
  @media (max-width:760px) { #bKb { padding:6px 10px; } header.top .brand #brandName { display:none; } }
/* GENERATED by tools/ui/build-tailwind.js (npm run css) from the tw- classes in Portal*.html – do not edit. */
.tw-mb-2{margin-bottom:.5rem}.tw-mb-3{margin-bottom:.75rem}.tw-contents{display:contents}.tw-h-3{height:.75rem}.tw-h-4{height:1rem}.tw-h-9{height:2.25rem}.tw-w-1{width:.25rem}.tw-w-1\/3{width:33.333333%}.tw-w-3{width:.75rem}.tw-w-3\/4{width:75%}.tw-w-9{width:2.25rem}@keyframes tw-pulse{50%{opacity:.5}}.tw-animate-pulse{animation:tw-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.\!tw-gap-0{gap:0!important}.tw-rounded{border-radius:.25rem}.tw-rounded-2xl{border-radius:1rem}.tw-rounded-lg{border-radius:.5rem}.tw-border{border-width:1px}.tw-border-line{border-color:var(--line)}.tw-bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.tw-bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.tw-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.tw-p-4{padding:1rem}.\!tw-px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!tw-py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}@media (max-width:760px){.max-\[760px\]\:\!tw-fixed{position:fixed!important}.max-\[760px\]\:\!tw-inset-x-0{left:0!important;right:0!important}.max-\[760px\]\:\!tw-bottom-0{bottom:0!important}.max-\[760px\]\:\!tw-z-30{z-index:30!important}.max-\[760px\]\:\!tw-grid{display:grid!important}.max-\[760px\]\:\!tw-min-h-\[58px\]{min-height:58px!important}.max-\[760px\]\:\!tw-auto-cols-fr{grid-auto-columns:minmax(0,1fr)!important}.max-\[760px\]\:\!tw-grid-flow-col{grid-auto-flow:column!important}.max-\[760px\]\:\!tw-flex-col{flex-direction:column!important}.max-\[760px\]\:\!tw-items-center{align-items:center!important}.max-\[760px\]\:\!tw-justify-center{justify-content:center!important}.max-\[760px\]\:\!tw-gap-0{gap:0!important}.max-\[760px\]\:\!tw-gap-0\.5{gap:.125rem!important}.max-\[760px\]\:\!tw-overflow-visible{overflow:visible!important}.max-\[760px\]\:\!tw-rounded-none{border-radius:0!important}.max-\[760px\]\:\!tw-border-t{border-top-width:1px!important}.max-\[760px\]\:\!tw-border-slate-200{--tw-border-opacity:1!important;border-color:rgb(226 232 240/var(--tw-border-opacity,1))!important}.max-\[760px\]\:\!tw-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.max-\[760px\]\:\!tw-px-1{padding-left:.25rem!important;padding-right:.25rem!important}.max-\[760px\]\:\!tw-py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.max-\[760px\]\:\!tw-pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)!important}.max-\[760px\]\:\!tw-text-\[11px\]{font-size:11px!important}.max-\[760px\]\:\!tw-font-medium{font-weight:500!important}.max-\[760px\]\:\!tw-leading-tight{line-height:1.25!important}.max-\[760px\]\:\!tw-shadow-\[0_-4px_16px_rgba\(31\2c 30\2c 29\2c 0\.08\)\]{--tw-shadow:0 -4px 16px rgba(31,30,29,.08)!important;--tw-shadow-colored:0 -4px 16px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}}
