/* Cresd Tools 共通UI: ダークモード切替 / 検索 / お気に入り / シェア / ツールチップ / フォーム部品 */
:root[data-theme="dark"]{--bench:#14181c;--panel:#1d2329;--plate:#0f1317;--ink:#e8ebee;--mute:#98a3ae;--line:#333c45;--edge:#0a0d0f;--field:#161b20;--blue:#8fb0ff;--bad:#ff9d94;--ok:#6fd49b;--readout:#0b0f12;--ro-line:#27323c;--acc:#ffc72c;--accbg:#3a3115;--bbg:#1f2a4a;color-scheme:dark}
:root[data-theme="light"]{--bench:#e6e8ea;--panel:#fff;--plate:#27333e;--ink:#1e262d;--mute:#566370;--line:#c4cad1;--edge:#97a1ab;--field:#f4f5f6;--blue:#1a4bd0;--bad:#b3261e;--ok:#1f7a4a;--readout:#1b242d;--ro-line:#34424f;--acc:#8a5300;--accbg:#fff1c7;--bbg:#e3eaff;color-scheme:light}

/* ヘッダー右側(検索 + 表示切替) */
.nx-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.bar-in>.nx-right{margin-left:0}
.nx-search input{width:200px;height:34px;padding:0 12px;border:1px solid #6f7d8a;border-radius:5px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:.88rem;box-shadow:none}
.nx-search input::placeholder{color:#c3ccd5}
.nx-search input:focus{background:#fff;color:#1e262d;border-color:var(--amber)}
.nx-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.plate .nx-theme{margin:0;height:34px;padding:0 12px;border:1px solid #6f7d8a;border-bottom-width:1px;border-radius:5px;background:transparent;color:#fff;font:inherit;font-size:.86rem;font-weight:700;white-space:nowrap;cursor:pointer;filter:none}
.plate .nx-theme:hover{background:rgba(255,255,255,.12);filter:none}
.plate .nx-theme:active{transform:none}
@media(max-width:640px){.nx-search input{width:132px}.nx-theme .nx-lbl{display:none}.nx-right{width:100%;margin-left:0}.nx-search{flex:1}.nx-search input{width:100%}}

/* ツール上部のバー(お気に入り・不具合報告) */
.nx-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-.6em 0 1.4em}
.nx-bar button{margin:0;padding:5px 12px;font-size:.86rem;border:1px solid var(--edge);border-bottom-width:3px;border-radius:5px;background:var(--panel);color:var(--ink);font-weight:700;cursor:pointer}
.nx-bar button[aria-pressed="true"]{background:var(--amber);border-color:#b88a00;color:#1e262d}
.nx-bar a{font-size:.86rem}

/* シェア */
.nx-share{max-width:var(--w,960px);margin:8px auto 0;padding:0 20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nx-share b{margin-right:6px;font-size:.9rem}
.nx-share a,.nx-share button{margin:0;display:inline-block;padding:6px 13px;font:inherit;font-size:.86rem;font-weight:700;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-bottom:3px solid var(--edge);border-radius:5px;cursor:pointer}
.nx-share a:hover,.nx-share button:hover{border-color:var(--ink);border-bottom-color:var(--amber);filter:none}

/* お気に入り・履歴(トップ) */
.nx-mine{margin:22px 0 0;display:grid;gap:14px}
.nx-mine h2{margin:0 0 8px;font-size:1rem;border:0;padding:0;display:flex;align-items:center;gap:12px}
.nx-mine h2 button{margin:0;padding:2px 9px;font-size:.78rem;font-weight:400;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--mute);cursor:pointer}
.nx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.nx-chips a{display:block;padding:7px 13px;border:1px solid var(--line);border-bottom:3px solid var(--edge);border-radius:5px;background:var(--panel);color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem}
.nx-chips a:hover{border-color:var(--ink);border-bottom-color:var(--amber)}

/* ツールチップ(?) */
.nx-tip{display:inline-grid;place-items:center;width:20px;height:20px;margin:0 0 0 6px;padding:0;border:1px solid var(--edge);border-bottom-width:1px;border-radius:50%;background:var(--field);color:var(--mute);font:700 .75rem/1 inherit;cursor:help;vertical-align:middle;filter:none}
.nx-tip:hover,.nx-tip:focus-visible{border-color:var(--blue);color:var(--blue);filter:none}
.nx-tip:active{transform:none}
.nx-tipbox{position:absolute;z-index:1000;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:8px 11px;border-radius:5px;background:var(--plate);color:#fff;font-size:.82rem;font-weight:400;line-height:1.6;text-align:left;box-shadow:0 8px 18px -6px rgba(0,0,0,.5);pointer-events:none}

/* フォーム部品(お問い合わせ) */
.nx-form .f{margin:0 0 18px}
.nx-form .req{color:var(--bad);font-size:.78rem;margin-left:6px}
.nx-form .opt{color:var(--mute);font-size:.78rem;font-weight:400;margin-left:6px}
.nx-form .ex{color:var(--mute);font-size:.84rem;margin:5px 0 0}
.nx-form .cnt{display:flex;justify-content:space-between;gap:12px;color:var(--mute);font-size:.82rem;margin-top:4px}
.nx-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem}
.nx-form .chk input{width:auto;margin-top:.45em;flex:none}
.nx-err{color:var(--bad);font-weight:700;font-size:.88rem;margin:6px 0 0;min-height:0}
.nx-err:empty{display:none}
.nx-form [aria-invalid="true"]{border-color:var(--bad);border-width:2px}
.nx-sum{margin:0 0 18px;padding:12px 14px;border:2px solid var(--bad);border-radius:6px;background:var(--panel);color:var(--bad);font-weight:700}
.nx-sum:empty{display:none}
.nx-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nx-actions button{margin:0}
.nx-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nx-env{margin:8px 0 0;padding:8px 10px;border:1px dashed var(--edge);border-radius:4px;color:var(--mute);font-size:.8rem;word-break:break-all}
.nx-ok{padding:26px;text-align:center}
.nx-ok b{display:block;font-size:1.5rem;margin:6px 0;font-variant-numeric:tabular-nums}
.nx-doc h2{font-size:1.05rem}
.nx-doc p,.nx-doc li{max-width:44em}
.nx-doc mark{background:var(--accbg);color:var(--ink);padding:0 3px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* 使い方と制限 */
.nx-guide{margin:0 0 20px;padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--plate);border-radius:6px;font-size:.92rem}
.nx-guide h2{margin:0 0 8px;padding:0;border:0;font-size:1rem}
.nx-guide dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.nx-guide dt{font-weight:700}.nx-guide dd{margin:0}
.nx-guide ul{margin:0;padding-left:1.2em}
@media(max-width:560px){.nx-guide dl{grid-template-columns:1fr;gap:0}.nx-guide dd{margin-bottom:8px}}

/* 狭い画面で、グリッド内の入力欄が画面からはみ出すのを防ぐ */
.grid>*,.stack>*{min-width:0}

/* アクセシビリティ: スキップリンク・動きを減らす設定の尊重 */
.nx-skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--plate);color:#fff;padding:8px 14px;border-radius:0 0 6px 6px;font-weight:700;text-decoration:none}
.nx-skip:focus{top:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* スマホ: 幅の広い表・整形済みテキスト・入力欄が画面からはみ出さないようにする */
main,.card{min-width:0;max-width:100%}
main input,main select,main textarea{max-width:100%}
main pre{max-width:100%;overflow-x:auto}
main table{display:block;max-width:100%;overflow-x:auto}
