
:root{--ui-accent:#0017C1;--ui-accent-ink:#0017C1;--ui-accent-pale:#E8F1FE;--ui-ink:#1A1A1A;--ui-note:#555;--ui-rule:#E0E0E0;--ui-focus:#FFD43D}
.ui-hd{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--ui-rule)}
.ui-hd-in{max-width:1560px;margin:0 auto;padding:0 clamp(16px,3vw,40px);display:flex;align-items:center;gap:20px;min-height:60px}
.ui-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ui-ink)}
.ui-brand b{font-size:18px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.ui-brand img{height:24px}
.ui-hmenu{margin-left:auto}.ui-hmenu ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.ui-hmenu a{display:block;padding:18px 12px 15px;font-size:15px;font-weight:700;color:var(--ui-ink);text-decoration:none;border-bottom:3px solid transparent}
.ui-hmenu a:hover{background:#F5F5F5;border-bottom-color:var(--ui-ink)}
.ui-hmenu a[aria-current="page"]{color:var(--ui-accent-ink);border-bottom-color:var(--ui-accent)}
.ui-burger{display:none;margin-left:auto;align-items:center;gap:6px;min-height:44px;padding:6px 12px;white-space:nowrap;flex:none;border:1px solid var(--ui-rule);border-radius:8px;background:#fff;font-size:15px;font-weight:700;font-family:inherit;color:var(--ui-ink);cursor:pointer}
.ui-burger .i-close{display:none}.ui-burger[aria-expanded="true"] .i-open{display:none}.ui-burger[aria-expanded="true"] .i-close{display:inline}
.ui-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70}
.ui-mmenu{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);background:#fff;z-index:80;box-shadow:-8px 0 24px rgba(0,0,0,.15);padding:72px 0 24px;overflow-y:auto}
.ui-mmenu .ui-mm-h{margin:0 20px 8px;font-size:14px;font-weight:900;color:var(--ui-note)}
.ui-mmenu ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ui-rule)}
.ui-mmenu a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;font-size:17px;font-weight:700;color:var(--ui-ink);text-decoration:none;border-bottom:1px solid var(--ui-rule)}
.ui-mmenu a[aria-current="page"]{color:var(--ui-accent-ink);box-shadow:inset 4px 0 0 var(--ui-accent);background:var(--ui-accent-pale)}
body.ui-menu-open .ui-hd{z-index:90}
@media (max-width:1100px){.ui-hmenu{display:none}.ui-burger{display:inline-flex}}
@media (max-width:480px){.ui-hd-in{gap:10px}.ui-brand{gap:8px;min-width:0}.ui-brand b{font-size:16px}.ui-brand img{height:20px}}
.ui-bc{max-width:1560px;margin:0 auto;padding:14px clamp(16px,3vw,40px) 0}
.ui-bc ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0;font-size:14px}
.ui-bc li{display:flex;align-items:center}
.ui-bc li+li::before{content:"";width:7px;height:7px;border-top:1.5px solid #767676;border-right:1.5px solid #767676;transform:rotate(45deg);margin:0 12px 0 8px}
.ui-bc a{color:var(--ui-ink);text-underline-offset:3px}.ui-bc a:hover{color:var(--ui-accent-ink)}
.ui-bc [aria-current="page"]{color:var(--ui-note)}
.ui-fs{border:0;margin:0;padding:0;min-width:0}.ui-fs legend{font-size:15px;font-weight:700;margin-bottom:6px;padding:0}
.ui-radios{display:flex;flex-direction:column;gap:6px}.ui-fs.inline .ui-radios{flex-direction:row;flex-wrap:wrap;gap:6px 18px}
.ui-radio{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:15px}
.ui-radio input{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;border:2px solid #767676;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;cursor:pointer}
.ui-radio input:checked{border-color:var(--ui-accent-ink)}.ui-radio input:checked::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--ui-accent-ink)}
.ui-radio input:hover{border-color:var(--ui-ink)}
.ui-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.ui-label{font-size:15px;font-weight:700}.ui-sup{margin:0;font-size:13.5px;color:var(--ui-note)}
.ui-select{position:relative}.ui-select select{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;padding:0 44px 0 14px;border:1px solid #767676;border-radius:8px;background:#fff;font-size:16px;font-weight:500;font-family:inherit;color:var(--ui-ink);cursor:pointer}
.ui-select select:hover{border-color:var(--ui-ink)}.ui-select svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}
.ui-search{display:flex;flex-direction:column;gap:4px}.ui-search-row{display:flex;gap:8px}
.ui-search input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:1px solid #767676;border-radius:8px;font-size:16px;font-weight:500;font-family:inherit}
.ui-search button{min-height:48px;padding:0 20px;border:0;border-radius:8px;background:var(--ui-accent-ink);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer}
.ui-close{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--ui-rule);border-radius:8px;background:#fff;font-size:15px;font-weight:700;font-family:inherit;color:var(--ui-ink);cursor:pointer}
.ui-close span{font-size:22px;line-height:1}
.ui-hd a:focus-visible,.ui-hd button:focus-visible,.ui-mmenu a:focus-visible,.ui-bc a:focus-visible,.ui-radio input:focus-visible,.ui-select select:focus-visible,.ui-search input:focus-visible,.ui-search button:focus-visible,.ui-close:focus-visible{outline:4px solid var(--ui-ink);outline-offset:0;box-shadow:0 0 0 2px var(--ui-focus) inset}
.ui-controls{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;margin:0 0 16px;padding:14px 16px;border:1px solid var(--ui-rule);border-radius:8px;background:#FAFAFA}
.ui-controls .ui-field{width:min(320px,100%)}
.ui-progress{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ui-ink)}
.ui-progress.whole{flex-direction:column;gap:12px;padding:24px}
.ui-spin{width:32px;height:32px;border:3px solid var(--ui-rule);border-top-color:var(--ui-accent);border-radius:50%;animation:ui-spin 1s linear infinite}
@keyframes ui-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ui-spin{animation:none;border-top-color:var(--ui-accent-ink)}}
.ui-notice{border:1px solid var(--ui-accent);border-left-width:6px;border-radius:8px;padding:12px 16px;margin:0 0 16px;background:var(--ui-accent-pale)}
.ui-notice h2{margin:0 0 4px;font-size:16px}.ui-notice p{margin:0;font-size:15px}
.ui-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--ui-ink);border-radius:8px;background:#fff;color:var(--ui-ink);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer}
.ui-btn.primary{background:var(--ui-accent-ink);border-color:var(--ui-accent-ink);color:#fff}
.ui-acc{border-bottom:1px solid var(--ui-rule)}.ui-acc-h{margin:0}
.ui-acc-h button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:8px 4px;border:0;background:none;font-size:16px;font-weight:700;font-family:inherit;color:var(--ui-ink);text-align:left;cursor:pointer}
.ui-acc-h button[aria-expanded="true"] svg{transform:rotate(180deg)}.ui-acc-b{padding:0 4px 12px}
.ui-dlg{margin:auto!important;border:0;border-radius:12px;padding:24px;max-width:min(92vw,480px)}.ui-btn.danger{color:#B3261E;border:2px solid #B3261E;background:transparent}.ui-dlg::backdrop,.ui-drawer::backdrop{background:rgba(0,0,0,.5)}
.ui-dlg h2{margin:0 0 8px;font-size:20px}.ui-dlg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.ui-drawer{margin:0 0 0 auto!important;height:100%;max-height:100%;width:min(86vw,420px);border:0;padding:0}.ui-drawer.bottom{margin:auto 0 0!important;width:100%;max-width:100%;height:auto;max-height:80vh;border-radius:16px 16px 0 0}
.ui-drawer-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ui-rule)}.ui-drawer-hd h2{margin:0;font-size:18px}
.ui-drawer-b{padding:16px}
@media print{.ui-hd,.ui-bc,.ui-controls,.ui-mmenu,.ui-scrim{display:none!important}}

[data-uipr]{color-scheme:light;--bg:#F3F5F3;--bg2:#E8ECE9;--card:#FFFFFF;--line:#D3DBD6;--ink:#080D0C;--mute:#46534D;--acc:#3E5A50;--acc2:#7D918A;--ok:#1F6B47;--ng:#A8322A;--chip:#E3E9E5;--btn1:#3E5A50;--btn2:#5F7A6F;--field:#6B7A73;
  --ui-accent:var(--acc);--ui-accent-ink:#2F4A40;--ui-accent-pale:#E1E9E4;--ui-ink:var(--ink);--ui-note:var(--mute);--ui-rule:var(--line);--ui-focus:#FFD43D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) [data-uipr]{color-scheme:dark;--bg:#080D0C;--bg2:#0C1211;--card:#111917;--line:#22302B;--ink:#EDF0ED;--mute:#9DAFA7;--acc:#A6BAB0;--acc2:#D0DED5;--ok:#7FD1A8;--ng:#FF9A8B;--chip:#16201C;--field:#5F716A;--ui-accent-ink:#C5D6CD;--ui-accent-pale:rgba(166,186,176,.12)}}
:root[data-theme="dark"] [data-uipr]{color-scheme:dark;--bg:#080D0C;--bg2:#0C1211;--card:#111917;--line:#22302B;--ink:#EDF0ED;--mute:#9DAFA7;--acc:#A6BAB0;--acc2:#D0DED5;--ok:#7FD1A8;--ng:#FF9A8B;--chip:#16201C;--field:#5F716A;--ui-accent-ink:#C5D6CD;--ui-accent-pale:rgba(166,186,176,.12)}
[data-uipr]{color:var(--ink)}[data-uipr] *{box-sizing:border-box}[data-uipr] [hidden]{display:none!important}
[data-uipr] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),[data-uipr] select,[data-uipr] textarea{border-color:var(--field)}
[data-uipr] :focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
.mini{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);overflow:hidden}.mini>*+*{margin-top:8px}

[data-sample] .xa{font-size:14px;line-height:1.6;color:var(--ink)}
[data-sample] .xa>*+*{margin-top:10px}
.xa p{margin:0}
.xa [hidden]{display:none!important}
.xa ul,.xa ol{margin:0;padding:0;list-style:none}
.xa .xa-h{margin:0;font-size:15px;font-weight:700;line-height:1.5}
.xa h4{margin:0;font-size:14px;font-weight:700}
.xa .xa-cap{font-size:13px;line-height:1.6;color:var(--mute)}
.xa .xa-out{color:var(--ink);font-weight:700}
.xa .xa-txt{font-size:14px}
.xa .xa-instead{width:fit-content;max-width:100%;padding:4px 10px;border-radius:8px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700;line-height:1.5}
.xa .xa-ic{flex:none}
.xa .xa-flip{display:inline-flex;transform:scaleX(-1)}
.xa .xa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.xa [tabindex="-1"]:focus{outline:2px solid var(--ui-focus);outline-offset:2px}
.xa [tabindex="-1"]:focus:not(:focus-visible){outline:none}
/* ボタンの基本 */
.xa .xa-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}
.xa .xa-btn:hover{border-color:var(--ui-accent-ink)}
.xa .xa-btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line)}
.xa .xa-btn.xa-p{background:linear-gradient(90deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.xa .xa-btn.xa-q{background:transparent;border-color:transparent;color:var(--ui-accent-ink)}
.xa .xa-btn.xa-ng{background:transparent;color:var(--ng);border-color:currentColor}
.xa .xa-btn.xa-sm{padding:0 10px;font-size:13px}
.xa .xa-btn.xa-wide{width:100%}
.xa .xa-row{display:flex;flex-wrap:wrap;gap:8px}
.xa .xa-a{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--ui-accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.xa .xa-lb{display:block;font-size:13px;font-weight:700;color:var(--ink)}
.xa .xa-in-t{display:block;width:100%;min-height:44px;margin-top:4px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px}
.xa .xa-pop{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.xa .xa-pop button,.xa .xa-pop a{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xa .xa-pop a{text-decoration:none}
.xa .xa-pop button:hover,.xa .xa-pop button:focus-visible,.xa .xa-pop a:hover,.xa .xa-pop a:focus-visible{background:var(--chip)}
.xa .xa-pop a[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
/* 一覧 */
.xa .xa-items li{display:flex;align-items:center;min-height:40px;padding:4px 10px;border-bottom:1px solid var(--line);font-size:14px}
.xa .xa-items li.xa-new{animation:xa-in .35s ease-out}
@keyframes xa-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* ページ送り */
.xa .xa-pglist{max-height:176px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card);overscroll-behavior:contain}
.xa .xa-pglist .xa-items li:last-child{border-bottom:0}
.xa .xa-pager{display:flex;flex-direction:column;gap:6px}
.xa .xa-pg-nums{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.xa .xa-pg-ends{display:flex;justify-content:space-between;gap:8px}
.xa .xa-pg-step{padding:0 8px;gap:2px}
.xa a.xa-btn{text-decoration:none}
.xa .xa-off{visibility:hidden}
.xa .xa-pg{display:inline-grid;place-items:center;text-decoration:none;min-width:44px;min-height:44px;box-sizing:border-box;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.xa .xa-pg:hover{border-color:var(--line)}
.xa .xa-pg[aria-current="page"]{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
/* 写真の並び（無限スクロールの代わり） */
.xa .xa-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xa .xa-tiles li{font-size:13px;color:var(--mute);border-radius:8px}
.xa .xa-tiles li.xa-new{animation:xa-in .35s ease-out}
.xa .xa-ph{display:block;aspect-ratio:4/3;margin-bottom:2px;border-radius:8px;background:linear-gradient(135deg,var(--acc),var(--acc2));opacity:.55}
.xa .xa-tiles li:nth-child(3n+2) .xa-ph{opacity:.35}.xa .xa-tiles li:nth-child(3n) .xa-ph{opacity:.75}
.xa .xa-foot{display:flex;flex-direction:column;padding:8px 10px;border-top:2px solid var(--line);font-size:13px;color:var(--mute)}
.xa .xa-foot b{color:var(--ink)}
/* ステップ */
.xa .xa-steps{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:none}
.xa .xa-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;color:var(--mute);text-align:center}
.xa .xa-steps li+li::before{content:"";position:absolute;top:14px;right:calc(50% + 16px);width:calc(100% - 32px);height:2px;background:var(--line)}
.xa .xa-steps li.xa-done+li::before{background:var(--ui-accent-ink)}
.xa .xa-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-weight:700;font-size:13px;color:var(--mute)}
.xa .xa-steps li.xa-done .xa-dot{border-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
.xa .xa-steps li[aria-current="step"]{color:var(--ink);font-weight:700}
.xa .xa-steps li[aria-current="step"] .xa-dot{background:var(--ui-accent-ink);border-color:var(--ui-accent-ink);color:var(--card)}
/* 目次 */
.xa .xa-toc{padding:10px 12px;border-left:3px solid var(--ui-accent-ink);background:var(--card);border-radius:0 10px 10px 0}
.xa .xa-toc-ol{counter-reset:xa-t}
.xa .xa-toc-ol a{display:flex;align-items:center;min-height:44px;gap:8px;color:var(--ui-accent-ink);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.xa .xa-toc-ol a::before{counter-increment:xa-t;content:counter(xa-t);display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--chip);color:var(--mute);font-size:12px;text-decoration:none}
.xa .xa-toc-ol a[aria-current="true"]{font-weight:700}
.xa .xa-doc,.xa .xa-scroll{position:relative;max-height:150px;overflow:auto;padding:0 12px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);overscroll-behavior:contain}
.xa .xa-doc h4,.xa .xa-scroll h4{padding-top:12px;scroll-margin-top:52px}
.xa .xa-doc p,.xa .xa-scroll p{font-size:13px;color:var(--mute);margin-top:4px}
.xa .xa-scroll{max-height:180px;padding-top:0}
.xa .xa-sh{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;min-height:44px;margin:0 -12px;padding:0 8px 0 12px;background:var(--card);border-bottom:1px solid var(--line)}
.xa .xa-sh-t{flex:1;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xa .xa-sh .xa-cap{margin:0}
.xa .xa-sh-a{font-size:13px;margin:0}
.xa .xa-jump{position:absolute;right:8px;top:100%;z-index:3;min-width:150px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.xa .xa-jump a{display:flex;text-decoration:none;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.xa .xa-jump a:hover,.xa .xa-jump a:focus-visible{background:var(--chip);text-decoration:underline}
.xa .xa-qs{margin-top:6px}
.xa .xa-qs a{display:flex;align-items:center;min-height:44px;color:var(--ui-accent-ink);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.xa .xa-hit{animation:xa-hit 1.2s ease-out}
@keyframes xa-hit{0%{background:var(--ui-accent-pale)}100%{background:transparent}}
/* スマホ・タブレットの枠（アプリの見本） */
.xa .xa-phone{max-width:280px;margin-left:auto;margin-right:auto;border:2px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden}
.xa .xa-scr{min-height:96px;padding:14px 14px 10px}
.xa .xa-tabbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--bg2)}
.xa .xa-tabbar a,.xa .xa-rail a{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:4px 2px;border:0;background:transparent;color:var(--mute);font:inherit;font-size:13px;line-height:1.2;cursor:pointer}
.xa .xa-tabbar a[aria-current="page"],.xa .xa-rail a[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700}
.xa .xa-tabbar a[aria-current="page"] .xa-ic,.xa .xa-rail a[aria-current="page"] .xa-ic{padding:2px 10px;box-sizing:content-box;border-radius:999px;background:var(--ui-accent-pale)}
.xa .xa-wb-t{flex:1;min-width:0;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xa .xa-wb-btn{flex:none;min-width:5.5em}
.xa .xa-wb-list{padding:4px;border-bottom:1px solid var(--line);background:var(--bg2)}
.xa .xa-wb-list a{text-decoration:none;display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xa .xa-wb-list a:hover,.xa .xa-wb-list a:focus-visible{background:var(--chip)}
.xa .xa-wb-list a[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
.xa .xa-wb-st{padding:8px 12px}
.xa .xa-applbl{width:fit-content;max-width:100%;padding:2px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:700;color:var(--mute)}
.xa .xa-tabdev{display:flex;min-height:200px;border:2px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.xa .xa-rail{display:flex;flex-direction:column;gap:2px;flex:none;width:76px;padding:6px 0;border-right:1px solid var(--line);background:var(--bg2)}
.xa .xa-main{flex:1;min-width:0;padding:12px}
/* サイトの枠の絵 */
.xa .xa-site{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xa .xa-bar{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 10px;border-bottom:1px solid var(--line)}
.xa .xa-logo{flex:none;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--acc),var(--acc2));opacity:.8}
.xa .xa-logo-s{width:20px;height:20px;border-radius:6px}
.xa .xa-ghost{flex:none;width:34px;height:8px;border-radius:4px;background:var(--line)}
.xa .xa-bar-main .xa-ghost{width:44px;height:10px}
.xa .xa-mega-btn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.xa .xa-mega-btn[aria-expanded="true"]{border-bottom-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
.xa .xa-mega-btn[aria-expanded="true"] .xa-ic{transform:rotate(180deg)}
.xa .xa-mega-btn .xa-ic{transition:transform .2s}
.xa .xa-mega{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:4px 8px;padding:10px;background:var(--bg2)}
.xa .xa-mega[hidden]{display:none}
.xa .xa-mega h4{font-size:13px;color:var(--mute);padding:0 6px}
.xa .xa-mega a{text-decoration:none;display:flex;align-items:center;width:100%;min-height:44px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.xa .xa-mega a:hover,.xa .xa-mega a:focus-visible{background:var(--chip)}
.xa .xa-mega a[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700}
.xa .xa-util{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 2px;padding:0 4px;background:var(--bg2);border-bottom:1px solid var(--line)}
.xa .xa-util a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--ui-accent-ink);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.xa .xa-bar-main{min-height:56px}
.xa .xa-util a[aria-current="page"],.xa .xa-ft a[aria-current="page"]{font-weight:700;text-decoration-thickness:2px}
/* 言語 */
.xa .xa-lang{position:relative}
.xa .xa-lang .xa-btn{font-weight:500}
.xa .xa-lang .xa-pop{margin-top:6px}
.xa .xa-greet{padding:10px 12px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-size:14px}
/* リンク */
.xa .xa-dest{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card)}
.xa .xa-dest.xa-hit,.xa .xa-out.xa-hit{animation:xa-hit 1.2s ease-out}
/* サイドナビ */
.xa .xa-app{display:flex;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xa .xa-side{display:flex;flex-direction:column;flex:none;width:112px;padding:6px 0;border-right:1px solid var(--line);background:var(--bg2)}
.xa .xa-side a{text-decoration:none;display:flex;align-items:center;min-height:44px;padding:0 8px 0 10px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;line-height:1.3}
.xa .xa-side a.xa-in{padding-left:18px}
.xa .xa-side a:hover{background:var(--chip)}
.xa .xa-side a[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700;background:var(--ui-accent-pale);box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
.xa .xa-grp{padding:6px 10px 0;font-size:13px;color:var(--mute);font-weight:700}
/* スキップリンク */
.xa .xa-skipbox{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xa .xa-skip{position:absolute;left:8px;top:6px;z-index:2;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px;text-decoration:underline;transform:translateY(-140%);transition:transform .15s}
.xa .xa-skip:focus{transform:none}
.xa .xa-skipbox .xa-main{font-size:14px}
/* 戻る */
.xa .xa-flow{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xa .xa-flow>div>*+*{margin-top:8px}
.xa .xa-back{margin:-6px 0 0 -4px;padding:0 4px}
/* フッター */
.xa .xa-ft{padding:12px;border-top:3px solid var(--line);border-radius:0 0 12px 12px;background:var(--card)}
.xa .xa-ft-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px 12px}
.xa .xa-ft h4{font-size:13px;color:var(--mute)}
.xa .xa-ft a{display:flex;align-items:center;min-height:44px;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.xa .xa-cr{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
/* アイコンのボタン */
.xa .xa-ib{position:relative}
.xa .xa-tipw{position:relative;display:inline-flex}
.xa .xa-icon{width:44px;padding:0}
.xa .xa-tip{position:absolute;right:0;top:calc(100% + 6px);z-index:3;width:max-content;max-width:200px;padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:13px;line-height:1.5}
/* 閉じる */
.xa .xa-panel{padding:10px 10px 12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xa .xa-panel-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
/* ボタンの並び */
.xa .xa-danger{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;justify-content:flex-end}
/* 分割ボタン */
.xa .xa-splitw{position:relative;display:inline-block}
.xa .xa-split{display:inline-flex}
.xa .xa-split-main{border-radius:10px 0 0 10px}
.xa .xa-split-more{width:44px;padding:0;border-radius:0 10px 10px 0;border-left:1px solid rgba(255,255,255,.45)!important}
.xa .xa-split-more[aria-expanded="true"] .xa-ic{transform:rotate(180deg)}
.xa .xa-splitw .xa-pop{margin-top:6px;min-width:200px}
/* コピー */
.xa .xa-copy{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.xa .xa-code{flex:1 1 12em;min-width:0;margin:0;font-family:ui-monospace,monospace;font-size:17px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-all;line-height:1.5}
.xa .xa-code code{font:inherit}
.xa #xa-copy-button-btn{min-width:8.5em}
.xa #xa-copy-button-btn.xa-done{border-color:var(--ok);color:var(--ok)}
/* 明るさの切り替え */
.xa .xa-prev{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:12px;border:1px solid var(--line);transition:background .25s,color .25s}
.xa .xa-prev[data-mode="dark"]{background:rgba(0,0,0,.78);color:rgba(255,255,255,.95)}
.xa .xa-prev[data-mode="light"]{background:rgba(255,255,255,.96);color:rgba(0,0,0,.86)}
.xa .xa-prev span{font-size:13px;opacity:.85}
.xa .xa-rg{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0}
.xa .xa-rg legend{padding:0;margin-bottom:4px;font-size:14px;font-weight:700;color:var(--ink)}
.xa .xa-ro{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--ink);cursor:pointer}
.xa .xa-ro input{width:20px;height:20px;margin:0;accent-color:var(--btn1);cursor:pointer}
.xa .xa-now{margin:0;font-size:14px;font-weight:700;color:var(--ink)}
/* 固定ヘッダー */
.xa .xa-scroll .xa-logo-s+.xa-sh-t{flex:1}
/* コマンドパレット */
.xa .xa-kbd{margin-left:auto;padding:1px 6px;border:1px solid var(--line);border-radius:6px;background:var(--chip);font-family:ui-monospace,monospace;font-size:13px;font-weight:500;color:var(--mute)}
.xa .xa-dlg{width:min(92vw,380px);max-height:80vh;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 20px 48px rgba(0,0,0,.35)}
.xa>.xa-dlg,[data-sample] .xa>.xa-dlg{margin:auto}
.xa .xa-dlg::backdrop{background:rgba(0,0,0,.5)}
.xa .xa-dlg>*+*{margin-top:10px}
.xa .xa-dlg-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.xa .xa-cmds{max-height:240px;overflow:auto}
.xa .xa-cmds button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xa .xa-cmds button:hover,.xa .xa-cmds button:focus-visible{background:var(--chip)}
/* ツールバー */
.xa .xa-tb{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow-x:auto}
.xa .xa-tbb{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:44px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.xa .xa-tbb>b,.xa .xa-tbb>i,.xa .xa-tbb>u{font-size:15px;width:14px;text-align:center}
.xa .xa-tbb:hover{background:var(--chip)}
.xa .xa-tbb[aria-pressed="true"]{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink);font-weight:700}
.xa .xa-sep{flex:none;width:1px;height:24px;margin:0 2px;background:var(--line)}
.xa .xa-tbw{position:relative}
.xa .xa-tbw .xa-pop{position:absolute;right:0;top:0;z-index:3;min-width:170px}
.xa .xa-text{min-height:96px;padding:12px;border:1px dashed var(--line);border-radius:10px;font-size:15px}
.xa .xa-text.xa-fb{font-weight:700}.xa .xa-text.xa-fi{font-style:italic}.xa .xa-text.xa-fu{text-decoration:underline;text-underline-offset:3px}
/* メニューバー */
.xa .xa-mbw{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;min-height:196px}
.xa .xa-mb{display:flex;gap:2px;padding:2px 4px;border-bottom:1px solid var(--line);background:var(--bg2)}
.xa .xa-mbi{min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.xa .xa-mbi:hover,.xa .xa-mbi[aria-expanded="true"]{background:var(--chip)}
.xa .xa-mbm{position:absolute;top:50px;z-index:3;min-width:150px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.xa .xa-mbm button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xa .xa-mbm button:hover,.xa .xa-mbm button:focus{background:var(--chip);outline:none}
.xa .xa-mbm button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
.xa .xa-paper{display:flex;flex-direction:column;gap:10px;padding:18px 16px}
.xa .xa-paper span{height:8px;border-radius:4px;background:var(--line)}
.xa .xa-paper span:nth-child(2){width:80%}.xa .xa-paper span:nth-child(3){width:55%}
@media (prefers-reduced-motion:reduce){.xa *,.xa *::before,.xa *::after{animation:none!important;transition:none!important}}

.mini select{height:48px;min-height:48px;-webkit-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}

.mini [class*="xb-"][hidden]{display:none!important}
.mini .xb-root>*+*{margin-top:10px}
.mini .xb-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.mini .xb-f+.xb-f{margin-top:12px}
.mini .xb-lab,.mini .xb-fs>legend{display:block;margin:0;padding:0;font-size:15px;font-weight:700;line-height:1.6;color:var(--ink)}
.mini .xb-fs>legend{margin-bottom:4px}
.mini .xb-hint{margin:0;font-size:13px;line-height:1.6;color:var(--mute)}
.mini .xb-cap{margin:0;font-size:14px;font-weight:700;line-height:1.6;color:var(--ink)}
.mini .xb-out{margin:0;font-size:14px;line-height:1.6;color:var(--mute);overflow-wrap:anywhere}
.mini .xb-out b{color:var(--ink)}
.mini .xb-out.is-ng{color:var(--ng);font-weight:700}
.mini .xb-out.is-ok{color:var(--ok);font-weight:700}
.mini .xb-in{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--mute);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.mini .xb-in:hover{border-color:var(--ink)}
.mini .xb-in[aria-invalid="true"]{border:2px solid var(--ng)}
.mini textarea.xb-in{resize:vertical;min-height:88px}
.mini .xb-mono,.mini code,.mini .xb-code{font-family:ui-monospace,monospace}
.mini .xb-row{display:flex;align-items:center;gap:8px;min-width:0}
.mini .xb-row>.xb-in{flex:1 1 auto;width:auto}
.mini .xb-wrap{flex-wrap:wrap}
.mini .xb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;flex:none;transition:border-color .15s,background-color .15s}
.mini .xb-btn:hover{border-color:var(--mute)}
.mini .xb-btn.xb-pri{background:linear-gradient(90deg,var(--btn1),var(--btn2));border:0;color:#fff}
.mini .xb-btn.xb-sq{min-width:44px;padding:0;font-size:20px}
.mini .xb-btn.xb-sm{padding:0 10px}
.mini .xb-btn:disabled{opacity:.4;cursor:not-allowed}
.mini .xb-ic{width:18px;height:18px;flex:none}
.mini .xb-sr,.mini .xb-vh{position:absolute!important;width:1px!important;height:1px!important;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0}
.mini .xb-fs{margin:0;padding:0;border:0;min-width:0}
.mini .xb-choice{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;line-height:1.4;color:var(--ink);cursor:pointer}
.mini .xb-choice input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--acc)}
.mini .xb-opts{display:flex;flex-wrap:wrap;column-gap:16px}
.mini .xb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.mini .xb-chip{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px 0 14px;border:1px solid var(--line);border-radius:999px;background:var(--chip);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:border-color .15s}
.mini .xb-chip:hover{border-color:var(--mute)}
.mini .xb-chip .xb-ic{width:16px;height:16px;color:var(--mute)}
.mini .xb-picked{display:flex;flex-direction:column;gap:6px}
.mini .xb-err{display:flex;gap:6px;align-items:flex-start;margin:0;font-size:14px;font-weight:700;line-height:1.5;color:var(--ng)}
.mini .xb-err .xb-ic{margin-top:2px}
.mini .xb-req,.mini .xb-any{display:inline-block;margin-left:4px;padding:0 6px;border:1px solid currentColor;border-radius:6px;font-size:13px;font-weight:700;line-height:1.5;vertical-align:1px}
.mini .xb-req{color:var(--ng)}.mini .xb-any{color:var(--mute)}
.mini .xb-unit{font-size:15px;font-weight:700;color:var(--ink);flex:none}
/* スライダー */
.mini .xb-range{flex:1 1 auto;min-width:0;height:44px;margin:0;accent-color:var(--acc)}
.mini .xb-row>.xb-num{flex:none;width:4.6em;text-align:right}
/* 日付 */
.mini .xb-cal{padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mini .xb-cal-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mini .xb-cal-m{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.mini .xb-cal-t{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:4px}
.mini .xb-cal-t th{padding:2px 0;font-size:13px;font-weight:700;color:var(--mute);text-align:center}
.mini .xb-cal-t td{padding:1px;text-align:center}
.mini .xb-day{width:100%;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.mini .xb-day:hover{background:var(--ui-accent-pale)}
.mini .xb-day[aria-pressed="true"]{background:var(--acc);color:var(--bg);font-weight:900}
/* 業種の一覧 */
.mini .xb-list{max-height:184px;overflow:auto;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
/* 星 */
.mini .xb-star-row{display:flex;gap:4px}
.mini .xb-star{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 0;max-width:56px;min-height:60px;border-radius:10px;color:var(--mute);cursor:pointer}
.mini .xb-star .xb-ic{width:28px;height:28px;transition:transform .15s}
.mini .xb-star.is-on{color:var(--ui-accent-ink)}
.mini .xb-star.is-on .xb-ic path{fill:currentColor}
.mini .xb-star:hover .xb-ic{transform:scale(1.12)}
.mini .xb-star-n{font-size:13px;font-weight:700;line-height:1.3}
.mini .xb-star:has(input:focus-visible),.mini .xb-sw:has(input:focus-visible){outline:3px solid var(--ui-focus);outline-offset:2px}
/* トグル */
.mini .xb-tog[aria-pressed="true"],.mini .xb-tog2.is-on{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
.mini .xb-tog[aria-pressed="true"] .xb-star-i path{fill:currentColor}
.mini .xb-tog2 .xb-on-i,.mini .xb-tog2.is-on .xb-off-i{display:none}
.mini .xb-tog2.is-on .xb-on-i{display:block}
/* 時刻 */
.mini .xb-time{display:flex;align-items:center;gap:6px;margin-top:4px}
.mini .xb-time .xb-in{width:4.2em;text-align:center;font-size:18px;font-weight:700}
.mini .xb-time label{font-size:15px;font-weight:700;color:var(--ink);margin-right:6px}
/* 色 */
.mini .xb-sw-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.mini .xb-sw{position:relative;display:flex;align-items:center;gap:8px;min-height:52px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}
.mini .xb-sw:has(input:checked){border:2px solid var(--ui-accent-ink);padding:5px 7px}
.mini .xb-sw>.xb-ic{margin-left:auto;color:var(--ui-accent-ink);visibility:hidden}
.mini .xb-sw:has(input:checked)>.xb-ic{visibility:visible}
.mini .xb-dot{width:24px;height:24px;flex:none;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(127,127,127,.5)}
.mini .xb-sw-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.mini .xb-sw-t b{font-size:14px;color:var(--ink)}
.mini .xb-sw-t code{font-size:13px;color:var(--mute)}
.mini .xb-tag{--c:var(--acc);display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:2px solid var(--c);border-radius:999px;color:var(--ink);font-weight:700}
.mini .xb-tag::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.mini .xb-hint.is-ng{color:var(--ng);font-weight:700}
/* 右クリックのメニュー */
.mini .xb-ctx{position:relative}
.mini .xb-ctx-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.mini .xb-ctx-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.mini .xb-ctx-n{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;font-size:14px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.mini .xb-ctx-n>.xb-ic{color:var(--mute)}
.mini .xb-mark{display:none;padding:0 6px;border-radius:6px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px}
.mini .xb-ctx-row.is-mark .xb-mark{display:inline-block}
.mini .xb-menu{position:absolute;z-index:3;display:flex;flex-direction:column;min-width:164px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 14px 36px rgba(0,0,0,.35)}
.mini .xb-menu button{min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.mini .xb-menu button:hover,.mini .xb-menu button:focus{background:var(--ui-accent-pale)}
.mini .xb-menu [data-act="del"]{color:var(--ng)}
/* 並び替え・絞り込みの一覧 */
.mini .xb-rows,.mini .xb-res{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.mini .xb-rows li,.mini .xb-res li{display:flex;flex-direction:column;padding:8px 12px;border-top:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--ink);background:var(--card)}
.mini .xb-rows li:first-child,.mini .xb-res li:first-child{border-top:0}
.mini .xb-rows small,.mini .xb-res small{font-size:13px;color:var(--mute)}
.mini .xb-res li{flex-direction:row;justify-content:space-between;gap:8px}
.mini .xb-res li[hidden]{display:none}
.mini .xb-res li:not([hidden])~li:not([hidden]){border-top:1px solid var(--line)}
.mini .xb-fp-cols{display:flex;flex-wrap:wrap;gap:4px 28px}
/* ツリー */
.mini .xb-tree,.mini .xb-tree ul{margin:0;padding:0;list-style:none}
.mini .xb-tree ul{padding-left:20px}
.mini .xb-tree li{outline:none}
.mini .xb-ti{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border-radius:8px;font-size:15px;color:var(--ink);cursor:pointer}
.mini .xb-ti:hover{background:var(--ui-accent-pale)}
.mini .xb-ti>.xb-ic:not(.xb-chev){color:var(--mute)}
.mini .xb-chev{transition:transform .2s;color:var(--mute)}
.mini .xb-chev-sp{width:18px;flex:none}
.mini [aria-expanded="true"]>.xb-ti .xb-chev{transform:rotate(90deg)}
.mini [aria-selected="true"]>.xb-ti{background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
.mini .xb-tree li:focus-visible>.xb-ti{outline:3px solid var(--ui-focus);outline-offset:-3px}
/* ファイル */
.mini .xb-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:2px dashed var(--mute);border-radius:12px;background:var(--card);text-align:center;color:var(--mute);transition:border-color .15s,background-color .15s}
.mini .xb-drop>.xb-ic{width:26px;height:26px}
.mini .xb-drop.is-over{border-color:var(--ui-accent-ink);background:var(--ui-accent-pale)}
.mini .xb-file{position:absolute;left:50%;bottom:16px;width:1px;height:1px;opacity:0}
.mini .xb-file:focus-visible+label{outline:3px solid var(--ui-focus);outline-offset:2px}
.mini .xb-files{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.mini .xb-files:empty{display:none}
.mini .xb-fi{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.mini .xb-fi-t{display:flex;flex-direction:column;flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--mute);overflow-wrap:anywhere}
.mini .xb-fi-t b{font-size:14px;color:var(--ink)}
.mini .xb-fi.is-ng .xb-fi-t>span{color:var(--ng);font-weight:700}
/* 文字数 */
.mini .xb-count{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin:0;font-size:14px;line-height:1.6;color:var(--mute);font-variant-numeric:tabular-nums}
.mini .xb-count>.xb-ic{display:none}
.mini .xb-count.is-ng{color:var(--ng);font-weight:700}
.mini .xb-count.is-ng>.xb-ic{display:block}
/* パスワード */
.mini .xb-rules{display:flex;flex-direction:column;gap:2px;margin:0 0 4px;padding:0;list-style:none}
.mini .xb-rules li{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.6;color:var(--mute)}
.mini .xb-rules .xb-yes,.mini .xb-rules li.is-ok .xb-no{display:none}
.mini .xb-rules li.is-ok{color:var(--ok)}
.mini .xb-rules li.is-ok .xb-yes{display:block}
.mini .xb-st{padding:0 6px;border:1px solid currentColor;border-radius:6px;font-size:13px;line-height:1.4}
/* ステッパー */
.mini .xb-step{display:flex;align-items:center;gap:8px}
.mini .xb-step .xb-in{width:4.4em;text-align:center;font-size:18px;font-weight:700}
/* 確認コード */
.mini .xb-otp1{max-width:12em;font-family:ui-monospace,monospace;font-size:22px;font-weight:700;letter-spacing:.3em}
.mini .xb-otp-alt{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.mini .xb-otp-box{margin-top:10px}
.mini .xb-otp{display:grid;grid-template-columns:repeat(6,minmax(0,46px));gap:6px;margin-top:6px}
.mini .xb-box{min-height:52px;padding:0;text-align:center;font-family:ui-monospace,monospace;font-size:22px;font-weight:700}
.mini .xb-code{padding:0 6px;border-radius:6px;background:var(--chip);color:var(--ink);font-size:14px;user-select:all;-webkit-user-select:all}
/* 単位つき */
.mini .xb-ig{display:flex;align-items:center;gap:8px;min-width:0}
.mini .xb-ig .xb-in{flex:1 1 auto;width:auto}
.mini .xb-affix{flex:none;font-size:15px;font-weight:700;color:var(--ink);font-family:ui-monospace,monospace}
/* その場で直す */
.mini .xb-ie{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mini .xb-ie-v{display:flex;flex-direction:column;flex:1;min-width:0;margin:0;line-height:1.5}
.mini .xb-ie-v span{font-size:13px;color:var(--mute)}
.mini .xb-ie-v b{font-size:16px;color:var(--ink);overflow-wrap:anywhere}
.mini .xb-ie .xb-f .xb-row{margin-top:6px}
/* 文字の飾り */
.mini .xb-tb{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--mute);border-bottom:0;border-radius:10px 10px 0 0;background:var(--chip)}
.mini .xb-tb [aria-pressed="true"]{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink);box-shadow:inset 0 -3px 0 var(--ui-accent-ink)}
.mini .xb-ed{min-height:104px;padding:10px 12px;border:1px solid var(--mute);border-radius:0 0 10px 10px;background:var(--card);color:var(--ink);font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.mini .xb-ed:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.mini .xb-ed ul{margin:4px 0;padding-left:1.4em}
/* メンション */
.mini .xb-pop{margin:4px 0 0;padding:4px;list-style:none;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.mini .xb-op{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;border-radius:8px;font-size:15px;color:var(--ink);cursor:pointer}
.mini .xb-op span{font-size:13px;color:var(--mute)}
.mini .xb-op[aria-selected="true"]{background:var(--ui-accent-pale);color:var(--ui-accent-ink);box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
/* 音声 */
.mini .xb-mic.is-on{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
.mini .xb-vs{display:flex;align-items:center;gap:8px}
.mini .xb-rec{width:10px;height:10px;flex:none;border-radius:50%;background:var(--ng);animation:xb-pulse 1s ease-in-out infinite}
@keyframes xb-pulse{50%{opacity:.25}}
/* 並び替え（つまんで動かす） */
.mini .xb-dd{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.mini .xb-dd-i{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 6px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:grab}
.mini .xb-dd-i.is-drag{opacity:.5;border-style:dashed}
.mini .xb-grip{display:flex;color:var(--mute)}
.mini .xb-dd-n{width:1.3em;flex:none;text-align:center;font-size:14px;font-weight:700;color:var(--ui-accent-ink)}
.mini .xb-dd-t{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--ink)}
.mini .xb-dd-a{display:flex;gap:4px}
/* エラーのまとめ */
.mini .xb-form{display:flex;flex-direction:column;gap:12px}
.mini .xb-form .xb-f+.xb-f{margin-top:0}
.mini .xb-form>.xb-btn{align-self:flex-start}
.mini .xb-sum{padding:10px 14px;border:2px solid var(--ng);border-radius:12px;background:var(--card)}
.mini .xb-sum:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.mini .xb-sum h3{margin:0;font-size:16px;line-height:1.5;color:var(--ink)}
.mini .xb-sum ul{margin:4px 0 0;padding:0;list-style:none}
.mini .xb-sum a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:var(--ui-accent-ink);text-decoration:underline}
@media (prefers-reduced-motion:reduce){.mini [class*="xb-"]{transition:none!important;animation:none!important}}

.xc{font-size:14px;line-height:1.65;color:var(--ink);display:flex;flex-direction:column;gap:10px;min-width:0}
.xc p{margin:0}.xc ul{margin:0;padding:0;list-style:none}
.xc-t{font-weight:700;color:var(--ink)}
.xc-h{margin:0;font-size:15px;line-height:1.4;font-weight:700}
.xc-note{font-size:13px;color:var(--mute);line-height:1.6}
.xc-grow{flex:1 1 auto;min-width:0}
.xc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.xc-ic{width:18px;height:18px;flex:none}
.xc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.xc-btn:hover{border-color:var(--mute)}
.xc-btn.p{background:linear-gradient(90deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.xc-btn.p:hover{filter:brightness(1.08)}
.xc-btn.xc-sm{padding:0 12px;font-size:13px}
.xc-btn[aria-disabled="true"]{cursor:progress;opacity:.85}
.xc button:focus-visible,.xc [tabindex]:focus-visible,.xc input:focus-visible,.xc textarea:focus-visible,.xc-lb-dlg button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.xc-row{display:flex;flex-wrap:wrap;gap:8px}
.xc-alt{align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700}
.xc-frame{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-pad{padding:10px 12px}
.xc-lines{display:flex;flex-direction:column;gap:7px;margin-top:8px}.xc-lines span{display:block;height:7px;border-radius:4px;background:var(--line)}
.xc-phone{width:100%;max-width:250px;margin-inline:auto;border-radius:22px;padding:12px}
.xc-art{position:relative;display:block;overflow:hidden;border-radius:10px;aspect-ratio:16/10}
.xc-art-svg{position:absolute;inset:0;width:100%;height:100%}
.xc-g1{background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 78%,var(--bg)),color-mix(in srgb,var(--acc2) 70%,var(--bg)))}
.xc-g2{background:linear-gradient(135deg,color-mix(in srgb,var(--ok) 62%,var(--bg)),color-mix(in srgb,var(--acc) 70%,var(--bg)))}
.xc-g3{background:linear-gradient(135deg,color-mix(in srgb,var(--acc2) 72%,var(--bg)),color-mix(in srgb,var(--ng) 58%,var(--bg)))}
.xc-ng-t{color:var(--ng)!important}
.xc-lbl{font-size:13px;font-weight:700;color:var(--ink)}
.xc-in{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:15px}
.xc textarea.xc-in{resize:vertical;line-height:1.6}
.xc-chk{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}
.xc-chk input{width:20px;height:20px;margin:0;accent-color:var(--acc);flex:none}
.xc-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:13px}.xc-dl dt{color:var(--mute)}.xc-dl dd{margin:0;font-weight:700}
.xc-spin{width:16px;height:16px;box-sizing:border-box;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:xc-rot .8s linear infinite;flex:none}
@keyframes xc-rot{to{transform:rotate(360deg)}}
.xc-pop-wrap{position:relative}
.xc-linkbtn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.xc-linkbtn[aria-expanded="true"] .xc-ic{transform:rotate(180deg)}
.xc-bd-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:var(--ng);color:#fff;font-size:13px;font-weight:700;line-height:1}
:root[data-theme="dark"] .xc-bd-n{color:#1a0705}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xc-bd-n{color:#1a0705}}:root[data-theme="dark"] .xc-bd-n{color:#1a0705}

/* カルーセル */
.xc-car-view{overflow:hidden;border-radius:12px;touch-action:pan-y;cursor:grab}
.xc-car-track{display:flex;will-change:transform}
.xc-car-slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;gap:6px}
.xc-cap{font-size:13px;font-weight:700}
.xc-car-ctl{display:flex;align-items:center;justify-content:space-between;gap:8px}
.xc-car-pos{font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums}

/* メニューリスト・ポップオーバー */
/* 閉じている時は空きを作らず、開いた時だけ枠を伸ばして中身が切れないようにする */
.xc-menu:has(.xc-menu-list:not([hidden])){min-height:252px}
.xc-menu-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-btn[aria-expanded="true"]>.xc-ic{transform:rotate(180deg)}
.xc-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:3;width:190px;padding:6px!important;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.xc-menu-list button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xc-menu-list button:hover,.xc-menu-list button:focus{background:var(--ui-accent-pale);outline:none}
.xc-menu-list button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
.xc-sep-top{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}
.xc-menu-st{margin-top:auto}
.xc-po:has(.xc-po-pop:not([hidden])){min-height:300px}
.xc-po-wrap{align-self:flex-start}
.xc-po-pop{position:absolute;left:0;top:calc(100% + 10px);z-index:3;width:min(250px,calc(100vw - 80px));padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 16px 40px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:6px;align-items:flex-start;font-size:14px}
.xc-po-pop::before{content:"";position:absolute;left:22px;top:-7px;width:12px;height:12px;background:var(--card);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.xc-po-pop[hidden],.xc-menu-list[hidden]{display:none}
.xc-po .xc-note[role="status"]{margin-top:auto}

/* サイドパネル */
.xc-sp-frame{height:236px}
.xc-sp-cap{padding:8px 12px 0;font-size:13px;color:var(--mute)}
.xc-sp-list{padding:6px!important;display:flex;flex-direction:column;gap:4px}
.xc-sp-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xc-sp-row span{color:var(--mute);font-size:13px}
.xc-sp-row:hover{background:var(--chip)}
.xc-sp-row[aria-expanded="true"]{background:var(--ui-accent-pale);border-color:color-mix(in srgb,var(--acc) 50%,transparent)}
.xc-sp-panel{position:absolute;top:0;right:0;bottom:0;width:64%;box-sizing:border-box;padding:12px;border-left:1px solid var(--line);background:var(--card);box-shadow:-18px 0 36px rgba(0,0,0,.22)}
/* パネルを開いている間は一覧を左へ寄せ、押した行がパネルに隠れないようにする（もう一度押すと閉じる） */
.xc-sp:has(.xc-sp-panel:not([hidden])) .xc-sp-list{width:36%;box-sizing:border-box}
.xc-sp:has(.xc-sp-panel:not([hidden])) .xc-sp-row{padding:0 8px}
.xc-sp:has(.xc-sp-panel:not([hidden])) .xc-sp-row span{display:none}
.xc-sp-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.xc-sp-hd .xc-h:focus{outline:none}

/* 画像の拡大表示 */
.xc-lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xc-lb-th{position:relative;display:block;padding:0;border:1px solid var(--line);border-radius:10px;background:none;cursor:zoom-in;overflow:hidden}
.xc-lb-th .xc-art{aspect-ratio:1;border-radius:0;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.xc-lb-th:hover .xc-art{transform:scale(1.06)}
.xc-lb-zoom{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(0,0,0,.45);color:#fff}
.xc-lb-zoom .xc-ic{width:15px;height:15px}
.xc-lb-dlg{width:min(92vw,520px);box-sizing:border-box;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink)}
.xc-lb-dlg[open]{display:flex;flex-direction:column;gap:10px}
.xc-lb-dlg::backdrop{background:rgba(0,0,0,.62)}
.xc-lb-big{aspect-ratio:16/10}
.xc-lb-ctl{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xc-lb-hd,.xc-po-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch}
.xc-lb-hd .xc-t,.xc-po-hd .xc-t{min-width:0}
.xc-lb-hd .xc-btn,.xc-po-hd .xc-btn{flex:none}

/* 大きさを変えられる区切り */
.xc-rz-wrap{display:flex;height:150px;--w:50%}
.xc-rz-a{flex:0 0 var(--w);min-width:0;padding:10px 12px;box-sizing:border-box;overflow:hidden}
.xc-rz-b{flex:1 1 auto;min-width:0;padding:10px 12px;overflow:hidden;background:var(--bg2)}
.xc-rz-sep{flex:0 0 16px;display:grid;place-items:center;border-inline:1px solid var(--line);background:var(--chip);cursor:col-resize;touch-action:none}
.xc-rz-sep:hover,.xc-rz-sep.is-drag{background:var(--ui-accent-pale)}
.xc-rz-sep:focus-visible{outline:3px solid var(--ui-focus);outline-offset:-3px}
.xc-rz-grip{display:flex;flex-direction:column;gap:4px}.xc-rz-grip i{width:4px;height:4px;border-radius:50%;background:var(--mute)}
.xc-rz-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.xc-rz-btns .xc-btn{padding:0 6px;white-space:nowrap}

/* 同意の案内 */
.xc-ck-page{padding:12px}
.xc-ck-band{padding:12px;border-top:1px solid var(--line);background:var(--bg2);font-size:13px;display:flex;flex-direction:column;gap:10px}
.xc-ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xc-ck-done{padding:12px;border-top:1px solid var(--line);background:var(--bg2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.xc-ck-done[hidden]{display:none}

/* 緊急時バナー */
.xc-eb-bar{display:flex;gap:10px;padding:12px;background:color-mix(in srgb,var(--ng) 16%,var(--card));border-bottom:2px solid var(--ng);font-size:13px}
.xc-eb-ic{color:var(--ng);padding-top:2px}
.xc-eb-t{font-size:14px;font-weight:700;color:var(--ink)}
.xc-eb-more{margin-top:2px!important;padding-left:1.2em!important;list-style:disc!important}
.xc-mock-hd{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.xc-dot{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--acc),var(--acc2))}
.xc-bar{height:8px;border-radius:4px;background:var(--line)}.xc-bar.w40{width:40%}

/* 件数の印 */
.xc-bd-nav{display:flex;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-bd-item{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700}
.xc-bd-item .xc-bd-n{margin-left:2px}
.xc-bd-read{font-size:13px;color:var(--mute)}.xc-bd-read b{color:var(--ink)}
.xc-bd-n.is-pop{animation:xc-pop .38s cubic-bezier(.34,1.56,.64,1)}
@keyframes xc-pop{0%{transform:scale(.6)}100%{transform:scale(1)}}

/* 注釈ブロック */
.xc-nb{font-size:14px}
.xc-nb-box{padding:10px 12px;border-radius:10px;border:1px solid;border-left-width:4px;display:flex;flex-direction:column;gap:2px}
.xc-nb-k{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px}
.xc-nb-warn{border-color:color-mix(in srgb,var(--ng) 55%,transparent);background:color-mix(in srgb,var(--ng) 9%,var(--card))}.xc-nb-warn .xc-nb-k{color:var(--ng)}
.xc-nb-info{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:var(--ui-accent-pale)}.xc-nb-info .xc-nb-k{color:var(--ui-accent-ink)}

/* 空の状態 */
.xc-es-hd{display:flex;align-items:baseline;justify-content:space-between}
.xc-es-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;border:1px dashed var(--line);border-radius:12px;background:var(--card);text-align:center}
.xc-es-empty[hidden],.xc-es-list[hidden]{display:none}
.xc-es-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);margin-bottom:4px}
.xc-es-empty .xc-btn{margin-top:8px}
.xc-es-list li{display:flex;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:14px}

/* 状態のラベル */
.xc-sl-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xc-sl-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;font-size:14px}
.xc-sl-list li+li{border-top:1px solid var(--line)}
.xc-tag{display:inline-flex;align-items:center;gap:4px;flex:none;padding:2px 10px 2px 7px;border-radius:999px;border:1px solid;font-size:13px;font-weight:700;white-space:nowrap}
.xc-tag .xc-ic{width:15px;height:15px}
.xc-tag-w{color:var(--mute);border-color:var(--line);background:var(--chip)}
.xc-tag-d{color:var(--ui-accent-ink);border-color:color-mix(in srgb,var(--acc) 50%,transparent);background:var(--ui-accent-pale)}
.xc-tag-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.xc-tag-ng{color:var(--ng);border-color:color-mix(in srgb,var(--ng) 50%,transparent);background:color-mix(in srgb,var(--ng) 10%,transparent)}

/* 使い方の案内 */
.xc-cm-frame{min-height:232px}
.xc-cm-bar{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--line)}
.xc-cm-tgt{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:700;color:var(--mute);transition:box-shadow .25s,color .25s}
.xc-cm-tgt.is-on{color:var(--ink);box-shadow:0 0 0 2px var(--acc),0 0 0 6px color-mix(in srgb,var(--acc) 22%,transparent)}
.xc-cm-tip{position:absolute;z-index:2;width:220px;max-width:calc(100% - 20px);box-sizing:border-box;padding:10px 12px;border:1px solid color-mix(in srgb,var(--acc) 50%,var(--line));border-radius:12px;background:var(--card);box-shadow:0 14px 36px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:4px;--ax:24px}
.xc-cm-tip[hidden]{display:none}
.xc-cm-tip::before{content:"";position:absolute;top:-7px;left:var(--ax);width:12px;height:12px;background:var(--card);border-left:1px solid color-mix(in srgb,var(--acc) 50%,var(--line));border-top:1px solid color-mix(in srgb,var(--acc) 50%,var(--line));transform:rotate(45deg)}
.xc-cm-btns{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}
.xc-cm>.xc-btn{align-self:flex-start}

/* 通知の一覧 */
.xc-nc-imp{display:flex;gap:8px;align-items:baseline;padding:8px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ng) 45%,transparent);background:color-mix(in srgb,var(--ng) 9%,var(--card));font-size:13px}
.xc-nc-imp b{color:var(--ng);flex:none}
.xc-nc-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-nc-panel{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:8px}
.xc-nc-panel[hidden]{display:none}
.xc-nc-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 6px}
.xc-nc-item{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--mute);font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}
.xc-nc-item:hover{background:var(--chip)}
.xc-nc-item.is-new{color:var(--ink);font-weight:700}
.xc-nc-state{flex:none;padding:1px 8px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--mute)}
.xc-nc-item.is-new .xc-nc-state{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:var(--ui-accent-pale);color:var(--ui-accent-ink)}
.xc-nc-item .xc-note{flex:none}

/* あとから読み込み */
.xc-ll-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xc-ll-fig{margin:0;display:flex;flex-direction:column;gap:4px}
.xc-ll-fig figcaption{font-size:13px;color:var(--mute)}
.xc-ll-box{position:relative;aspect-ratio:4/3;border-radius:10px;border:1px dashed var(--line);background:var(--card);overflow:hidden;display:grid;place-items:center}
.xc-ll-wait{display:inline-flex;align-items:center;gap:6px;padding:0 8px;font-size:13px;color:var(--mute);text-align:center}
.xc-ll-img{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;opacity:0;transition:opacity .5s}
.xc-ll-img.is-in{opacity:1}
.xc-ll-body{padding:8px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line);font-size:14px}

/* 先に反映する表示 */
.xc-op-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-op-like{flex:none}
.xc-op-like[aria-pressed="true"]{color:var(--ng);border-color:color-mix(in srgb,var(--ng) 55%,transparent);background:color-mix(in srgb,var(--ng) 10%,var(--card))}
.xc-op-like[aria-pressed="true"] path{fill:currentColor}
.xc-op-n{font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}
.xc-op-st{font-size:13px;color:var(--mute);min-height:2.6em}
.xc-op-st.is-ng{color:var(--ng);font-weight:700}
.xc-op-st.is-ok{color:var(--ok)}

/* 元に戻す */
.xc-ud-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xc-ud-list li{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;min-height:56px;box-sizing:border-box;font-size:14px}
.xc-ud-list li+li{border-top:1px solid var(--line)}
.xc-ud-list li.is-gone{background:var(--ui-accent-pale);flex-wrap:wrap;padding:8px 12px}
.xc-ud-msg{flex:1 1 170px;font-size:13px}.xc-ud-msg b{display:block;font-size:14px}

/* 進み具合のバー */
.xc-pb-row{display:flex;align-items:center;gap:10px}
.xc-pb-track{position:relative;flex:1;height:10px;border-radius:999px;background:var(--chip);border:1px solid var(--line);overflow:hidden}
.xc-pb-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--btn1),var(--btn2));transition:width .2s linear}
.xc-pb-row[hidden]{display:none}
.xc-pb-pct{min-width:3.2em;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.xc-pb-st{font-size:13px;color:var(--mute);display:flex;align-items:center;gap:6px}
.xc-pb-st .xc-spin,.xc-ll-wait .xc-spin,.xc-rt-box .xc-spin{border-color:color-mix(in srgb,var(--mute) 35%,transparent);border-top-color:var(--acc)}
.xc-pb>.xc-btn,.xc-bl-btn,.xc-of>.xc-btn,.xc-rt>.xc-btn,.xc-sh>.xc-btn,.xc-ll>.xc-btn,.xc-rm>.xc-btn,.xc-sr2>.xc-btn,.xc-px>.xc-btn,.xc-cu>.xc-btn,.xc-sl>.xc-btn,.xc-es>.xc-btn{align-self:flex-start}
.xc-bl-btn{min-width:150px}

/* つながっていない時 */
.xc-of-band{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:700;border:1px solid color-mix(in srgb,var(--ng) 50%,transparent);background:color-mix(in srgb,var(--ng) 10%,var(--card));color:var(--ink)}
.xc-of-band[hidden]{display:none}
.xc-of-band .xc-ic{color:var(--ng)}
.xc-of-band.is-ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 10%,var(--card))}
.xc-of-band.is-ok .xc-ic{color:var(--ok)}

/* やり直しの案内 */
.xc-rt-box{min-height:86px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);display:flex;flex-direction:column;gap:8px;justify-content:center}
.xc-rt-box.is-ng{border-color:color-mix(in srgb,var(--ng) 50%,transparent);background:color-mix(in srgb,var(--ng) 8%,var(--card))}
.xc-rt-ng{font-weight:700;color:var(--ng)}
.xc-rt-box li{padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.xc-rt-load{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mute)}

/* 浮いた丸いボタンの代わり */
.xc-app-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.xc-fab-list li{display:flex;flex-direction:column;padding:8px 2px;border-bottom:1px solid var(--line);font-size:13px}
.xc-fab-list li span{color:var(--mute)}
.xc-fab-list li.is-new{animation:xc-in .4s cubic-bezier(.2,.8,.2,1)}
@keyframes xc-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* アクションシート */
.xc-as-phone{min-height:300px;display:flex;flex-direction:column;gap:8px}
.xc-as-photo{aspect-ratio:4/3}
.xc-as-scrim{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:2}
.xc-as-sheet{position:absolute;left:8px;right:8px;bottom:8px;z-index:3;display:flex;flex-direction:column;gap:6px}
.xc-as-sheet[hidden],.xc-as-scrim[hidden]{display:none}
.xc-as-grp{display:flex;flex-direction:column;border-radius:14px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.xc-as-grp button,.xc-as-cancel{min-height:46px;border:0;background:none;color:var(--ui-accent-ink);font:inherit;font-size:14px;cursor:pointer}
.xc-as-grp button+button{border-top:1px solid var(--line)}
.xc-as-cancel{border-radius:14px;background:var(--card);border:1px solid var(--line);font-weight:700;color:var(--ink)}
.xc-as-grp button:focus-visible,.xc-as-cancel:focus-visible{outline:3px solid var(--ui-focus);outline-offset:-3px}

/* ピンチで拡大 */
.xc-pz-view{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--bg2);touch-action:none;cursor:grab}
.xc-pz-map{display:block;width:100%;height:auto;transform-origin:50% 50%;color:var(--ink)}
.xc-pz-floor{fill:var(--card);stroke:var(--line);stroke-width:2}
.xc-pz-room{fill:var(--chip);stroke:var(--line);stroke-width:1.5}
.xc-pz-hot{fill:var(--ui-accent-pale);stroke:var(--acc)}
.xc-pz-map text{fill:currentColor;font-size:13px;font-weight:700}
.xc-pz-map .xc-pz-s{font-size:13px;fill:var(--mute)}
.xc-pz-path{fill:none;stroke:var(--acc);stroke-width:2.5;stroke-dasharray:5 4}
.xc-pz-pin{fill:var(--acc)}
.xc-pz-ctl{display:flex;align-items:center;gap:8px}
.xc-pz-ctl .xc-btn[data-z="1"],.xc-pz-ctl .xc-btn[data-z="-1"]{width:44px;padding:0;font-size:18px}
.xc-pz-ctl .xc-btn[data-z="0"]{margin-left:auto}
.xc-pz-ctl .xc-pz-b[aria-disabled="true"]{opacity:.4;cursor:not-allowed;border-style:dashed}
.xc-pz-pct{min-width:3.4em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}

/* 共有 */
.xc-sh-card{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xc-sh-art{width:64px;flex:none;aspect-ratio:1}
.xc-sh-st{min-height:1.6em;font-size:13px;font-weight:700;color:var(--ok)}
.xc-in[readonly]{color:var(--mute);font-size:13px}

/* 動きを減らす設定 */
.xc-rm-stage{position:relative;height:132px;border-radius:12px;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%),var(--card);border:1px solid var(--line);overflow:hidden}
.xc-rm-card{position:absolute;left:50%;top:50%;width:86px;height:84px;margin:-42px 0 0 -43px;box-sizing:border-box;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);box-shadow:0 10px 26px rgba(0,0,0,.22);display:flex;flex-direction:column;justify-content:space-between}
.xc-rm-c1{transform:translateX(-82px) rotate(-7deg)}
.xc-rm-c2{transform:translateY(-4px);z-index:2;border-color:color-mix(in srgb,var(--acc) 55%,var(--line))}
.xc-rm-c3{transform:translateX(82px) rotate(7deg)}
.xc-rm-k{font-size:13px;color:var(--mute)}
.xc-rm-v{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}
.xc-rm-bars{display:flex;align-items:flex-end;gap:4px;height:40px}
.xc-rm-bars i{flex:1;height:var(--h);border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--acc),var(--acc2));transform-origin:50% 100%}
.xc-rm-cap{font-size:14px}

/* スクロールで現れる */
.xc-sr2-sc{height:210px;overflow-y:auto;overscroll-behavior:contain;padding:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}
.xc-sr2-sec{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;min-height:90px}
.xc-sr2-fig{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff}
.xc-sr2-ic{width:22px;height:22px}
.xc-sr2-h{margin:0;font-size:15px;line-height:1.4}
.xc-sr2-sec p{font-size:13px;color:var(--mute)}

/* 視差 */
.xc-px-sc{height:230px;overflow-y:auto;overscroll-behavior:contain}
.xc-px-hero{position:relative;height:190px;overflow:hidden}
.xc-px-sky{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--acc2) 34%,var(--bg)),color-mix(in srgb,var(--acc) 16%,var(--bg)))}
.xc-px-moon{position:absolute;right:18%;top:18px;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,color-mix(in srgb,var(--acc) 30%,#fff));box-shadow:0 0 30px color-mix(in srgb,var(--acc) 60%,transparent)}
.xc-px-l{position:absolute;left:-6%;width:112%;bottom:0;height:120px;will-change:transform}
.xc-px-far path{fill:color-mix(in srgb,var(--acc2) 34%,var(--bg))}
.xc-px-mid path{fill:color-mix(in srgb,var(--acc) 26%,var(--bg))}
.xc-px-near path{fill:var(--card)}
.xc-px-ttl{position:absolute;left:16px;top:22px;will-change:transform}
.xc-px-ey{display:inline-block;padding:0 8px;border-radius:999px;background:var(--card);font-size:13px;font-weight:700;color:var(--ui-accent-ink)}
.xc-px-h{margin:2px 0 0;font-size:19px;line-height:1.35;font-weight:900;color:var(--ink)}
.xc-px-body{padding:6px 14px 70px;display:flex;flex-direction:column;gap:8px;font-size:14px}

/* ホバーで浮く */
.xc-hl-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s}
.xc-hl-card::before{content:"";position:absolute;inset:0;background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}
.xc-hl-card>*{position:relative}
.xc-hl-card .xc-grow{display:flex;flex-direction:column}
.xc-hl-card>.xc-ic{color:var(--mute);transition:transform .22s,color .22s}
.xc-hl-ic{width:40px;height:40px;border-radius:10px;flex:none}
@media (hover:hover){.xc-hl-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--acc) 55%,var(--line));box-shadow:0 14px 30px rgba(0,0,0,.24)}
.xc-hl-card:hover::before{opacity:1}.xc-hl-card:hover>.xc-ic{transform:translateX(3px);color:var(--ui-accent-ink)}}
.xc-a-btn{text-decoration:none;align-self:flex-start}
.xc-hl-card:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
.xc-hl-info{display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);font-size:13px;color:var(--mute)}
.xc-hl-info b{color:var(--ink);font-size:14px}

/* 画面の切り替え */
.xc-pt-frame{height:236px}
.xc-pt-scr{position:absolute;inset:0;padding:12px;box-sizing:border-box;background:var(--card);display:flex;flex-direction:column;gap:6px}
.xc-pt-scr[hidden]{display:none}
.xc-pt-detail{z-index:2;box-shadow:-16px 0 30px rgba(0,0,0,.18);align-items:flex-start}
.xc-pt-h{margin:0;font-size:15px;line-height:1.4}
.xc-pt-h:focus{outline:none}
.xc-pt-ul{display:flex;flex-direction:column;gap:4px;width:100%}
.xc-pt-row{display:flex;align-items:center;gap:8px;width:100%;min-height:50px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.xc-pt-row .xc-grow{display:flex;flex-direction:column;line-height:1.35}
.xc-pt-row .xc-grow span{font-size:13px;color:var(--mute)}
.xc-pt-row:hover{border-color:var(--mute)}

/* カウントアップ */
.xc-cu-grid{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xc-cu-s{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;min-width:0}.xc-cu-s+.xc-cu-s{border-top:1px solid var(--line)}
.xc-cu-k{font-size:13px;color:var(--mute);line-height:1.4}
.xc-cu-n{font-size:24px;font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.xc-cu-n small{font-size:13px;margin-left:1px}

/* 自動で動く物 */
.xc-ap-stage{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.xc-ap-sl{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;opacity:0;transition:opacity .6s}
.xc-ap-sl.is-on{opacity:1}
.xc-ap-mute{position:absolute;left:8px;top:8px;padding:2px 10px;border-radius:999px;background:rgba(0,0,0,.78);color:#fff;font-size:13px;font-weight:700}
.xc-ap-prog{height:4px;border-radius:999px;background:var(--chip);overflow:hidden}
.xc-ap-prog span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--btn1),var(--btn2))}
.xc-ap-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){
.xc *,.xc *::before,.xc *::after,.xc-lb-dlg *{animation:none!important;transition:none!important}
}

.mini .xd-s{display:flex;flex-direction:column;gap:12px;min-width:0;font-size:14px;line-height:1.7}
.mini .xd-s [hidden]{display:none!important}
.mini .xd-s :is(p,li,h3,h4,h5,dd,figcaption,b,a){word-break:auto-phrase;text-wrap:pretty}
.mini .xd-s p{margin:0;font-size:14px;line-height:1.7}
.mini .xd-s .xd-n,.mini .xd-n{font-size:13px;color:var(--mute);line-height:1.65}
.mini .xd-h{margin:0;font-size:15px;font-weight:700;line-height:1.5}
.mini .xd-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mini .xd-end{justify-content:flex-end}
.mini .xd-b{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:border-color .15s,background-color .15s}
.mini .xd-b:hover{border-color:var(--acc)}
.mini .xd-b.xd-sm{padding:0 12px;font-size:13px}
.mini .xd-b.xd-p{background:var(--btn1);border-color:var(--btn1);color:#fff}
.mini .xd-b.xd-p:hover{background:var(--btn2);border-color:var(--btn2)}
.mini .xd-b.xd-dng{color:var(--ng);border-color:color-mix(in srgb,var(--ng) 55%,var(--line))}
.mini .xd-b[aria-pressed="true"]{background:var(--ui-accent-pale);border-color:var(--acc);color:var(--ui-accent-ink)}
.mini .xd-b[disabled]{cursor:not-allowed;opacity:.6}
.mini .xd-b svg{width:16px;height:16px;flex:none}
.mini .xd-b.xd-stopb{border-color:var(--acc);color:var(--ui-accent-ink)}
.mini .xd-b.xd-ghost{border-color:transparent;background:transparent;padding:0 10px;color:var(--mute)}
.mini .xd-b.xd-ghost:hover{color:var(--ink);background:var(--chip)}
.mini .xd-box{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mini .xd-box p+p{margin-top:6px}
.mini .xd-fl{display:block;margin:0 0 4px;font-size:13px;font-weight:700;color:var(--mute)}
.mini .xd-in{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;line-height:1.6;resize:vertical}
.mini .xd-in::placeholder{color:var(--mute)}
.mini .xd-in:focus{border-color:var(--acc)}
.mini .xd-in:focus-visible,.mini textarea:focus-visible,.mini pre:focus-visible,.mini .xd-scroll:focus-visible,.mini [tabindex="-1"]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.mini .xd-fs{margin:0;padding:0;border:0;min-width:0;display:flex;flex-wrap:wrap;gap:0 16px}
.mini .xd-fs legend{padding:0;margin:0 0 2px;font-size:13px;font-weight:700;color:var(--mute)}
.mini .xd-fs>label,.mini .xd-chk{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}
.mini .xd-fs input,.mini .xd-chk input{width:20px;height:20px;margin:0;accent-color:var(--acc);flex:none}
.mini .xd-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mini .xd-ul{margin:0;padding-left:1.2em}.mini .xd-ul li+li{margin-top:2px}
.mini .xd-ol{margin:0;padding-left:1.3em}.mini .xd-ol li+li{margin-top:4px}
/* 会話・回答 */
.mini .xd-who{display:flex;align-items:center;gap:6px;margin:0 0 4px!important;font-size:13px!important;font-weight:700;color:var(--mute)}
.mini .xd-mark{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc2));flex:none}
.mini .xd-ans{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);display:flex;flex-direction:column;gap:8px}
.mini .xd-ans .xd-who{margin:0!important}
.mini .xd-me{align-self:flex-end;max-width:88%;display:flex;flex-direction:column;align-items:flex-end}
.mini .xd-me .xd-bub{padding:8px 12px;border-radius:12px 12px 4px 12px;background:var(--ui-accent-pale);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.mini .xd-ai{align-self:flex-start;max-width:92%;display:flex;flex-direction:column;gap:6px}
.mini .xd-ai .xd-bub{padding:10px 12px;border-radius:12px 12px 12px 4px;background:var(--card);border:1px solid var(--line)}
.mini .xd-ai .xd-who{margin:0!important}
.mini .xd-chat{display:flex;flex-direction:column;gap:12px}
.mini .xd-txt{min-height:1.7em;overflow-wrap:anywhere}
.mini .xd-ph{color:var(--mute)}
.mini .xd-typing::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--acc);animation:xd-blink 1s steps(2) infinite}
@keyframes xd-blink{50%{opacity:0}}
.mini .xd-compose{display:flex;flex-direction:column;gap:8px}
.mini .xd-gens{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
/* 出典 */
.mini .xd-ref{font-size:13px;color:var(--ui-accent-ink);font-weight:700}
.mini .xd-src{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.mini .xd-srcb{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.mini .xd-srcb:hover{border-color:var(--acc)}
.mini .xd-srcb small{display:block;font-size:13px;color:var(--mute)}
.mini .xd-srcb[aria-expanded="true"]{border-color:var(--acc)}
.mini .xd-num{font-variant-numeric:tabular-nums}
.mini .xd-srcb .xd-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700;flex:none}
.mini .xd-srcbody{margin:6px 0 0;padding:8px 10px;border-left:3px solid var(--acc);background:var(--bg2);border-radius:0 8px 8px 0}
.mini .xd-srcbody p{font-size:13px}
.mini .xd-cite{color:var(--ink)}
.mini .xd-flag{padding:8px 10px;border:1px dashed var(--line);border-radius:8px;font-size:13px!important}
.mini .xd-flag-k{display:inline-block;margin-right:8px;padding:0 8px;border:1px solid var(--ng);border-radius:6px;color:var(--ng);font-weight:700}
/* 考え中 */
.mini .xd-think{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mini .xd-spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--acc);animation:xd-rot .9s linear infinite;flex:none}
@keyframes xd-rot{to{transform:rotate(360deg)}}
/* 作業の手順 */
.mini .xd-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;counter-reset:xd-st}
.mini .xd-steps li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;counter-increment:xd-st}
.mini .xd-steps .xd-sn::before{content:counter(xd-st) ". "}
.mini .xd-steps .xd-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);justify-self:center}
.mini .xd-steps .xd-ss{font-size:13px;color:var(--mute);white-space:nowrap}
.mini .xd-steps li[data-s="run"]{background:var(--ui-accent-pale)}
.mini .xd-steps li[data-s="run"] .xd-dot{border-color:var(--acc);border-top-color:transparent;animation:xd-rot .9s linear infinite}
.mini .xd-steps li[data-s="run"] .xd-ss{color:var(--ui-accent-ink);font-weight:700}
.mini .xd-steps li[data-s="done"] .xd-dot{border-color:var(--ok);background:var(--ok)}
.mini .xd-steps li[data-s="done"] .xd-ss{color:var(--ok);font-weight:700}
.mini .xd-steps li[data-s="wait"] .xd-dot{border-color:var(--acc);border-style:dashed}
.mini .xd-confirm{border-color:var(--acc);display:flex;flex-direction:column;gap:8px}
.mini .xd-confirm b{display:block}
/* 確かさ */
.mini .xd-lvl{display:flex;align-items:center;gap:6px;font-size:13px!important;font-weight:700}
.mini .xd-lvl svg{width:16px;height:16px;flex:none}
.mini .xd-lvl-hi{color:var(--ok)}
.mini .xd-lvl-lo{color:var(--ui-accent-ink)}
.mini .xd-ans .xd-b.xd-sm{align-self:flex-start}
.mini .xd-why{padding:8px 10px;border-radius:8px;background:var(--bg2);font-size:13px!important}
/* できないこと */
.mini .xd-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.mini .xd-two .xd-h{margin-bottom:4px}
.mini .xd-two li{font-size:13px}
.mini .xd-warn{padding-top:8px;border-top:1px solid var(--line);font-size:13px!important;color:var(--mute)}
/* 履歴 */
.mini .xd-hist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.mini .xd-hist li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 0;border-bottom:1px solid var(--line)}
.mini .xd-hn{display:flex;flex-direction:column;min-width:0}
.mini .xd-hn b{font-weight:700;overflow-wrap:anywhere}
.mini .xd-hn small{font-size:13px;color:var(--mute)}
.mini .xd-hn .xd-in{min-width:0}
.mini .xd-ha{display:flex;gap:6px}
.mini .xd-dlg{width:min(360px,calc(100vw - 32px));margin:auto;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink)}
.mini .xd-b.xd-danger{border:2px solid var(--ng);color:var(--ng);background:transparent}
.mini .xd-b.xd-danger:hover{background:color-mix(in srgb,var(--ng) 12%,transparent);border-color:var(--ng)}
.mini .xd-hint{margin:0 0 4px!important}
.mini .xd-dlg::backdrop{background:rgba(0,0,0,.55)}
.mini .xd-dlg h3{margin:0 0 8px;font-size:17px}
.mini .xd-dlg p{margin:0 0 8px}
.mini .xd-dlg .xd-row{margin-top:12px}
/* ファイル */
.mini .xd-files{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.mini .xd-files:empty{display:none}
.mini .xd-file{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}
.mini .xd-file>svg{width:16px;height:16px;color:var(--mute);flex:none}
.mini .xd-fname{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}
.mini .xd-fname small{margin-left:6px;font-size:13px;color:var(--mute)}
/* 入力欄 */
.mini .xd-pi{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:6px;display:flex;flex-direction:column;gap:6px}
.mini .xd-pi:focus-within{border-color:var(--acc)}
.mini .xd-pi .xd-pi-ta{border:0;background:transparent;padding:6px 8px;resize:none}
.mini .xd-pi .xd-pi-ta:focus-visible{outline:2px solid var(--ui-focus);outline-offset:0}
.mini .xd-pi-bar{display:flex;align-items:center;gap:4px}
.mini .xd-pi-bar .xd-send{margin-left:auto}
.mini .xd-fu{display:flex;flex-wrap:wrap;gap:6px}
.mini .xd-fu>p{width:100%}
.mini .xd-chipb{min-height:44px;padding:0 14px;border:1px solid color-mix(in srgb,var(--acc) 45%,var(--line));border-radius:999px;background:var(--ui-accent-pale);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.mini .xd-chipb:hover{border-color:var(--acc)}
.mini .xd-acts{gap:6px}
/* AIの種類 */
.mini .xd-opts{flex-direction:column;gap:6px}
.mini .xd-opts .xd-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer}
.mini .xd-opts .xd-opt input{margin-top:3px}
.mini .xd-opt span{display:flex;flex-direction:column}
.mini .xd-opt small{font-size:13px;color:var(--mute);line-height:1.6}
.mini .xd-opt .xd-sub{opacity:.85}
.mini .xd-opt:has(input:checked){border-color:var(--acc);background:var(--ui-accent-pale)}
/* 直して使う */
.mini .xd-s ins{text-decoration:underline 2px;text-underline-offset:3px;color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.mini .xd-s del{text-decoration:line-through 2px;color:var(--ng)}
/* テーブル */
.mini .xd-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card);transition:max-width .25s}
.mini .xd-scroll.xd-narrow,.mini .xd-tw.xd-narrow{max-width:210px}
.mini .xd-tw{position:relative;width:100%;max-width:100%;transition:max-width .25s}
.mini .xd-tw.xd-more::after{content:"";position:absolute;top:1px;right:1px;bottom:1px;width:44px;border-radius:0 9px 9px 0;background:linear-gradient(to right,color-mix(in srgb,var(--card) 0%,transparent),var(--card) 80%);box-shadow:inset -8px 0 10px -8px color-mix(in srgb,var(--ink) 55%,transparent);pointer-events:none}
.mini .xd-more-hint{font-size:13px}
.mini .xd-t{width:100%;min-width:300px;border-collapse:collapse;font-size:14px}
.mini #xd-chart-tbl .xd-t{min-width:0}
.mini .xd-t caption{padding:8px 10px 4px;text-align:left;font-size:13px;font-weight:700;color:var(--mute)}
.mini .xd-t th,.mini .xd-t td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.mini .xd-t thead th{font-size:13px;color:var(--mute);background:var(--bg2)}
.mini .xd-t tbody tr:last-child>*{border-bottom:0}
.mini .xd-t tbody th{font-weight:700}
.mini .xd-t .xd-num{text-align:right;font-variant-numeric:tabular-nums}
/* 並び替えの表 */
.mini .xd-dt{display:flex;flex-direction:column;gap:8px}
/* 広い画面のカード（中は約270px）でも、全部の列と金額が読めるように詰める */
.mini[data-sample="table"] .xd-t{min-width:0}
.mini[data-sample="table"] .xd-t th,.mini[data-sample="table"] .xd-t td{padding:8px 7px}
.mini[data-sample="table"] .xd-tw.xd-narrow .xd-t{min-width:260px}
.mini .xd-dtt{min-width:0}
.mini .xd-dtt th,.mini .xd-dtt td{padding:8px 6px}
.mini .xd-dtt tbody th{white-space:nowrap;word-break:keep-all}
.mini .xd-dtt thead th{padding:0}
.mini .xd-dtt thead th.xd-ck{padding:0 10px}
.mini .xd-thb{display:flex;align-items:center;gap:4px;width:100%;min-height:44px;padding:0 6px;border:0;background:transparent;color:var(--mute);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.mini .xd-num .xd-thb{justify-content:flex-end}
.mini .xd-thb:hover{color:var(--ink)}
.mini .xd-thb svg{width:9px;height:13px;flex:none}
.mini .xd-thb path{fill:currentColor;opacity:.35}
.mini .xd-thb[data-dir="asc"] .xd-up,.mini .xd-thb[data-dir="desc"] .xd-dn{opacity:1;fill:var(--acc)}
.mini .xd-thb[data-dir]{color:var(--ink)}
.mini .xd-dtt td.xd-ck{padding:0;width:44px}
.mini .xd-ckl{display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
.mini .xd-ckl input{width:18px;height:18px;margin:0;accent-color:var(--acc)}
.mini .xd-dtt tr:has(input:checked)>*{background:var(--ui-accent-pale)}
.mini .xd-done{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--ok);border-radius:6px;font-size:13px;color:var(--ok);font-weight:700}
.mini .xd-tb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 8px 6px 12px;border:1px solid var(--acc);border-radius:10px;background:var(--ui-accent-pale)}
.mini .xd-tb p{flex:1 1 100%;font-weight:700;font-size:13px}
/* カード */
.mini .xd-card{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;transition:border-color .2s}
.mini .xd-card:hover{border-color:var(--acc)}
.mini .xd-card-img svg{display:block;width:100%;height:92px}
.mini .xd-card-b{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}
.mini .xd-meta{font-size:13px!important;color:var(--mute)}
.mini .xd-card-h{margin:0;font-size:16px;line-height:1.5}
.mini .xd-stretch{color:var(--ink);text-decoration:none}
.mini .xd-stretch::after{content:"";position:absolute;inset:0}
.mini .xd-stretch:hover{text-decoration:underline}
.mini .xd-stretch:focus-visible{outline:none}
.mini .xd-card:has(.xd-stretch:focus-visible){outline:3px solid var(--ui-focus);outline-offset:2px}
.mini .xd-card-d{font-size:14px;color:var(--mute)}
.mini .xd-card-a{color:var(--ui-accent-ink);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0}
.mini .xd-card-a:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px;border-radius:4px}
.mini .xd-card-all{cursor:pointer}
/* 絵の色 */
.mini .xd-f-bg2{fill:var(--bg2)}
.mini .xd-f-line{fill:none;stroke:var(--line);stroke-width:2}
.mini .xd-f-acc{fill:var(--acc);opacity:.55}
.mini .xd-f-acc2{fill:var(--acc2);opacity:.5}
.mini .xd-f-floor{fill:var(--chip)}
.mini .xd-f-skin{fill:var(--mute);opacity:.75}
.mini .xd-f-cloth{fill:var(--acc);opacity:.8}
.mini .xd-f-cloth2{fill:var(--acc2);opacity:.75}
.mini .xd-f-paper{fill:var(--ink);opacity:.85}
.mini .xd-f-ph{fill:var(--ui-accent-pale)}
/* 説明リスト */
.mini .xd-dl{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.mini .xd-dl>div{display:grid;grid-template-columns:5.5em 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.mini .xd-dl dt{font-weight:700;color:var(--mute);font-size:13px;padding-top:1px}
.mini .xd-dl dd{margin:0;overflow-wrap:anywhere}
.mini .xd-dl.xd-col>div{grid-template-columns:1fr;gap:0}
/* リソース */
.mini .xd-res{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.mini .xd-res li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.mini .xd-res-m{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px!important;color:var(--mute)}
.mini .xd-kind{padding:0 8px;border:1px solid var(--line);border-radius:6px;font-weight:700;color:var(--ink)}
.mini .xd-res a{font-weight:700;display:inline-flex;align-items:center;min-height:44px}
/* 区切り線 */
.mini .xd-panel{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);display:flex;flex-direction:column;gap:14px}
.mini .xd-panel section{display:flex;flex-direction:column;gap:4px}
.mini .xd-hrw{position:relative}
.mini .xd-hr{margin:0;border:0;border-top:1px solid var(--line);transition:border-color .2s}
.mini .xd-panel.xd-mk .xd-hr{border-top:2px solid var(--acc)}
.mini .xd-hr-k{display:inline-block;margin-top:4px;padding:0 8px;border-radius:6px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700}
/* アバター */
.mini .xd-people{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.mini .xd-people li{display:flex;align-items:center;gap:12px}
.mini .xd-av{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--chip);border:1px solid var(--line);flex:none}
.mini .xd-av .xd-photo{width:100%;height:100%;display:block}
.mini .xd-ini{font-size:16px;font-weight:700;color:var(--ink)}
.mini .xd-pn{display:flex;flex-direction:column;line-height:1.4}
.mini .xd-pn small{font-size:13px;color:var(--mute)}
/* タイムライン */
.mini .xd-tl{margin:0;padding:0 0 0 22px;list-style:none;position:relative}
.mini .xd-tl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.mini .xd-tl li{position:relative;padding:4px 0 10px}
.mini .xd-tl li::before{content:"";position:absolute;left:-21px;top:11px;width:12px;height:12px;border-radius:50%;background:var(--card);border:2px solid var(--acc)}
.mini .xd-tl time{display:block;font-size:13px;font-weight:700;color:var(--ui-accent-ink)}
.mini .xd-tl li.xd-fresh{animation:xd-in .35s ease-out}
@keyframes xd-in{from{opacity:0;transform:translateY(6px)}}
/* 大きな数字 */
.mini .xd-stat{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);display:flex;flex-direction:column;gap:4px}
.mini .xd-stat-k{font-size:13px!important;font-weight:700;color:var(--mute)}
.mini .xd-s .xd-big{font-size:44px;line-height:1.1;font-weight:900;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.mini .xd-unit{font-size:22px;margin-left:2px;font-weight:700}
.mini .xd-cmp{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--ok)}
.mini .xd-cmp.xd-down{color:var(--ng)}
.mini .xd-cmp svg{width:16px;height:16px;flex:none;transition:transform .2s}
.mini .xd-cmp.xd-down svg{transform:rotate(180deg)}
/* グラフ */
.mini .xd-chart svg{display:block;width:100%;height:auto}
.mini .xd-c-base{stroke:var(--mute);stroke-width:1.2}
.mini .xd-c-a{fill:var(--acc)}
.mini .xd-c-b{fill:url(#xd-chart-hatch);stroke:var(--acc2);stroke-width:1.5}
.mini .xd-c-hbg{fill:var(--card)}
.mini .xd-c-hl{stroke:var(--acc2);stroke-width:2.4}
.mini .xd-c-v text,.mini .xd-c-m text{fill:var(--ink);font-size:13px;text-anchor:middle;font-variant-numeric:tabular-nums}
.mini .xd-c-v text{font-weight:700}
.mini .xd-c-m text{fill:var(--mute)}
.mini .xd-bars rect{transform-box:fill-box;transform-origin:50% 100%}
.mini .xd-chart.xd-go .xd-bars rect{animation:xd-grow .7s cubic-bezier(.2,.7,.2,1) both}
.mini .xd-chart.xd-go .xd-bars rect:nth-child(2n){animation-delay:.08s}
@keyframes xd-grow{from{transform:scaleY(0)}}
.mini .xd-legend{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px}
.mini .xd-legend li{display:flex;align-items:center;gap:6px}
.mini .xd-sw{width:16px;height:12px;border-radius:2px}
.mini .xd-sw-a{background:var(--acc)}
.mini .xd-sw-b{border:1.5px solid var(--acc2);background:repeating-linear-gradient(45deg,var(--acc2) 0 2px,transparent 2px 5px)}
/* タグ */
.mini .xd-tagged{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.mini .xd-tagged li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.mini .xd-tags{display:flex;flex-wrap:wrap;gap:6px}
.mini .xd-tag{display:inline-block;padding:0 6px;border-left:3px solid var(--acc);background:var(--bg2);font-size:13px;color:var(--mute);cursor:default}
/* 見出し */
.mini .xd-doc{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mini .xd-hh{display:flex;align-items:center;gap:8px;margin:12px 0 2px;line-height:1.4}
.mini h3.xd-hh{margin-top:0;font-size:18px}
.mini h4.xd-hh{font-size:15px}
.mini h5.xd-hh{font-size:14px;color:var(--mute)}
.mini .xd-lv{padding:0 6px;border-radius:6px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700}
/* リスト */
.mini .xd-ol li{padding-left:2px}
.mini .xd-stp{display:inline-block;margin-right:8px;padding:0 6px;border-radius:6px;background:var(--chip);font-size:13px;font-weight:700}
.mini .xd-s .xd-ol:has(.xd-stp){list-style:none;padding-left:0}
.mini .xd-ol:has(.xd-stp) li{display:grid;grid-template-columns:auto 1fr;align-items:baseline;padding-left:0}
.mini .xd-ol:has(.xd-stp) .xd-stp{margin-right:8px}
/* 引用 */
.mini .xd-quote{margin:0;padding:4px 0 4px 16px;border-left:3px solid var(--acc)}
.mini .xd-quote blockquote{margin:0}
.mini .xd-quote blockquote p{font-size:15px}
.mini .xd-quote figcaption{margin-top:6px;font-size:13px;color:var(--mute)}
.mini .xd-quote figcaption::before{content:"― "}
.mini .xd-quote.xd-fresh{animation:xd-in .35s ease-out}
/* コード */
.mini .xd-code{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.mini .xd-code-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 12px;border-bottom:1px solid var(--line);font-size:13px;color:var(--mute)}
.mini .xd-code pre{margin:0;padding:12px;overflow-x:auto;font-family:ui-monospace,monospace;font-size:13px;line-height:1.7;color:var(--ink);white-space:pre}
.mini .xd-code pre.xd-wrap{white-space:pre-wrap;overflow-wrap:anywhere}
.mini .xd-code code{font-family:inherit}
/* キー */
.mini .xd-keys{margin:0;display:flex;flex-direction:column;gap:6px}
.mini .xd-keys>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:6px 0;border-bottom:1px solid var(--line)}
.mini .xd-keys dd{margin:0;font-size:13px;color:var(--mute)}
.mini .xd-kbd{display:inline-block;min-width:26px;padding:1px 7px;border:1px solid var(--line);border-bottom-width:3px;border-radius:6px;background:var(--card);color:var(--ink);font-family:ui-monospace,monospace;font-size:13px;text-align:center}
/* 画像 */
.mini .xd-fig{margin:0;display:flex;flex-direction:column;gap:6px}
.mini .xd-ratio{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg2)}
.mini .xd-ratio svg{display:block;width:100%;height:100%}
.mini .xd-wait{position:absolute;inset:0;display:grid;place-items:center;font-size:13px!important;color:var(--mute)}
.mini .xd-alttxt{font-size:13px!important}
/* 動画 */
.mini .xd-vp{display:flex;flex-direction:column;gap:8px}
.mini .xd-screen{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.mini .xd-screen svg{display:block;width:100%;height:100%}
.mini .xd-v-bg{fill:var(--bg2)}
.mini .xd-v-desk{fill:var(--chip);stroke:var(--line)}
.mini .xd-v-sign{fill:var(--acc);opacity:.5}
.mini .xd-cap{position:absolute;left:8px;right:8px;bottom:8px;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff;font-size:13px!important;line-height:1.5;text-align:center}
.mini .xd-live{position:absolute;top:8px;left:8px;padding:0 8px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font-size:13px!important}
.mini .xd-prog{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.mini .xd-prog span{display:block;height:100%;width:0;background:var(--acc)}
.mini .xd-ctrl{display:flex;flex-wrap:wrap;gap:6px}
.mini a.xd-b{text-decoration:none}
.mini .xd-ctrl .xd-b{flex:1 1 auto;padding:0 10px;white-space:nowrap}
.mini .xd-tr li{font-size:13px}
/* 地図 */
.mini .xd-map{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mini .xd-map svg{display:block;width:100%;height:auto}
.mini .xd-m-bg{fill:var(--bg2)}
.mini .xd-m-river{fill:none;stroke:var(--acc2);stroke-width:8;opacity:.35}
.mini .xd-m-road line{stroke:var(--line);stroke-width:9;stroke-linecap:round}
.mini .xd-m-st{fill:var(--card);stroke:var(--mute);stroke-width:1.2}
.mini .xd-m-tx{fill:var(--ink);font-size:13px;font-weight:700;text-anchor:middle}
.mini .xd-m-route{fill:none;stroke:var(--acc);stroke-width:3;stroke-dasharray:6 5;stroke-linecap:round}
.mini .xd-m-pin{fill:var(--acc)}
.mini .xd-m-pinh{fill:var(--card)}
.mini .xd-addr{font-style:normal;font-size:14px;line-height:1.7}
@media (prefers-reduced-motion:reduce){
.mini .xd-typing::after,.mini .xd-spin,.mini .xd-steps li[data-s="run"] .xd-dot,.mini .xd-chart.xd-go .xd-bars rect,.mini .xd-tl li.xd-fresh,.mini .xd-quote.xd-fresh{animation:none!important}
.mini .xd-b,.mini .xd-scroll,.mini .xd-tw,.mini .xd-hr,.mini .xd-card,.mini .xd-cmp svg{transition:none!important}
}

[data-sample] .xe{font-size:14px;line-height:1.6;color:var(--ink)}
[data-sample] .xe>*+*{margin-top:10px}
.xe p{margin:0}
.xe ul{margin:0;padding:0;list-style:none}
.xe [hidden]{display:none!important}
.xe .xe-ic{flex:none}
.xe .xe-n{font-size:13px;line-height:1.6;color:var(--mute)}
.xe .xe-h{margin:0;font-size:15px;font-weight:700;line-height:1.5}
.xe .xe-row{display:flex;flex-wrap:wrap;gap:8px}
.xe .xe-end{justify-content:flex-end}
/* ボタン */
.xe .xe-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:border-color .15s,background-color .15s}
.xe .xe-btn:hover{border-color:var(--ui-accent-ink)}
.xe .xe-btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line)}
.xe .xe-btn.xe-pri{background:linear-gradient(90deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.xe .xe-btn.xe-sm{padding:0 12px;font-size:13px}
/* 取り消せない操作は赤い枠 */
.xe .xe-btn.xe-danger{border:2px solid var(--ng);color:var(--ng);background:transparent}
.xe .xe-btn.xe-danger:hover{background:color-mix(in srgb,var(--ng) 12%,transparent);border-color:var(--ng)}
/* ラジオ */
.xe .xe-fs{margin:0;padding:0;border:0;min-width:0}
.xe .xe-fs>legend{padding:0;font-size:14px;font-weight:700}
.xe .xe-opts{display:flex;flex-wrap:wrap;column-gap:18px}
.xe .xe-ch{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}
.xe .xe-ch input,.xe .xe-ck input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--acc)}
/* サイトの枠 */
.xe .xe-site{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;transition:max-width .25s}
.xe .xe-site[data-w="narrow"],.xe .xe-phone{max-width:240px;margin-left:auto;margin-right:auto;border-width:2px;border-radius:18px}
.xe .xe-hd{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 6px 0 12px;border-bottom:1px solid var(--line)}
.xe .xe-logo{flex:none;width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--acc),var(--acc2));opacity:.85}
.xe .xe-name{flex:1;min-width:0;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xe .xe-hb-btn{flex:none;padding:0 10px;gap:4px;font-size:13px}
.xe .xe-hb-btn[aria-expanded="true"]{background:var(--ui-accent-pale);border-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
/* 水平メニュー：いまのページに下線 */
.xe .xe-hm{display:flex;padding:0 4px;border-bottom:1px solid var(--line);overflow-x:auto}
.xe .xe-hm-i{text-decoration:none;display:flex;align-items:center;min-height:44px;padding:0 9px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink);font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.xe .xe-hm-i:hover{color:var(--ui-accent-ink);text-decoration:underline;text-underline-offset:4px}
.xe .xe-hm-i[aria-current="page"]{border-bottom-color:var(--ui-accent-ink);color:var(--ui-accent-ink);font-weight:700}
.xe .xe-hm-i:hover[aria-current="page"]{text-decoration:none}
/* 狭い画面で開くメニュー（枠の中に開く） */
.xe .xe-hb-panel{padding:4px;border-bottom:1px solid var(--line);background:var(--bg2)}
.xe .xe-hb-i{text-decoration:none;box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xe .xe-hb-i:hover,.xe .xe-hb-i:focus-visible{background:var(--chip)}
.xe .xe-hb-i[aria-current="page"]{color:var(--ui-accent-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--ui-accent-ink)}
.xe .xe-hb-panel:not([hidden]){animation:xe-in .2s ease-out}
@keyframes xe-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.xe .xe-body{display:flex;flex-direction:column;gap:8px;padding:12px}
.xe .xe-cur{font-size:13px;color:var(--mute)}
.xe .xe-cur b{color:var(--ink)}
.xe .xe-line{display:block;height:8px;border-radius:4px;background:var(--line)}
.xe .xe-line.xe-s{width:65%}
/* AIであることの表示 */
.xe .xe-msg{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xe .xe-q{margin-left:28px;background:var(--bg2)}
.xe .xe-ai{border-left:4px solid var(--ui-accent-ink)}
.xe .xe-hm-msg{border-left:4px solid var(--mute)}
.xe .xe-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--mute)}
.xe .xe-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid var(--ui-accent-ink);border-radius:999px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700;line-height:1.5}
.xe .xe-tag.xe-tag-h{border-color:var(--mute);background:transparent;color:var(--ink)}
.xe .xe-bub{font-size:14px;line-height:1.7}
.xe .xe-warn{padding:6px 10px;border-radius:8px;background:var(--chip);font-size:13px;line-height:1.6;color:var(--ink)}
.xe .xe-src{font-size:13px;line-height:1.6;color:var(--mute)}
.xe .xe-msg .xe-btn{align-self:flex-start}
/* 人の確認を挟む */
.xe .xe-draft{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--ui-accent-ink);border-radius:12px;background:var(--card)}
.xe .xe-to{font-size:13px;color:var(--ink)}
.xe .xe-lab{display:block;font-size:13px;font-weight:700}
.xe .xe-in{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid var(--mute);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;line-height:1.6;resize:vertical}
.xe .xe-ck{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:700;cursor:pointer}
[data-sample] .xe .xe-err{margin-top:2px;font-size:14px;font-weight:700;color:var(--ng)}
.xe .xe-done:not(:empty){color:var(--ok);font-weight:700}
.xe .xe-dlg{width:min(92vw,360px);padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 20px 48px rgba(0,0,0,.35)}
.xe .xe-dlg,[data-sample] .xe>.xe-dlg{margin:auto}
.xe .xe-dlg::backdrop{background:rgba(0,0,0,.5)}
.xe .xe-dlg>*+*{margin-top:10px}
@media (prefers-reduced-motion:reduce){.xe *,.xe *::before,.xe *::after{animation:none!important;transition:none!important}}

[data-sample] .xf{font-size:14px;line-height:1.6;color:var(--ink)}
[data-sample] .xf>*+*{margin-top:10px}
.xf p{margin:0}
.xf ul,.xf ol{margin:0;padding:0;list-style:none}
.xf [hidden]{display:none!important}
.xf .xf-ic{flex:none}
.xf .xf-n{font-size:13px;line-height:1.6;color:var(--mute)}
.xf .xf-t{font-size:14px;font-weight:700;line-height:1.5}
.xf .xf-h{margin:0;font-size:15px;font-weight:700;line-height:1.5}
.xf .xf-grow{flex:1;min-width:0}
.xf .xf-row{display:flex;flex-wrap:wrap;gap:8px}
.xf .xf-mid{align-items:center}
.xf .xf-end{justify-content:flex-end}
.xf .xf-done:not(:empty){color:var(--ok);font-weight:700}
.xf :focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
/* 代わりに */
.xf .xf-alt{padding:6px 10px;border-left:4px solid var(--ui-accent-ink);border-radius:6px;background:var(--ui-accent-pale);font-size:13px;line-height:1.6}
.xf .xf-alt b{color:var(--ui-accent-ink)}
/* ボタン */
.xf .xf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;cursor:pointer;transition:border-color .15s,background-color .15s}
.xf .xf-btn:hover{border-color:var(--ui-accent-ink)}
.xf .xf-btn:disabled{opacity:.5;cursor:not-allowed}
.xf .xf-btn.xf-pri{background:linear-gradient(90deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.xf .xf-btn.xf-sm{padding:0 12px;font-size:13px}
.xf .xf-btn.xf-danger{border:2px solid var(--ng);color:var(--ng);background:transparent}
.xf .xf-btn.xf-danger:hover{background:color-mix(in srgb,var(--ng) 12%,transparent)}
.xf .xf-chev{flex:none;transition:transform .2s}
.xf [aria-expanded="true"]>.xf-chev{transform:rotate(180deg)}
/* 入力 */
.xf .xf-f{display:flex;flex-direction:column;gap:4px}
.xf .xf-lab{display:block;font-size:14px;font-weight:700}
.xf .xf-hint{font-size:13px;line-height:1.6;color:var(--mute)}
.xf .xf-in{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid var(--mute);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.xf textarea.xf-in{resize:vertical}
.xf .xf-sel{appearance:auto;cursor:pointer}
.xf .xf-fs{margin:0;padding:0;border:0;min-width:0}
.xf .xf-fs>legend{padding:0;font-size:14px;font-weight:700}
.xf .xf-opts{display:flex;flex-wrap:wrap;column-gap:18px}
.xf .xf-ch,.xf .xf-ck{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}
.xf .xf-ch{display:inline-flex}
.xf .xf-ch input,.xf .xf-ck input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--acc)}
/* 枠・一覧 */
.xf .xf-frame{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xf .xf-box{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xf .xf-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xf .xf-list>li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-top:1px solid var(--line)}
.xf .xf-list>li:first-child{border-top:0}
.xf .xf-tag{flex:none;padding:0 8px;border-radius:999px;background:var(--ui-accent-pale);color:var(--ui-accent-ink);font-size:13px;font-weight:700}
.xf .xf-tag.xf-tag-done{background:var(--chip);color:var(--mute)}
.xf .xf-rows{display:flex;flex-direction:column;gap:8px}
.xf .xf-item{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xf .xf-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px}
.xf .xf-dl dt{color:var(--mute);font-size:13px;line-height:1.7}
.xf .xf-dl dd{margin:0}
/* パンくず（見本の中のページ） */
.xf .xf-page{display:flex;flex-direction:column;gap:8px;padding:0 0 12px;overflow:hidden}
.xf .xf-page>*:not(.xf-site){margin-left:12px;margin-right:12px}
.xf .xf-site{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}
.xf .xf-logo{flex:none;width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,var(--acc),var(--acc2));opacity:.85}
.xf .xf-crumbs{display:flex;flex-wrap:wrap;align-items:center;font-size:13px}
.xf .xf-crumbs li{display:inline-flex;align-items:center}
.xf .xf-crumbs li+li::before{content:"›";margin:0 6px;color:var(--mute)}
.xf .xf-crumb{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;border:0;background:none;color:var(--ui-accent-ink);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.xf .xf-crumbs [aria-current]{font-weight:700;color:var(--ink)}
.xf .xf-links{display:flex;flex-wrap:wrap;gap:4px 14px}
.xf .xf-links:empty{display:none}
.xf .xf-link{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:var(--ui-accent-ink);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* スイッチ */
.xf .xf-swrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.xf .xf-switch{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.xf .xf-track{position:relative;width:46px;height:26px;border-radius:999px;background:var(--line);border:1px solid var(--mute);transition:background-color .2s}
.xf .xf-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--ink);transition:transform .2s}
.xf .xf-switch[aria-checked="true"] .xf-track{background:var(--acc);border-color:var(--acc)}
.xf .xf-switch[aria-checked="true"] .xf-knob{transform:translateX(20px);background:#fff}
.xf .xf-swst{min-width:2.5em;text-align:left}
.xf .xf-preview{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:14px;transition:font-size .2s}
.xf .xf-preview.xf-big{font-size:18px}
.xf .xf-preview.xf-big .xf-t{font-size:18px}
/* タブ */
.xf .xf-tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.xf .xf-tabs [role=tab]{flex:none;min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;color:var(--mute);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}
.xf .xf-tabs [role=tab]:hover{color:var(--ink)}
.xf .xf-tabs [role=tab][aria-selected="true"]{border-bottom-color:var(--ui-accent-ink);color:var(--ui-accent-ink)}
.xf .xf-panel{padding:4px 2px}
/* 入力候補 */
.xf .xf-opts-list{margin-top:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.xf .xf-opts-list [role=option]{display:flex;align-items:center;min-height:44px;padding:0 10px;border-radius:8px;cursor:pointer}
.xf .xf-opts-list [role=option]:hover,.xf .xf-opts-list [aria-selected="true"]{background:var(--ui-accent-pale);color:var(--ui-accent-ink)}
.xf .xf-opts-list mark{background:none;color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.xf .xf-opts-list .xf-none{padding:8px 10px;font-size:13px;color:var(--mute)}
/* 検索 */
.xf .xf-search{display:flex;flex-direction:column;gap:4px}
.xf .xf-srow{display:flex;gap:6px}
.xf .xf-srow .xf-in{flex:1;min-width:0}
.xf .xf-res>li{flex-wrap:wrap}
.xf .xf-res .xf-n{font-size:13px}
/* アコーディオン・ディスクロージャー */
.xf .xf-key{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:13px;font-weight:700}
.xf .xf-acc{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.xf .xf-acc-h{margin:0;font-size:14px}
.xf .xf-acc-h:not(:first-child){border-top:1px solid var(--line)}
.xf .xf-acc-b{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:6px 12px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.xf .xf-acc-b:hover{background:var(--ui-accent-pale)}
.xf .xf-acc-p{padding:0 12px 12px;font-size:14px}
.xf .xf-disc{align-self:flex-start}
.xf .xf-more{padding:10px 12px;border-left:3px solid var(--ui-accent-ink);border-radius:6px;background:var(--bg2);font-size:14px}
.xf .xf-more:not([hidden]),.xf .xf-acc-p:not([hidden]){animation:xf-in .2s ease-out}
@keyframes xf-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.xf .xf-f .xf-disc{margin-top:4px}
/* ツールチップ（アイコンのボタンの名前） */
.xf .xf-tbar{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:40px}
.xf .xf-tipw{position:relative;display:inline-flex}
.xf .xf-btn.xf-icb{width:44px;padding:0}
.xf .xf-tip{position:absolute;top:100%;left:0;z-index:2;padding:4px 10px;border-top:7px solid transparent;border-radius:8px;background:var(--ink);background-clip:padding-box;color:var(--bg);font-size:13px;font-weight:700;line-height:1.5;white-space:nowrap}
.xf .xf-tip::before{content:"";position:absolute;top:-5px;left:17px;border:5px solid transparent;border-top:0;border-bottom-color:var(--ink)}
.xf .xf-doc{display:block;width:100%;max-width:220px;height:auto;margin-bottom:6px}
.xf .xf-doc-bg{fill:var(--card);stroke:var(--line);stroke-width:2}
.xf .xf-doc-ln{fill:var(--line)}
.xf .xf-doc-hl{fill:var(--ui-accent-pale);stroke:var(--ui-accent-ink);stroke-width:2}
.xf .xf-doc-tx{fill:var(--ui-accent-ink);font-size:13px;font-weight:700;text-anchor:middle;font-family:ui-monospace,monospace}
/* ダイアログ（中央） */
.xf .xf-dlg{width:min(92vw,360px);padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 20px 48px rgba(0,0,0,.35)}
[data-sample] .xf>.xf-dlg{margin:auto}
[data-sample] .xf>.xf-dlg.xf-drawer{margin:0 0 0 auto}
.xf .xf-dlg::backdrop{background:rgba(0,0,0,.5)}
.xf .xf-dlg>*+*{margin-top:10px}
.xf .xf-dlg[open]{animation:xf-pop .18s ease-out}
@keyframes xf-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
/* ドロワー（画面の右端） */
.xf .xf-rowbtn{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xf .xf-rowbtn span{font-size:13px;color:var(--mute)}
.xf .xf-rowbtn:hover{border-color:var(--ui-accent-ink)}
.xf .xf-dlg.xf-drawer{width:min(86vw,340px);max-width:none;height:100%;max-height:none;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid var(--line);border-radius:16px 0 0 16px}
.xf .xf-dlg.xf-drawer[open]{animation:xf-slide .25s ease-out}
@keyframes xf-slide{from{transform:translateX(100%)}to{transform:none}}
.xf .xf-dr-in{display:flex;flex-direction:column;gap:14px;min-height:100%;box-sizing:border-box;padding:16px}
.xf .xf-dr-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
/* お知らせの帯 */
.xf .xf-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--ok);border-left-width:5px;border-radius:10px;background:var(--card)}
.xf .xf-banner .xf-t{color:var(--ok)}
.xf .xf-bn-ic{display:inline-flex;color:var(--ok);padding-top:2px}
.xf .xf-banner.xf-bn-info{align-items:center;border-color:var(--ui-accent-ink)}
.xf .xf-banner:not([hidden]){animation:xf-in .2s ease-out}
/* 読み込み中 */
.xf .xf-loadwrap{display:flex;flex-direction:column;gap:6px;min-height:60px}
.xf .xf-wait{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.xf .xf-spin{flex:none;display:inline-block;width:16px;height:16px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:xf-rot .8s linear infinite}
@keyframes xf-rot{to{transform:rotate(360deg)}}
.xf .xf-mini{display:flex;flex-direction:column;gap:2px}
.xf .xf-mini li{padding:4px 0;border-top:1px solid var(--line);font-size:14px}
.xf .xf-mini li:first-child{border-top:0}
/* ボトムシート（枠の下端から上がる） */
.xf .xf-phone{position:relative;height:320px;max-width:270px;margin-left:auto;margin-right:auto;border:2px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden}
.xf .xf-app{display:flex;flex-direction:column;gap:10px;padding:12px}
.xf .xf-apphd{font-size:14px;font-weight:700;padding-bottom:6px;border-bottom:1px solid var(--line)}
.xf .xf-scrim{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.xf .xf-bottom-sheet{position:absolute;left:0;right:0;bottom:0;margin:0;padding:6px 12px 12px;border-top:1px solid var(--line);border-radius:16px 16px 0 0;background:var(--card);color:var(--ink);box-shadow:0 -12px 30px rgba(0,0,0,.3)}
.xf .xf-bottom-sheet:not([hidden]){display:flex;flex-direction:column;gap:6px;animation:xf-up .25s ease-out}
@keyframes xf-up{from{transform:translateY(100%)}to{transform:none}}
.xf .xf-grip{display:block;width:40px;height:4px;margin:2px auto 2px;border-radius:2px;background:var(--line)}
.xf .xf-bs-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.xf .xf-bs-i{display:flex;align-items:center;width:100%;min-height:44px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xf .xf-bs-i:hover{background:var(--ui-accent-pale)}
/* スワイプ */
.xf .xf-swipe-row{position:relative;border-radius:12px;overflow:hidden}
.xf .xf-under{position:absolute;inset:0;border-radius:12px;background:var(--ng);visibility:hidden;display:flex;align-items:center;justify-content:flex-end;padding-right:16px;color:#fff;font-weight:700}
/* 暗い表示では赤が明るくなるので、文字を濃い色にして対比を4.5以上にする */
:root[data-theme="dark"] .xf .xf-under{color:#1a0705}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xf .xf-under{color:#1a0705}}:root[data-theme="dark"] .xf .xf-under{color:#1a0705}
.xf .xf-rbody{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);touch-action:pan-y;user-select:none;cursor:grab;transition:transform .2s}
.xf .xf-swipe-row.xf-moving .xf-under{visibility:visible}
.xf .xf-rbody.xf-drag{transition:none;cursor:grabbing}
/* 引っ張って更新 */
.xf .xf-inbox{padding:0;overflow:hidden}
.xf .xf-ibhd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 12px;border-bottom:1px solid var(--line)}
.xf .xf-pull{display:flex;align-items:center;justify-content:center;gap:8px;height:0;overflow:hidden;font-size:13px;color:var(--mute);transition:height .2s}
.xf .xf-pull.xf-on{transition:none}
.xf .xf-ib{padding:8px;touch-action:pan-x;user-select:none;cursor:grab}
.xf .xf-pullhint{padding:6px 12px 0;font-size:13px;color:var(--mute)}
.xf .xf-ib .xf-item.xf-new{border-color:var(--ui-accent-ink)}
/* 長押し */
.xf .xf-lp{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background-color .2s}
.xf .xf-lp.xf-hold{background:var(--ui-accent-pale)}
.xf .xf-acts{margin-top:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}
.xf .xf-acts button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.xf .xf-acts button:hover{background:var(--chip)}
/* 質問の例 */
.xf .xf-chips{display:flex;flex-wrap:wrap;gap:6px}
.xf .xf-chip{display:inline-flex;align-items:center;min-height:44px;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:var(--chip);color:var(--ink);font:inherit;font-size:13px;line-height:1.4;text-align:left;cursor:pointer}
.xf .xf-chip:hover{border-color:var(--ui-accent-ink)}
.xf .xf-log{display:flex;flex-direction:column;gap:6px}
.xf .xf-bub{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:14px}
.xf .xf-bub.xf-me{margin-left:28px;background:var(--bg2)}
.xf .xf-bub.xf-ai{border-left:4px solid var(--ui-accent-ink)}
.xf .xf-who{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--mute)}
@media (prefers-reduced-motion:reduce){.xf *,.xf *::before,.xf *::after{animation:none!important;transition:none!important}}

[data-sample] .xg{font-size:14px;line-height:1.6;color:var(--ink)}
[data-sample] .xg>*+*{margin-top:10px}
.xg p{margin:0}
.xg ul,.xg ol{margin:0;padding:0;list-style:none}
.xg [hidden]{display:none!important}
.xg :focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.xg .xg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.xg .xg-n{font-size:13px;line-height:1.6;color:var(--mute)}
.xg .xg-h{margin:0;font-size:16px;font-weight:700;line-height:1.5}
.xg .xg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* ラジオ */
.xg .xg-fs{margin:0;padding:0;border:0;min-width:0}
.xg .xg-fs>legend{padding:0;font-size:14px;font-weight:700}
.xg .xg-opts{display:flex;flex-wrap:wrap;column-gap:16px}
.xg .xg-ch{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}
.xg .xg-ch input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--acc)}
/* 見比べる枠 */
.xg .xg-spec{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xg .xg-tag{align-self:flex-start;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);font-size:13px;font-weight:700;line-height:1.7}
.xg .xg-tag[data-kind="bad"]{background:color-mix(in srgb,var(--ng) 14%,transparent);color:var(--ng)}
.xg .xg-tag[data-kind="mid"]{background:var(--chip);color:var(--mute)}
.xg .xg-g,.xg .xg-b{display:inline}
.xg [data-v="bad"] .xg-g,.xg [data-v]:not([data-v="bad"]) .xg-b{display:none}
/* 入力 */
.xg .xg-f{display:flex;flex-direction:column;gap:4px}
.xg .xg-lab{display:block;font-size:14px;font-weight:700}
.xg .xg-hint{font-size:13px;line-height:1.6;color:var(--mute)}
.xg .xg-in{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid var(--mute);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.xg .xg-range{width:100%;min-height:44px;margin:0;accent-color:var(--acc);cursor:pointer}
/* ボタン */
.xg .xg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:border-color .15s}
.xg .xg-btn:hover{border-color:var(--ui-accent-ink)}
.xg .xg-btn.xg-pri{background:linear-gradient(90deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.xg .xg-frame{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}

/* 本文の大きさ */
.xg .xg-sz-t{font-size:18px;font-weight:700;line-height:1.5}
.xg .xg-sz-b{font-size:16px;line-height:1.7}
.xg [data-v="s14"] .xg-sz-b{font-size:14px}
.xg [data-v="s13"] .xg-sz-t{font-size:15px}
.xg [data-v="s13"] .xg-sz-b{font-size:13px;line-height:1.5}
/* 行間 */
.xg .xg-lh{font-size:16px;line-height:1.7}
.xg [data-v="l15"] .xg-lh{line-height:1.5}
.xg [data-v="l11"] .xg-lh{line-height:1.1}
/* 1行の長さ */
.xg .xg-scroll{overflow-x:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xg .xg-ll{width:calc(var(--n) * 1em);font-size:14px;line-height:1.7;transition:width .2s}
/* 大きさの段 */
.xg .xg-ts{display:flex;flex-direction:column;gap:4px}
.xg .xg-ts li{display:flex;align-items:baseline;gap:10px;min-width:0}
.xg .xg-ts li>span:last-child{min-width:0}
.xg .xg-px{flex:none;width:44px;font-family:ui-monospace,monospace;font-size:13px;color:var(--mute)}
.xg .xg-ts1>span:last-child{font-size:32px;font-weight:700;line-height:1.3}
.xg .xg-ts2>span:last-child{font-size:20px;font-weight:700;line-height:1.4}
.xg .xg-ts3>span:last-child{font-size:16px;line-height:1.6}
.xg .xg-ts4>span:last-child{font-size:14px;line-height:1.6;color:var(--mute)}
.xg [data-v="bad"] .xg-ts1>span:last-child{font-size:21px}
.xg [data-v="bad"] .xg-ts2>span:last-child{font-size:19px}
.xg [data-v="bad"] .xg-ts3>span:last-child{font-size:17px}
.xg [data-v="bad"] .xg-ts4>span:last-child{font-size:15px}
/* 書体 */
.xg .xg-ff-h{font-size:20px;font-weight:700;line-height:1.4}
.xg .xg-ff-n{font-size:16px}
.xg .xg-ff-num{font-size:24px;font-weight:700}
.xg .xg-ff-b{font-size:14px;line-height:1.7}
.xg .xg-ff-btn{align-self:flex-start;padding:6px 14px;border-radius:10px;background:var(--chip);font-size:14px;font-weight:700}
.xg [data-v="bad"] .xg-ff-h{font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.xg [data-v="bad"] .xg-ff-num{font-family:ui-monospace,monospace}
.xg [data-v="bad"] .xg-ff-btn{font-family:"Hiragino Maru Gothic ProN",ui-rounded,cursive}
/* 太さ */
.xg .xg-fw-h{font-size:18px;font-weight:700}
.xg .xg-fw-b,.xg .xg-fw-m{font-size:15px;font-weight:400}
.xg .xg-fw-k{font-weight:700}
.xg .xg-fw-s{font-size:13px;font-weight:400;color:var(--mute)}
.xg [data-v="thin"] .xg-fw-b,.xg [data-v="thin"] .xg-fw-m,.xg [data-v="thin"] .xg-fw-s{font-weight:200}
.xg [data-v="many"] .xg-fw-h{font-weight:900}
.xg [data-v="many"] .xg-fw-b{font-weight:300}
.xg [data-v="many"] .xg-fw-m{font-weight:600}
.xg [data-v="many"] .xg-fw-k{font-weight:800}
.xg [data-v="many"] .xg-fw-s{font-weight:500}
/* 強調 */
.xg .xg-em-p{font-size:16px;line-height:1.7}
.xg .xg-em1{font-weight:700}
.xg [data-v="bad"] .xg-em1{color:var(--ng);text-decoration:underline;font-style:italic}
.xg [data-v="bad"] .xg-em2{color:var(--acc);text-decoration:underline}
.xg [data-v="bad"] .xg-em3{font-weight:700;font-style:italic}
/* 対比 */
.xg .xg-ct{font-size:16px;line-height:1.7;color:var(--ink)}
.xg [data-v="mute"] .xg-ct{color:var(--mute)}
.xg [data-v="bad"] .xg-ct{color:color-mix(in srgb,var(--ink) 30%,var(--card))}
/* 日本語の改行 */
.xg .xg-jb{width:8.5em;font-size:18px;font-weight:700;line-height:1.5}
.xg .xg-ph{display:inline-block}
.xg .xg-jb-bad{word-break:break-all;line-break:anywhere}
.xg [data-v="good"] .xg-jb-bad,.xg [data-v="bad"] .xg-jb-good{display:none}
/* 数字 */
.xg .xg-nt{width:100%;border-collapse:collapse;font-size:15px}
.xg .xg-nt caption{text-align:left;font-size:13px;color:var(--mute);padding-bottom:4px}
.xg .xg-nt th,.xg .xg-nt td{padding:6px 8px;border-top:1px solid var(--line);text-align:left;font-weight:400}
.xg .xg-nt thead th{font-size:13px;color:var(--mute);border-top:0}
.xg [data-v="good"] .xg-nt td,.xg [data-v="good"] .xg-nt thead th:last-child{text-align:right;font-variant-numeric:tabular-nums}
/* 全角と半角 */
.xg .xg-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:15px}
.xg .xg-dl dt{color:var(--mute);font-size:13px;line-height:1.9}
.xg .xg-dl dd{margin:0}
/* 字間 */
.xg .xg-ls-h{font-size:20px;font-weight:700;line-height:1.4;letter-spacing:0}
.xg .xg-ls-b{font-size:15px;line-height:1.7;letter-spacing:.02em}
.xg .xg-ls-btn{align-self:flex-start;max-width:100%;box-sizing:border-box;padding:8px 14px;border-radius:10px;background:var(--chip);font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.02em}
.xg [data-v="tight"] .xg-ls-h,.xg [data-v="tight"] .xg-ls-b,.xg [data-v="tight"] .xg-ls-btn{letter-spacing:-.1em}
.xg [data-v="user"] .xg-ls-h,.xg [data-v="user"] .xg-ls-b,.xg [data-v="user"] .xg-ls-btn{letter-spacing:.12em;line-height:1.5;word-spacing:.16em}
/* 長い文 */
.xg .xg-rt-g{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.7}
.xg .xg-ul{display:flex;flex-direction:column;gap:2px;padding-left:1.2em!important;list-style:disc!important}
.xg .xg-rt-b{font-size:15px;line-height:1.7;text-align:justify}
.xg [data-v="good"] .xg-rt-b,.xg [data-v="bad"] .xg-rt-g{display:none}
/* 動く文字 */
.xg .xg-kt{font-size:24px;font-weight:700;line-height:1.4}
.xg .xg-kt-w>span{display:inline-block}
.xg .xg-kt-w.xg-play>span{animation:xg-kt .5s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i) * 30ms)}
@keyframes xg-kt{0%{transform:translateY(0)}40%{transform:translateY(-.25em);color:var(--acc)}100%{transform:translateY(0)}}
.xg .xg-kt-sub{font-size:13px;color:var(--mute)}
@media (prefers-reduced-motion:reduce){.xg .xg-kt-w.xg-play>span{animation:none}.xg .xg-ll{transition:none}}
/* ドリルダウン */
.xg .xg-dd{display:flex;flex-direction:column;gap:8px}
.xg .xg-path{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;font-size:14px}
.xg .xg-path li{display:inline-flex;align-items:center;gap:4px}
.xg .xg-path li+li::before{content:"›";color:var(--mute)}
.xg .xg-path button{min-height:44px;padding:0 4px;border:0;background:none;color:var(--acc);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.xg .xg-path [aria-current]{font-weight:700}
.xg .xg-total{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.xg .xg-total:hover,.xg .xg-dd-row:hover{border-color:var(--ui-accent-ink)}
.xg .xg-total b{font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--acc);text-decoration:underline;text-underline-offset:4px}
.xg .xg-more{font-size:13px;color:var(--acc);font-weight:700}
.xg .xg-dd-list{display:flex;flex-direction:column;gap:6px}
.xg .xg-dd-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;text-align:left;box-sizing:border-box}
button.xg-dd-row{cursor:pointer}
.xg .xg-dd-row .xg-amt{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}
button.xg-dd-row .xg-amt{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.xg .xg-bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}
.xg .xg-bar i{display:block;height:100%;background:var(--acc)}
.xg .xg-dd-row .xg-more{grid-column:1/-1}
.xg .xg-back{align-self:flex-start}

.xh{--xh-a:var(--acc);--xh-b:color-mix(in srgb,var(--acc) 55%,var(--bg2));--xh-c:var(--ng);--xh-d:var(--line)}
.xh-h{font-weight:700;font-size:16px;margin:0 0 12px;line-height:1.5}
.xh-n{font-size:14px;color:var(--mute);margin:8px 0 0}
.xh-sw{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
.xh-c-a{background:var(--xh-a)}.xh-c-b{background:var(--xh-b)}.xh-c-c{background:var(--xh-c)}.xh-c-d{background:var(--xh-d)}
/* 円グラフ */
.xh-dn-row{display:grid;grid-template-columns:auto 1fr;gap:16px 24px;align-items:center;position:relative}
.xh-dn-svg{width:160px;height:160px;grid-row:span 2;transform:rotate(-90deg)}
.xh-dn-c{position:absolute;left:0;top:0;width:160px;height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;line-height:1.3}
.xh-dn-c b{font-size:22px}.xh-dn-c span{font-size:13px;color:var(--mute)}
.xh-dn-leg{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xh-dn-leg li{display:flex;align-items:center;gap:8px;font-size:15px}
.xh-num{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--mute)}
.xh-tbl{margin-top:12px;font-size:14px}.xh-tbl summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.xh-tbl table{border-collapse:collapse;width:100%}.xh-tbl th,.xh-tbl td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.xh-r{text-align:right!important}
@media (max-width:520px){.xh-dn-row{grid-template-columns:1fr;justify-items:center}.xh-dn-c{left:50%;transform:translateX(-50%)}.xh-dn-leg{width:100%}}
/* ガント */
.xh-gt-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.xh-gt-grid{position:relative;min-width:720px;--col:calc((100% - 160px) / var(--days))}
.xh-gt-head,.xh-gt-row{display:grid;grid-template-columns:160px repeat(var(--days),1fr);align-items:center}
.xh-gt-head{font-size:12px;color:var(--mute);border-bottom:1px solid var(--line);height:28px}
.xh-gt-d{text-align:center}.xh-gt-w{font-weight:700;color:var(--ink)}
.xh-gt-row{position:relative;height:48px;border-bottom:1px solid var(--line)}
.xh-gt-name{padding:0 8px;font-size:14px;line-height:1.3;display:flex;flex-direction:column}.xh-gt-name small{color:var(--mute);font-size:12px}
.xh-gt-bar{grid-column:calc(var(--s) + 1) / calc(var(--e) + 2);height:24px;border-radius:6px;display:flex;align-items:center;padding:0 6px;min-width:0;overflow:hidden}
.xh-gt-lb{font-size:12px;font-weight:700;white-space:nowrap}
.xh-st-done{background:var(--xh-a);color:var(--bg)}.xh-st-now{background:var(--xh-b);color:var(--ink)}
.xh-st-plan{background:transparent;border:1px dashed var(--mute);color:var(--ink)}.xh-st-late{background:var(--xh-c);color:#fff}
.xh-gt-today{position:absolute;top:0;bottom:0;left:calc(160px + (var(--t) - .5) * var(--col));width:2px;background:var(--ink);opacity:.6}
.xh-gt-leg{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px}.xh-gt-leg li{display:flex;align-items:center;gap:6px}
