@font-face{font-family:TradeSans;src:local("Pretendard"),local("Noto Sans KR"),local("맑은 고딕");font-display:swap}
:root{--ink:#173442;--muted:#607982;--paper:#f2f7f9;--surface:#fff;--accent:#156ca0;--pale:#e4f0f7;--line:#cfdee5;--mono:"Cascadia Code","Consolas",monospace;--sans:TradeSans,"Malgun Gothic",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);word-break:keep-all;overflow-wrap:break-word}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:3px solid var(--accent)}button{cursor:pointer}a{color:var(--accent)}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}.skip{position:absolute;top:-100px;padding:14px;background:white;z-index:10}.skip:focus{top:0}
.masthead{max-width:1560px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 40px}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;color:#173442;font-size:25px;font-weight:800;letter-spacing:-1px}.wordmark svg{width:40px;height:40px}.wordmark small{display:block;font-size:11px;letter-spacing:3px;font-weight:500;margin-top:2px}.masthead-note{font-size:13px;line-height:1.6;margin:0;color:#64777d}.masthead-note strong{color:#173442;font-weight:600}.session-note{position:relative;padding-left:17px;font-size:12px;color:#42645a;line-height:1.7}.session-note small{display:block;font-size:11px;color:#6b7c80}.session-dot{position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:100%;background:#3f8873}
.workspace-tabs{display:flex;justify-content:center;gap:4px;overflow-x:auto;scrollbar-width:thin;padding:0 28px;background:#fff;border-top:1px solid #e0e8ec;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.workspace-tabs button{flex:1 0 auto;max-width:175px;background:transparent;border:0;border-bottom:3px solid transparent;padding:19px 16px 16px;font-size:14px;font-weight:650;color:#5a707c;white-space:nowrap}.workspace-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);background:var(--pale)}
body[data-concept=vessel]{--accent:#006982;--paper:#edf5f8;--pale:#dff1f6}body[data-concept=customs]{--accent:#176750;--paper:#eff5f1;--pale:#e0eee6;--line:#ccdfd2;--ink:#183f31;--muted:#66796e}body[data-concept=pickup]{--accent:#af4d13;--paper:#f5f1ec;--pale:#fae9d8;--line:#e0d7cb;--ink:#373b3b;--muted:#74766d}body[data-concept=ports]{--accent:#046f80;--paper:#eaf3f5;--pale:#d9ecf0;--line:#c9e0e5;--ink:#143e4d}body[data-concept=tariffs]{--accent:#67418b;--paper:#f5f2f8;--pale:#eee5f7;--line:#ded3e8;--ink:#332440}body[data-concept=knowledge]{--accent:#315aae;--paper:#f4f6fc;--pale:#e8edf9;--line:#d7dff1;--ink:#253854}body[data-concept=bulk]{--accent:#3563ac;--paper:#edf1f8;--pale:#e2e9f6;--line:#c9d4e9;--ink:#20395d}
#workspace{min-height:calc(100vh - 216px)}.embedded-screen{display:block;border:0;width:100%;height:calc(100vh - 159px);min-height:650px;background:white}.workspace-page{max-width:1260px;margin:auto;padding:44px 40px 62px}.page-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,370px);gap:45px;align-items:end;margin-bottom:32px}.overline{font-family:var(--mono);color:var(--accent);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 11px}.page-intro h1{font-size:clamp(27px,3.2vw,40px);letter-spacing:-1.9px;line-height:1.4;margin:0;font-weight:750}.page-intro p:last-child{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.page-intro .emphasis{color:var(--accent)}
.work-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:26px;align-items:start}.form-panel{background:var(--surface);border:1px solid var(--line);padding:27px;border-radius:5px;box-shadow:0 5px 18px #15334605}.form-panel h2{font-size:18px;margin:0 0 22px}.field{display:block;margin-bottom:18px;font-size:13px;font-weight:650}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;margin-top:8px;border:1px solid var(--line);border-radius:3px;padding:12px;background:#fff;color:var(--ink)}.field textarea{resize:vertical;line-height:1.7}.field small{display:block;font-size:11px;line-height:1.7;font-weight:400;color:var(--muted);margin-top:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.primary{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:3px;padding:13px 21px;font-weight:700;min-height:46px}.secondary{color:var(--accent);border:1px solid var(--line);background:white;border-radius:3px;padding:11px 16px;min-height:44px}.form-panel>.primary{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.quiet{font-size:12px;color:var(--muted);line-height:1.75}.form-status{font-size:13px;line-height:1.7;margin-top:18px;min-height:22px;color:var(--accent)}.form-status[data-error=true]{color:#a73831}.empty-state{min-height:320px;border:1px dashed var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:45px;background:#ffffff70}.empty-state strong{font-size:20px;margin-top:24px}.empty-state p{font-size:13px;line-height:1.85;max-width:330px;color:var(--muted)}.empty-state svg{width:110px;height:75px;stroke:var(--accent);fill:none;stroke-width:1.5;opacity:.65}
.result-card{background:white;border:1px solid var(--line);padding:27px;margin-bottom:18px;border-radius:4px}.result-card h2{font-size:22px;margin:9px 0 20px;line-height:1.45}.result-topline{display:flex;justify-content:space-between;gap:15px;align-items:center}.record-ref{font-family:var(--mono);font-size:13px;color:var(--muted);overflow-wrap:anywhere}.status-label{display:inline-block;padding:5px 9px;border:1px solid currentColor;font-size:11px;color:var(--accent);font-weight:650}.status-label.uncertain{color:#85673a}.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 0}.facts>div{border-top:1px solid var(--line);padding:16px 0}.facts dt{font-size:11px;color:var(--muted);margin-bottom:7px}.facts dd{font-size:15px;margin:0;line-height:1.6;overflow-wrap:anywhere}.source-line{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.source-line a{font-weight:600}.record-rule{height:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.pickup-rail{display:flex;gap:0;margin:26px 0}.pickup-stage{flex:1;padding:13px;border-top:3px solid var(--line);font-size:12px;background:var(--paper);line-height:1.8}.pickup-stage.is-actual{border-top-color:var(--accent);background:var(--pale)}.pickup-stage strong{display:block}.pickup-stage small{color:var(--muted)}
.port-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.port-picker{display:grid;gap:5px}.port-picker button{text-align:left;background:#ffffff70;border:1px solid transparent;padding:14px 17px;color:var(--ink);font-size:13px}.port-picker button.is-active{background:var(--accent);color:white}.port-signal{background:#143e4d;color:#fff;padding:32px 36px;border-radius:5px;position:relative;overflow:hidden}.port-signal::after{content:"";position:absolute;right:-60px;top:-80px;width:270px;height:270px;border:1px solid #ffffff15;border-radius:50%;box-shadow:0 0 0 40px #ffffff05,0 0 0 80px #ffffff04;pointer-events:none}.port-signal .overline{color:#9fced5}.port-signal h2{font-size:28px;margin:12px 0}.port-signal .quiet{color:#a9cbd1}.activity-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:30px}.activity-grid strong{font-family:var(--mono);font-size:30px;font-weight:500}.activity-grid span{display:block;font-size:11px;color:#aad0d5;margin-top:8px}.source-stack{display:grid;gap:15px;margin-top:20px}.news-item{display:block;background:white;border-left:3px solid var(--line);padding:17px 20px;text-decoration:none;font-size:14px;line-height:1.7;color:var(--ink)}.news-item small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.tariff-measure{border-top:1px solid var(--line);padding:18px 0}.tariff-measure h3{font-size:14px;margin:0 0 8px}.tariff-rate{font-family:var(--mono);font-size:26px;color:var(--accent)}.tariff-measure p{font-size:12px;line-height:1.75;color:var(--muted);margin-bottom:0}.directory-search{display:flex;gap:12px;margin-bottom:25px}.directory-search input{flex:1;border:1px solid var(--line);padding:14px;background:white;min-width:0}.directory{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resource-card{padding:26px 28px;background:white;border-top:3px solid var(--accent);border-bottom:1px solid var(--line)}.resource-card .overline{font-size:10px}.resource-card h2{font-size:19px;margin:10px 0}.resource-card p{font-size:13px;line-height:1.85;color:var(--muted);min-height:48px}.resource-card a{text-decoration:none;font-size:12px;font-weight:650}.resource-card .resource-links{display:flex;flex-wrap:wrap;gap:20px}.directory-note{border-left:3px solid var(--accent);padding:15px 20px;background:var(--pale);font-size:13px;line-height:1.8;margin-top:28px}
.bulk-controls{display:grid;grid-template-columns:minmax(270px,1fr) 1fr;gap:24px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed #7b96bc;background:#ffffff80;padding:35px;min-height:215px;position:relative}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.drop-zone:focus-within{outline:3px solid var(--accent)}.drop-zone b{font-size:20px}.drop-zone span{font-size:12px;color:var(--muted)}.bulk-config{background:white;border:1px solid var(--line);padding:24px}.progress-track{height:5px;background:var(--line);margin-top:22px}.progress-track>span{display:block;height:100%;background:var(--accent);width:0;transition:width .25s}.mass-results{margin-top:25px;display:grid;gap:12px}.mass-row{background:#fff;border:1px solid var(--line);padding:18px 22px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:15px;align-items:start}.mass-row h3{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere;margin:0}.mass-row p{font-size:13px;margin:0;line-height:1.7}.mass-row small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.mass-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.coverage-box{margin-top:25px;background:#ffffffa0;border:1px solid var(--line);padding:18px 24px;font-size:13px;line-height:1.8}.coverage-box summary{cursor:pointer;font-weight:650}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:16px}.coverage-item{padding:13px;background:white;border:1px solid var(--line)}.coverage-item h3{font-size:14px;margin:0 0 5px}.coverage-item p{font-size:11px;color:var(--muted);margin:4px 0}.workspace-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;max-width:1560px;margin:auto;padding:22px 40px;color:#73858c;border-top:1px solid var(--line);font-size:11px}.workspace-footer span{font-weight:700;color:#294959}.workspace-footer button{background:transparent;border:0;color:#607982;text-decoration:underline;font-size:11px}
@media(max-width:900px){.masthead{padding:20px 24px}.masthead-note{display:none}.workspace-tabs{justify-content:flex-start;padding:0 12px}.workspace-tabs button{padding:17px 13px;font-size:13px}.workspace-page{padding:32px 24px 45px}.work-grid{grid-template-columns:300px minmax(0,1fr);gap:18px}.page-intro{gap:25px}.port-layout{grid-template-columns:210px minmax(0,1fr)}.activity-grid{gap:12px}.activity-grid strong{font-size:25px}}
@media(max-width:680px){.masthead{padding:18px}.wordmark{font-size:22px}.wordmark svg{width:32px}.wordmark small{font-size:10px;letter-spacing:2px}.session-note{font-size:10px}.session-note small{display:none}.workspace-tabs{padding:0 7px}.workspace-page{padding:27px 18px 38px}.page-intro,.work-grid,.port-layout,.bulk-controls,.directory{grid-template-columns:1fr}.page-intro{gap:14px;margin-bottom:24px}.page-intro h1{font-size:29px}.page-intro p:last-child{font-size:12px}.form-panel,.result-card{padding:22px}.empty-state{min-height:220px;padding:28px}.empty-state svg{width:90px;height:50px}.port-picker{display:flex;overflow:auto;gap:5px;margin-bottom:3px}.port-picker button{white-space:nowrap;flex-shrink:0;padding:11px 13px}.port-signal{padding:25px}.activity-grid{gap:12px}.activity-grid strong{font-size:24px}.activity-grid span{font-size:10px}.coverage-grid{grid-template-columns:1fr}.mass-row{grid-template-columns:1fr;gap:10px}.embedded-screen{height:calc(100vh - 132px);min-height:570px}.workspace-footer{padding:18px;gap:10px}.workspace-footer p{display:none}.resource-card{padding:23px}.facts{gap:0 15px}.facts dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.port-layout>*{min-width:0}.port-picker{max-width:100%}.work-grid>*,.page-intro>*{min-width:0}

/* ── 공통: 입력 포커스 · 요약 포커스 (전 탭) ── */
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.directory-search input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
summary:focus-visible,.drop-zone input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.field input::placeholder,.directory-search input::placeholder{color:#7b8a90;opacity:1}
.facts dd,.tariff-rate,.activity-grid strong,.record-ref{font-variant-numeric:tabular-nums}

/* ── 관세청: 신고서 양식 + 수리 기록 ── */
body[data-concept=customs] .form-panel,body[data-concept=customs] .result-card{--pad:27px;padding:var(--pad);border:1px solid var(--ink);border-radius:0;box-shadow:none;background:#fff}
body[data-concept=customs] .form-panel{counter-reset:cfield}
body[data-concept=customs] .form-panel h2{margin:calc(var(--pad)*-1) calc(var(--pad)*-1) 20px;padding:14px var(--pad);border-bottom:3px double var(--ink);background:var(--pale);font-size:16px;letter-spacing:-.3px}
body[data-concept=customs] .form-panel .field{counter-increment:cfield;padding-bottom:16px;border-bottom:1px solid var(--line)}
body[data-concept=customs] .form-panel .field::before{content:counter(cfield,decimal-leading-zero);font:600 10px var(--mono);color:var(--accent);margin-right:8px;letter-spacing:1px}
body[data-concept=customs] .field input{border-radius:0;border-color:var(--line);border-bottom:2px solid var(--ink);background:#fbfdfc}
body[data-concept=customs] #reference,body[data-concept=pickup] #reference{font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase}
body[data-concept=customs] #reference::placeholder,body[data-concept=pickup] #reference::placeholder{font-family:var(--sans);letter-spacing:0}
body[data-concept=customs] .primary{border-radius:0}
body[data-concept=customs] .result-topline{margin:calc(var(--pad)*-1) calc(var(--pad)*-1) 0;padding:12px var(--pad);border-bottom:3px double var(--ink);background:var(--pale)}
body[data-concept=customs] .record-ref{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:.5px}
body[data-concept=customs] .status-label{border:2px solid currentColor;padding:5px 11px;font-size:12px;font-weight:800;letter-spacing:1px;transform:rotate(-2deg);background:#fff}
body[data-concept=customs] .result-card h2{margin-top:22px}
body[data-concept=customs] .record-rule{height:0;border-bottom:0;border-top:1px dashed var(--line);margin:18px 0 0}
body[data-concept=customs] .declaration-record h3{margin:22px 0 0;padding:8px 12px;font-size:13px;background:var(--pale);border-left:4px solid var(--accent)}
body[data-concept=customs] .facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
body[data-concept=customs] .facts>div{border-top:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 14px}
body[data-concept=customs] .facts dt{font-weight:650;letter-spacing:-.2px}
body[data-concept=customs] .empty-state{border:1px solid var(--line);border-top:3px double var(--ink);background:#fff}

/* ── 컨테이너 픽업: 장비 이동 레일 ── */
body[data-concept=pickup] .form-panel,body[data-concept=pickup] .result-card{border-radius:0;border-top:4px solid var(--accent);box-shadow:none}
body[data-concept=pickup] .field input{border-radius:0;background:#fffdfa}
body[data-concept=pickup] .primary{border-radius:0}
body[data-concept=pickup] .record-ref{font-size:15px;font-weight:600;color:var(--ink)}
body[data-concept=pickup] .pickup-rail{counter-reset:stage;margin:30px 0 22px}
body[data-concept=pickup] .pickup-stage{counter-increment:stage;position:relative;background:none;border-top:0;padding:40px 16px 0 0;font-size:13px}
body[data-concept=pickup] .pickup-stage::before{content:counter(stage);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;border:2px solid #b9ae9f;background:#fff;display:grid;place-items:center;font:700 11px var(--mono);color:var(--muted);z-index:1}
body[data-concept=pickup] .pickup-stage::after{content:"";position:absolute;left:30px;right:4px;top:12px;height:3px;background:repeating-linear-gradient(90deg,#c9bfb1 0 8px,transparent 8px 14px)}
body[data-concept=pickup] .pickup-stage:last-child::after{display:none}
body[data-concept=pickup] .pickup-stage.is-actual::before{background:var(--accent);border-color:var(--accent);color:#fff}
body[data-concept=pickup] .pickup-stage.is-actual:has(+ .is-actual)::after{background:var(--accent)}
body[data-concept=pickup] .pickup-stage strong{font-size:14px;margin-bottom:3px}
body[data-concept=pickup] .pickup-stage small{display:block;font-size:11px;line-height:1.6;margin-top:3px}
body[data-concept=pickup] .facts dd{font-family:var(--mono);font-size:14px}
body[data-concept=pickup] .pickup-now{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0;border:1px solid var(--line);background:var(--paper)}
body[data-concept=pickup] .pickup-now>div{padding:12px 14px;border-right:1px solid var(--line)}
body[data-concept=pickup] .pickup-now>div:last-child{border-right:0}
body[data-concept=pickup] .pickup-now dt{font-size:11px;color:var(--muted);margin-bottom:4px}
body[data-concept=pickup] .pickup-now dd{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
body[data-concept=pickup] .empty-state{border-style:solid;border-top:4px solid var(--line);background:#fffdfa}

/* ── 포트 혼잡: 관제 콘솔 ── */
body[data-concept=ports] .port-layout>aside{background:#10313c;color:#e6f3f5;padding:20px;border-radius:4px;align-self:start;position:sticky;top:72px}
body[data-concept=ports] .port-layout>aside .field{color:#e6f3f5}
body[data-concept=ports] .port-layout>aside .field input{background:#0b252e;border:1px solid #3a6673;color:#fff;border-radius:2px}
body[data-concept=ports] .port-layout>aside .field input::placeholder{color:#94b8bf}
body[data-concept=ports] .port-layout>aside .secondary{width:100%;background:transparent;border:1px solid #5a8f9b;color:#cdeef2;border-radius:2px}
body[data-concept=ports] .port-layout>aside .quiet{color:#a9cbd1}
body[data-concept=ports] .port-layout>aside :focus-visible{outline:3px solid #7fe0ea;outline-offset:2px}
body[data-concept=ports] .port-picker{gap:2px;margin-top:18px;padding-top:14px;border-top:1px solid #ffffff24}
body[data-concept=ports] .port-picker button{background:transparent;color:#d5eaee;border:0;border-left:3px solid transparent;border-radius:0;padding:11px 14px}
body[data-concept=ports] .port-picker button:hover{background:#ffffff0f}
body[data-concept=ports] .port-picker button.is-active{background:#1c4b58;border-left-color:#5fd0dc;color:#fff;font-weight:700}
body[data-concept=ports] #formStatus{font-family:var(--mono);font-size:12px;margin:0 0 12px}
body[data-concept=ports] .port-signal{background-color:#143e4d;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:24px 24px}
body[data-concept=ports] .activity-grid>div{border-top:1px solid #ffffff2e;padding-top:12px}
body[data-concept=ports] .result-card{border-left:3px solid var(--accent);border-radius:0}
body[data-concept=ports] .source-stack{gap:0;border-top:1px solid var(--line)}
body[data-concept=ports] .news-item{border-left:0;border-bottom:1px solid var(--line);padding:14px 18px 14px 20px;position:relative}
body[data-concept=ports] .news-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--accent)}
body[data-concept=ports] .news-item:hover{background:var(--pale)}
body[data-concept=ports] .news-item small{font-family:var(--mono);letter-spacing:.2px}

/* ── 국가별 관세: 세율 비교표 ── */
body[data-concept=tariffs] .form-panel{border-radius:0;border-left:4px solid var(--accent);box-shadow:none}
body[data-concept=tariffs] #hsCode{font-family:var(--mono);font-size:17px;letter-spacing:1px}
body[data-concept=tariffs] #originCountry,body[data-concept=tariffs] #otherCountry{font-family:var(--mono);text-transform:uppercase;letter-spacing:1px}
body[data-concept=tariffs] .field-row{padding:14px 0 0;border-top:1px dashed var(--line)}
body[data-concept=tariffs] .record-ref{font-size:18px;font-weight:600;color:var(--accent);letter-spacing:1px}
body[data-concept=tariffs] .result-card{border-radius:0}
body[data-concept=tariffs] .tariff-choice{display:block;width:100%;text-align:left;margin:0 0 6px;border-left:3px solid var(--accent);border-radius:0;line-height:1.6}
body[data-concept=tariffs] .tariff-choice:hover{background:var(--pale)}
body[data-concept=tariffs] .tariff-measure{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px;padding:18px 16px;margin:0 -16px}
body[data-concept=tariffs] .tariff-measure>*{grid-column:1}
body[data-concept=tariffs] .tariff-measure:nth-of-type(odd){background:#faf8fc}
body[data-concept=tariffs] .tariff-measure h3{font-size:15px}
body[data-concept=tariffs] .tariff-measure>.tariff-rate{grid-column:2;grid-row:1/span 3;align-self:start;justify-self:end;text-align:right;min-width:120px;max-width:260px;padding:8px 14px;font-size:28px;line-height:1.3;background:var(--pale);border-right:4px solid var(--accent);overflow-wrap:anywhere}
body[data-concept=tariffs] .empty-state{border-style:solid;background:repeating-linear-gradient(#fff 0 47px,var(--line) 47px 48px)}

/* ── 무역 지식: 공공기관 자료실 + 무역교육영상 ── */
body[data-concept=knowledge]{--muted:#46566c}
body[data-concept=knowledge] .directory-search{position:sticky;top:58px;z-index:2;background:var(--paper);padding:10px 0;margin:34px 0 10px}
body[data-concept=knowledge] .directory-search input{font-size:17px;padding:15px 16px;border:1px solid var(--line);border-bottom:2px solid var(--ink);border-radius:3px;background:#fff;color:var(--ink)}
body[data-concept=knowledge] .shelf{margin-top:30px}
body[data-concept=knowledge] .shelf-title{font-size:15px;font-weight:750;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--ink);letter-spacing:-.3px}
body[data-concept=knowledge] .directory{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
body[data-concept=knowledge] .resource-card{display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;padding:20px 22px;background:#fff}
body[data-concept=knowledge] .resource-card h3{font-size:18px;line-height:1.45;margin:8px 0 6px;color:var(--ink)}
body[data-concept=knowledge] .resource-card p{font-size:14px;line-height:1.75;color:var(--muted);min-height:0;margin:0 0 14px}
body[data-concept=knowledge] .resource-card .domain-chip{align-self:flex-start;margin:0;font:600 12px/1.5 var(--mono);color:var(--accent);background:var(--pale);padding:3px 8px;border-radius:2px;letter-spacing:.2px}
body[data-concept=knowledge] .resource-card .resource-links{margin-top:auto;gap:8px}
body[data-concept=knowledge] .resource-card .resource-links a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--accent);border-radius:3px;background:#fff;color:var(--accent);font-size:14px;font-weight:700}
body[data-concept=knowledge] .resource-card .resource-links a:hover{background:var(--accent);color:#fff}
body[data-concept=knowledge] .directory-note{border-left:0;border-top:3px double var(--ink);background:#fff;color:var(--ink)}
.lesson-shelf{background:#16233d;color:#eef2fb;border-radius:6px;padding:28px 30px 30px}
.lesson-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,380px);gap:8px 40px;align-items:end;margin-bottom:22px}
.lesson-head .overline{grid-column:1/-1;color:#9fb8ec;margin:0}.lesson-head h2{margin:0;font-size:24px;letter-spacing:-.8px}.lesson-head .quiet{margin:0;color:#c3cfe6;font-size:13px}
.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lesson h3{font-size:17px;margin:14px 0 6px;color:#fff}.lesson p{font-size:13px;line-height:1.75;color:#c9d4ea;margin:0}
.lesson-screen{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#0c1528;border:1px solid #2f4470;display:flex;flex-direction:column;justify-content:space-between;padding:14px}
.lesson-screen::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 38px);pointer-events:none}
.lesson-mark{font:600 clamp(13px,1.35vw,17px)/1.45 var(--mono);color:#ffd27a;letter-spacing:.5px;word-break:keep-all}
.lesson-lang{position:relative;font:600 11px var(--mono);color:#9fb8ec;letter-spacing:.5px}
.lesson-mark{position:relative;flex:1;margin-top:8px}
.lesson-play{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 16px 9px 12px;border:0;border-radius:999px;background:#fff;color:#16233d;font-weight:750;font-size:14px;text-decoration:none}
.lesson-play svg{width:18px;height:18px;fill:currentColor}
.lesson-play:hover{background:#ffd27a}.lesson-play:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
.lesson-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── 탭 안 여러 건 조회 (공통) ── */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.batch-panel.is-inline{margin-top:34px;padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink)}
.batch-panel.is-inline .batch-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,520px);gap:6px 30px;align-items:end;margin-bottom:18px}
.batch-panel.is-inline .batch-head .overline{grid-column:1/-1;margin:0}.batch-panel.is-inline .batch-head h2{margin:0;font-size:20px}.batch-panel.is-inline .batch-head .quiet{margin:0;font-size:13px}
.batch-panel.is-inline .drop-zone{min-height:150px;padding:24px;border:2px dashed var(--line);background:var(--paper)}
.batch-panel.is-inline .drop-zone:hover{border-color:var(--accent)}
.batch-panel.is-inline .bulk-config{padding:18px;border:1px solid var(--line)}
.batch-panel.is-inline .mass-results:not(:empty){border:1px solid var(--line)}
.batch-panel.is-inline .mass-row{border:0;border-bottom:1px solid var(--line)}
.batch-report{margin-top:22px;padding:20px 22px;background:var(--pale);border-left:4px solid var(--accent);line-height:1.75}.batch-report h3{margin:6px 0 10px;font-size:18px;line-height:1.5}.batch-report p{margin:0 0 8px;font-size:14px}.batch-report ul{margin:6px 0 8px;padding-left:18px;font-size:13px;color:var(--muted)}
.file-label{font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;text-align:center}
.mass-row[data-state=ERROR] p,.mass-row[data-state=INVALID] p{color:#a73831}

/* ── 엑셀 일괄조회: 작업대 ── */
body[data-concept=bulk] .drop-zone{border:2px dashed #7b96bc;background-color:#f8fafd;background-image:linear-gradient(#e4eaf5 1px,transparent 1px),linear-gradient(90deg,#e4eaf5 1px,transparent 1px);background-size:22px 22px}
body[data-concept=bulk] .drop-zone:hover{border-color:var(--accent)}
body[data-concept=bulk] .drop-zone b{padding:6px 14px;background:#fff}
body[data-concept=bulk] #fileLabel{font-family:var(--mono);color:var(--ink);background:#fff;padding:3px 8px}
body[data-concept=bulk] .bulk-config{border-top:4px solid var(--ink)}
body[data-concept=bulk] .mass-actions{padding:12px;background:#fff;border:1px solid var(--line)}
body[data-concept=bulk] .primary,body[data-concept=bulk] .secondary{border-radius:2px}
body[data-concept=bulk] .progress-track{height:10px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#fff calc(10% - 1px) 10%),var(--pale)}
body[data-concept=bulk] .mass-results{gap:0;background:#fff;border:1px solid var(--line);border-top:2px solid var(--ink)}
body[data-concept=bulk] .mass-results:empty{display:none}
body[data-concept=bulk] .mass-row{border:0;border-bottom:1px solid var(--line);padding:12px 18px;grid-template-columns:200px minmax(0,1fr)}
body[data-concept=bulk] .mass-row:nth-child(even){background:#f6f8fc}
body[data-concept=bulk] .mass-row:last-child{border-bottom:0}
body[data-concept=bulk] .mass-row h3{font-size:14px}

@media(max-width:900px){
body[data-concept=customs] .facts{grid-template-columns:1fr 1fr}
.lesson-grid{grid-template-columns:1fr 1fr}
body[data-concept=tariffs] .tariff-measure>.tariff-rate{min-width:0;max-width:45%;font-size:24px}
}
@media(max-width:680px){
body[data-concept=customs] .form-panel,body[data-concept=customs] .result-card{--pad:20px}
body[data-concept=customs] .facts{grid-template-columns:1fr 1fr}
body[data-concept=customs] .status-label{transform:none}
body[data-concept=pickup] .pickup-rail{flex-direction:column}
body[data-concept=pickup] .pickup-now{grid-template-columns:1fr}
body[data-concept=pickup] .pickup-now>div{border-right:0;border-bottom:1px solid var(--line)}
body[data-concept=pickup] .pickup-now>div:last-child{border-bottom:0}
body[data-concept=pickup] .pickup-stage{padding:2px 0 20px 42px}
body[data-concept=pickup] .pickup-stage::after{left:12px;right:auto;top:30px;bottom:2px;width:3px;height:auto;background:repeating-linear-gradient(180deg,#c9bfb1 0 8px,transparent 8px 14px)}
body[data-concept=ports] .port-layout>aside{position:static;padding:16px}
body[data-concept=ports] .port-picker{display:flex;gap:4px}
body[data-concept=ports] .port-picker button{border-left:0;border-bottom:3px solid transparent}
body[data-concept=ports] .port-picker button.is-active{border-bottom-color:#5fd0dc}
body[data-concept=tariffs] .tariff-measure{grid-template-columns:1fr;margin:0 -12px;padding:16px 12px}
body[data-concept=tariffs] .tariff-measure>.tariff-rate{grid-column:1;grid-row:auto;justify-self:start;text-align:left;max-width:100%;font-size:24px;margin:4px 0}
body[data-concept=knowledge] .directory{grid-template-columns:1fr}
body[data-concept=knowledge] .resource-card{padding:18px}
body[data-concept=knowledge] .directory-search{top:50px}
.lesson-shelf{padding:22px 18px}.lesson-screen{aspect-ratio:2/1}.lesson-head{grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr;gap:22px}.lesson-mark{font-size:14px}
.batch-panel.is-inline{padding:18px}.batch-panel.is-inline .batch-head{grid-template-columns:1fr}
body[data-concept=bulk] .mass-row{grid-template-columns:1fr;gap:8px;padding:14px}
body[data-concept=bulk] .mass-actions{padding:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}}

.canal-label{margin:20px 0 8px;font-size:11px;color:#9fced5;letter-spacing:1px}.port-picker button[data-canal]{text-align:left;background:#ffffff70;border:1px solid transparent;padding:14px 17px;color:var(--ink);font-size:13px}.port-picker button[data-canal].is-active{background:var(--accent);color:white}

/* 포트 혼잡: 한국 항만 정박 대기 — 실측과 하한을 다른 표로 */
.wait-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.wait-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.wait-list li>span:first-child strong{display:block;font-size:14px}.wait-list li small{font-size:11px;color:var(--muted)}
.wait-list li>small{grid-column:1/-1}
.wait-value{font:600 18px var(--mono);color:var(--accent);text-align:right;white-space:nowrap}
body[data-concept=ports] .wait-card.is-open{border-left-color:#85673a}.wait-card.is-open .wait-value{color:#85673a}
/* 컨테이너 픽업: 인천 터미널 게이트 기록 */
.gate-stack{display:grid;gap:0}
.gate-card .gate-scope{font-size:13px;line-height:1.7;padding:10px 12px;background:var(--paper);border-left:3px solid #85673a;margin:0 0 14px}
.gate-events{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gate-events li{padding:12px 0 12px 18px;border-bottom:1px solid var(--line);position:relative;display:grid;gap:2px}
.gate-events li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;border-radius:50%;border:2px solid var(--line);background:#fff}
.gate-events li.is-actual::before{background:var(--accent);border-color:var(--accent)}
.gate-events strong{font-size:14px}.gate-events span{font:13px var(--mono);color:var(--ink)}.gate-events small{font-size:11px;color:var(--muted)}

/* ── 디자인 검수 0925: 확정/추정 한눈에 · 한글 머리표 · 관세 비교 슬롯 ── */
.overline.ko{font-family:var(--sans);font-weight:700;letter-spacing:.2px;text-transform:none;font-size:12px}
.record-sub{display:block;font:600 12px/1.6 var(--sans);color:var(--muted);letter-spacing:0;margin-top:2px}
.status-label.uncertain{background:#fbf6ec}
/* 일괄조회 행: 왼쪽 띠가 판정을 말한다 (확인=탭색 · 늦음=주황 · 보류=갈색 · 실패=빨강) */
.mass-row{border-left:4px solid var(--line)}
.mass-row[data-tone=ok]{border-left-color:var(--accent)}
.mass-row[data-tone=late]{border-left-color:#c2601f}.mass-row[data-tone=late]>div+div>p{color:#a04b12;font-weight:650}
.mass-row[data-tone=hold]{border-left-color:#b08a4a}.mass-row[data-tone=hold]>div+div>p{color:#7a5d2c}
.mass-row[data-state=ERROR],.mass-row[data-state=INVALID]{border-left-color:#c24a41}
body[data-concept=bulk] .mass-row,.batch-panel.is-inline .mass-row{border-left-width:4px;border-left-style:solid}
/* 국가별 관세: 요약 띠(일반 vs 협정) · 시행일 칩 · 최고 세율 국가 · 전 국가 비교표 */
.tariff-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--pale)}
.tariff-summary>div{padding:14px 16px;border-right:1px solid var(--line);min-width:0}
.tariff-summary>div:last-child{border-right:0}
.tariff-summary dt{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.2px}
.tariff-summary dd{margin:6px 0 2px;font:500 26px/1.2 var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tariff-summary small{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
.tariff-summary>div.is-missing dd{font-family:var(--sans);font-size:15px;font-weight:650;color:var(--muted)}
.tariff-summary>div:nth-child(3) dd{font-size:18px;color:var(--ink);font-family:var(--sans);font-weight:700}
.tariff-effective{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.tariff-effective span{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:2px;background:#fff;font:600 12px/1.5 var(--mono);color:var(--ink)}
body[data-concept=tariffs] .tariff-measure.is-preferential>.tariff-rate{background:#e7f3ea;border-right-color:#2f7a4f;color:#1f5e3b}
body[data-concept=tariffs] .tariff-measure.is-preferential h3::after{content:"협정 적용 시";margin-left:8px;font:600 11px/1 var(--sans);color:#1f5e3b;background:#e7f3ea;padding:3px 7px;border-radius:2px;vertical-align:middle}
.tariff-peak{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 20px;align-items:center;margin:24px 0 8px;padding:16px 20px;border:1px solid #e3c9a9;border-left:5px solid #b5541a;background:#fcf5ee}
.tariff-peak .overline{grid-column:1/-1;color:#8a3f0e;margin:0 0 4px}
.tariff-peak strong{font-size:20px;letter-spacing:-.4px}
.tariff-peak .tariff-rate{grid-row:2/span 2;color:#8a3f0e;font-size:30px}
.tariff-peak small{font-size:12px;color:var(--muted)}
.tariff-compare-wrap{overflow-x:auto;margin:16px 0 8px;border:1px solid var(--line)}
.tariff-compare{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.tariff-compare caption{text-align:left;padding:12px 14px;font-weight:750;font-size:14px;border-bottom:2px solid var(--ink);background:#fff}
.tariff-compare th,.tariff-compare td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tariff-compare thead th{font-size:11px;color:var(--muted);background:var(--paper);font-weight:700}
.tariff-compare tbody th{font-weight:700}
.tariff-compare td{font-family:var(--mono);font-variant-numeric:tabular-nums}
.tariff-compare td small{display:block;font:11px/1.5 var(--sans);color:var(--muted)}
.tariff-compare tr.is-peak th,.tariff-compare tr.is-peak td{background:#fcf5ee}
.tariff-compare tr.is-peak th::after{content:"최고";margin-left:8px;font:700 10px/1 var(--sans);color:#fff;background:#b5541a;padding:3px 6px;border-radius:2px;vertical-align:middle}
@media(max-width:680px){
.tariff-summary{grid-template-columns:1fr 1fr}.tariff-summary>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-right:0}.tariff-summary>div:nth-child(2){border-right:0}
.tariff-summary dd{font-size:22px}
.tariff-peak{grid-template-columns:1fr}.tariff-peak .tariff-rate{grid-row:auto}
.mass-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mass-actions button{width:100%;padding-left:8px;padding-right:8px}
}

/* ── 국가별 관세 0925b: 참고값(한국무역협회) vs 공식 원문 · 23개국 비교표 ── */
.ref-badge{display:inline-block;margin-left:8px;padding:2px 7px;border:1px dashed #a08c6a;border-radius:2px;background:#fbf6ec;color:#6f5a35;font:600 11px/1.5 var(--sans);letter-spacing:0;vertical-align:middle;text-transform:none}
.status-label.is-reference{color:#6f5a35;border-style:dashed;background:#fbf6ec}
.reference-banner{margin:14px 0 18px;padding:12px 16px;border:1px dashed #a08c6a;border-left:4px solid #a08c6a;background:#fbf6ec;color:#4e4030;font-size:13px;line-height:1.75}
.reference-banner strong{color:#3b2e1a}
body[data-concept=tariffs] .tariff-measure.is-reference>.tariff-rate{background:#fbf6ec;border-right-color:#a08c6a;border-right-style:dashed;color:#6f5a35}
body[data-concept=tariffs] .tariff-measure.is-reference h3{color:#4e4030}
.tariff-summary>div.is-reference dd{color:#6f5a35}.tariff-summary>div.is-reference{background:#fbf6ec}
body[data-concept=tariffs] .form-panel .compare-all{display:block;width:100%;margin-top:10px;text-align:left;line-height:1.4;padding:11px 14px}
body[data-concept=tariffs] .form-panel .compare-all small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
body[data-concept=tariffs] .form-panel .compare-all:hover{background:var(--pale)}
#tariffOverview:not(:empty){margin-top:26px}
.tariff-overview.is-reference{border-top:4px solid #a08c6a}
.tariff-overview .tariff-peak{margin-top:4px}
.tariff-overview .tariff-compare{min-width:760px}
.tariff-compare caption .ref-badge{margin-left:10px}
.tariff-compare th small{display:block;font:600 11px/1.5 var(--mono);color:var(--muted)}
.tariff-compare td.is-num b{font:500 16px/1.3 var(--mono);color:var(--ink)}
.tariff-compare tr.is-peak td.is-num:first-of-type b{color:#8a3f0e}
.tariff-compare td b{font-weight:600}
.peak-flag{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:2px;background:#b5541a;color:#fff;font:700 10px/1.5 var(--sans);letter-spacing:.2px}
.peak-flag.is-kr{background:#7a5d2c}
.cell-note{font-size:11px;color:var(--muted);line-height:1.6}
td .cell-note{display:block;margin-top:4px}
.cell-list{margin:0;padding-left:16px;font:12px/1.65 var(--sans);color:var(--ink)}
.cell-list b{color:#8a3f0e}
.tariff-schedule{margin-top:6px;font-size:12px}.tariff-schedule summary{cursor:pointer;color:var(--accent);font-weight:650}.tariff-schedule p{margin:6px 0 0;font:12px/1.7 var(--mono);color:var(--ink)}
.tariff-compare tr.is-unavailable th,.tariff-compare tr.is-unavailable td{color:var(--muted);background:var(--paper)}
@media(max-width:680px){
.tariff-overview .tariff-compare-wrap{overflow:visible;border:0}
.tariff-overview .tariff-compare{min-width:0;display:block}
.tariff-overview .tariff-compare caption{display:block;border:1px solid var(--line);border-bottom:2px solid var(--ink)}
.tariff-overview .tariff-compare thead{display:none}
.tariff-overview .tariff-compare tbody,.tariff-overview .tariff-compare tr{display:block}
.tariff-overview .tariff-compare tr{border:1px solid var(--line);border-top:0;padding:0 0 8px}
.tariff-overview .tariff-compare tr.is-peak{border-left:4px solid #b5541a}
.tariff-overview .tariff-compare th[scope=row]{display:block;padding:12px 14px 6px;font-size:15px}
.tariff-overview .tariff-compare td{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:6px 14px;border:0}
.tariff-overview .tariff-compare td::before{content:attr(data-label);font:700 11px/1.7 var(--sans);color:var(--muted)}
.tariff-overview .tariff-compare td[colspan]{grid-template-columns:1fr}
.tariff-overview .tariff-compare td.is-num b{font-size:15px}
}
.tariff-compare td{font-family:var(--sans)}.tariff-compare td.is-num b{font-family:var(--mono)}
.tariff-overview .tariff-compare tr.is-peak th::after{content:none}
.tariff-peak strong{grid-column:1;grid-row:2}.tariff-peak .tariff-rate{grid-column:2;grid-row:2/span 2;align-self:center}.tariff-peak small{grid-column:1;grid-row:3}
@media(max-width:680px){.tariff-peak strong,.tariff-peak .tariff-rate,.tariff-peak small{grid-column:1;grid-row:auto}}
.tariff-compare td .cell-note.is-plain{display:inline;font-size:13px;color:var(--muted)}
@media(max-width:680px){.tariff-overview .tariff-compare td>*{grid-column:2}.tariff-overview .tariff-compare td::before{grid-column:1;grid-row:1}.tariff-overview .tariff-compare td[colspan]>*{grid-column:1}}
/* 포트 혼잡: AIS 실측 대기 격자 + 전체 항구 목록(페이지 60개, 모바일 DOM 상한) — 2026-09-26 */
.wait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin:14px 0 16px}.wait-grid>div{border-top:1px solid var(--line);padding-top:10px;min-width:0}.wait-grid strong{display:block;font:600 22px var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;word-break:break-all}.wait-grid span{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}
.port-signal .quiet b{color:#fff;font-weight:600}
.port-directory{margin-top:4px}.port-directory .field{margin:0 0 6px}.port-directory select{width:100%;background:#0b252e;border:1px solid #3a6673;color:#fff;border-radius:2px;padding:9px 10px;font-size:13px}.port-directory .quiet{font-size:11px;margin:6px 0}
body[data-concept=ports] .port-list{display:block;max-height:340px;overflow:auto;margin-top:6px;padding-top:0;border-top:1px solid #ffffff24}
body[data-concept=ports] .port-list button{display:block;width:100%;text-align:left;padding:9px 12px;font-size:13px}.port-list button small{display:block;font-size:11px;color:#9fced5;margin-top:2px}
body[data-concept=ports] .port-directory #portMore{margin-top:8px}
@media(max-width:680px){.wait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wait-grid strong{font-size:19px}body[data-concept=ports] .port-list{max-height:260px;display:block}body[data-concept=ports] .port-list button{white-space:normal}}
body[data-concept=ports] .wait-card.is-monthly{border-left-color:#3d6b8e}.wait-card.is-monthly .wait-grid strong{color:#3d6b8e}.wait-card.is-monthly .wait-grid{margin:10px 0 6px}
/* 7항목 한 흐름(2026-09-28) — 맨 위 한 줄 답 · ①~⑦ · 지도. 모바일 390px에서도 가로 스크롤 없음. */
.seven-head{margin:14px 0 18px;padding:14px 16px;border-left:5px solid var(--accent);background:var(--pale);border-radius:3px}
.seven-head.is-late{border-left-color:#b4452f;background:#fbeee9}.seven-head.is-ok{border-left-color:#2f7d4f;background:#eaf5ee}.seven-head.is-pre{border-left-color:#85673a;background:#f7f1e6}
.seven-state{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:1px;color:var(--muted)}
.seven-answer{margin:0;font-size:18px;font-weight:800;line-height:1.45}
.seven-detail{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--ink)}
.seven{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.seven-sec{border:1px solid var(--line);padding:12px 14px;border-radius:3px;min-width:0}
.seven-sec h3{margin:0 0 8px;font-size:15px;display:flex;gap:8px;align-items:center}
.seven-no{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:12px;font-size:12px}
.seven-sec dl{margin:0}.seven-row{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px dashed var(--line)}
.seven-row:first-child{border-top:0}.seven-row dt{font-size:12px;color:var(--muted)}.seven-row dd{margin:0;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.seven-tag{display:inline-block;margin-right:6px;padding:1px 6px;font-size:11px;font-weight:800;border:1px solid currentColor;border-radius:2px}
.seven-tag.is-act{color:#1d6b41}.seven-tag.is-est{color:#156ca0}.seven-tag.is-guess{color:#85673a}.seven-tag.is-miss{color:#8a4b3e}
.seven-map-sec{grid-column:1/-1}.seven-map{height:300px;width:100%;background:#e1eef5;z-index:1}
.vessel-pin{color:#b4452f;font-size:20px;line-height:24px;text-align:center;text-shadow:0 0 3px #fff}
@media(max-width:680px){.seven{grid-template-columns:minmax(0,1fr)}.seven-row{grid-template-columns:minmax(0,1fr)}.seven-map{height:240px}.seven-answer{font-size:16px}}
