@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Archivo_817d35;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Archivo_Fallback_817d35;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_817d35{font-family:__Archivo_817d35,__Archivo_Fallback_817d35;font-style:normal}.__variable_817d35{--font-archivo:"__Archivo_817d35","__Archivo_Fallback_817d35"}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Mono_353f1a;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Mono_Fallback_353f1a;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_353f1a{font-family:__Space_Mono_353f1a,__Space_Mono_Fallback_353f1a;font-style:normal}.__variable_353f1a{--font-space-mono:"__Space_Mono_353f1a","__Space_Mono_Fallback_353f1a"}:root{--font-display:var(--font-archivo),"Outfit",var(--font-noto-sans-jp),system-ui,sans-serif;--font-mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-jp:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",system-ui,sans-serif;--rail-width:240px;--rail-key-width:32px;--topbar-height:52px;--crumb-height:56px;--footer-height:22px;--app-zoom:1;--grid-line-thin:max(1px,calc(1px / var(--app-zoom, 1)));--grid-line-thick:2px;--focus-outline-w:max(2px,calc(2px / var(--app-zoom, 1)));--radius-none:0;--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-chip:6px;--radius-card:8px;--radius-highlight:9px;--radius-circle:50%;--radius-full:9999px;--pad-xs:4px;--pad-sm:8px;--pad-md:12px;--pad-lg:16px;--speed-fast:80ms;--speed-mid:200ms;--speed-slow:400ms;--logo-red:#d6154b;--admin-rail-bg:var(--secondary-hover);--admin-rail-edge:transparent;--admin-rail-text:#e6e9ef;--admin-rail-sub:#e6e9ef;--admin-rail-dim:#9aa3b2;--admin-rail-guide:hsla(0,0%,100%,.16);--admin-rail-act-bg:hsla(0,0%,100%,.1);--admin-rail-hover-bg:hsla(0,0%,100%,.06);--admin-rail-act-line:transparent;--admin-rail-act-text:#fff;--admin-rail-act-bar:var(--primary);--admin-rail-box-bg:hsla(0,0%,100%,.06);--admin-rail-box-line:hsla(0,0%,100%,.16);--admin-rail-box-line-hover:hsla(0,0%,100%,.35);--admin-rail-hover-text:#fff;--usage-card-bg:#fff;--usage-card-line:#e0e0e0;--usage-card-muted:#f5f5f5;--usage-card-row-alt:hsla(0,0%,96%,.3);--usage-card-text:#111;--usage-card-text-2:#666;--usage-card-text-3:#999;--usage-card-track-ok:#fef2f2;--usage-card-track-warn:#fef9c3;--usage-card-track-crit:#fee2e2;--usage-card-note-bg:#fefce8;--usage-card-note-text:#a16207;--usage-card-running-bg:#dbeafe;--usage-card-running-text:#1d4ed8;--usage-card-completed-bg:#dcfce7;--usage-card-completed-text:#15803d;--usage-card-failed-bg:#fee2e2;--usage-card-failed-text:#b91c1c;--vc-edit-bg:#fafafa;--vc-edit-panel:#fff;--vc-edit-muted:#f5f5f5;--vc-edit-subtle:#f8fafc;--vc-edit-chip:#f1f5f9;--vc-edit-track:#e2e8f0;--vc-edit-track-hover:#cbd5e1;--vc-edit-mark:#94a3b8;--vc-edit-line:#e0e0e0;--vc-edit-line-soft:#f1f5f9;--vc-edit-line-2:#e2e8f0;--vc-edit-text:#111;--vc-edit-text-2:#666;--vc-edit-text-3:#999;--vc-edit-chip-text:#475569;--vc-edit-faint-text:#94a3b8;--vc-edit-accent-text:#d00f2c;--vc-edit-accent-text-hover:#e8142f;--vc-edit-accent-soft:#fef2f2;--vc-edit-ok-bg:#ecfdf5;--vc-edit-ok-bg-2:#d1fae5;--vc-edit-ok-line:#a7f3d0;--vc-edit-ok-text:#047857;--vc-edit-ok-text-2:#065f46;--vc-edit-crit-bg:#fef2f2;--vc-edit-crit-bg-2:#fee2e2;--vc-edit-crit-line:#fecaca;--vc-edit-crit-text:#b91c1c;--vc-edit-crit-text-2:#991b1b;--vc-edit-crit-text-3:#dc2626;--vc-edit-warn-bg:#fffbeb;--vc-edit-warn-bg-2:#fef3c7;--vc-edit-warn-line:#fde68a;--vc-edit-warn-text:#92400e;--vc-edit-warn-text-2:#b45309;--vc-edit-info-bg:#eff6ff;--vc-edit-info-line:#bfdbfe;--vc-edit-info-text:#1d4ed8;--vc-edit-legal-bg:#faf5ff;--vc-edit-legal-line:#e9d5ff;--vc-edit-legal-text:#7e22ce}:root[data-theme=dark]{--bg:#0e1118;--panel:#141821;--panel-1:#171c26;--selected-bg:var(--panel-3);--panel-2:#1a1f2b;--panel-3:#222836;--line:#2a3140;--line-2:#3a4356;--text:#d9dee8;--text-strong:#f1f4f9;--dim:#8b94a6;--dim-2:#626b7d;--dim-3:#465064;--accent:#ff4d85;--accent-2:#ff6e96;--accent-soft:rgba(229,0,79,.2);--accent-vivid:#e5004f;--accent-vivid-rgb:229,0,79;--accent-vivid-ink:#fff;--accent-vivid-text:#ff6e96;--rail-active-bg:rgba(229,0,79,.18);--primary:#e5004f;--primary-hover:#c90045;--primary-active:#a90039;--primary-soft:rgba(229,0,79,.18);--primary-pale:rgba(229,0,79,.08);--primary-ink:#fff;--primary-text:#ff6e96;--secondary:#2e3d63;--secondary-hover:#3a4b77;--secondary-active:#26335a;--secondary-line:#4a5b85;--secondary-ink:#fff;--ok:#4fbf7a;--ok-rgb:79,191,122;--ok-soft:rgba(79,191,122,.16);--warn:#e0a23a;--warn-rgb:224,162,58;--warn-soft:rgba(224,162,58,.16);--warn-text:#e0a23a;--crit:#f0624d;--crit-rgb:240,98,77;--crit-soft:rgba(240,98,77,.18);--info:#5aa4e6;--info-rgb:90,164,230;--info-text:#5aa4e6;--matrix-hit-bg:var(--ok-soft);--matrix-miss-bg:var(--crit-soft);--matrix-fp-bg:rgba(255,210,74,.16);--matrix-hit-edge:var(--ok);--matrix-miss-edge:var(--crit);--matrix-fp-edge:var(--g-c);--magenta:#c792ea;--paper:#171d2b;--paper-cell:#0f141e;--paper-line:#2a3548;--paper-line-strong:#3a4760;--paper-text:#dce3f0;--paper-dim:#8b96ab;--paper-merged:#1d2638;--paper-c:#241f14;--paper-d:#28201a;--paper-e:#2a1c1d;--paper-crit:#d9503e;--paper-legal-low:#17263d;--paper-legal-mid:#1f3557;--paper-legal-high:#2b4c7c;--risk-c:#7da4d4;--risk-d:#5b88c7;--risk-e:#3a6db8;--legal-marker:#a8ccf2;--btn-outline-ink:#ff6e96;--navy:#2d3f5d;--legal-solid:#2f66c9;--result-bg:rgba(229,0,79,.12);--legal:#6fa3e0;--legal-soft:var(--paper-legal-low);--legal-mid:var(--paper-legal-mid);--legal-high:var(--paper-legal-high);--risk-crit:var(--g-e);--g-a:#4fbf7a;--g-b:#a6c94e;--g-c:#e0b93a;--g-d:#ee8f3a;--g-e:#f0624d;--grade-text-a:#6fd394;--grade-text-b:#bedb6b;--grade-text-c:#e8c55a;--grade-text-d:#f4a560;--grade-text-e:#f58876;--heat-0:#1a1f2b;--heat-1:#33405c;--heat-2:#8a7530;--heat-3:#c0702f;--heat-4:#e0503f;--sel-bg:rgba(229,0,79,.2);--sel-line:#e5004f;--focus-ring:#ff6e96;--shadow-soft:0 0 0 1px hsla(0,0%,100%,.06);--shadow-panel:0 1px 2px rgba(0,0,0,.2);--hatch:repeating-linear-gradient(45deg,rgba(139,148,166,.08) 0 4px,transparent 4px 8px);--admin-rail-bg:var(--panel-2);--admin-rail-edge:var(--line);--admin-rail-text:var(--text-strong);--admin-rail-sub:var(--text);--admin-rail-dim:var(--dim);--admin-rail-guide:var(--line);--admin-rail-act-bg:var(--panel-3);--admin-rail-hover-bg:var(--panel-3);--admin-rail-act-line:transparent;--admin-rail-act-text:var(--accent-vivid-text);--admin-rail-act-bar:var(--primary);--admin-rail-box-bg:var(--panel);--admin-rail-box-line:var(--line-2);--admin-rail-box-line-hover:var(--dim);--admin-rail-hover-text:var(--text-strong);--usage-card-bg:var(--panel);--usage-card-line:var(--line);--usage-card-muted:var(--panel-2);--usage-card-row-alt:hsla(0,0%,100%,.02);--usage-card-text:var(--text-strong);--usage-card-text-2:var(--dim);--usage-card-text-3:var(--dim-2);--usage-card-track-ok:var(--accent-soft);--usage-card-track-warn:color-mix(in srgb,var(--warn) 20%,transparent);--usage-card-track-crit:color-mix(in srgb,var(--crit) 20%,transparent);--usage-card-note-bg:color-mix(in srgb,var(--warn) 14%,transparent);--usage-card-note-text:var(--warn);--usage-card-running-bg:color-mix(in srgb,var(--info) 18%,transparent);--usage-card-running-text:var(--info);--usage-card-completed-bg:color-mix(in srgb,var(--ok) 18%,transparent);--usage-card-completed-text:var(--ok);--usage-card-failed-bg:color-mix(in srgb,var(--crit) 18%,transparent);--usage-card-failed-text:var(--crit);--vc-edit-bg:var(--bg);--vc-edit-panel:var(--panel);--vc-edit-muted:var(--panel-2);--vc-edit-subtle:var(--panel-2);--vc-edit-chip:var(--panel-3);--vc-edit-track:var(--panel-3);--vc-edit-track-hover:var(--line-2);--vc-edit-mark:var(--dim-2);--vc-edit-line:var(--line);--vc-edit-line-soft:var(--line);--vc-edit-line-2:var(--line-2);--vc-edit-text:var(--text-strong);--vc-edit-text-2:var(--dim);--vc-edit-text-3:var(--dim-2);--vc-edit-chip-text:var(--dim);--vc-edit-faint-text:var(--dim-2);--vc-edit-accent-text:var(--accent);--vc-edit-accent-text-hover:var(--accent-2);--vc-edit-accent-soft:var(--accent-soft);--vc-edit-ok-bg:color-mix(in srgb,var(--ok) 14%,transparent);--vc-edit-ok-bg-2:color-mix(in srgb,var(--ok) 22%,transparent);--vc-edit-ok-line:color-mix(in srgb,var(--ok) 40%,transparent);--vc-edit-ok-text:var(--ok);--vc-edit-ok-text-2:var(--ok);--vc-edit-crit-bg:color-mix(in srgb,var(--crit) 14%,transparent);--vc-edit-crit-bg-2:color-mix(in srgb,var(--crit) 22%,transparent);--vc-edit-crit-line:color-mix(in srgb,var(--crit) 40%,transparent);--vc-edit-crit-text:var(--crit);--vc-edit-crit-text-2:var(--crit);--vc-edit-crit-text-3:var(--crit);--vc-edit-warn-bg:color-mix(in srgb,var(--warn) 14%,transparent);--vc-edit-warn-bg-2:color-mix(in srgb,var(--warn) 22%,transparent);--vc-edit-warn-line:color-mix(in srgb,var(--warn) 40%,transparent);--vc-edit-warn-text:var(--warn);--vc-edit-warn-text-2:var(--warn);--vc-edit-info-bg:color-mix(in srgb,var(--info) 14%,transparent);--vc-edit-info-line:color-mix(in srgb,var(--info) 40%,transparent);--vc-edit-info-text:var(--info);--vc-edit-legal-bg:color-mix(in srgb,var(--magenta) 14%,transparent);--vc-edit-legal-line:color-mix(in srgb,var(--magenta) 40%,transparent);--vc-edit-legal-text:var(--magenta)}.mlr-rep-frame,.rd-canvas.is-printing,.rd-shellhead:not(.is-themed),.rep-canvas,:root[data-theme=light]{color-scheme:light;--bg:#fafbfd;--panel:#fff;--panel-1:#f4f6f9;--selected-bg:var(--panel-1);--panel-2:#eceff4;--panel-3:#e1e5ec;--line:#d5dae3;--line-2:#bfc6d2;--text:#242b38;--text-strong:#161b26;--dim:#5a6373;--dim-2:#767f92;--dim-3:#a3aab8;--accent:#c90045;--accent-2:#e5004f;--accent-soft:rgba(229,0,79,.1);--accent-vivid:#e5004f;--accent-vivid-rgb:229,0,79;--accent-vivid-ink:#fff;--accent-vivid-text:#e5004f;--rail-active-bg:rgba(229,0,79,.1);--primary:#e5004f;--primary-hover:#c90045;--primary-active:#a90039;--primary-soft:#fce4ec;--primary-pale:#fff4f7;--primary-ink:#fff;--primary-text:#c90045;--secondary:#1f2a44;--secondary-hover:#2b3958;--secondary-active:#141c30;--secondary-line:#1f2a44;--secondary-ink:#fff;--ok:#23804a;--ok-rgb:35,128,74;--ok-soft:rgba(39,138,75,.12);--warn:#b76a00;--warn-rgb:183,106,0;--warn-soft:rgba(183,106,0,.12);--warn-text:#8a5000;--crit:#c0311f;--crit-rgb:192,49,31;--crit-soft:rgba(192,49,31,.1);--info:#2769a6;--info-rgb:39,105,166;--info-text:#235f98;--magenta:#8c6d97;--matrix-hit-bg:var(--ok-soft);--matrix-miss-bg:var(--crit-soft);--matrix-fp-bg:hsla(40,71%,73%,.3);--matrix-hit-edge:var(--ok);--matrix-miss-edge:var(--crit);--matrix-fp-edge:var(--grade-text-c);--paper:#f5f7fa;--paper-cell:#fff;--paper-line:#d2d8e0;--paper-line-strong:#b9c2ce;--paper-text:#202329;--paper-dim:#626873;--paper-merged:#e8ebef;--paper-c:#f6efd6;--paper-d:#f9ead8;--paper-e:#f8e1de;--paper-crit:#b3261e;--paper-legal-low:#e9f0f8;--paper-legal-mid:#c8d9ea;--paper-legal-high:#9fbbd8;--risk-c:#6b8fc2;--risk-d:#3f6ba8;--risk-e:#1a4480;--legal-marker:#1b4573;--btn-outline-ink:#e5004f;--navy:#1f2a44;--legal-solid:#2558c0;--result-bg:#fdedf3;--legal:#315f91;--legal-soft:var(--paper-legal-low);--legal-mid:var(--paper-legal-mid);--legal-high:var(--paper-legal-high);--risk-crit:var(--g-e);--g-a:#2f7d3f;--g-b:#5f7f2a;--g-c:#8f6b00;--g-d:#b0591a;--g-e:#b3261e;--grade-text-a:#2f7d32;--grade-text-b:#5a7d1e;--grade-text-c:#8a6a14;--grade-text-d:#94520f;--grade-text-e:#8e1f17;--heat-0:#f0f1f3;--heat-1:#d1d8e0;--heat-2:#e3c55a;--heat-3:#d9874d;--heat-4:#c4402f;--sel-bg:rgba(229,0,79,.1);--sel-line:#e5004f;--focus-ring:#e5004f;--shadow-soft:0 0 0 1px rgba(90,99,115,.14);--shadow-panel:0 1px 2px rgba(15,23,42,.03);--hatch:repeating-linear-gradient(45deg,rgba(90,99,115,.06) 0 4px,transparent 4px 8px)}.mlr-rep-frame,.rep-canvas{color:var(--text)}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--grade-a-fill:#00b871;--grade-a-ink:#056b44;--grade-a-tint:#e6fff5;--grade-a-line:#c2ffe8;--grade-b-fill:#78bd00;--grade-b-ink:#466b05;--grade-b-tint:#f6ffe6;--grade-b-line:#e9ffc2;--grade-c-fill:#ffb800;--grade-c-ink:#6b4d05;--grade-c-tint:#fff7e6;--grade-c-line:#ffedc2;--grade-d-fill:#f26500;--grade-d-ink:#6b3105;--grade-d-tint:#fff1e6;--grade-d-line:#ffdcc2;--grade-e-fill:#d42626;--grade-e-ink:#6b0c05;--grade-e-tint:#ffe7e6;--grade-e-line:#ffc6c2;--grade-c-block-bg:#fff0cc;--grade-d-block-bg:#ffe6d4;--grade-d-block-ink:#9e4603;--grade-c-word:#e09b00;--grade-c-fill-ink:#3a2a00;--grade-scale-low:#008a58;--legal-bg:#e6f0fe;--legal-fg:#1d5fc4;--legal-line:#2e7ae5;--legal-tint:#e9eef9;--brand-fit-bg:#f3edfc;--brand-fit-fg:#5b2fa6;--brand-fit-ink:#4a2490;--brand-fit-line:#7b4bc4;--brand-fit-soft:#c9b2ee;--brand-fit-tint:#faf7fe;--brand-fit-card-line:#bda5e1;--rd-video-bg:#0f1116;--rd-thumb-bg:#78889f;--rd-paper:#fbf8f4;--rd-overlay:rgba(0,0,0,.6);--rd-video-line:transparent;--rd-scale-off:var(--line-2)}:root[data-theme=dark] .rd-canvas:not(.is-printing):not(.mlr-rep-frame .rd-canvas){--grade-a-ink:#5fe0a8;--grade-b-ink:#b4e05a;--grade-c-ink:#ffd25a;--grade-d-ink:#ffa463;--grade-e-ink:#ff8a80;--grade-a-tint:color-mix(in srgb,var(--grade-a-fill) 16%,var(--panel));--grade-b-tint:color-mix(in srgb,var(--grade-b-fill) 16%,var(--panel));--grade-c-tint:color-mix(in srgb,var(--grade-c-fill) 16%,var(--panel));--grade-d-tint:color-mix(in srgb,var(--grade-d-fill) 16%,var(--panel));--grade-e-tint:color-mix(in srgb,var(--grade-e-fill) 16%,var(--panel));--grade-a-line:color-mix(in srgb,var(--grade-a-fill) 45%,var(--panel));--grade-b-line:color-mix(in srgb,var(--grade-b-fill) 45%,var(--panel));--grade-c-line:color-mix(in srgb,var(--grade-c-fill) 45%,var(--panel));--grade-d-line:color-mix(in srgb,var(--grade-d-fill) 45%,var(--panel));--grade-e-line:color-mix(in srgb,var(--grade-e-fill) 45%,var(--panel));--grade-c-block-bg:color-mix(in srgb,var(--grade-c-fill) 22%,var(--panel));--grade-d-block-bg:color-mix(in srgb,var(--grade-d-fill) 22%,var(--panel));--grade-d-block-ink:var(--grade-d-ink);--grade-scale-low:#3ccf8e;--legal-bg:color-mix(in srgb,#2e7ae5 18%,var(--panel));--legal-tint:color-mix(in srgb,#2e7ae5 14%,var(--panel));--legal-fg:#8ab6ff;--legal-line:#4d8ff0;--brand-fit-bg:color-mix(in srgb,#7b4bc4 20%,var(--panel));--brand-fit-tint:color-mix(in srgb,#7b4bc4 10%,var(--panel));--brand-fit-fg:#c7a8ff;--brand-fit-ink:#ddc8ff;--brand-fit-line:#9a6ee0;--brand-fit-soft:color-mix(in srgb,#9a6ee0 55%,var(--panel));--brand-fit-card-line:color-mix(in srgb,#9a6ee0 60%,var(--panel));--rd-video-bg:#000;--rd-video-line:var(--line-2);--rd-scale-off:var(--dim-2);--rp-page-bg:var(--bg);--rp-surface:var(--panel);--rp-border:var(--line);--rp-hairline:var(--line);--rp-hairline-2:var(--line);--rp-sunken:var(--panel-1);--rp-ink:var(--text-strong);--rp-body:var(--text);--rp-body-2:var(--text);--rp-secondary:var(--dim);--rp-muted:var(--dim);--rp-muted-info:var(--dim);--rp-blue:var(--legal-fg);--rp-blue-deep:var(--legal-line);--rp-blue-050:var(--legal-tint);--rp-blue-100:var(--legal-bg);--rp-card-shadow:0 1px 2px rgba(0,0,0,.4);--rp-card-shadow-s:0 1px 2px rgba(0,0,0,.4)}

/* ! --------------------------------------------------
- ブレークポイント（min-width。@media (--md) のように使う）
-------------------------------------------------- */html{color:#333;background:#fff}blockquote,body,code,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,pre,td,textarea,th,ul,xmp{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:""}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}button,input,select,textarea{outline:none}body{color:#333;-webkit-text-size-adjust:100%}img{max-width:100%}*{box-sizing:border-box;&[data-before]:before{content:attr(data-before);margin-inline-end:2px}&[data-after]:after{content:attr(data-after);margin-inline-start:2px}}html{--family:var(--font-display);font-family:var(--family);scroll-behavior:smooth;scroll-padding-top:16px;display:block;font-feature-settings:"palt"}body{container-type:inline-size;min-height:calc(min(100dvh, 749px));min-width:360px;width:100%;display:flex;flex-direction:column;position:relative;font-family:var(--font-display)!important;color:var(--text);font-size:14px;line-height:1.4;*{font-weight:500}}html{&.win{font-feature-settings:normal}}@supports (-ms-ime-align:auto){html{font-feature-settings:normal}}p{line-height:1.25;letter-spacing:0}a,p{font-weight:400;font-size:14px;word-break:break-word}a{color:var(--text);line-height:1.5;text-decoration:none;cursor:pointer}strong{font-weight:700}small{font-size:.8em;font-weight:400}form{width:auto}::-moz-selection{color:var(--accent-vivid-ink,#fff);background-color:var(--accent-vivid,#3b6fc1)}::selection{color:var(--accent-vivid-ink,#fff);background-color:var(--accent-vivid,#3b6fc1)}button{cursor:pointer}.phpdebugbar,.phpdebugbar *{font-family:var(--family)}iframe{width:100%}:focus-visible{outline:2px solid var(--accent-vivid)}:focus:not(:focus-visible){outline:none}.h-screen{height:calc(100vh / var(--app-zoom, 1))}.min-h-screen{min-height:calc(100vh / var(--app-zoom, 1))}.w-screen{width:100%}.h-full{height:100%}.topbar-analyzing{display:inline-flex;align-items:center;gap:4px;min-block-size:24px;padding-block:4px;padding-inline:12px;box-sizing:border-box;flex:0 0 auto;border-radius:999px;background:var(--accent-vivid);color:var(--accent-vivid-ink);font-size:12px;font-weight:600;text-decoration:none}.topbar-analyzing-text{white-space:nowrap}.topbar-analyzing-arrow{flex:0 0 auto}.topbar-analyzing:hover{filter:brightness(.94)}.topbar-analyzing:focus-visible{outline:none;box-shadow:0 0 0 1px var(--accent-vivid-ink),0 0 0 3px var(--focus-ring),0 0 0 5px var(--panel)}.topbar-analyzing-dot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:var(--accent-vivid-ink);animation:analyzing-pulse 1.6s ease-in-out infinite}@keyframes analyzing-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.topbar-analyzing-dot{animation:none;opacity:1}}.topbar-analyzing-wrap{display:inline-flex;flex:0 0 auto}button.topbar-analyzing{border:0;font-family:inherit;cursor:pointer;line-height:inherit}.topbar-analyzing[aria-expanded=true]{filter:brightness(.88)}.topbar-analyzing-caret{flex:0 0 auto;font-size:10px;margin-left:2px}.aq-dropdown{position:fixed;width:440px;max-width:calc(100vw - 32px);max-height:420px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-chip);box-shadow:0 6px 24px rgba(0,0,0,.18);z-index:50;white-space:normal;text-align:left;overflow:hidden}.aq-dropdown[hidden]{display:none}.aq-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text-strong);font-weight:700;flex:0 0 auto}.aq-head .sub{font-weight:400;color:var(--dim);font-size:11px}.aq-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto;min-height:0}.aq-list li+li .aq-row{border-top:1px solid var(--panel-2)}.aq-row{display:grid;grid-template-columns:52px 1fr 40px 64px;align-items:center;-moz-column-gap:8px;column-gap:8px;row-gap:3px;min-height:36px;box-sizing:border-box;padding:7px 12px;color:var(--text);text-decoration:none;font-size:12px;border-left:2px solid transparent}a.aq-row:hover{background:var(--panel-1);border-left-color:var(--accent)}.aq-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.aq-chip{display:inline-flex;justify-content:center;font-size:10.5px;font-weight:700;padding:1px 0;border-radius:999px}.aq-chip.run{background:var(--accent-soft);color:var(--accent-vivid-text)}.aq-chip.wait{background:var(--panel-2);color:var(--dim)}.aq-name{min-width:0;overflow:hidden;white-space:nowrap;color:var(--text-strong)}.aq-pct{font-family:var(--font-mono);font-size:11.5px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.aq-pct.none{color:var(--dim-2)}.aq-time{font-family:var(--font-mono);font-size:11px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}.aq-bar{grid-column:2/4;height:3px;border-radius:2px;background:var(--panel-3);overflow:hidden}.aq-bar>i{display:block;height:100%;background:var(--accent-vivid)}.aq-foot{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-top:1px solid var(--line);font-size:10.5px;color:var(--dim);background:var(--panel);flex:0 0 auto}.aq-foot kbd{font-family:var(--font-mono);font-size:10px;border:1px solid var(--line);padding:0 4px;border-radius:3px;color:var(--dim)}.aq-more{padding:6px 12px;font-size:11px;color:var(--dim);background:var(--panel-1);border-top:1px solid var(--line)}.aq-skel{display:block;height:10px;border-radius:3px;background:var(--panel-3)}.aq-msg{padding:14px 12px;font-size:12px;color:var(--text);display:flex;flex-direction:column;gap:8px}.aq-msg .t{font-weight:700;color:var(--text-strong)}.aq-warn{padding:6px 12px;font-size:11px;color:var(--warn);background:var(--warn-soft);border-bottom:1px solid var(--line);flex:0 0 auto}.aq-btn{align-self:flex-start;font:inherit;font-size:11.5px;padding:3px 12px;border-radius:var(--radius-chip);border:1px solid var(--line-2);background:var(--panel);color:var(--text);cursor:pointer}

/* ! --------------------------------------------------
- テーマ（ライトモード / ダークモード）
-------------------------------------------------- */.theme-toggle{gap:.125rem;padding:3px;border:1px solid var(--line-2);border-radius:var(--radius-card);background:var(--panel-2)}.theme-toggle,.theme-toggle-btn{display:inline-flex;align-items:center}.theme-toggle-btn{justify-content:center;border:none;border-radius:var(--radius-chip);background:transparent;color:var(--dim-2);cursor:pointer;&:hover{color:var(--dim)}&.active{background:var(--panel);color:var(--accent-vivid-text);box-shadow:0 1px 2px rgba(0,0,0,.08)}}:root[data-theme=dark] .theme-toggle-btn.active{background:var(--line-2)}

/* ! --------------------------------------------------
- パンくず
-------------------------------------------------- */.shell-crumb{background:var(--bg);justify-content:space-between;flex-wrap:wrap;gap:4px var(--pad-md);padding:4px var(--pad-md);font-size:11px;color:var(--dim);overflow-x:auto;white-space:nowrap}.shell-crumb,.shell-crumb-left{display:flex;align-items:center;min-width:0}.shell-crumb-left{gap:var(--pad-sm);flex:1 1 240px}.shell-crumb-left>.crumb-glyph,.shell-crumb-left>.crumb-sep{flex-shrink:0}.shell-crumb-left>.crumb-step{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-crumb-left>.crumb-step.current{flex-shrink:0}.shell-crumb-left>.proj-picker{min-width:0;flex-shrink:1}.shell-crumb-left>.proj-picker .picker-trigger{max-width:100%;min-width:0;overflow:hidden}.shell-crumb-left>.proj-picker .picker-trigger .picker-code,.shell-crumb-left>.proj-picker .picker-trigger .picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-crumb-left>.proj-picker .picker-trigger .picker-caret,.shell-crumb-left>.proj-picker .picker-trigger .picker-glyph{flex-shrink:0}.shell-crumb-right{display:flex;align-items:center;gap:var(--pad-sm);margin-left:auto;flex:0 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.shell-crumb-right .sep{color:var(--dim-2)}.shell-crumb-right .status-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--ok-soft);color:var(--ok)}.shell-crumb-right .status-pill.warn{background:var(--warn-soft);color:var(--warn)}.shell-crumb-right .status-pill.crit{background:var(--crit-soft);color:var(--crit)}.shell-crumb .crumb-glyph{color:var(--accent)}.shell-crumb .crumb-step{color:var(--text)}.shell-crumb .crumb-step.current{color:var(--accent-2)}.shell-crumb .crumb-sep{color:var(--dim-2)}.shell-crumb .crumb-actions{margin-left:auto;display:flex;gap:var(--pad-md)}.shell-crumb .crumb-pill{border:1px solid var(--line);padding:1px 6px;font-size:10px;color:var(--text)}.shell-crumb .crumb-pill.active{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent)}.shell-crumb .crumb-pill.flag{color:var(--crit);border-color:var(--crit-soft)}.shell:has(.shell-rail.admin) .shell-crumb .crumb-sep{color:var(--dim)}:root[data-theme=dark] .shell:has(.shell-rail.admin) .shell-crumb .crumb-glyph{color:var(--accent-2)}.shell:has(.shell-rail.admin) .shell-crumb .theme-toggle{border-radius:8px}.shell:has(.shell-rail.admin) .shell-crumb .theme-toggle-btn{width:20px;height:20px;border-radius:6px;&.active{color:var(--text-strong)}}.shell:has(.shell-rail.admin){--crumb-height:40px}

/* ! --------------------------------------------------
- 段が多いパンくずの「…」（CollapsibleCrumb・#974）
  案件管理・分析レポート・カット表で共通。幅が足りないときに間の段を「…」に集める。
  Google ドライブと同じ丸いボタン。押すと、集めた段のメニュー（札＋名前）が出る。
  ⚠️ 段・名前・区切りの見た目は report-d.css の .rd-crumb-*（分析レポートの上部バーと同じ）
-------------------------------------------------- */.c-crumb-more{align-items:center;gap:8px;flex-shrink:0}.c-crumb-more,.c-crumb-more-btn,.c-crumb-more-menu{display:inline-flex}.c-crumb-more-btn{align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--dim);cursor:pointer}.c-crumb-more-btn:hover,.c-crumb-more-btn[aria-expanded=true]{background:var(--panel-2);color:var(--text-strong)}.c-crumb-more-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.c-crumb-menu{position:fixed;z-index:200;min-width:200px;max-width:360px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 6px 16px rgba(0,0,0,.12)}.c-crumb-menu:focus{outline:none}.c-crumb-menu-item{display:flex;align-items:center;gap:4px;width:100%;padding:8px 12px;border:0;border-radius:var(--radius-chip);background:transparent;color:var(--text-strong);font-size:14px;text-align:left;cursor:pointer}.c-crumb-menu-item.is-active{background:var(--panel-1)}.c-crumb-menu-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-crumb-list .rd-crumb-sep{color:#64748b}.rd-crumb-list .rd-chip-version{flex-shrink:0}.c-crumb-menu .rd-crumb-k{justify-content:center;width:64px;box-sizing:border-box}.rd-crumb-list.is-measuring{width:-moz-max-content;width:max-content;overflow:visible}.rd-crumb-list.is-measuring .rd-crumb-link,.rd-crumb-list.is-measuring .rd-crumb-title,.rd-crumb-list.is-measuring>li{flex-shrink:0}.rd-crumb-list.is-measuring>li{min-width:0!important}.rd-crumb-list.is-measuring .rd-crumb-n{display:inline;overflow:visible;white-space:nowrap}.rd-crumb-list>li.c-crumb-more{flex-shrink:0;min-width:auto}.c-crumb-more-btn,.c-crumb-more-menu{flex-shrink:0}.shell-crumb:has(.rd-crumb-list){min-width:0}.rd-shellhead.is-themed .rd-crumb-title{max-width:300px}.rd-crumb-list .rd-crumb-badge{display:inline-flex;flex-shrink:0;margin-left:6px}

/* ! --------------------------------------------------
- アイコン
-------------------------------------------------- */.c-icon{background-size:cover;background-repeat:no-repeat;background-position:50%;width:100%;display:block;border-radius:8px;aspect-ratio:1/1}.c-icon__w10{min-width:10px;width:10px}.c-icon__w12{min-width:12px;width:12px}.c-icon__w14{min-width:14px;width:14px}.c-icon__w16{min-width:16px;width:16px}.c-icon__w20{min-width:20px;width:20px}.c-icon__w24{min-width:24px;width:24px}.c-icon__w28{min-width:28px;width:28px}.c-icon__w32{min-width:32px;width:32px}.c-icon__w40{min-width:40px;width:40px}.c-icon__w48{min-width:48px;width:48px}.c-icon__w56{min-width:56px;width:56px}.c-icon__w64{min-width:64px;width:64px}.c-icon__w72{min-width:72px;width:72px}.c-icon__square{border-radius:0!important}.c-icon__circle{border-radius:50%!important}.fill__white{fill:#fff}.fill__primary{fill:var(--accent)}

/* ! --------------------------------------------------
- ボタン
-------------------------------------------------- */.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:13px;text-align:center;font-weight:700;letter-spacing:.1em;line-height:1em;padding:.25rem .75rem;background-color:var(--accent-vivid);color:#fff;border:1px solid var(--accent-vivid);border-radius:var(--radius-chip);height:2.5rem;transition:all .1s ease-in-out;cursor:pointer;svg{fill:#fff}&:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);color:#fff;svg{fill:#fff}}&:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}&.disabled,&:disabled{opacity:.55;cursor:progress;pointer-events:none}&.xl{width:100%;max-width:20rem;font-size:1rem;height:4rem}&.lg{font-size:.875rem;height:3rem}&.sm{height:2rem;padding:0 .75rem;font-size:.75rem;min-width:4rem;letter-spacing:0}&.xs{height:1.5rem;font-size:11px;padding:0 .75rem .125rem}&.xs,&.xxs{min-width:inherit;letter-spacing:0;width:auto}&.xxs{height:1.25rem;font-size:10px;padding:0 .375rem;border-radius:var(--radius-md)}&.wide{min-width:240px}&.full{width:100%;max-width:inherit}}.c-btn{&.gray{background-color:var(--panel-3);border-color:var(--line-2);color:var(--text);svg{fill:var(--text)}&:hover{background-color:var(--panel-2);border-color:var(--line-2);color:var(--text);svg{fill:var(--text)}}}}.c-btn--outline{background-color:var(--panel);border-color:var(--line);color:var(--accent-vivid-text);svg{fill:var(--accent-vivid-text)}&:hover{background-color:var(--accent-soft);border-color:var(--accent-vivid);color:var(--accent-vivid-text);svg{fill:var(--accent-vivid-text)}}&.primary{border-color:var(--accent-vivid)}&.neutral{border-color:var(--line-2);color:var(--text-strong);svg{fill:var(--text-strong)}&:hover{background-color:var(--panel-2);border-color:var(--line-2);color:var(--text-strong);svg{fill:var(--text-strong)}}}&.danger{border-color:var(--crit);color:var(--crit);svg{fill:var(--crit)}&:hover{background-color:var(--crit-soft);border-color:var(--crit);color:var(--crit);svg{fill:var(--crit)}}}&.success{background-color:var(--ok-soft);border-color:var(--ok);color:var(--ok);svg{fill:var(--ok)}&:hover{background-color:var(--ok-soft);border-color:var(--ok);color:var(--ok);svg{fill:var(--ok)}}}}.c-btn--secondary{background-color:var(--secondary);border-color:var(--secondary-line);color:var(--secondary-ink);svg{fill:var(--secondary-ink)}&:hover{background-color:var(--secondary-hover);border-color:var(--secondary-hover);color:var(--secondary-ink)}&:active{background-color:var(--secondary-active)}}.c-btn--ghost{background-color:transparent;border-color:transparent;color:var(--text-strong);svg{color:var(--accent-vivid-text);fill:var(--accent-vivid-text)}&:hover{background-color:var(--accent-soft);border-color:transparent;color:var(--text-strong);svg{fill:var(--accent-vivid-text)}}}.c-btn__text{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;gap:4px;text-decoration:underline;color:var(--dim);font-size:.75rem;transition:all .1s ease-in-out;svg{fill:var(--dim)}&:hover{opacity:.5;text-decoration:none}&.primary{color:var(--accent-vivid-text);svg{fill:var(--accent-vivid-text)}}&.light{color:var(--dim-2);svg{fill:var(--dim-2)}}}

/* ! --------------------------------------------------
- タブ・切り替え（c-tab）
  分析レポート案D の「案件の詳細」のタブ（role="tab" ＋ aria-selected）と、
  タイムラインの「表示幅：」の切り替え（aria-pressed）で共用する。違いは見出しの有無と大きさだけ。

  <div class="c-tab [sm]">
    [見出し（例: 表示幅：）]
    <div class="c-tab__list" role="tablist|group">
      <button class="c-tab__btn" aria-selected|aria-pressed>…</button>
    </div>
  </div>
  ※ ボタンを直に並べてもよい（c-tab が並べる）
-------------------------------------------------- */.c-tab{font-size:12px;color:var(--dim);white-space:nowrap}.c-tab,.c-tab__list{display:flex;align-items:center;gap:4px}.c-tab__btn{padding:8px 16px;border:none;border-radius:var(--radius-chip);font-family:inherit;font-size:12px;line-height:1;white-space:nowrap;cursor:pointer;background:transparent;color:var(--text-strong);&:not([aria-selected=true],[aria-pressed=true]):hover{background:var(--selected-bg);color:var(--text-strong)}&:is([aria-selected=true],[aria-pressed=true]){background:var(--selected-bg);color:var(--accent-vivid-text);font-weight:700}&:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}}.c-tab a.c-tab__btn{display:inline-block;text-decoration:none;color:var(--text-strong);&[aria-current=page],&[aria-current=true]{background:var(--selected-bg);color:var(--accent-vivid-text);font-weight:700}&:not([aria-current=true],[aria-current=page]):hover{background:var(--selected-bg)}}.c-tab.sm{font-size:11px;.c-tab__btn{padding:8px;font-size:11px}}

/* ! --------------------------------------------------
- 状態の札（c-status）
  「未完了」「一部のみ」「要確認」など、何かの状態を短く示す札。
  既定は灰。色の種類はクラスを足す（legal = 法務の青・brand = ブランド適合の紫・primary = ブランドの赤・accent = 薄い赤（分析中）・warn / info / ok / crit = 状態の色）。
  例: <span class="c-status legal">法務：要確認</span>
-------------------------------------------------- */.c-status{display:inline-flex;align-items:center;flex:none;padding:4px 8px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;&.legal{border-color:var(--legal-solid);background:var(--legal-solid);color:var(--primary-ink)}&.warn{border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:var(--warn-soft);color:var(--warn-text)}&.info{border-color:color-mix(in srgb,var(--info) 35%,transparent);background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info-text)}&.ok{border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-soft);color:var(--ok)}&.crit{border-color:color-mix(in srgb,var(--crit) 35%,transparent);background:var(--crit-soft);color:var(--crit)}&.accent{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:var(--primary-soft);color:var(--primary-text)}&.brand{border-color:var(--brand-fit-soft);background:var(--panel);color:var(--brand-fit-fg)}&.primary{border-color:var(--primary);background:var(--primary);color:#fff}}

/* ! --------------------------------------------------
- ボックス
-------------------------------------------------- */.c-box{display:flex;flex-direction:column;gap:0;background:var(--panel);border:1px solid rgb(224 224 224/var(--tw-border-opacity,1));border-radius:var(--radius-card);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow),0 1px 3px rgba(16,24,40,.06);.l-grid{gap:2rem}}.c-box--head{padding:1rem 2rem}.c-box--body{flex:auto;padding:2rem 1.5rem}.c-box--foot{padding:1.5rem 2rem;border-top:1px solid rgb(224 224 224/var(--tw-border-opacity,1))}@media (min-width:641px){.c-box--body{padding:2rem}}

/* ! --------------------------------------------------
- 空の表示（c-empty）: 一覧・表に何も無いときの案内
  灰色の面（--panel-2・角丸）の中央に薄い文字 1 行。新規スキャンの「ファイル未選択 · 上のエリアから追加してください」
  （ScanUpload の dhome-file-list の中の dhome-empty）と同じ見た目を共通にしたもの（2026-10-09）。
  ⚠️ 文字は --dim（--dim-2 は読みやすさの基準 AA に届かない）
  <p class="c-empty">申請はありません</p>
-------------------------------------------------- */.c-empty{margin:0;padding:32px 16px;border-radius:var(--radius-card);background:var(--panel-2);color:var(--dim);font-size:12px;text-align:center}

/* ! --------------------------------------------------
- パネル（c-panel）
  見出しの帯・本文・足からなる箱。分析レポート案D の「選択中の検出」（.rd-sel）で使う。
  （c-box は会員登録の画面の大きな箱で、余白・影が違うので別の部品にしている）

  <section class="c-panel">
    <div class="c-panel__head"><h2 class="c-panel__title">見出し</h2> [右に置くもの]</div>
    <div class="c-panel__body">…</div>      ← 中身があふれたら本文だけスクロールする
    <div class="c-panel__foot">…</div>      ← 操作（ボタンを並べる）
  </section>

  見出し: c-panel__title（ふつう）／ c-panel__title--active（赤い下線のタブの形。タイムラインなど）。
  --active の見出しを置いた帯は、見出しの下線が帯の下の線に乗るよう、下に寄せて下の余白を 0 にする
-------------------------------------------------- */.c-panel{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-panel);overflow:hidden}.c-panel__head{flex-shrink:0;min-height:48px;box-sizing:border-box;padding:8px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;&:has(.c-panel__title--active){align-items:flex-end;padding-bottom:0}}.c-panel__title{margin:0;font-size:14px;font-weight:700;color:var(--text-strong)}.c-panel__title--active{padding:0 14px 8px;border-bottom:3px solid var(--primary);font-size:13px;color:var(--primary);white-space:nowrap}.c-panel__body{padding:16px;display:flex;flex-direction:column;gap:16px;flex-grow:1;min-height:0;overflow-y:auto}.c-panel__foot{flex-shrink:0;padding:16px;border-top:1px solid var(--line);display:flex;gap:8px}

/* ! --------------------------------------------------
- 読み込み中（c-loading）
  丸の集まりが、中心へ集まって、また離れる動き（全体はゆっくり回る）。文は止めたまま添える。
  md（28px）・lg（56px）は丸の下に文、sm（14px）は丸の横に文。文を出せない所は文を .sr-only にする。
  React からは components/terminal/shared/Loading.tsx を使う。

  <span class="c-loading [sm]" role="status" aria-live="polite">
    <span class="c-loading__spinner" aria-hidden="true"><i></i>…（8 個）</span>
    <span class="c-loading__text">読み込み中…</span>
  </span>
-------------------------------------------------- */.c-loading{--c-loading-size:28px;--c-loading-width:3px;display:inline-flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;line-height:1.5}.c-loading.sm{--c-loading-size:14px;--c-loading-width:2px;flex-direction:row;gap:8px;font-size:12px}.c-loading.lg{--c-loading-size:56px;gap:16px}.c-loading__spinner{position:relative;flex:none;width:var(--c-loading-size);height:var(--c-loading-size);animation:c-loading-turn 4s linear infinite;>i{position:absolute;left:50%;top:50%;width:calc(var(--c-loading-size) * .2);height:calc(var(--c-loading-size) * .2);margin:calc(var(--c-loading-size) * -.1) 0 0 calc(var(--c-loading-size) * -.1);border-radius:50%;background:var(--primary);transform:rotate(var(--a)) translateY(calc(var(--c-loading-size) * -.42));animation:c-loading-gather 1.6s ease-in-out infinite;&:nth-child(odd){opacity:.45;animation-delay:-.4s}&:first-child{--a:0deg}&:nth-child(2){--a:45deg}&:nth-child(3){--a:90deg}&:nth-child(4){--a:135deg}&:nth-child(5){--a:180deg}&:nth-child(6){--a:225deg}&:nth-child(7){--a:270deg}&:nth-child(8){--a:315deg}}}@keyframes c-loading-gather{0%,to{transform:rotate(var(--a)) translateY(calc(var(--c-loading-size) * -.42))}50%{transform:rotate(var(--a)) translateY(calc(var(--c-loading-size) * -.06))}}@keyframes c-loading-turn{to{transform:rotate(1turn)}}.c-loading__text{white-space:nowrap;font-weight:400;color:var(--dim)}@media (prefers-reduced-motion:reduce){.c-loading__spinner{animation:none;>i{animation-duration:3.2s}}}.c-btn .c-loading__spinner{--c-loading-size:14px;>i{background:currentColor}}

/* ! --------------------------------------------------
- 画面の代わりの知らせ（c-fallback）
  読み込み中・失敗・データなしなど、画面の中身の代わりに真ん中に出す枠（分析レポートの FallbackMessage）。
  以前は page.tsx に style で直書きしていた（2026-04 の最初の作りの残り）のを、ここへ移した。

  <div class="c-fallback">
    <section class="c-panel c-fallback__card">
      <div class="c-panel__head"><h2 class="c-panel__title">見出し（上部バーの名前）</h2></div>
      <div class="c-panel__body">
        <p class="c-fallback__msg">文</p>
        <details class="c-fallback__details"><summary>技術的な詳細</summary><code>…</code></details>
        <div class="c-fallback__actions">ボタン</div>
      </div>
    </section>
  </div>
-------------------------------------------------- */.shell-workspace:has(>.c-fallback){container-type:size}.c-fallback{min-height:calc(100vh - var(--crumb-height));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;font-family:var(--font-jp);font-size:14px;color:var(--text);background:var(--bg);outline:none;&.is-alert{gap:16px}}.shell-workspace>.c-fallback{min-height:100cqh}.c-fallback__alert{display:flex;flex-direction:column;gap:12px;outline:none}.c-fallback__msg{margin:0}.c-fallback__card{width:min(560px,100%)}.c-fallback__foot{padding:12px 24px;text-align:left;background:var(--panel-2);border-radius:0 0 var(--radius-card) var(--radius-card)}.c-fallback .resume-panel{flex-direction:column;justify-content:center;padding:0;border:0;background:transparent;gap:0;text-align:center}.c-fallback .resume-panel-desc{flex:none;font-size:12px;line-height:2;color:var(--dim-2)}.c-fallback .resume-panel>.c-btn{height:2.5rem;min-width:240px;font-size:13px;letter-spacing:.1em}.c-fallback__details{max-width:600px;font-size:12px;color:var(--dim);summary{cursor:pointer}code{display:block;margin-top:8px;padding:8px;white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-chip)}}.c-fallback__actions{display:flex;flex-direction:column;align-items:center;gap:12px}.c-notice.c-fallback__hint{justify-content:center;p{flex-direction:column;align-items:center;gap:0;text-align:center;word-break:auto-phrase}}.c-fallback__plan{text-align:left;.rd-badges{gap:4px}.rd-badge:not(.is-decisive){background:var(--panel);border:1px solid var(--line);color:var(--text)}}