:root { --ink-soft:var(--muted); --paper-soft:var(--soft); --orange-dark:var(--orange); --orange-pale:var(--orange-soft); --signal-ink:var(--paper); }
:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:8px 16px; background:var(--paper); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.page-main .section-heading[data-reveal] { opacity:1; transform:none; }
.page-main .prose { margin-inline:auto; max-width:800px; }
.policy-layout { max-width:880px; }
.prose iframe { display:block; width:100%; max-width:100%; min-height:600px; border:1px solid var(--line); }
.prose .page-toc { position:static; padding:16px 20px; margin-bottom:30px; border:1px solid var(--line); border-radius:8px; background:var(--soft); }
.prose .page-toc ol { margin:10px 0 0; padding:0; list-style:none; }
.prose .page-toc li { margin:0; padding:0; }
.prose .page-toc a { display:block; padding-block:7px; }
.prose .link-card { display:block; padding:22px; border:1px solid var(--line); border-radius:8px; text-decoration:none; background:var(--soft); }
.link-card-title,.link-card-description,.link-card-meta { display:block; }
.link-card-title { font-weight:650; }
.link-card-description { margin-block:8px; color:var(--muted); }
.link-card-meta { font-size:12px; }
.link-card-image { width:52px; height:52px; object-fit:contain; margin-bottom:12px; }
.link-card-arrow { display:none; }
.japaneseTimeClockBox,.jClock .box { display:grid; place-content:center; gap:10px; min-height:180px; padding:25px; border:1px solid var(--line); text-align:center; }
.japaneseTimeClock,.jClock .time { font-size:30px; font-weight:650; }
.content-ad { margin-block:34px; overflow:hidden; }
.content-ad .adsbygoogle { max-width:100%; overflow:hidden; }
.content-ad-label { display:block; margin-bottom:8px; color:var(--muted); font-size:11px; text-align:center; }
.content-ad-preview-box { display:grid; place-content:center; gap:7px; min-height:125px; padding:24px; border:1px dashed var(--line); border-radius:8px; background:var(--soft); color:var(--muted); text-align:center; font-size:12px; }
.content-ad-preview-box strong { color:var(--muted); font-size:13px; font-weight:600; }
ins.adsbygoogle[data-ad-status="unfilled"][data-ad-unfilled-ready="true"] { display:none !important; }
.content-ad:has(ins.adsbygoogle[data-ad-status="unfilled"][data-ad-unfilled-ready="true"]) { display:none !important; }
.home-notification { padding-block:35px; background:var(--orange-soft); border-block:1px solid var(--line); }
.home-notification-inner { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:48px; }
.home-notification-copy h2 { margin-block:10px 16px; font-size:27px; }
.home-notification-copy p { font-size:14px; }
.home-notification .button,.header-search-panel button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 17px; border:1px solid var(--orange); border-radius:6px; background:var(--orange); color:var(--paper); font-size:13px; font-weight:600; text-decoration:none; }
.home-notification .button-quiet { background:transparent; border-color:var(--line); color:var(--ink); }
.home-notification .button-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.notification-status { font-size:14px; line-height:1.8; }
.notification-permission-help { padding:12px; border:1px solid var(--line); border-radius:5px; font-size:13px; }
button:disabled { cursor:default; opacity:.65; }
.status-strip { padding-block:24px; border-block:1px solid var(--line); }
.status-strip-inner { display:grid; grid-template-columns:1fr auto auto; gap:24px; align-items:center; }
.status-strip p,.status-strip a { color:var(--muted); font-size:12px; }
/* Match the transparent embed's normal scheme to avoid a white canvas behind the dark badge's white text. */
.status-badge { width:300px; max-width:100%; border:0; color-scheme:normal; }
.site-announcement { padding-block:10px; color:var(--ink); background:var(--orange-soft); border-bottom:1px solid var(--line); }
.announcement-layout { display:flex; align-items:center; gap:18px; }
.announcement-layout p { flex:1; font-size:13px; }
.announcement-layout a,.announcement-layout button { flex:none; font-size:12px; }
.announcement-layout button { min-height:40px; padding:7px 12px; color:var(--ink); background:transparent; border:1px solid var(--line); border-radius:5px; }
.status-alert-inner { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-block:12px; font-size:13px; }
.status-alert { background:var(--orange-soft); border-bottom:1px solid var(--line); }
.status-alert-mark { display:grid; place-items:center; width:25px; height:25px; border:1px solid currentColor; border-radius:50%; }
.status-summary-list { display:grid; gap:10px; padding:0; list-style:none; }
.status-summary-list li { display:grid; gap:4px; padding:14px; border:1px solid var(--line); border-radius:6px; }
.status-summary-checked { color:var(--muted); font-size:12px; }
.notification-page { display:grid; gap:32px; }
.notification-recent { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.notification-recent>a { display:grid; gap:8px; padding:20px; border:1px solid var(--line); border-radius:7px; text-decoration:none; }
.notification-recent>a:hover strong { text-decoration:underline; }
.notification-recent span,.notification-recent time { color:var(--muted); font-size:12px; }
.notification-recent>p { grid-column:1/-1; }
.notification-control .button-row { display:flex; flex-wrap:wrap; gap:10px; }
.notification-control [hidden] { display:none !important; }
.search-page-content { padding-bottom:45px; }
.header-search-panel .site-search-form { max-width:none; padding:0; margin:0; border:0; background:transparent; }
.search-results { min-width:0; margin-bottom:34px; }
.search-results h2 { margin-bottom:18px; font-size:25px; }
.search-results .gsc-control-cse { padding:0; border:0; color:var(--ink); background:var(--paper); }
.search-results .gsc-webResult.gsc-result { border-color:var(--line); background:var(--paper); }
.search-results .gsc-webResult.gsc-result:hover { background:var(--soft) !important; }
.search-results .gs-webResult .gs-title,.search-results .gs-webResult .gs-title b { color:var(--orange) !important; }
.search-results .gs-webResult .gs-snippet { color:var(--ink) !important; }
.search-results .gs-webResult .gs-visibleUrl { color:var(--muted) !important; }
.search-google-link { display:inline-block; margin-top:18px; overflow-wrap:anywhere; }
.error-page { min-height:65vh; display:grid; place-items:center; padding-block:45px; }
.error-code { font-size:80px; color:var(--orange); }
.grid-2,.grid-3 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-card { display:grid; gap:14px; padding:24px; border:1px solid var(--line); border-radius:8px; text-decoration:none; }
.footer-motion[hidden] { display:none !important; }
@media (max-width:1000px) { .status-strip-inner { grid-template-columns:1fr auto; } .status-strip-inner>a { grid-column:1/-1; } }
@media (max-width:720px) { .home-notification-inner,.status-strip-inner { grid-template-columns:1fr; gap:20px; } .home-notification-copy h2 { font-size:24px; } .notification-recent,.grid-2,.grid-3 { grid-template-columns:1fr; } .announcement-layout { flex-wrap:wrap; } .prose iframe { min-height:700px; } }
