/* jptravel100 redesign mockup — design tokens first, components after. No one-off values. */
@font-face{font-family:'Rounded Heading';src:url('/assets/fonts/rounded-heading.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  /* color roles */
  --bg:#FAF7F0; --surface:#FFFFFF; --text:#1C2420; --muted:#505A54;
  --green:#1F4D3F; --green-tint:#E4EEE8;
  --amber:#B45309; --amber-dark:#7A3E00; --amber-tint:#FFF1DC; --amber-icon:#FFE3BD;
  --neutral-icon:#E9EEEA; --line:#C9D0CB; --card-border:var(--line); --footer:#ECEFEC;
  /* type: 5 sizes, 3 weights */
  --t14:14px; --t16:16px; --t18:18px; --t24:24px; --t32:32px;
  --sans:'Noto Sans TC','Noto Sans CJK TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --round:'Rounded Heading','jf-openhuninn','Noto Sans TC','Noto Sans CJK TC',sans-serif;
  /* radius: 12 + pill only */
  --r12:12px; --pill:999px;
  /* spacing: multiples of 8 */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px;
  --btn-h:52px; --tap-min:44px;
  --t40:40px; --lh24:24px; --lh32:32px; --lh40:40px; --w4:400; --w5:500; --w7:700;
  --sans-ja:'Noto Sans JP','Noto Sans CJK JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,system-ui,sans-serif;
  --z-callbar:10; --z-fab:20; --z-skip:99;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;font-synthesis:none;scroll-padding-top:calc(var(--btn-h) + var(--s1))}
body{background:var(--bg);color:var(--text);font:400 var(--t16)/24px var(--sans);min-width:320px}
svg.icon{width:24px;height:24px;flex:none;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.wrap{width:100%;max-width:480px;margin:0 auto;padding:0 var(--s2)}

/* type roles */
h1,h2,.round{font-family:var(--round);font-weight:400}
h1{font-size:var(--t32);line-height:40px}
h2{font-size:var(--t24);line-height:32px}
.lead{color:var(--muted)}
.small{font-size:var(--t14);line-height:24px;color:var(--muted)}

/* header (scrolls away) + pinned call bar */
.site-header{height:48px;display:flex;align-items:center}
.brand{display:flex;align-items:center;gap:var(--s1);min-height:48px;font-family:var(--round);font-size:var(--t18);line-height:24px}
.brand-mark{width:32px;height:32px;border-radius:var(--pill);background:var(--neutral-icon);color:var(--green);display:grid;place-items:center}
.brand-mark svg.icon{width:20px;height:20px}
.callbar{background:var(--green-tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.callbar a{display:flex;align-items:center;gap:var(--s1);min-height:var(--btn-h);color:var(--green)}
.callbar .label{font-size:var(--t14);line-height:24px;font-weight:500;white-space:nowrap}
.callbar .num{font-size:var(--t16);line-height:24px;font-weight:700;white-space:nowrap;margin-left:auto}

/* sections */
main section{margin-top:var(--s4)}
.hero{margin-top:0;padding-top:var(--s3)}
.hero .lead{margin-top:var(--s1)}
.sec-head{margin-bottom:var(--s2)}
.sec-head .lead{margin-top:var(--s1)}

/* buttons: primary / secondary / text link — 52px */
.btn{display:flex;align-items:center;justify-content:center;gap:var(--s1);min-height:var(--btn-h);padding:0 var(--s3);border-radius:var(--pill);font-size:var(--t18);line-height:24px;font-weight:700}
.btn-primary{background:var(--green);color:#fff;width:100%}
.btn-secondary{background:var(--surface);color:var(--green);border:2px solid var(--green)}
.btn-row{justify-content:space-between;width:100%;border-radius:var(--r12);padding:0 var(--s2);font-size:var(--t16);font-weight:700}
.btn-row .sub{margin-left:auto;font-weight:400;font-size:var(--t14);color:var(--muted);white-space:nowrap}
.btn-row .name{white-space:nowrap}
.cta-note{margin-top:var(--s1);text-align:center}
.text-link{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--btn-h);color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* one card style */
.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r12);padding:var(--s2)}
.card-link{display:flex;align-items:center;gap:var(--s2);min-height:var(--btn-h)}
.card-link .body{flex:1;min-width:0}
.card-link .title{font-family:var(--round);font-size:var(--t18);line-height:24px}
.card-link .cue{font-size:var(--t14);line-height:24px;color:var(--muted)}
.card-link .go{color:var(--green)}
.stack{display:grid;gap:var(--s1)}

/* icon backgrounds: pastel allowed ONLY here; same category = same color */
.ibg{width:48px;height:48px;border-radius:var(--pill);display:grid;place-items:center;flex:none;background:var(--neutral-icon);color:var(--green)}
.ibg-urgent{background:var(--amber-icon);color:var(--amber-dark)}

/* level 1 urgent: amber 3px border + label 緊急 */
.urgent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s1)}
.tile-urgent{display:flex;flex-direction:column;align-items:center;gap:var(--s1);padding:var(--s2) var(--s1);min-height:144px;background:var(--surface);border:3px solid var(--amber);border-radius:var(--r12);text-align:center}
.tile-urgent .title{font-family:var(--round);font-size:var(--t18);line-height:24px}
.chip{display:inline-block;background:var(--amber);color:#fff;font-size:var(--t14);line-height:24px;font-weight:700;padding:0 var(--s1);border-radius:var(--pill)}
.urgent-note{margin-top:var(--s1)}

/* footer: reference level (grey) */
.site-footer{margin-top:var(--s6);background:var(--footer);padding:var(--s4) 0 calc(var(--s6) + env(safe-area-inset-bottom))}
.site-footer p{font-size:var(--t14);line-height:24px;color:var(--muted)}
.site-footer p+p{margin-top:var(--s1)}
.site-footer .brand-line{font-family:var(--round);font-size:var(--t18);line-height:24px;color:var(--text);margin-bottom:var(--s1)}
.footer-links{display:flex;flex-wrap:wrap;column-gap:var(--s3);margin-top:var(--s2)}
.footer-links .text-link{font-size:var(--t14);min-height:48px}

/* floating edge button: small, secondary style, appears after the primary scrolls away, hides at footer */
.fab{position:fixed;right:0;bottom:calc(var(--s3) + env(safe-area-inset-bottom));z-index:var(--z-fab);width:56px;height:var(--btn-h);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);color:var(--green);border:2px solid var(--green);border-right:0;border-radius:var(--pill) 0 0 var(--pill);font-size:var(--t14);line-height:24px;font-weight:700;box-shadow:0 2px 8px rgba(28,36,32,.18);transition:opacity .15s,transform .15s}
.fab svg.icon{width:20px;height:20px}
.fab.is-hidden{opacity:0;transform:translateX(100%);pointer-events:none;visibility:hidden}
@media (prefers-reduced-motion:reduce){.fab{transition:none}}

/* Shared guide and tool grammar, v0.16. Legacy visual layers are removed. */
[hidden]{display:none}
::selection{background:var(--green-tint);color:var(--text)}
:root{color-scheme:light;scrollbar-color:var(--green) var(--bg)}
button,select,textarea,input{font:400 var(--t16)/var(--lh24) var(--sans);color:var(--text);caret-color:var(--green)}
button{cursor:pointer;border:0;background:var(--surface)}
button:disabled,select:disabled{cursor:default;opacity:.65}
button:hover:not(:disabled),a.btn:hover{filter:brightness(.98)}
a:active,button:active{opacity:.88}
select,textarea,input{border:1px solid var(--line);border-radius:var(--r12);padding:var(--s1) var(--s2);background:var(--surface);max-width:100%;min-height:var(--btn-h)}
select:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:2px}
textarea{width:100%;resize:vertical}
input[type=checkbox]{appearance:none;min-width:52px;width:52px;height:52px;padding:0;flex-shrink:0;display:grid;place-content:center}
input[type=checkbox]:checked{background:var(--green-tint);border:2px solid var(--green)}
input[type=checkbox]:checked::after{content:'';width:16px;height:8px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
main{padding-bottom:var(--s3)}
main.wrap{max-width:480px}
h1,h2,h3,h4,p,li,dt,dd,pre,th,td{overflow-wrap:anywhere}
h3,h4{font-family:var(--round);font-size:var(--t18);line-height:var(--lh24);font-weight:400}
h2{margin-bottom:var(--s2)}
p+p,p+ul,p+ol,ul+p,ol+p{margin-top:var(--s2)}
ul,ol{padding-left:var(--s3)}
li+li{margin-top:var(--s1)}
section>p,section>ul,section>ol{margin-bottom:var(--s2)}
main>section:last-child{margin-bottom:0}
strong,b{font-weight:700}
small{font-size:var(--t14);line-height:var(--lh24)}
.main-primary{margin-top:var(--s3);margin-bottom:var(--s2)}
.beta-label{font:400 var(--t14)/var(--lh24) var(--sans);color:var(--muted);white-space:nowrap;margin-left:var(--s1)}
.brand{min-width:0;gap:var(--s1)}
.brand-mark svg.icon{width:24px;height:24px}
.site-header .wrap{display:flex;align-items:center}
.brand-title{white-space:nowrap}
.site-header{height:auto;min-height:48px}
.callbar .num{font-variant-numeric:tabular-nums}
.callbar a{gap:var(--s1)}
.callbar .label{white-space:normal}
.skip-link{position:fixed;top:var(--s1);left:var(--s1);transform:translateY(-150%);z-index:var(--z-skip);background:var(--surface);padding:var(--s2);min-height:52px;color:var(--green)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.back-link,.back-button,.copy-button,.present-card,.source-link,.inline-source,.backup-dial,.office-nav>a,.anchor-tabs>a{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--btn-h);min-width:var(--tap-min);color:var(--green);text-decoration:underline;max-width:100%}
.back-link{margin-top:var(--s2)}
.page-heading,.flow-heading{margin-top:var(--s3)}
.page-heading>.lead,.flow-heading>.lead{margin-top:var(--s1)}
.page-heading h1 br{display:none}
.flow-heading h1 br{display:none}
section.hero h1{margin:0}
section.hero p{margin-top:var(--s1)}
.card-link strong{font-family:var(--round);font-size:var(--t18);font-weight:400}
.card-link span{min-width:0}
.card-link .cue{display:block;font-family:var(--sans);font-weight:400}
.card-link>.icon:last-child{margin-left:auto;color:var(--green)}
.card-link .choice-text{display:grid;gap:var(--s1)}
.card-link .choice-text>span{font:400 var(--t14)/var(--lh24) var(--sans);color:var(--muted)}
.card-link .choice-icon{background:var(--neutral-icon);border-radius:var(--pill);width:48px;height:48px;display:grid;place-items:center;flex:none;color:var(--green)}
.tile-urgent{min-width:0}
.tile-urgent .title{overflow-wrap:anywhere}
.stack,.directory-list,.location-grid,.backup-choices,.choice-list,.tool-hub,.window-results,.reply-options,.contact-links{display:grid;gap:var(--s1)}
.card-field{display:grid;gap:var(--s1);margin:var(--s2) 0}
.card-field>span{font-weight:700}
.location-choice,.directory-row,.backup-choices>a,.tool-hub>a{display:flex;gap:var(--s2);align-items:center;min-height:52px}
.directory-row>span:first-child,.location-choice>span,.backup-choices>a>span,.tool-hub>a>span{flex:1;min-width:0}
.directory-row strong,.location-choice strong,.tool-hub strong{display:block}
.directory-row small,.location-choice small,.backup-choices small,.tool-hub span{display:block;color:var(--muted);font-size:var(--t14)}
.directory-row small{margin-top:var(--s1)}
.location-choice [hidden]{display:none}
.selected-mark{font-weight:700;color:var(--green)}
.location-choice[aria-current=true],.finder-pills>[aria-pressed=true],.action-options>[aria-pressed=true],.choice-pills>[aria-pressed=true]{background:var(--green-tint);border-color:var(--green)}
.flow-progress{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0;font-size:var(--t14);color:var(--muted);margin:var(--s2) 0}
.flow-progress li{display:flex;gap:var(--s1);margin:0;align-items:center}
.flow-progress span{color:var(--green);font-weight:700}
.selected-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);margin:var(--s2) 0}
.selected-item>span{display:flex;gap:var(--s1);align-items:center}
.selected-item>a{min-height:52px;color:var(--green);display:inline-flex;align-items:center;text-decoration:underline}
.finder-row{margin-top:var(--s2)}
.finder-pills,.action-options,.choice-pills,.office-nav,.anchor-tabs,.tool-context,.backup-tools,.contact-links,.footer-links{display:flex;flex-wrap:wrap;gap:var(--s1)}
.finder-pills>a,.action-options>button,.choice-pills>button{border:1px solid var(--line);border-radius:var(--r12);padding:var(--s1) var(--s2);min-height:52px;font-size:var(--t16);color:var(--green);background:var(--surface);text-decoration:none}
.finder-pills{overflow:visible}
.finder-row>h2,.finder-row>h3{margin-bottom:var(--s1)}
.finder-priorities,.flow-context,.next-action,.protect-first,.priority-reminder,.tool-note,.notice,.scope-note,.pending-block{margin:var(--s2) 0}
.protect-first,.priority-reminder{padding:var(--s2);border:1px solid var(--line);border-radius:var(--r12);background:var(--surface)}
.urgent-page .protect-first{border:3px solid var(--amber);background:var(--amber-tint);color:var(--amber-dark)}
.urgent-page .hero>.chip{margin-bottom:var(--s1)}
.protect-first h2,.priority-reminder h2{font-size:var(--t24)}
.protect-first strong,.priority-reminder strong{display:block}
.protect-first .btn,.priority-reminder .btn{margin-top:var(--s1)}
.phone-first{background:var(--surface);padding:var(--s2);border:1px solid var(--line);border-radius:var(--r12)}
.phone-actions,.phone-protection-numbers,.backup-tools{display:grid;gap:var(--s1)}
.phone-action{display:grid;gap:var(--s1)}
.phone-action .btn{justify-content:flex-start}
.urgent-steps,.steps,.preparation-list{margin:var(--s2) 0;padding-left:var(--s3)}
.urgent-steps li,.steps li,.preparation-list li{padding-left:var(--s1);margin-bottom:var(--s2)}
.urgent-steps li>span,.steps li>span,.preparation-list li>span{display:block;margin-top:var(--s1)}
.urgent-steps strong{font-size:var(--t18)}
.later-section{margin-top:var(--s4)}
details{margin-top:var(--s2)}
details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--s1);min-height:52px;min-width:44px;border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);padding:var(--s1) var(--s2);font:500 var(--t16)/var(--lh24) var(--sans);color:var(--green)}
summary::-webkit-details-marker{display:none}
summary .plus{margin-left:auto;color:var(--green)}
details[open]>summary .plus{transform:rotate(45deg)}
.details-body,details>div:not(.icon),details>section{margin-top:var(--s2)}
details>summary+div{margin-top:var(--s2)}
.later-section>details>summary{border:2px solid var(--green);font-weight:700}
.later-body>section,.later-body>div{margin-top:var(--s4)}
.later-body>section:first-child,.later-body>div:first-child{margin-top:var(--s2)}
.reference,.reference p,.source-block,.source-purpose,.data-date,.section-source,.scope-inline,.flow-note,.fee-note,.small{font:400 var(--t14)/var(--lh24) var(--sans);color:var(--muted)}
.reference{margin-top:var(--s4)}
.source-block{border-top:1px solid var(--line);padding-top:var(--s2)}
.source-block>details{margin-top:0}
.source-purpose{display:block;margin-bottom:var(--s2)}
.source-list>div{margin-bottom:var(--s2)}
.source-link,.inline-source{font-size:var(--t14);text-decoration:underline}
.catalog-item{padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.catalog-pages{display:flex;flex-wrap:wrap;gap:var(--s1)}
.catalog-pages>a{display:inline-flex;align-items:center;min-height:52px;color:var(--green);font-size:var(--t14);text-decoration:underline}
.coverage-table>div,.purpose-table>div{margin-bottom:var(--s2)}
dt{font-weight:700}dd{margin-top:var(--s1)}dd a{display:inline-flex;min-height:52px;align-items:center;min-width:44px;color:var(--green);text-decoration:underline}
.office-entry,.bank-direct,.telecom-record,.backup-contact,.contact-office-grid>article,.region-directory>article{padding:var(--s2) 0;border-bottom:1px solid var(--line);break-inside:avoid}
.office-entry p,.bank-direct p,.telecom-record p{margin-top:var(--s1)}
.backup-dial{justify-content:flex-start;flex-wrap:wrap;gap:var(--s1);font-size:var(--t18);font-variant-numeric:tabular-nums}
.backup-dial>span{font-size:var(--t16)}
.backup-contact h4{margin-top:var(--s2)}
.dial{justify-content:space-between;flex-wrap:wrap;white-space:normal;text-align:left;font-variant-numeric:tabular-nums}
.dial span{overflow-wrap:anywhere}
.office-directory,.bank-direct-list,.telecom-list{display:grid;gap:var(--s2)}
.screenshot-card,.report-phrase{background:var(--surface);border:1px solid var(--line);border-radius:var(--r12);padding:var(--s2);margin-top:var(--s2)}
.report-phrase [lang=ja]{font-family:var(--sans-ja);font-size:var(--t24);line-height:var(--lh32)}
.eyebrow{font-size:var(--t14);color:var(--muted)}
.handover-steps{display:grid;gap:var(--s2)}
.handover-steps>div{border-top:1px solid var(--line);padding-top:var(--s2)}
.finding-timeline{margin-top:var(--s4)}
.finding-timeline ol{list-style:none;display:grid;gap:var(--s2);padding:0}
.finding-timeline li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--s1);margin:0}
.finding-timeline li .icon{grid-row:1/3;color:var(--green)}
.finding-timeline li span{grid-column:2;font-size:var(--t14);color:var(--muted)}
.tool-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:var(--s2) 0;font-size:var(--t14)}
.tool-table caption{text-align:left;margin-bottom:var(--s1);font-weight:700}
.tool-table th,.tool-table td{vertical-align:top;border-bottom:1px solid var(--line);padding:var(--s1);overflow-wrap:anywhere;text-align:left}
.tool-table th{font-weight:700}
.tool-table .text-link,.tool-table .source-link{font-size:var(--t14)}
.tool-table th:first-child{width:32%}
pre,.report-draft,.proxy-draft,.log-text,.template-text{font:400 var(--t16)/var(--lh24) var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:var(--r12);padding:var(--s2);margin:var(--s2) 0}
.template-text{font-family:var(--sans-ja)}
.word-dictionary,.name-reference{margin:var(--s2) 0}
.vocabulary-group{margin-top:var(--s2)}
.vocabulary-group>h3{margin-bottom:var(--s1)}
.vocabulary-group dl>div{margin-top:var(--s1)}
.copy-button,.present-card{font:700 var(--t18)/var(--lh24) var(--sans);min-height:52px;padding:var(--s1) var(--s2);border:2px solid var(--green);border-radius:var(--pill);background:var(--surface);text-decoration:none;justify-content:center}
.card-toolbar{display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center;max-width:480px;margin:0 auto;padding:var(--s1) var(--s2);background:var(--bg)}
.card-toolbar>span{font-size:var(--t14);color:var(--muted)}
.card-toolbar .present-card{width:100%;background:var(--green);color:var(--surface);border-color:var(--green)}
.japanese-card{font:400 var(--t32)/var(--lh40) var(--sans-ja);padding:var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r12);margin:var(--s2) 0}
.japanese-card p+p{margin-top:var(--s3)}
.presentation-hint{font:400 var(--t14)/var(--lh24) var(--sans-ja);color:var(--muted)}
.card-tools{display:grid;gap:var(--s2)}
.card-tools details{margin:0}
.inline-reply{margin-top:var(--s4)}
.reply-options>button{display:grid;gap:var(--s1);text-align:left;padding:var(--s2);border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);min-height:52px}
.reply-options strong{font:500 var(--t18)/var(--lh32) var(--sans-ja)}
.reply-options span{font-size:var(--t16);color:var(--muted)}
.reply-options button[aria-pressed=true]{border:2px solid var(--green);background:var(--green-tint)}
.reply-result{padding:var(--s2);background:var(--green-tint);border-radius:var(--r12);font-size:var(--t18)}
.speech-tools{display:flex;flex-wrap:wrap;gap:var(--s1);margin:var(--s2) 0}
.speech-tools button{flex:1}
.speech-tools>p{width:100%;font-size:var(--t14);line-height:var(--lh24);color:var(--muted)}
.present-status{font-size:var(--t14);color:var(--muted)}
.presentation-mode .japanese-card{font-size:var(--t40);line-height:var(--lh40);margin-top:var(--s1)}
.presentation-mode .card-toolbar{position:sticky;top:0;z-index:var(--z-callbar)}
.presentation-mode .card-toolbar .back-button,.presentation-mode .card-toolbar>span,.presentation-mode .card-tools,.presentation-mode .focus-footer,.presentation-mode .fab{display:none}
.presentation-mode .card-toolbar .present-card{font-size:var(--t16)}
.presentation-mode .card-main{padding-top:var(--s1)}
.presentation-mode .inline-reply .text-link,.presentation-mode .copy-fallback{display:none}
.focus-footer{max-width:480px;margin:var(--s6) auto 0;padding:var(--s4) var(--s2);background:var(--footer);font-size:var(--t14);color:var(--muted)}
.focus-footer p+p{margin-top:var(--s1)}
.log-checklist{display:grid;gap:var(--s1);margin:var(--s2) 0}
.log-checklist>label{display:flex;align-items:center;gap:var(--s1);border:1px solid var(--line);border-radius:var(--r12);padding:var(--s1);min-height:52px;background:var(--surface)}
[data-clear-log]{margin-top:var(--s2)}
.toast{position:fixed;left:50%;bottom:var(--s3);transform:translateX(-50%);z-index:var(--z-fab);background:var(--green);color:var(--surface);padding:var(--s1) var(--s2);border-radius:var(--r12);font-size:var(--t14);pointer-events:none;max-width:calc(100% - 32px);opacity:0}
.toast.visible{opacity:1}
.site-footer .wrap{display:grid;gap:var(--s2)}
.footer-links{column-gap:var(--s3)}
.footer-links .text-link{min-height:48px;min-width:44px;font-size:var(--t14)}
.site-footer summary{font-size:var(--t14);background:transparent;border:0;padding:var(--s1) 0}
.site-footer .details-body{margin-top:var(--s2)}
.footer-support a{display:inline-flex;gap:var(--s1);align-items:center;min-height:48px;color:var(--green);text-decoration:underline;font-size:var(--t14)}
.reference-lines{display:grid;gap:var(--s1)}
.footer-archive{font-size:var(--t14);color:var(--muted)}
.footer-archive .text-link{font-size:var(--t14);min-height:48px}
.footer-archive .card{border:0;background:transparent;padding:var(--s1) 0}
.more-tools-links{display:grid;gap:var(--s1)}
.fab{transition:opacity .15s}
.fab.is-hidden{transform:none}
@media(min-width:768px){.wrap,main.wrap{max-width:720px}.item-choices,.place-choices,.directory-list,.more-tools-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.callbar .wrap{padding:0 var(--s1)}.callbar a{gap:var(--s1)}.brand{gap:var(--s1)}.brand .beta-label{margin-left:0}.callbar .num{font-size:var(--t14)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fab{transition:none}}
@media print{
 @page{size:A4;margin:16mm}
 body{background:var(--surface);min-width:0}
 main.wrap,.focus-footer{max-width:none;width:100%;padding:0;margin:0}
 .site-header,.callbar,.site-footer,.focus-footer,.fab,.card-toolbar,.skip-link,.toast,.speech-tools,.backup-tools,.copy-button,.present-status,.card-tools,.back-link,[data-log-controls],[data-clear-log],[data-clear-log-panel]{display:none}
 details>*:not(summary){display:block}
 details>summary{border:0;padding:0}
 .backup-contact,.screenshot-card,.japanese-card{break-inside:avoid}
 .tool-table tr,.report-phrase{break-inside:avoid}
 .japanese-card{font-size:var(--t24);line-height:var(--lh32);border:0}
 .reference{margin-top:var(--s2)}
 a{color:var(--text)}
}

[hidden]{display:none}
[lang=ja]{font-family:var(--sans-ja)}
.fab svg.icon{width:24px;height:24px}

.space-before{margin-top:var(--s3)}
.compact-before{margin-top:var(--s1)}

.btn-row .sub{white-space:normal;min-width:0}

/* Site information remains a quiet, readable final section of the footer. */
.footer-legal{border-top:1px solid var(--line);margin-top:var(--s3);padding-top:var(--s2)}
.footer-policy-links,.footer-social-links{display:flex;flex-wrap:wrap;gap:0 var(--s2)}
.footer-policy-links .text-link,.footer-social-links .text-link{font:400 var(--t14)/var(--lh24) var(--sans);min-height:48px;min-width:44px}
.footer-social-links{margin-top:var(--s1)}
.footer-copyright{margin-top:var(--s2);font:400 var(--t14)/var(--lh24) var(--sans);color:var(--muted)}
.policy-content .guide-section{margin:var(--s4) 0}
.policy-content p+p{margin-top:var(--s2)}
.focus-footer .footer-contact-note,.focus-footer .footer-copyright{font-size:var(--t14);line-height:var(--lh24)}

/* v0.16: visible decisions and sequential guide cards. */
.item-choices,.place-choices{display:grid;gap:var(--s1)}
.help-secondary{padding:var(--s2) 0;border-block:1px solid var(--line)}
.step-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r12);padding:var(--s3) var(--s2)}
.step-card:before{content:'步驟 ' attr(data-step);display:block;font-size:var(--t14);color:var(--green);margin-bottom:var(--s1);font-weight:700}
.guide-sidebar{margin-top:var(--s4)}
.more-tools-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1)}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.table-scroll .tool-table{min-width:520px;table-layout:auto}
.table-scroll:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media print{.table-scroll{overflow:visible}.table-scroll .tool-table{min-width:0}}

.copy-template{width:100%;min-width:0}.copy-template pre{margin-top:var(--s1)}
