/* Free tools (build_tools.py): the EMREE hub, planner and section quizzes, and the
   Schengen calculator. Built on site.css tokens; --app is the app's own colour. */
.tool{padding-top:96px;padding-bottom:40px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.tool>.wrap{width:100%;box-sizing:border-box}
.thead{display:grid;gap:14px;max-width:760px}
.thead h1{font:600 clamp(30px,5vw,48px)/1.08 var(--display);letter-spacing:-.025em;margin:0;text-wrap:balance}
.thead .lede{color:var(--text-secondary);font-size:17px;line-height:1.6;margin:0;max-width:62ch}
.thead .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.kicker{font:400 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--app);margin:0}
.crumbs{color:var(--text-secondary);text-decoration:none;font-size:14px}
.crumbs:hover{color:var(--text-primary)}
.tool h2{font:600 22px/1.2 var(--display);letter-spacing:-.01em;margin:0 0 14px}
.tnote{color:var(--text-secondary);font-size:13.5px;line-height:1.6;margin:12px 0 0}
.tnote a,.qcard a,.tcta a:not(.btn),.bp a{color:var(--text-primary)}
.score{font:400 13px/1 var(--mono);letter-spacing:.06em;color:var(--app);margin:4px 0 0}

/* Section quiz */
.qlist{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.qcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:12px;align-content:start;min-width:0}
.qcard .eyebrow{font:400 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0}
.qcard h3{font:500 17px/1.4 var(--body);margin:0;text-wrap:pretty}
.opts{display:grid;gap:8px}
.opt{text-align:left;font:400 15px/1.35 var(--body);color:var(--text-primary);background:rgba(10,15,27,.45);border:1px solid var(--line-strong);border-radius:12px;padding:11px 14px;cursor:pointer;min-height:44px;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}
.opt:hover:not(:disabled){border-color:var(--app)}
.opt:focus-visible{outline:2px solid var(--app);outline-offset:2px}
.opt:disabled{cursor:default}
.opt.right{border-color:#8fd6a8;background:rgba(143,214,168,.14)}
.opt.wrong{border-color:#f08a8a;background:rgba(240,138,138,.12)}
.qcard details summary{cursor:pointer;color:var(--text-secondary);font-size:14px}
.qcard details p{margin:10px 0 0;line-height:1.6;color:var(--text-primary)}
.qcard .src{font-size:13px}

/* Blueprint and planner tables */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.bp{width:100%;border-collapse:collapse;font-size:15px}
.bp th,.bp td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bp th{font:400 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.bp tr:last-child td{border-bottom:0}
.bp .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bp tr.rev td{color:var(--text-secondary)}
.blueprint{display:grid;gap:4px}
.tgroup h4{font:500 15px/1.3 var(--body);margin:14px 0 4px}
.tgroup p{color:var(--text-secondary);margin:0;line-height:1.6;max-width:80ch}

/* Planner and calculator */
.planner{display:grid;gap:16px;max-width:820px}
.inputs{display:flex;flex-wrap:wrap;gap:14px}
.inputs label,.trip label{display:grid;gap:6px;font-size:13px;color:var(--text-secondary);min-width:0}
.inputs input,.inputs select,.trip input{font:400 16px/1.2 var(--body);color:var(--text-primary);background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;padding:11px 12px;min-height:44px;color-scheme:dark}
.inputs input:focus-visible,.inputs select:focus-visible,.trip input:focus-visible{outline:2px solid var(--app);outline-offset:1px}
.result{display:grid;gap:14px}
.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.stats>div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:6px}
.stats .n{font:600 34px/1 var(--display);letter-spacing:-.02em;color:var(--app);font-variant-numeric:tabular-nums}
.stats .n.over{color:#f08a8a}
.stats span:not(.n){color:var(--text-secondary);font-size:14px;line-height:1.45}
.hint{margin:0;color:var(--text-secondary);line-height:1.6}
.big{font:500 18px/1.4 var(--body);margin:0}
.trips{display:grid;gap:10px}
.trip{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.trip .rm{background:none;border:0;color:var(--text-secondary);font:400 14px/1 var(--body);padding:12px 6px;min-height:44px;cursor:pointer;text-decoration:underline}
.trip .rm:hover{color:var(--text-primary)}

/* Call to action */
.tcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-radius:18px;border:1px solid color-mix(in srgb,var(--app) 45%,transparent);background:color-mix(in srgb,var(--app) 10%,var(--panel))}
.tcta p{margin:0;max-width:60ch;line-height:1.6}

@media (prefers-reduced-motion:reduce){.opt{transition:none}}

#add{justify-self:start}
.bp td.when{white-space:nowrap}
