/* Shared controls use the same neutral palette in both themes. */
:root {
  --brand:var(--ink); --brand-rgb:36,38,41; --brand-soft:var(--surface);
  --brand-deep:var(--ink); --brand-xlight:var(--hover);
  --text-primary:var(--ink); --text-main:var(--ink); --text-secondary:var(--muted); --text-muted:var(--muted);
  --bg-surface:var(--paper); --bg-elevated:var(--surface); --border-color:var(--line);
  --card-bg:var(--paper); --card-border:var(--line); --card-shadow:none;
  --radius-lg:4px; --r-xl:4px; --r-lg:4px; --r-md:4px; --shadow-xl:none; --nav-height:68px;
  --gold:var(--muted); --gold-rgb:107,112,118;
}
:root[data-theme=dark] { --brand-rgb:228,230,233; --gold-rgb:160,165,173; }
.skip-link { position:absolute;top:-70px;left:20px;background:var(--button);color:var(--button-text);padding:10px 20px;z-index:1200; }
.skip-link:focus { top:12px; }
.account-menu { position:relative;font-size:13px;white-space:nowrap; }
.account-menu summary { cursor:pointer;list-style:none;padding:8px; }
.account-menu>div { position:absolute;right:0;top:40px;min-width:150px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px;z-index:100; }
.account-menu a { display:block;padding:8px 12px; }
.account-menu a:hover { background:var(--surface); }
.page-intro { padding:32px 0 28px; }
.back-link { font-size:12px;color:var(--muted); }
.page-intro h1 { font-size:28px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:20px 0 10px; }
.page-intro p { color:var(--muted);font-size:14px;margin:0; }
.steps { display:flex;gap:32px;margin:0 0 28px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted); }
.steps b { font-weight:500;margin-right:8px; }
.steps .current { color:var(--ink);font-weight:600; }
.work-layout { display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:44px;align-items:start;margin-bottom:48px; }
.work-panel { min-width:0;background:none;padding:0;border:0;box-shadow:none; }
.work-panel h2 { font-size:17px;font-weight:550;margin:0 0 16px; }
.work-panel label { display:block;font-size:13px;font-weight:500;margin:18px 0 7px; }
.work-panel input:not([type=checkbox]),.work-panel select,.work-panel textarea { display:block;width:100%;font:14px/1.6 var(--font);padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--ink);box-shadow:none; }
.work-panel input::placeholder,.work-panel textarea::placeholder { color:var(--muted); }
.work-panel input:focus,.work-panel select:focus,.work-panel textarea:focus { outline:2px solid var(--focus);outline-offset:1px; }
.work-panel input[type=checkbox] { accent-color:var(--focus); }
.work-panel textarea { resize:vertical;min-height:110px; }
.work-panel input[type=file] { padding:0;border:0;background:transparent;font-size:13px;cursor:pointer;line-height:2; }
.work-panel input::file-selector-button { font:13px var(--font);background:var(--button);color:var(--button-text);border:0;border-radius:4px;padding:10px 15px;margin-right:14px;cursor:pointer; }
.drop-area { background:var(--surface);border:1px dashed var(--line);border-radius:4px;padding:22px; }
.drop-area.dragging { outline:2px solid var(--focus);outline-offset:2px; }
.drop-area strong { display:block;font-size:15px;font-weight:550;margin-bottom:6px; }
.drop-area p { font-size:12px;color:var(--muted);margin:0 0 18px; }
.drop-area label { margin:0; }
.sample-actions { display:flex;gap:22px;margin-top:13px; }
.text-button,.help-panel a { font-size:13px;color:var(--muted);padding:0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line); }
.text-button:hover,.help-panel a:hover { color:var(--ink);text-decoration-color:var(--muted); }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:0 20px; }
.form-grid .full { grid-column:1/-1; }
.help-panel { font-size:12px;line-height:1.9;color:var(--muted);padding-left:24px;border-left:1px solid var(--line); }
.help-panel section { padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line); }
.help-panel section:last-child { border:0;margin-bottom:0; }
.help-panel h2 { font-size:13px;font-weight:600;color:var(--ink);margin:0 0 10px; }
.help-panel p { margin:0 0 12px; }
.help-panel ul { margin:0 0 12px;padding-left:18px; }
.help-panel li { margin-bottom:4px; }
.actions { display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap; }
.hint,.muted { font-size:12px;color:var(--muted);margin:9px 0;line-height:1.8; }
.option-group { display:flex;flex-wrap:wrap;gap:10px 14px;margin:4px 0 2px; }
.option-chip { display:inline-flex !important;align-items:center;gap:8px;margin:0 !important;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--field);font-size:13px;font-weight:500;cursor:pointer; }
.option-chip input[type=checkbox] { margin:0; }
.option-chip:hover { background:var(--surface); }
.split-panel { margin-top:12px;padding:14px 14px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface); }
.split-panel-head { display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start;justify-content:space-between;margin-bottom:10px; }
.split-panel-actions { display:flex;flex-wrap:wrap;gap:12px;align-items:center; }
.split-sheet-row { border-top:1px solid var(--line);padding:12px 0 8px; }
.split-sheet-row:first-child { border-top:0;padding-top:4px; }
.split-sheet-meta { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:8px; }
.split-sheet-meta label { margin:0 !important; }
.split-sheet-meta input[type=text] { margin-top:6px; }
.split-sheet-years { display:flex;flex-wrap:wrap;gap:8px 10px; }
.split-sheet-catch { display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:8px; }
.split-sheet-catch label { margin:0 !important;font-weight:400;color:var(--muted); }
.notice { padding:12px 16px;margin:18px 0;border:1px solid var(--line);border-radius:4px;font-size:13px;line-height:1.8;color:var(--ink);background:var(--surface); }
.notice.error { border-color:var(--error-text);background:var(--error-bg);color:var(--error-text); }
.notice.success { border-color:var(--success-text);background:var(--success-bg);color:var(--success-text); }
.notice ul { margin:8px 0 0;padding-left:18px; }
.result-area { margin-top:30px;padding-top:22px;border-top:1px solid var(--line); }
.result-area h2 { font-size:17px; }
.result-area .summary { font-size:13px;color:var(--muted); }
.table-scroll { overflow:auto;border-top:1px solid var(--line);margin:16px 0; }
.table-scroll table { font-size:12px;white-space:nowrap; }
.file-row { display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere; }
.file-row label { margin:0;font-size:12px; }
.file-row input { margin-top:6px; }
.required { color:var(--red); }
.login-area { max-width:420px;margin:48px auto 64px; }
.login-area h1 { font-size:28px;line-height:1.4;font-weight:600;margin:0 0 12px; }
.login-area .eyebrow { display:none; }
.login-area .primary-button { width:100%;margin:24px 0 4px; }
.login-area .notice { font-size:12px; }
.guide-document { max-width:800px;margin-bottom:36px; }
.guide-section { border-top:1px solid var(--line);padding:26px 0 30px; }
.guide-body { min-width:0; }
.guide-body h2 { font-size:18px;line-height:1.5;font-weight:550;margin:0 0 14px; }
.guide-body p,.guide-body li { font-size:14px;line-height:1.85;color:var(--muted); }
.guide-body .guide-prompt { font-size:15px;color:var(--ink);background:var(--surface);padding:16px;margin:12px 0; }
.guide-body ol { padding-left:22px; }
.guide-body li { margin-bottom:10px; }
.guide-body .actions { margin-top:18px; }
.guide-code { font:12px/1.9 var(--mono);background:var(--surface);border:1px solid var(--line);padding:18px;margin:16px 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--ink);border-radius:4px; }
.guide-body details { margin-top:22px; }
.guide-body details>summary { cursor:pointer;color:var(--ink);font-size:13px; }
.endpoint-list { display:grid;margin:10px 0; }
.endpoint-list div { display:grid;grid-template-columns:minmax(245px,1fr) 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted); }
.endpoint-list code { font:12px/1.8 var(--mono);color:var(--ink);overflow-wrap:anywhere; }
.internal-content { padding-top:26px;padding-bottom:36px; }
.internal-nav { display:flex;gap:24px;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 26px;flex-wrap:wrap; }
.internal-nav a { font-size:13px;color:var(--muted); }
.internal-nav a:hover { color:var(--ink); }
.card-ui { padding:24px;border:1px solid var(--line);border-radius:4px;background:var(--paper); }
.card-divider { border-top:1px solid var(--line);margin:24px 0; }
.btn-brand,.btn-primary-brand { background:var(--button);border:1px solid var(--button);color:var(--button-text);border-radius:4px;padding:9px 16px; }
.btn-brand:hover,.btn-primary-brand:hover { opacity:.88;color:var(--button-text); }
.btn-ghost { background:transparent;border:1px solid var(--line);border-radius:4px;padding:9px 16px;color:var(--ink); }
.internal-content table { font-size:14px;white-space:normal; }
.internal-content th,.internal-content td { padding:10px; }
.internal-page .card,.internal-page .table-card,.internal-page .search-bar,.internal-page .stats-bar { border-radius:4px!important;box-shadow:none!important; }
.internal-page .card { border-color:var(--line);background:var(--paper); }
.internal-content h1 { font-family:var(--font);font-weight:600; }
.internal-page .form-control,.internal-page .form-select,.internal-page .btn { border-radius:4px; }
.internal-page .table { --bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line); }
.internal-page .site-header .brand:hover { text-decoration:none; }
.internal-page { --bs-body-bg:var(--paper);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-tertiary-bg:var(--surface);--bs-secondary-color:var(--muted); }
@media(max-width:1000px) {
  .work-layout { grid-template-columns:minmax(0,1fr) 210px;gap:28px; }
  .help-panel { padding-left:20px; }
}
@media(max-width:760px) {
  .page-intro { padding:26px 0 22px; }
  .page-intro h1 { font-size:25px;margin-top:18px; }
  .page-intro p { font-size:13px; }
  .steps { gap:22px;font-size:12px;margin-bottom:24px; }
  .work-layout { grid-template-columns:1fr;gap:30px;margin-bottom:32px; }
  .help-panel { border-left:0;border-top:1px solid var(--line);padding:24px 0 0; }
  .form-grid { grid-template-columns:1fr; }
  .drop-area { padding:18px; }
  .file-row { grid-template-columns:1fr;gap:9px; }
  .guide-section { padding:22px 0 26px; }
  .guide-code { padding:14px;font-size:11px; }
  .endpoint-list div { grid-template-columns:1fr;gap:4px; }
  .login-area { margin:32px auto 48px; }
  .internal-nav { gap:18px; }
  .internal-content { padding-top:20px; }
}
/* Local editor skin: keep contents and editor state intact when the theme changes. */
[data-theme=dark] .toastui-editor-defaultUI,
[data-theme=dark] .toastui-editor-ww-container,
[data-theme=dark] .toastui-editor-mode-switch,
[data-theme=dark] .toastui-editor-popup,
[data-theme=dark] .toastui-editor-context-menu,
[data-theme=dark] .toastui-editor-ww-code-block-language { background:var(--field);color:var(--ink);border-color:var(--line); }
[data-theme=dark] .toastui-editor-defaultUI-toolbar,
[data-theme=dark] .toastui-editor-dropdown-toolbar,
[data-theme=dark] .toastui-editor-defaultUI .toastui-editor-md-tab-container,
[data-theme=dark] .toastui-editor-mode-switch .tab-item,
[data-theme=dark] .toastui-editor-md-tab-container .tab-item { background:var(--surface);color:var(--muted);border-color:var(--line); }
[data-theme=dark] .toastui-editor-mode-switch .tab-item.active,
[data-theme=dark] .toastui-editor-md-tab-container .tab-item.active { background:var(--field);color:var(--ink); }
[data-theme=dark] .toastui-editor-main .toastui-editor-md-splitter,
[data-theme=dark] .toastui-editor-toolbar-divider { background:var(--line); }
[data-theme=dark] .toastui-editor-defaultUI button,
[data-theme=dark] .toastui-editor-main-container,
[data-theme=dark] .toastui-editor-popup-body label,
[data-theme=dark] .toastui-editor-popup-add-table .toastui-editor-table-description,
[data-theme=dark] .toastui-editor-contents :is(p,h1,h2,h3,h4,h5,h6,ul,ol,table),
[data-theme=dark] .toastui-editor-md-table .toastui-editor-md-table-cell,
[data-theme=dark] .toastui-editor-md-block-quote .toastui-editor-md-marked-text,
[data-theme=dark] .toastui-editor-md-list-item .toastui-editor-md-meta { color:var(--ink); }
[data-theme=dark] .toastui-editor-popup-body input[type=text] { background:var(--field);color:var(--ink);border-color:var(--line); }
[data-theme=dark] .toastui-editor-contents :is(pre,code,th),
[data-theme=dark] .toastui-editor-md-code-block-line-background,
[data-theme=dark] .toastui-editor-md-custom-block-line-background,
[data-theme=dark] .toastui-editor-popup-add-table .toastui-editor-table-cell,
[data-theme=dark] .toastui-editor-defaultUI .toastui-editor-close-button,
[data-theme=dark] .toastui-editor-popup-add-image .toastui-editor-file-select-button { background:var(--surface);color:var(--ink);border-color:var(--line); }
[data-theme=dark] .toastui-editor-contents :is(td,th,h1,h2,blockquote) { border-color:var(--line); }
[data-theme=dark] .toastui-editor-defaultUI .toastui-editor-ok-button { background:var(--button);color:var(--button-text); }
[data-theme=dark] .toastui-editor-popup-add-heading ul li:hover,
[data-theme=dark] .toastui-editor-context-menu li:not(.disabled):hover { background:var(--hover); }
[data-theme=dark] .toastui-editor-toolbar-icons,
[data-theme=dark] .toastui-editor-context-menu span:before { filter:invert(.85); }
[data-theme=dark] .toastui-editor-defaultUI-toolbar button:not(:disabled):hover { background-color:transparent; }
[data-theme=dark] .toastui-editor-contents a { color:var(--focus); }
