:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI","PingFang SC",sans-serif;color:#0f172a;background:#fffdf8;font-synthesis:none;--ink:#0f172a;--muted:#64748b;--line:#e2e5e9;--blue:#2563eb}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.topbar{display:flex;align-items:center;gap:40px;min-height:74px;padding:14px clamp(20px,5vw,64px);border-bottom:1px solid var(--line);background:#ffffffd9}.brand img{display:block;width:140px}.topbar nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:550;color:var(--muted)}.topbar nav [aria-current]{color:var(--blue)}.language-switch{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.language-switch a{padding:10px 0}.language-switch [aria-current]{font-weight:650;color:var(--ink)}main{max-width:1160px;margin:auto;padding:0 40px}.hero{padding:76px 0 48px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--muted);font-weight:600;margin:0 0 18px}h1{font-size:clamp(44px,6vw,68px);font-weight:650;line-height:1.05;letter-spacing:-.045em;margin:0}.description{font-size:18px;color:var(--muted);margin:24px 0 0}h2{font-size:20px;line-height:1.4;font-weight:600;margin:0}.collection-heading{display:flex;align-items:center;gap:16px}.collection-heading>div{margin-right:auto}.search{width:260px;position:relative}.search input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 36px 10px 14px;background:#fff;color:var(--ink);font-size:14px}.search>span:last-child{position:absolute;right:13px;top:5px;font-size:23px;color:var(--muted);pointer-events:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:550;white-space:nowrap}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.secondary{background:#fff;color:var(--ink)}.button:hover{filter:brightness(.97)}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin:24px 0}.filters{display:flex;flex-wrap:wrap;gap:22px}.filters button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:12px 0;font-size:13px}.filters button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:650}.tool-count{font-size:12px;color:var(--muted);white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tool-card{min-width:0;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s}.tool-card:hover{border-color:#94a3b8}.tool-card.featured{border-top:3px solid var(--blue);padding-top:24px}.card-top{display:flex;align-items:center;gap:12px}.tool-icon{width:32px;height:32px;color:var(--blue);display:grid;place-items:center}.tool-icon svg{width:27px;height:27px}.card-label{font-size:12px;color:var(--muted)}.favorite{margin-left:auto;border:0;background:none;font-size:24px;color:#94a3b8;min-width:44px;min-height:44px;padding:4px}.favorite.selected{color:var(--blue)}.tool-link{display:flex;flex-direction:column;flex:1}.tool-link h3{font-size:23px;font-weight:600;letter-spacing:-.025em;margin:16px 0 10px;line-height:1.35}.tool-description{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 24px;overflow-wrap:anywhere;max-width:470px}.card-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:16px;border-top:1px solid #f0f2f5;font-size:12px;color:var(--muted)}.card-bottom>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-label{color:var(--blue);font-weight:550;white-space:nowrap}.card-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:12px}.card-actions button{border:0;background:none;color:var(--muted);font-size:12px;min-height:36px}.add-card{background:transparent;border-style:dashed;align-items:flex-start;justify-content:center;gap:12px;min-height:170px;text-align:left}.add-symbol{font-size:24px;color:var(--muted)}.add-card strong{font-size:16px;font-weight:550}.add-card>span:last-child{font-size:13px;color:var(--muted)}.collection-note{display:flex;gap:12px;margin:28px 0 0;color:var(--muted)}.collection-note p{font-size:12px;line-height:1.8;margin:0}.empty{padding:45px 20px;text-align:center;border:1px dashed var(--line);border-radius:10px}.empty h3{font-size:18px;font-weight:550}.empty p{font-size:14px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding:24px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;max-width:calc(100% - 32px);width:max-content;background:#0f172a;color:white;padding:13px 18px;border-radius:8px;font-size:13px}.toast button{border:0;background:none;color:#bfdbfe;padding:4px;font-size:13px}dialog{max-width:480px;width:calc(100% - 32px);max-height:90vh;border:1px solid var(--line);border-radius:12px;padding:28px;background:#fff;color:var(--ink)}dialog::backdrop{background:#0f172a66}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.close{border:0;background:none;color:var(--muted);font-size:26px;min-width:36px;min-height:36px}.muted,.form-hint{font-size:13px;line-height:1.7;color:var(--muted)}form label{display:block;font-size:14px;margin:18px 0 8px}form input,form select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:16px}.error{font-size:13px;color:#b45309}form .primary{width:100%;margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){main{padding:0 24px}.topbar{gap:20px;padding:16px 24px}.brand img{width:120px}.topbar nav{gap:16px;font-size:13px}.hero{padding:50px 0 36px}.description{font-size:16px}.collection-heading{flex-wrap:wrap}.collection-heading>div{flex:1}.search{order:3;width:100%}.filters{gap:18px}.filter-row{align-items:flex-start;flex-direction:column;gap:4px;margin-top:16px}.tool-count{padding-bottom:12px}.tool-grid{gap:14px}.tool-card{padding:22px}.tool-card.featured{padding-top:20px}.tool-link h3{font-size:21px}}@media(max-width:540px){.topbar{padding:14px 20px;gap:16px;flex-wrap:wrap}.topbar nav>a:first-child{display:none}.brand img{width:110px}.topbar nav{font-size:12px}.language-switch{font-size:12px;gap:8px}main{padding:0 20px}.tool-grid{grid-template-columns:1fr}.hero{padding-top:40px}.filters{gap:14px}.filters button{font-size:12px;padding:9px 0}.tool-description{font-size:14px}.add-card{min-height:150px}footer{margin-top:32px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* The landing page is a compact launcher. Child tools keep their own layouts. */
body.toolbox-home { min-height:100vh; }
.toolbox-main { max-width:1080px; }
.toolbox-main .hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:36px 0 24px; }
.toolbox-main h1 { font-size:38px; line-height:1.15; }
.toolbox-main .description { font-size:14px; margin:10px 0 0; }
.toolbox-main .tool-controls { display:flex; align-items:center; gap:10px; }
.toolbox-main .search { display:block; width:220px; }
.toolbox-main .search input { padding:10px 14px 10px 38px; font-size:13px; }
.toolbox-main .search svg { position:absolute; left:13px; top:13px; width:18px; height:18px; color:var(--muted); pointer-events:none; }
.toolbox-main .filter-row { margin:0; gap:16px; align-items:center; flex-direction:row; }
.toolbox-main .filters { gap:24px; }
.toolbox-main .filters button { min-height:44px; font-size:13px; padding:10px 0; }
.toolbox-main .tool-count { padding:0; font-size:11px; }
.toolbox-main .tool-grid { column-gap:40px; row-gap:0; }
html body[data-mapkai-page="toolbox"] .toolbox-main .tool-card {
  display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; column-gap:4px;
  min-height:108px; padding:18px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent;
}
.toolbox-main .tool-link { flex-direction:row; align-items:center; gap:14px; min-width:0; min-height:60px; padding:4px 0; }
.toolbox-main .tool-icon { flex:0 0 32px; width:32px; height:32px; }
.toolbox-main .tool-icon svg { width:25px; height:25px; }
.toolbox-main .tool-copy { flex:1; min-width:0; }
.toolbox-main .tool-link h3 { font-size:17px; line-height:1.4; margin:0 0 5px; overflow-wrap:anywhere; }
.toolbox-main .tool-description { font-size:13px; line-height:1.55; margin:0; max-width:none; }
.toolbox-main .open-label { font-size:15px; color:var(--muted); }
.toolbox-main .tool-link:hover h3, .toolbox-main .tool-link:hover .open-label { color:var(--blue); }
.toolbox-main .favorite { margin:0; font-size:21px; color:var(--muted-soft); }
.toolbox-main .favorite:hover { color:var(--blue); }
.toolbox-main .card-actions { grid-column:1 / -1; margin:0; padding-left:46px; justify-content:flex-start; }
.toolbox-main .card-actions button { min-height:44px; padding:4px 0; }
.toolbox-main .collection-note { display:block; font-size:11px; line-height:1.7; margin:20px 0 0; }
.toolbox-main .empty { padding:32px 16px; margin-top:16px; }
.toolbox-main footer { margin-top:28px; padding:18px 0 24px; }
@media(max-width:760px) {
  .toolbox-main .hero { flex-wrap:wrap; align-items:flex-start; gap:20px; padding:28px 0 18px; }
  .toolbox-main h1 { font-size:34px; }
  .toolbox-main .tool-controls { width:100%; }
  .toolbox-main .search { flex:1; min-width:0; width:auto; order:0; }
  .toolbox-main .tool-grid { column-gap:28px; }
  .toolbox-main .filters { gap:20px; }
  .toolbox-main .description { font-size:13px; }
}
@media(max-width:600px) {
  .toolbox-main { padding:0 20px; }
  .toolbox-main .tool-grid { grid-template-columns:1fr; }
  .toolbox-main .filters { gap:18px; flex:1; min-width:0; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .toolbox-main .filters::-webkit-scrollbar { display:none; }
  .toolbox-main .filters button { flex-shrink:0; font-size:12px; }
  .toolbox-main .tool-count { font-size:10px; }
  html body[data-mapkai-page="toolbox"] .toolbox-main .tool-card { min-height:94px; padding:12px 0; }
  .toolbox-main .tool-link h3 { font-size:16px; }
  .toolbox-main .tool-description { font-size:12px; }
  .toolbox-main footer { margin-top:22px; }
}
