:root{--ink:#243832;--muted:#53685f;--green:#176b56;--paper:#f6f6ef;--line:#dce4dc;--blue:#235c89;--blue-tint:#edf5fb;--gold:#f5e5b2}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft JhengHei","PingFang TC",system-ui,sans-serif;font-size:16px;line-height:1.65}
a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #966500;outline-offset:4px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1200px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:700}.brand-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green);color:#fff;font-family:serif;font-size:25px;flex:none}
.brand small{display:block;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:.1em}nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}nav a{color:var(--muted);padding:8px 0}nav [aria-current="page"]{color:var(--green);border-bottom:2px solid var(--green);font-weight:700}
main{max-width:1200px;margin:auto;padding:28px 28px 32px}.intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--green);font-weight:700;margin:0 0 5px}
h1{font-size:34px;line-height:1.35;margin:0 0 6px;letter-spacing:.03em}.intro p:last-child{margin:0;color:var(--muted);font-size:14px}.preview-badge{background:#fff3cd;color:#654b0e;border:1px solid #c9a952;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:700;flex:none}.preview-badge small{display:block;font-weight:400}
.search-panel{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}.query-grid{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(190px,1.1fr) auto;gap:14px;align-items:end}
.field{min-width:0}label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}label small{font-size:11px;color:var(--muted);font-weight:400}input,select{width:100%;min-width:0;min-height:46px;padding:9px 12px;border:1px solid #b7c8bf;border-radius:7px;background:#fcfdfa;color:var(--ink)}
.primary{min-height:46px;padding:10px 22px;border:0;border-radius:7px;background:var(--green);color:#fff;font-weight:700}.primary:hover{background:#0d503e}.hint{margin:12px 0 0;font-size:12px;color:var(--muted)}.hint strong{color:var(--ink)}
.results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:23px 0 12px}.results-head h2{font-size:20px;margin:0}.results-head p{font-size:12px;color:var(--muted);margin:3px 0 0}.state-tag{font-size:12px;color:var(--blue);border:1px solid #b8d0e3;background:var(--blue-tint);border-radius:20px;padding:4px 10px}
.collocation-workspace{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:22px;align-items:start}.collocation-list,.context-reader{min-width:0;background:#fff;border:1px solid #d9e0e7;border-radius:12px;padding:18px 20px}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}h3{font-size:17px;margin:0}.panel-heading span{font-size:12px;color:var(--muted)}
table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;font-variant-numeric:tabular-nums}caption{text-align:left;font-size:12px;color:var(--muted);padding:0 0 10px}th,td{padding:8px 6px;border-bottom:1px solid #e7ecf1;text-align:right}th{color:var(--muted);font-size:12px;font-weight:500}th:first-child,td:first-child{width:12%;text-align:left}th:nth-child(2),td:nth-child(2){width:34%;text-align:left}th:nth-child(3){width:28%}
.word-button{min-height:42px;border:0;background:transparent;color:var(--blue);padding:5px 2px;text-decoration:underline;text-underline-offset:4px}.selected{background:var(--blue-tint)}.selected td:first-child{border-left:3px solid var(--blue)}.selected .word-button{font-weight:700}.selected-note{font-size:11px;display:block;color:var(--blue)}.table-note{font-size:11px;color:var(--muted);margin:11px 0 0}
.context-selection{margin:0 0 12px;padding:9px 12px;background:var(--blue-tint);border-left:3px solid var(--blue);font-size:13px;color:#234d6c}.example{padding:12px 0;border-bottom:1px solid #e7ecf1}.example:last-child{border:0;padding-bottom:0}.example p{font-size:17px;line-height:1.9;margin:4px 0 0;overflow-wrap:anywhere}.example small{font-size:11px;color:var(--muted)}mark{background:var(--gold);color:var(--ink);border-radius:3px;padding:1px 2px}.collocate{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:4px}.legend{font-size:11px;color:var(--muted);margin:0 0 2px}
.initial-state{display:flex;gap:20px;align-items:center;border:1px dashed #b9c9be;border-radius:12px;padding:18px 22px;margin-top:22px;background:#fafbf7}.initial-illustration{display:flex;align-items:center;gap:5px;flex:none;color:var(--green)}.tile{display:grid;place-items:center;width:40px;height:45px;border:1px solid #b9c9be;background:#fff;border-radius:6px;font-size:14px}.tile.target{background:#edf4ed;border-color:var(--green);font-weight:700}.initial-state h2{font-size:15px;margin:0 0 3px}.initial-state p{font-size:12px;color:var(--muted);margin:0}.initial-state small{font-size:11px;color:var(--muted)}
footer{max-width:1144px;margin:auto;border-top:1px solid var(--line);padding:18px 0 24px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}footer p{margin:0}footer a{margin-left:16px}.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:1000px){.query-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.target-field{grid-column:1/-1}.primary{width:100%}.intro{align-items:flex-start}.preview-badge{flex-shrink:1}footer{margin:0 28px}}
@media(max-width:760px){.header-inner{padding:16px 20px;flex-wrap:wrap;gap:12px}.brand{font-size:19px}.brand-symbol{width:36px;height:36px}nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}main{padding:22px 16px 28px}.intro{display:block;margin-bottom:18px}h1{font-size:28px}.intro p:last-child{font-size:13px}.preview-badge{display:inline-block;margin-top:12px}.preview-badge small{display:inline;margin-left:6px}.search-panel{padding:18px 16px}.query-grid{gap:14px 12px}.order-field{grid-column:1/-1}.primary{grid-column:1/-1}.hint{line-height:1.8}.results-head{align-items:flex-start;margin-top:22px}.results-head h2{font-size:18px}.state-tag{flex:none;font-size:11px}.collocation-workspace{grid-template-columns:minmax(0,1fr);gap:16px}.collocation-list,.context-reader{padding:16px}.example p{font-size:16px}.initial-state{padding:18px 16px;gap:12px;align-items:flex-start;flex-direction:column}.initial-illustration .tile{width:36px;height:38px}footer{margin:0 16px;padding:18px 0;display:block;font-size:11px}footer p+ p{margin-top:8px}footer a{margin:0 16px 0 0}}
.collocation-workspace{margin:0;padding:0}.collocation-list{max-height:min(72vh,760px);overflow:auto;position:sticky;top:12px}.context-panel{max-height:min(72vh,760px);overflow:auto;padding-right:4px;outline:none}.ctx-link{min-height:42px;border:0;background:transparent;color:var(--blue);padding:5px 2px;text-decoration:underline;text-underline-offset:4px}.ctx-link.is-selected{font-weight:700}.collocation-table tr.is-selected{background:var(--blue-tint)}.collocation-table tr.is-selected td:first-child{border-left:3px solid var(--blue)}.query-nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:12px 0}.query-nav button,.secondary{display:inline-block;min-height:42px;padding:8px 14px;border:1px solid #b7c8bf;border-radius:7px;background:#fff;color:var(--green);font:inherit}.reader-hint{font-size:14px;color:var(--muted);padding:12px 0}.query-error{padding:16px;border:1px solid #e8c4b4;border-radius:10px;background:#fff1eb;color:#933d20;overflow-wrap:anywhere}
.context-panel .ctx-line{background:transparent;border-left:0;padding:12px 0;margin:0;border-bottom:1px solid #e7ecf1}.context-panel .kwic-target{background:var(--gold);color:var(--ink);border-bottom:0}.context-panel .kwic-collocate{background:transparent;color:var(--blue);border-bottom:0;text-decoration:underline;text-underline-offset:4px}.context-panel .kwic-target.kwic-collocate{background:var(--gold);color:var(--blue)}
@media(max-width:760px){.collocation-list{position:static;max-height:42vh}.context-panel{max-height:none;min-height:140px}.query-nav{justify-content:flex-start}}
