/* FileJoker Guide | independent static theme 2026. No libraries or scripts. */
:root{--ink:#15253b;--text:#35465c;--muted:#64748b;--bg:#f5f8fb;--line:#e2eaf1;--paper:#fff;--accent:#0e777a;--accent-dark:#09575b;--brand:#263b63;--shadow:0 8px 30px rgba(22,48,75,.045);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.74;-webkit-font-smoothing:antialiased}a{color:#0e7077;text-underline-offset:3px}a:hover{color:var(--accent-dark)}img{max-width:100%;height:auto}button,a,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #45b8bf;outline-offset:3px}.skip-link{position:absolute;top:-90px;left:12px;padding:8px 15px;background:#fff;z-index:30}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:15;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1190px;min-height:82px;margin:auto;padding:0 26px;display:flex;align-items:center;gap:24px}.brand{text-decoration:none;color:var(--ink)!important;display:flex;gap:11px;align-items:center;min-width:225px;line-height:1.12}.brand-mark{display:grid;place-items:center;border-radius:11px;width:42px;height:42px;background:var(--brand);color:white;font-size:18px;letter-spacing:-.05em;font-weight:800}.brand-dot{color:#65dddc}.brand strong{display:block;letter-spacing:-.45px;font-size:19px}.brand small{color:var(--muted);display:block;letter-spacing:.02em;font-size:10px;margin-top:6px;font-weight:500}.desktop-nav{display:flex;align-items:center;gap:4px;margin-left:auto;white-space:nowrap}.desktop-nav a{font-size:13px;font-weight:650;color:#53647b;text-decoration:none;border-radius:8px;padding:10px 9px}.desktop-nav a:hover,.desktop-nav a.active{color:var(--accent-dark);background:#e9f5f4}.header-tools{display:flex;align-items:center;gap:10px}.language-picker,.mobile-menu{position:relative}.language-picker>summary,.mobile-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:9px;font-size:12px;color:var(--ink);font-weight:700}.language-picker>summary::-webkit-details-marker,.mobile-menu>summary::-webkit-details-marker{display:none}.caret{padding-left:4px;color:#64748b}.language-list{position:absolute;top:calc(100% + 9px);right:0;z-index:18;min-width:145px;display:flex;flex-direction:column;padding:6px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(28,47,70,.14);border-radius:10px}.language-list a{display:block;color:var(--ink);font-size:13px;text-decoration:none;padding:7px 11px;border-radius:7px}.language-list a:hover,.language-list a[aria-current=page]{background:#edf6f6;color:var(--accent-dark)}.mobile-menu{display:none}
.site-main{max-width:1190px;margin:0 auto;padding:30px 26px 66px}.breadcrumb{font-size:12px;color:var(--muted);margin:0 0 18px}.breadcrumb a{color:#677b92;text-decoration:none}.breadcrumb .sep{margin:0 8px;color:#aab8c6}.page-hero{border-radius:18px;background:linear-gradient(117deg,#20344f 0%,#244664 58%,#176966 100%);color:#fff;padding:34px 40px 32px;margin-bottom:24px;box-shadow:0 10px 32px rgba(31,60,79,.11)}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a3e1df;margin-bottom:13px}.page-hero h1{font-size:clamp(28px,3.4vw,41px);font-weight:780;line-height:1.22;letter-spacing:-.035em;margin:0;max-width:950px;overflow-wrap:anywhere}.hero-detail{margin-top:14px;display:flex;gap:14px;align-items:center;color:#d8e8ef;font-size:12px;font-weight:550}.hero-detail .dot{background:#85d9db;width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:7px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.content-layout.one-column{grid-template-columns:minmax(0,1fr)}.content-card,.side-card,.related-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.content-card{padding:33px 38px 40px;min-width:0}.editorial-note{border-left:3px solid #b2dadb;background:#f0f8f8;border-radius:0 8px 8px 0;padding:10px 15px;color:#4a6870;font-size:12px;line-height:1.6;margin-bottom:25px}.article-body{font-size:15px;line-height:1.83;overflow-wrap:anywhere}.article-body>:first-child{margin-top:0}.article-body p{margin:0 0 17px}.article-body h2{font-size:23px;line-height:1.35;color:var(--ink);letter-spacing:-.025em;margin:39px 0 15px;scroll-margin-top:22px}.article-body h3{font-size:18px;line-height:1.43;color:var(--ink);margin:27px 0 11px;scroll-margin-top:22px}.article-body ul,.article-body ol{padding-left:23px;margin:12px 0 22px}.article-body li{padding-left:3px;margin-bottom:8px}.article-body strong{color:#20364b}.article-body a:not(.btn){font-weight:560}.article-body em{font-style:italic}.article-body blockquote{padding:14px 22px;margin:24px 0;background:#f5f9fb;border-left:4px solid var(--accent)}.article-body hr{height:1px;border:0;background:var(--line);margin:32px 0}.article-body .cta-line{margin:23px 0 30px}.btn{display:inline-flex;justify-content:center;align-items:center;max-width:100%;gap:9px;text-align:center;text-decoration:none;line-height:1.4;padding:12px 21px;border-radius:10px;font-size:14px;font-weight:740;transition:background .15s ease,transform .15s ease}.btn-primary{color:#fff!important;background:#0d7779;box-shadow:0 5px 14px rgba(13,119,121,.14)}.btn-primary:hover{background:#095a5b;color:#fff!important;transform:translateY(-1px)}.btn-secondary{color:#075e64;background:#e7f4f4}.evidence-image{margin:27px 0;background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:14px;max-width:100%;overflow:hidden}.evidence-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border-radius:5px;image-rendering:auto}.image-caption{font-size:12px;line-height:1.55;color:#68788b;text-align:center;margin-top:11px}.table-scroll{max-width:100%;overflow-x:auto;margin:24px 0 28px;border:1px solid var(--line);border-radius:10px}.article-body table{border-collapse:collapse;min-width:530px;width:100%;line-height:1.55;font-size:13px}.article-body th{background:#eaf2f4;color:#173d4a;font-weight:750;text-align:left}.article-body td,.article-body th{padding:11px 13px;border-bottom:1px solid #e5edf3;border-right:1px solid #edf1f5;vertical-align:top}.article-body tr:last-child td{border-bottom:0}.article-body tr:nth-child(even) td{background:#fafcfd}.article-body code{background:#f1f6f9;color:#194e60;border-radius:5px;padding:2px 5px;font-size:.92em}.side-rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}.side-card{padding:22px}.side-card h2{margin:0 0 15px;font-size:13px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:#53677b}.side-card .fineprint{font-size:12px;color:#728296;line-height:1.65;margin:12px 0 0}.side-card p{font-size:13px;line-height:1.7;margin:0 0 13px}.side-card .btn{font-size:12px;width:100%;padding:12px 9px}.related-panel{margin-top:24px;padding:25px 30px}.related-panel h2{margin:0 0 15px;font-size:18px;color:var(--ink)}.related-links{display:flex;flex-wrap:wrap;gap:8px}.related-links a{border-radius:8px;padding:8px 12px;background:#f1f7f8;text-decoration:none;font-size:13px;font-weight:650;color:#115e63}.related-links a:hover{background:#e2f0f0}.site-footer{background:#172b3f;color:#c3d4e3}.footer-inner{max-width:1190px;margin:auto;padding:44px 26px 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}.footer-grid h2{font-size:13px;letter-spacing:.02em;margin:0 0 12px;color:#fff}.footer-grid a{display:block;color:#d2dfeb;text-decoration:none;font-size:12px;line-height:1.6;margin-bottom:8px}.footer-grid a:hover{color:#9edddb}.footer-identity strong{color:#fff;font-size:20px}.footer-identity p{color:#a9bdd0;font-size:12px;max-width:245px;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:11px;color:#91a7bc;gap:12px}.notfound-card{max-width:800px;margin:auto}
@media(max-width:1060px){.header-inner{gap:14px}.brand{min-width:208px}.desktop-nav a{padding:9px 7px;font-size:12px}.content-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.content-card{padding:28px}.side-card{padding:18px}}
@media(max-width:830px){.desktop-nav{display:none}.header-inner{min-height:72px}.header-tools{margin-left:auto}.mobile-menu{display:block}.mobile-menu>nav{position:absolute;z-index:18;right:0;top:calc(100% + 9px);min-width:212px;background:#fff;border:1px solid var(--line);padding:8px;border-radius:11px;box-shadow:0 15px 28px rgba(28,47,70,.14)}.mobile-menu nav a{display:block;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);border-radius:6px}.mobile-menu nav a:hover,.mobile-menu nav a.active{background:#e9f5f4;color:var(--accent)}.content-layout{grid-template-columns:1fr}.side-rail{position:static;display:grid;grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{padding:30px}}
@media(max-width:570px){.header-inner{padding:0 17px}.brand{min-width:0}.brand strong{font-size:16px}.brand small{font-size:9px;max-width:150px}.brand-mark{width:38px;height:38px;flex-shrink:0}.site-main{padding:20px 14px 42px}.breadcrumb{padding-left:6px}.page-hero{border-radius:13px;padding:24px 23px 25px;margin-bottom:15px}.page-hero h1{font-size:28px;line-height:1.28}.content-card{padding:24px 19px 29px}.article-body{font-size:14.5px}.article-body h2{font-size:21px;margin-top:32px}.article-body h3{font-size:17px}.article-body .cta-line .btn{width:100%;font-size:13px;padding:13px}.side-rail{grid-template-columns:1fr;gap:14px}.side-card{padding:20px}.related-panel{padding:21px}.footer-inner{padding:32px 18px 19px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-identity{grid-column:1/-1}.footer-bottom{flex-direction:column}.language-picker>summary{padding:7px}.mobile-menu>summary{padding:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Semantic FAQ H2s: visual rhythm matches the original concise Q&A headings. */
.article-body h2.faq-question{font-size:18px;line-height:1.43;letter-spacing:0;margin:27px 0 11px}
@media(max-width:570px){.article-body h2.faq-question{font-size:17px}}

/* Page-local table of contents: replaces duplicated site-wide side navigation. */
.toc-card{padding:22px 17px 20px}
.toc-card h2{padding:0 5px;margin-bottom:11px}
.toc-links{display:flex;flex-direction:column;gap:3px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;max-height:min(56vh,540px)}
.toc-links a{display:block;padding:7px 10px 7px 13px;border-radius:7px;border-left:2px solid transparent;font-weight:560;font-size:12.5px;line-height:1.48;color:#4b5e74;text-decoration:none;overflow-wrap:anywhere}
.toc-links a:hover,.toc-links a:focus-visible{background:#eaf5f4;color:#086267;border-left-color:#15908f}
.article-body h2[id]{scroll-margin-top:22px}
.mobile-toc{display:none}
@media(max-width:830px){
  .side-rail .toc-card{display:none}
  .side-rail{display:block}
  .mobile-toc{display:block;margin:0 0 25px;padding:0;background:#f8fbfb;border:1px solid #d7e5e7;border-radius:11px}
  .mobile-toc summary{list-style:none;cursor:pointer;padding:13px 16px;font-size:14px;font-weight:750;line-height:1.5;color:#185560}
  .mobile-toc summary::-webkit-details-marker{display:none}
  .mobile-toc summary::after{content:'+';float:right;font-size:19px;line-height:1;color:#35747a}
  .mobile-toc[open] summary::after{content:'−'}
  .mobile-toc .toc-links{padding:0 10px 13px;max-height:48vh;overflow-y:auto;gap:1px}
  .mobile-toc .toc-links a{padding:9px 12px;font-size:13px}
}
