:root {
  color-scheme: light;
  --shell-bg: #e9e3d9;
  --surface: #fffcf7;
  --surface-strong: #ffffff;
  --surface-soft: #f5f0e7;
  --line: #ddd5c8;
  --line-strong: #c8beae;
  --text: #26231f;
  --text-soft: #70695f;
  --text-faint: #938b7f;
  --accent: #315e55;
  --accent-soft: #e2eee8;
  --accent-warm: #a8643d;
  --focus: #1769aa;
  --topbar-h: 68px;
  --left-panel-w: 92px;
  --right-panel-w: 296px;
  --scene-strip-h: 124px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  font-family: Pretendard, "Pretendard Variable", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html, body { width: 100%; min-width: 320px; height: 100%; margin: 0; }

body {
  overflow: hidden;
  background: var(--shell-bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

button, a { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 3px solid #5d9dce; outline: 3px solid color-mix(in srgb, var(--focus) 72%, white); outline-offset: 2px; }
button:disabled { cursor: not-allowed; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: 10px;
  background: #172a26;
  color: white;
  text-decoration: none;
}
.skip-link:focus { transform: translateY(0); }
.icon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.board-app { height: 100vh; height: 100dvh; min-height: 520px; display: grid; grid-template-rows: calc(var(--topbar-h) + var(--safe-top)) minmax(0, 1fr); }

.lesson-bar {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  height: calc(var(--topbar-h) + var(--safe-top));
  padding: var(--safe-top) 16px 0;
  background: rgba(255, 252, 247, .94);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 18px rgba(60, 50, 38, .05);
}

.lesson-bar__start, .lesson-bar__actions, .history-actions { display: flex; align-items: center; }
.lesson-bar__start { gap: 12px; min-width: 0; }
.lesson-bar__actions { justify-self: end; gap: 8px; min-width: 0; }
.history-actions { gap: 4px; padding-right: 4px; border-right: 1px solid var(--line); }

.brand-lockup { display: flex; align-items: center; gap: 9px; min-width: 0; }
.brand-mark { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 11px; background: var(--accent); color: #fff; font-family: serif; font-size: 18px; font-weight: 900; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.brand-copy { display: grid; line-height: 1.15; white-space: nowrap; }
.brand-copy strong { font-family: "Noto Serif KR", serif; font-size: 14px; letter-spacing: -.025em; }
.brand-copy small { margin-top: 3px; color: var(--text-soft); font-size: 10px; }
.lesson-divider { width: 1px; height: 28px; margin: 0 2px; background: var(--line); }
.lesson-name { display: grid; min-width: 0; line-height: 1.2; }
.eyebrow { color: var(--text-faint); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.lesson-name__value { overflow: hidden; margin-top: 3px; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }

.lesson-bar__status { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 32px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--text-soft); font-size: 11px; font-weight: 650; white-space: nowrap; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #b7794f; box-shadow: 0 0 0 4px rgba(183,121,79,.12); }

.icon-button, .action-button, .tool-button, .scene-add, .panel-restore, .classroom-nav__item { border: 0; background: none; }
.icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); cursor: pointer; }
.icon-button svg, .action-button svg, .tool-button svg, .scene-add svg, .panel-restore svg, .classroom-nav__item svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon-button:hover:not(:disabled) { border-color: var(--line-strong); background: var(--surface-soft); }
.icon-button:disabled { color: var(--text-faint); opacity: .46; }
.icon-button--quiet { border-color: transparent; background: transparent; }
.icon-button--mobile { display: none; }

.action-button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 12px; font-size: 12px; font-weight: 750; }
.action-button--disabled { border: 1px dashed var(--line-strong); background: var(--surface-soft); color: var(--text-soft); opacity: .72; }
.stage-tag { padding: 2px 5px; border-radius: 5px; background: #e8dfd1; color: #7b6f60; font-size: 9px; }

.board-workspace {
  position: relative;
  display: grid;
  grid-template-columns: var(--left-panel-w) minmax(0, 1fr) var(--right-panel-w);
  min-width: 0;
  min-height: 0;
  padding-bottom: var(--safe-bottom);
  overflow: hidden;
}

.tool-panel, .lesson-panel { position: relative; z-index: 10; min-width: 0; min-height: 0; background: var(--surface); transition: transform .24s ease, opacity .2s ease; }
.tool-panel { display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.lesson-panel { border-left: 1px solid var(--line); overflow: hidden; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 12px 12px 10px 18px; border-bottom: 1px solid var(--line); }
.panel-heading--compact { display: grid; justify-items: center; min-height: 66px; padding: 8px 6px; }
.panel-heading h2 { margin: 3px 0 0; font-size: 15px; letter-spacing: -.03em; }
.panel-kicker { color: var(--text-faint); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.panel-toggle { width: 44px; height: 44px; }

.classroom-nav { display: grid; flex: 1 1 auto; align-content: start; gap: 5px; min-height: 0; padding: 10px 8px; overflow: auto; }
.classroom-nav__item { position: relative; display: grid; place-items: center; gap: 4px; min-height: 58px; padding: 7px 3px; border: 1px solid transparent; border-radius: 13px; color: var(--text-soft); text-decoration: none; cursor: pointer; }
.classroom-nav__item span { font-size: 9px; font-weight: 800; white-space: nowrap; }
.classroom-nav__item small { position: absolute; top: 4px; right: 3px; padding: 1px 3px; border-radius: 4px; background: #eee7dc; color: #897d6d; font-size: 6px; font-weight: 850; }
.classroom-nav__item:hover:not(:disabled), .classroom-nav__item:focus-visible, .classroom-nav__item.is-active { border-color: #b9cec5; background: var(--accent-soft); color: var(--accent); }
.classroom-nav__item:disabled { opacity: .46; cursor: not-allowed; }
.tool-button { position: relative; display: grid; justify-items: center; gap: 2px; min-width: 52px; min-height: 48px; padding: 5px 7px 4px; border: 1px solid transparent; border-radius: 11px; color: var(--text-soft); cursor: pointer; }
.tool-button span { font-size: 10px; font-weight: 750; }
.tool-button small { position: absolute; top: 4px; right: 4px; padding: 1px 3px; border-radius: 4px; background: #eee7dc; color: #897d6d; font-size: 7px; font-weight: 800; }
.tool-button:hover:not(:disabled) { background: var(--surface-soft); }
.tool-button.is-selected { border-color: #b9cec5; background: var(--accent-soft); color: var(--accent); }
.tool-button:disabled { opacity: .45; }
.sidebar-settings { position: absolute; z-index: 30; top: 10px; left: calc(100% + 10px); display: grid; gap: 12px; width: min(286px, calc(100vw - var(--left-panel-w) - 24px)); max-height: calc(100% - 20px); padding: 14px; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface-strong); box-shadow: 0 18px 44px rgba(45,38,30,.2); overflow: auto; }
.sidebar-settings[hidden] { display: none !important; }
.sidebar-settings__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sidebar-settings__header div { display: grid; gap: 3px; }
.sidebar-settings__header span { color: var(--text-faint); font-size: 9px; font-weight: 800; }
.sidebar-settings__header strong { font-size: 14px; }
.sidebar-settings__header .icon-button { flex: 0 0 auto; }
.sidebar-settings .literature-preset { margin: 0; }
.tool-panel:has(.sidebar-settings) { overflow: visible !important; }
.ink-style-panel { display: grid; gap: 10px; margin: 0; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.ink-style-group { display: grid; gap: 5px; }
.ink-style-label { color: var(--text-faint); font-size: 8px; font-weight: 800; text-align: center; }
.ink-color-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }
.ink-color-button, .ink-size-button { display: grid; place-items: center; min-width: 0; padding: 0; border: 1px solid var(--line); background: var(--surface-strong); color: var(--text-soft); cursor: pointer; }
.ink-color-button { height: 30px; border-radius: 8px; }
.ink-color-button span { display: grid; place-items: center; width: 22px; height: 22px; border: 2px solid var(--ink-swatch); border-radius: 7px; color: var(--ink-swatch); font-size: 8px; font-weight: 900; }
.ink-size-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.ink-size-button { height: 28px; border-radius: 7px; font-size: 8px; font-weight: 850; }
.ink-color-button:hover, .ink-size-button:hover { border-color: var(--line-strong); }
.ink-color-button.is-selected, .ink-size-button.is-selected { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); color: var(--accent); }
.ink-style-summary { overflow: hidden; color: var(--accent); font-size: 7px; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.canvas-region { display: grid; grid-template-rows: 58px minmax(0, 1fr) var(--scene-strip-h); min-width: 0; min-height: 0; padding: 8px 12px 12px; background: var(--shell-bg); }
.canvas-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 0 4px; }
.core-tool-list { display: flex; align-items: center; gap: 3px; min-width: 0; }
.canvas-toolbar__label { color: var(--text); font-size: 12px; font-weight: 800; }
.canvas-toolbar__value { color: var(--text-faint); font-size: 10px; }
.canvas-toolbar__meta { display: flex; align-items: center; gap: 6px; min-width: 0; }
.canvas-badge { padding: 4px 8px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.62); color: var(--text-soft); font-size: 9px; font-weight: 750; }
.canvas-badge--muted { border-style: dashed; }
.canvas-badge--ready { border-color: #bbd1c7; background: #edf6f1; color: #315e55; }

.canvas-viewport { position: relative; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #d2c8b8; border-radius: 10px; background: #fbf8f2; box-shadow: 0 10px 30px rgba(62,51,37,.09), inset 0 0 0 1px rgba(255,255,255,.65); isolation: isolate; }
.board-display-canvas { position: absolute; z-index: 3; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.paper-surface { position: absolute; inset: 0; background-image: linear-gradient(rgba(83,101,92,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(83,101,92,.045) 1px, transparent 1px), radial-gradient(circle at 12% 16%, rgba(255,255,255,.85), transparent 28%), linear-gradient(145deg, #fcfaf5, #f5f0e7); background-size: 28px 28px, 28px 28px, auto, auto; }
.paper-surface::after { content: ""; position: absolute; inset: 0; opacity: .22; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E"); }
.empty-board { position: absolute; z-index: 4; inset: 0; display: grid; place-content: center; justify-items: center; padding: 32px; text-align: center; pointer-events: none; user-select: none; transition: opacity .18s ease; }
.canvas-viewport[data-ink-input="ready"] { touch-action: none; cursor: crosshair; }
.canvas-viewport[data-board-tool="eraser"] { cursor: cell; }
.canvas-viewport[data-board-tool="select"] { cursor: crosshair; }
.selection-overlay { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.selection-lasso-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.selection-lasso-path { fill: rgba(49,94,85,.07); stroke: #315e55; stroke-width: 2; stroke-dasharray: 7 5; stroke-linecap: round; stroke-linejoin: round; }
.selection-box { position: absolute; min-width: 1px; min-height: 1px; border: 2px dashed #315e55; border-radius: 8px; background: rgba(49,94,85,.035); box-shadow: 0 0 0 3px rgba(255,255,255,.7); pointer-events: none; }
.selection-count { position: absolute; right: 0; bottom: calc(100% + 6px); padding: 4px 7px; border-radius: 999px; background: #315e55; color: #fff; font-size: 9px; font-weight: 800; white-space: nowrap; }
.selection-action-bar { position: absolute; top: calc(100% + 8px); left: 50%; display: flex; gap: 5px; padding: 5px; border: 1px solid #c7d5cf; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(47,57,52,.16); pointer-events: auto; transform: translateX(-50%); }
.selection-action-bar button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c7d5cf; border-radius: 9px; background: #f8fbf9; color: #315e55; font-size: 16px; font-weight: 900; cursor: pointer; touch-action: none; }
.selection-action-bar button:hover, .selection-action-bar button:focus-visible { border-color: #315e55; background: #eaf3ef; outline: 2px solid rgba(49,94,85,.28); outline-offset: 1px; }
.canvas-viewport[data-has-ink="true"] .empty-board,
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.canvas-viewport[data-has-content="true"] .empty-board { opacity: 0; }
.text-block-layer { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.text-block { position: absolute; display: grid; grid-template-rows: 34px minmax(0, 1fr); min-width: 180px; min-height: 120px; overflow: hidden; border: 1px solid #bfcfc8; border-radius: 12px; background: rgba(255,255,252,.96); box-shadow: 0 8px 24px rgba(40,55,49,.13); pointer-events: auto; }
.text-block.is-draft { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(49,94,85,.13), 0 10px 28px rgba(40,55,49,.16); }
.text-block.is-locked { border-color: #d1c4b1; background: rgba(250,247,240,.97); }
.text-block__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 0 10px; border-bottom: 1px solid #e2ddd4; background: #f3f7f4; color: var(--accent); font-size: 9px; font-weight: 850; user-select: none; }
.text-block.is-locked .text-block__header { background: #f4eee5; color: #795f45; }
.text-block__header button { min-height: 28px; padding: 0 9px; border: 1px solid #cbbda9; border-radius: 8px; background: #fffdf8; color: #795f45; font: inherit; cursor: pointer; }
.text-block__editor { width: 100%; height: 100%; min-width: 0; min-height: 0; resize: none; padding: 16px 18px; border: 0; outline: 0; background: transparent; color: #263a44; font-family: "Noto Serif KR", "Nanum Myeongjo", serif; font-size: clamp(16px, 1.65vw, 22px); line-height: 1.85; letter-spacing: -.02em; overflow: auto; overscroll-behavior: contain; touch-action: manipulation; }
.text-block__editor::placeholder { color: #9b9488; }
.text-block__editor:focus { background: rgba(250,255,252,.72); box-shadow: inset 0 0 0 2px rgba(49,94,85,.22); }
.text-block__editor[readonly] { color: #4d4a44; cursor: default; }
.text-block__editor[aria-invalid="true"] { box-shadow: inset 0 0 0 2px rgba(169,68,78,.45); }
.text-block.is-citation-source { border-color: #b06a22; box-shadow: 0 0 0 4px rgba(210,132,42,.23), 0 14px 32px rgba(40,55,49,.2); }
.text-block.is-citation-source .text-block__editor { background: #fff8df; box-shadow: inset 0 0 0 2px rgba(176,106,34,.25); }
.text-block__measure { position: absolute; z-index: -1; top: 34px; right: 0; bottom: 0; left: 0; box-sizing: border-box; width: 100%; padding: 16px 18px; overflow: hidden; visibility: hidden; color: #263a44; font-family: "Noto Serif KR", "Nanum Myeongjo", serif; font-size: clamp(16px, 1.65vw, 22px); line-height: 1.85; letter-spacing: -.02em; overflow-wrap: break-word; white-space: pre-wrap; pointer-events: none; }
.image-object-layer { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.image-object { position: absolute; display: grid; grid-template-rows: 34px minmax(0, 1fr); min-width: 180px; min-height: 140px; margin: 0; overflow: hidden; border: 1px solid #cbbda9; border-radius: 12px; background: #fffdf8; box-shadow: 0 8px 24px rgba(40,55,49,.13); pointer-events: auto; }
.image-object figcaption { display: flex; align-items: center; justify-content: space-between; gap: 6px; overflow: hidden; padding: 0 6px 0 10px; border-bottom: 1px solid #e2ddd4; background: #f4eee5; color: #795f45; font-size: 9px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.image-object figcaption span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.image-object figcaption button { min-height: 26px; padding: 0 7px; border: 1px solid rgba(36,87,166,.32); border-radius: 8px; background: #fff; color: #2457a6; font: inherit; font-weight: 850; cursor: pointer; }
.image-object__body { display: grid; place-items: center; min-width: 0; min-height: 0; overflow: hidden; }
.image-object__body img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; }
.image-object__body.is-missing { padding: 20px; color: #a14348; font-size: 11px; text-align: center; }
.document-object-layer { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.document-object { position: absolute; display: grid; grid-template-rows: 36px minmax(0, 1fr); min-width: 220px; min-height: 160px; overflow: hidden; border: 1px solid #b9c9c2; border-radius: 12px; background: rgba(255,255,252,.98); box-shadow: 0 9px 26px rgba(40,55,49,.15); pointer-events: auto; }
.document-object__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 0 7px 0 11px; border-bottom: 1px solid #d7e0dc; background: #edf4f1; color: #315e55; font-size: 9px; user-select: none; }
.document-object__header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-object__navigation { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; }
.document-object__navigation button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid #b8ccc4; border-radius: 8px; background: #fff; color: #315e55; font-size: 18px; line-height: 1; cursor: pointer; }
.document-object__navigation button:disabled { opacity: .35; cursor: default; }
.document-object__body { min-width: 0; min-height: 0; padding: 15px 18px 20px; color: #2e3d42; overflow: auto; overscroll-behavior: contain; touch-action: pan-y; }
.document-object__page-title { margin: 0 0 12px; color: #263a44; font-family: "Noto Serif KR", "Nanum Myeongjo", serif; font-size: clamp(17px, 1.8vw, 24px); line-height: 1.35; }
.document-block { max-width: 100%; margin: 0 0 9px; font-family: "Noto Serif KR", "Nanum Myeongjo", serif; font-size: clamp(13px, 1.3vw, 18px); line-height: 1.7; overflow-wrap: anywhere; }
.document-block--heading { margin-top: 14px; color: #315e55; font-size: 1.08em; }
.document-block--list { padding-left: 10px; }
.document-block--formula { display: block; padding: 8px 10px; border-radius: 8px; background: #f2f0e9; color: #5a493d; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.document-block--note { padding: 8px 10px; border-left: 3px solid #a9444e; background: #fff7f5; color: #884047; }
.document-block--table { width: 100%; border-collapse: collapse; font-family: inherit; }
.document-block--table td { padding: 6px 8px; border: 1px solid #ccd7d2; vertical-align: top; }
.document-block--image { display: grid; place-items: center; min-height: 80px; margin: 12px 0; }
.document-block--image img { display: block; max-width: 100%; max-height: 260px; object-fit: contain; }
.document-block--image.is-missing { padding: 16px; border: 1px dashed #c98f92; border-radius: 8px; color: #a14348; font-size: 11px; text-align: center; }
.ocr-review-layer { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.ocr-review { position: absolute; display: flex; min-width: 420px; min-height: 300px; flex-direction: column; overflow: hidden; border: 2px solid #2457a6; border-radius: 16px; background: #fbfdff; box-shadow: 0 16px 36px rgba(28,54,67,.2); pointer-events: auto; }
.ocr-review.is-confirmed { border-color: #2d725d; }
.ocr-review__header { display: flex; min-height: 42px; align-items: center; gap: 8px; padding: 5px 8px; border-bottom: 1px solid #d7e2e8; background: #edf4ff; font-size: 10px; }
.ocr-review.is-confirmed .ocr-review__header { background: #edf8f3; }
.ocr-review__header strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ocr-review__status { margin-left: auto; color: #2457a6; font-size: 9px; font-weight: 900; }
.ocr-review.is-confirmed .ocr-review__status { color: #2d725d; }
.ocr-review__navigation { display: inline-flex; align-items: center; gap: 3px; }
.ocr-review__navigation button { width: 30px; height: 30px; border: 1px solid #bacbd5; border-radius: 8px; background: #fff; }
.ocr-review__compare { display: grid; min-height: 0; flex: 1; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.ocr-review__original,.ocr-review__correction { min-width: 0; min-height: 0; margin: 0; padding: 9px; }
.ocr-review__original { display: flex; flex-direction: column; border-right: 1px solid #d7e2e8; background: #f4f6f7; }
.ocr-review__original figcaption,.ocr-review__correction label { display: block; margin-bottom: 6px; color: #4b616b; font-size: 9px; font-weight: 850; }
.ocr-review__image-wrap { position: relative; display: grid; min-height: 0; flex: 1; place-items: center; overflow: auto; background: #fff; }
.ocr-review__image-wrap img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.ocr-review__coordinate-overlay { position: absolute; pointer-events: none; }
.ocr-review__source-box { position: absolute; box-sizing: border-box; border: 1px solid rgba(36,87,166,.62); background: rgba(36,87,166,.06); pointer-events: none; }
.ocr-review__low-box { border: 2px solid #c04f55; background: rgba(192,79,85,.12); }
.ocr-review__missing { color: #a9444e; font-weight: 800; }
.ocr-review__correction { display: flex; flex-direction: column; }
.ocr-review__summary { display: flex; gap: 5px; margin-bottom: 6px; }
.ocr-review__summary span { padding: 3px 6px; border-radius: 999px; background: #e8f0f4; color: #344d58; font-size: 8px; font-weight: 800; }
.ocr-review__summary .is-low { background: #fff0ef; color: #9b3e46; }
.ocr-review__summary .is-verified { background: #e6f5ee; color: #22634f; }
.ocr-review__recognized { margin: 0 0 6px; border: 1px solid #cbd8df; border-radius: 8px; background: #f8fafb; color: #344d58; font-size: 9px; }
.ocr-review__recognized summary { min-height: 30px; padding: 7px 9px; cursor: pointer; font-weight: 850; }
.ocr-review__recognized pre { max-height: 92px; margin: 0; overflow: auto; border-top: 1px solid #dce5ea; padding: 7px 9px; background: #fff; color: #20343d; white-space: pre-wrap; font: 500 10px/1.5 ui-monospace,monospace; }
.ocr-review__coordinate-list { max-height: 90px; margin: 0; overflow: auto; border-top: 1px solid #dce5ea; padding: 6px 8px 7px 24px; }
.ocr-review__coordinate-list li { padding: 2px 0; overflow-wrap: anywhere; }
.ocr-review__coordinate-list li.is-low { color: #9b3e46; font-weight: 750; }
.ocr-review__editor { box-sizing: border-box; min-height: 0; flex: 1; resize: none; border: 1px solid #bacbd5; border-radius: 9px; padding: 9px; background: #fff; color: #20343d; font: 500 12px/1.6 system-ui,sans-serif; }
.ocr-review__editor[readonly] { background: #f0f7f3; }
.ocr-review__actions { display: flex; justify-content: flex-end; gap: 7px; padding-top: 7px; }
.ocr-review__actions button { min-height: 36px; padding: 0 10px; border: 1px solid #a9bdc8; border-radius: 9px; background: #fff; color: #29414b; font-size: 10px; font-weight: 850; }
.ocr-review__actions .is-primary { border-color: #2457a6; background: #2457a6; color: #fff; }
.ocr-review__morphology { min-height: 36px; border: 1px solid #785a9a; border-radius: 9px; padding: 0 9px; background: #f8f2ff; color: #60417f; font-size: 9px; font-weight: 850; cursor: pointer; }
.ocr-review.is-citation-source { border-color: #b06a22; box-shadow: 0 0 0 4px rgba(210,132,42,.23), 0 16px 36px rgba(28,54,67,.23); }
.ocr-review__citation-return { min-height: 32px; border: 1px solid #9d6a32; border-radius: 8px; background: #fff8df; color: #70471f; font-size: 8px; font-weight: 850; }
.semantic-circle-layer { position: absolute; z-index: 10; inset: 0; pointer-events: none; }
.morphology-layer { position: absolute; z-index: 12; inset: 0; pointer-events: none; }
.morphology-review { position: absolute; right: 12px; top: 12px; box-sizing: border-box; display: grid; width: min(520px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow: auto; border: 2px solid #785a9a; border-radius: 16px; padding: 12px; background: rgba(255,252,255,.98); box-shadow: 0 18px 42px rgba(56,38,74,.25); color: #2f2638; pointer-events: auto; }
.morphology-review > header,.morphology-approved > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.morphology-review > header strong,.morphology-approved > header strong { min-width: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.morphology-review > header span,.morphology-approved > header span { flex: none; color: #745d83; font-size: 9px; font-weight: 850; }
.morphology-review__candidates { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.morphology-review button,.morphology-review input,.morphology-review select,.morphology-review textarea { font: inherit; }
.morphology-review button { min-height: 40px; border: 1px solid #baa8c9; border-radius: 9px; padding: 0 10px; background: #fff; color: #60417f; font-size: 9px; font-weight: 850; cursor: pointer; }
.morphology-review button[aria-pressed="true"],.morphology-review button.is-primary { border-color: #785a9a; background: #785a9a; color: #fff; }
.morphology-review__editor { display: grid; gap: 7px; }
.morphology-review__editor > label { color: #4d3d59; font-size: 10px; font-weight: 850; }
.morphology-review__editor > textarea { box-sizing: border-box; width: 100%; min-height: 54px; resize: vertical; border: 1px solid #baa8c9; border-radius: 9px; padding: 8px; color: #2f2638; font-size: 12px; line-height: 1.5; }
.morphology-review__warning,.morphology-review__error { margin: 0; color: #715f3d; font-size: 9px; font-weight: 750; line-height: 1.45; }
.morphology-review__error { color: #93434d; }
.morphology-review__segments { display: grid; gap: 6px; max-height: 230px; margin: 2px 0; padding: 0; overflow: auto; list-style: none; }
.morphology-review__segments li { position: relative; display: grid; grid-template-columns: minmax(54px,.7fr) repeat(3,minmax(86px,1fr)); align-items: center; gap: 5px; padding: 6px; border: 1px solid #e1d5e9; border-radius: 9px; background: #fbf8fd; }
.morphology-review__segments strong { color: #60417f; font-size: 10px; }
.morphology-review__segments label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.morphology-review__segments input,.morphology-review__segments select { box-sizing: border-box; min-width: 0; height: 34px; border: 1px solid #c9bad4; border-radius: 7px; padding: 0 6px; background: #fff; color: #2f2638; font-size: 9px; }
.morphology-review__actions { display: flex; justify-content: flex-end; gap: 7px; }
.morphology-approved { position: absolute; box-sizing: border-box; min-width: min(220px, calc(100% - 24px)); min-height: min(180px, calc(100% - 24px)); overflow: auto; border: 1px solid #bba8c9; border-radius: 13px; padding: 10px; background: rgba(252,248,255,.97); box-shadow: 0 10px 26px rgba(56,38,74,.17); color: #2f2638; pointer-events: auto; }
.morphology-approved ol { display: grid; gap: 4px; margin: 9px 0; padding: 0; list-style: none; }
.morphology-approved li { display: grid; grid-template-columns: minmax(42px,.7fr) auto minmax(80px,1fr); align-items: center; gap: 7px; border-bottom: 1px solid #e6dced; padding: 4px 2px; font-size: 9px; }
.morphology-approved li strong { color: #60417f; }
.morphology-approved li span,.morphology-approved p { color: #74687d; font-size: 8px; }
.morphology-approved p { margin: 7px 0 0; line-height: 1.45; }
.morphology-approved__sentence { width: 100%; min-height: 40px; margin-top: 8px; border: 1px solid #466d86; border-radius: 9px; background: #edf7fb; color: #244e68; font-size: 9px; font-weight: 850; cursor: pointer; }
.part-of-speech-badge { box-sizing: border-box; display: inline-flex; align-items: center; gap: 4px; min-height: 28px; border: 2px solid var(--pos-border); border-radius: 999px; padding: 2px 7px; background: var(--pos-bg); color: var(--pos-fg) !important; font-size: 9px !important; font-weight: 850; line-height: 1; white-space: nowrap; }
.part-of-speech-badge.is-compact { min-height: 25px; padding: 2px 6px; }
.part-of-speech-badge__symbol { min-width: 1.25em; color: currentColor; font-size: 13px; line-height: 1; text-align: center; }
.part-of-speech-badge__label { color: currentColor !important; font-size: 9px !important; font-weight: 850; }
.part-of-speech-legend { margin: 7px 0; border: 1px solid #d7c9e1; border-radius: 10px; padding: 4px 7px; background: #fff; }
.part-of-speech-legend > summary { min-height: 34px; color: #4d3d59; font-size: 9px; font-weight: 850; line-height: 34px; cursor: pointer; }
.part-of-speech-legend__controls { display: flex; align-items: center; gap: 8px; padding: 3px 0 7px; }
.part-of-speech-legend__controls button { flex: none; min-height: 38px; }
.part-of-speech-legend__controls span { color: #65566f; font-size: 8px; line-height: 1.4; }
.part-of-speech-legend__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin: 0; padding: 0 0 5px; list-style: none; }
.part-of-speech-legend__list li { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 5px; border: 0; padding: 0; background: transparent; }
.part-of-speech-legend__list li > span:last-child { color: #65566f; font-size: 8px; line-height: 1.3; }
[data-part-of-speech-palette="monochrome"] .part-of-speech-badge { border-color: #111; background: #fff; color: #111 !important; box-shadow: inset 0 -3px 0 #ddd; }
[data-part-of-speech-palette="monochrome"] .part-of-speech-badge[data-part-of-speech-pattern="ring"] { border-style: double; }
[data-part-of-speech-palette="monochrome"] .part-of-speech-badge[data-part-of-speech-pattern="hash"] { border-style: dashed; }
[data-part-of-speech-palette="monochrome"] .part-of-speech-badge[data-part-of-speech-pattern="wave"] { border-style: dotted; }
.morphology-review button:focus-visible,.morphology-review input:focus-visible,.morphology-review select:focus-visible,.morphology-review textarea:focus-visible,.ocr-review__morphology:focus-visible { outline: 3px solid rgba(120,90,154,.3); outline-offset: 2px; }
@media (max-width: 600px) { .morphology-review__segments li { grid-template-columns: minmax(64px,.7fr) minmax(82px,1fr); } .morphology-approved { left: 12px !important; width: calc(100% - 24px) !important; } .part-of-speech-legend__list { grid-template-columns: 1fr; } .part-of-speech-legend__controls { align-items: flex-start; flex-direction: column; } }
@media (forced-colors: active) { .part-of-speech-badge { forced-color-adjust: auto; border-color: CanvasText; background: Canvas; color: CanvasText !important; } }
@media print { .part-of-speech-badge { border: 2px solid #000 !important; background: transparent !important; color: #000 !important; box-shadow: none !important; } .part-of-speech-legend__controls { display: none; } }
.sentence-structure-layer { position: absolute; z-index: 13; inset: 0; pointer-events: none; }
.sentence-structure-review { position: absolute; left: 12px; top: 12px; box-sizing: border-box; display: grid; width: min(540px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow: auto; border: 2px solid #356b78; border-radius: 16px; padding: 12px; background: rgba(248,254,255,.98); box-shadow: 0 18px 42px rgba(25,65,74,.25); color: #173b43; pointer-events: auto; }
.sentence-structure-review > header,.sentence-structure-approved > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.sentence-structure-review > header strong,.sentence-structure-approved > header strong { min-width: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sentence-structure-review > header span,.sentence-structure-approved > header span { flex: none; color: #52727a; font-size: 9px; font-weight: 850; }
.sentence-structure-review__candidates { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.sentence-structure-review button,.sentence-structure-review input,.sentence-structure-review select,.sentence-structure-review textarea { font: inherit; }
.sentence-structure-review button { min-height: 40px; border: 1px solid #92b2ba; border-radius: 9px; padding: 0 10px; background: #fff; color: #245361; font-size: 9px; font-weight: 850; cursor: pointer; }
.sentence-structure-review button[aria-pressed="true"],.sentence-structure-review button.is-primary { border-color: #356b78; background: #356b78; color: #fff; }
.sentence-structure-review__editor { display: grid; gap: 8px; }
.sentence-structure-review__warning,.sentence-structure-review__error { margin: 0; color: #715f3d; font-size: 9px; font-weight: 750; line-height: 1.45; }
.sentence-structure-review__error { color: #93434d; }
.sentence-structure-review__phrases { display: grid; gap: 6px; max-height: 220px; margin: 0; padding: 0; overflow: auto; list-style: none; }
.sentence-structure-review__phrases li { display: grid; grid-template-columns: minmax(72px,1fr) minmax(105px,1fr) auto; align-items: center; gap: 7px; border: 1px solid #cde0e4; border-radius: 9px; padding: 6px; background: #fbfeff; }
.sentence-structure-review__phrases li > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sentence-structure-review__phrases strong { color: #245361; font-size: 10px; }
.sentence-structure-review__phrases select { box-sizing: border-box; min-width: 0; height: 36px; border: 1px solid #9ebbc2; border-radius: 7px; padding: 0 6px; background: #fff; color: #173b43; font-size: 9px; }
.sentence-component-badge { display: inline-flex; align-items: center; gap: 4px; min-height: 27px; border: 2px solid #356b78; border-radius: 999px; padding: 1px 7px; background: #e8f6f8; color: #173b43; font-size: 9px; font-weight: 850; white-space: nowrap; }
.sentence-component-badge b { min-width: 1.2em; text-align: center; }
.sentence-component-badge[data-sentence-component="unresolved"] { border-style: dashed; background: #fff8e8; color: #654b10; }
.sentence-structure-review__omissions { display: grid; gap: 5px; margin: 0; border: 1px solid #cde0e4; border-radius: 9px; padding: 8px; }
.sentence-structure-review__omissions legend { color: #245361; font-size: 9px; font-weight: 850; }
.sentence-structure-review__omissions div { display: grid; grid-template-columns: minmax(100px,.7fr) minmax(140px,1.3fr); align-items: center; gap: 6px; }
.sentence-structure-review__omissions label { font-size: 9px; font-weight: 750; }
.sentence-structure-review__omissions input[type="text"],.sentence-structure-review__editor textarea { box-sizing: border-box; width: 100%; min-height: 36px; border: 1px solid #9ebbc2; border-radius: 7px; padding: 6px; color: #173b43; font-size: 9px; }
.sentence-structure-review__actions { display: flex; justify-content: flex-end; gap: 7px; }
.sentence-structure-approved { position: absolute; box-sizing: border-box; min-width: min(240px, calc(100% - 24px)); min-height: min(180px, calc(100% - 24px)); overflow: auto; border: 1px solid #8eb3bc; border-radius: 13px; padding: 10px; background: rgba(247,253,255,.98); box-shadow: 0 10px 26px rgba(25,65,74,.2); color: #173b43; pointer-events: auto; }
.sentence-structure-approved ol { display: grid; gap: 4px; margin: 9px 0; padding: 0; list-style: none; }
.sentence-structure-approved li { display: grid; grid-template-columns: minmax(64px,1fr) auto minmax(54px,.6fr); align-items: center; gap: 7px; border-bottom: 1px solid #d9e9ec; padding: 4px 2px; font-size: 9px; }
.sentence-structure-approved li > span:last-child,.sentence-structure-approved p { color: #557078; font-size: 8px; }
.sentence-structure-approved p { margin: 6px 0 0; line-height: 1.45; }
.sentence-structure-review button:focus-visible,.sentence-structure-review input:focus-visible,.sentence-structure-review select:focus-visible,.sentence-structure-review textarea:focus-visible,.morphology-approved__sentence:focus-visible { outline: 3px solid rgba(53,107,120,.35); outline-offset: 2px; }
@media (max-width: 600px) { .sentence-structure-review__phrases li { grid-template-columns: minmax(62px,.8fr) minmax(98px,1.2fr); } .sentence-structure-review__phrases .sentence-component-badge { grid-column: 1 / -1; justify-self: start; } .sentence-structure-review__omissions div { grid-template-columns: 1fr; } .sentence-structure-approved { left: 12px !important; width: calc(100% - 24px) !important; } }
@media (forced-colors: active) { .sentence-component-badge { forced-color-adjust: auto; border-color: CanvasText; background: Canvas; color: CanvasText; } }
@media print { .sentence-structure-review,.morphology-approved__sentence { display: none !important; } .sentence-structure-approved,.sentence-component-badge { border-color: #000 !important; background: transparent !important; color: #000 !important; box-shadow: none !important; } }

.sentence-structure-approved__actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.sentence-structure-approved__actions button { min-height: 36px; border: 1px solid #356b78; border-radius: 8px; padding: 0 10px; background: #356b78; color: #fff; font: inherit; font-size: 9px; font-weight: 850; cursor: pointer; }
.sentence-structure-approved__actions button.is-complete { border-color: #89aaa4; background: #edf7f4; color: #466b65; cursor: default; }
.sentence-block-layer { position: absolute; z-index: 14; inset: 0; pointer-events: none; }
.sentence-block-review { position: absolute; left: 12px; top: 12px; box-sizing: border-box; display: grid; gap: 9px; width: min(620px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow: auto; border: 2px solid #6b4f91; border-radius: 16px; padding: 12px; background: rgba(252,249,255,.98); box-shadow: 0 18px 42px rgba(63,38,93,.25); color: #382a4c; pointer-events: auto; }
.sentence-block-review > header,.sentence-block-saved > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.sentence-block-review > header strong,.sentence-block-saved > header strong { min-width: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sentence-block-review > header span,.sentence-block-saved > header span { flex: none; color: #725e8d; font-size: 9px; font-weight: 850; }
.sentence-block-review__warning,.sentence-block-review__error { margin: 0; color: #6f5b34; font-size: 9px; font-weight: 750; line-height: 1.45; }
.sentence-block-review__error { color: #93434d; }
.sentence-block-tree,.sentence-block-comparison { border: 1px solid #ded3eb; border-radius: 10px; padding: 8px; background: #fff; }
.sentence-block-tree h4,.sentence-block-comparison h4 { margin: 0 0 7px; color: #5d417e; font-size: 9px; }
.sentence-block-tree__root { position: relative; width: max-content; max-width: 100%; margin: 0 auto 13px; border: 2px solid #6b4f91; border-radius: 9px; padding: 6px 10px; background: #f1e9fa; text-align: center; }
.sentence-block-tree__root::after { position: absolute; left: 50%; bottom: -14px; width: 1px; height: 13px; background: #9c84b8; content: ''; }
.sentence-block-tree__root span,.sentence-block-tree__child span { display: block; font-size: 10px; font-weight: 850; }
.sentence-block-tree small { display: block; margin-top: 2px; color: #735e8d; font-size: 8px; }
.sentence-block-tree__children { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; border-top: 1px solid #9c84b8; padding-top: 7px; }
.sentence-block-tree__child { min-width: 58px; border: 1px solid #bda9d2; border-radius: 8px; padding: 5px 7px; background: #fcfaff; text-align: center; }
.sentence-block-tree__unresolved { margin: 0; color: #745f3b; font-size: 9px; }
.sentence-block-comparison__row { display: flex; flex-wrap: wrap; gap: 6px; }
.sentence-block-comparison__row > span { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; border: 1px solid #bba8d0; border-radius: 8px; padding: 0 8px; background: #fbf8ff; font-size: 10px; font-weight: 800; }
.sentence-block-comparison__row > span.is-moved { border-color: #6b4f91; background: #eee3fa; }
.sentence-block-comparison__row small { color: #735e8d; font-size: 8px; }
.sentence-block-review__controls { display: flex; flex-wrap: wrap; gap: 6px; }
.sentence-block-review__controls > span { display: inline-flex; align-items: center; gap: 3px; border-radius: 8px; padding: 3px 4px 3px 7px; background: #eee7f6; font-size: 9px; }
.sentence-block-review button,.sentence-block-review select,.sentence-block-review textarea { font: inherit; }
.sentence-block-review button { min-height: 38px; border: 1px solid #a996bf; border-radius: 8px; padding: 0 9px; background: #fff; color: #533a70; font-size: 9px; font-weight: 850; cursor: pointer; }
.sentence-block-review button:disabled { opacity: .42; cursor: default; }
.sentence-block-review button.is-primary { border-color: #6b4f91; background: #6b4f91; color: #fff; }
.sentence-block-review__controls button { min-width: 36px; min-height: 36px; padding: 0; font-size: 14px; }
.sentence-block-review__judgment { display: grid; grid-template-columns: minmax(110px,.35fr) minmax(180px,.65fr); align-items: center; gap: 7px; margin: 0; border: 1px solid #ded3eb; border-radius: 10px; padding: 8px; }
.sentence-block-review__judgment legend { color: #5d417e; font-size: 9px; font-weight: 850; }
.sentence-block-review__judgment label { font-size: 9px; font-weight: 800; }
.sentence-block-review__judgment select,.sentence-block-review__judgment textarea { box-sizing: border-box; width: 100%; min-height: 38px; border: 1px solid #bba8d0; border-radius: 8px; padding: 7px; background: #fff; color: #382a4c; font-size: 9px; }
.sentence-block-review__judgment .sentence-block-review__error { grid-column: 1 / -1; }
.sentence-block-review__actions { display: flex; justify-content: flex-end; gap: 7px; }
.sentence-block-saved { position: absolute; box-sizing: border-box; min-width: min(280px, calc(100% - 24px)); min-height: min(220px, calc(100% - 24px)); overflow: auto; border: 1px solid #a996bf; border-radius: 13px; padding: 10px; background: rgba(252,249,255,.98); box-shadow: 0 10px 26px rgba(63,38,93,.2); color: #382a4c; pointer-events: auto; }
.sentence-block-saved p { margin: 9px 0 0; font-size: 9px; line-height: 1.45; }
.sentence-block-saved__experiment { border-left: 3px solid #6b4f91; padding-left: 7px; font-weight: 800; }
.sentence-block-saved > small { display: block; margin-top: 9px; color: #725e8d; font-size: 8px; }
.sentence-block-review button:focus-visible,.sentence-block-review select:focus-visible,.sentence-block-review textarea:focus-visible,.sentence-block-comparison__row > span:focus-visible,.sentence-structure-approved__actions button:focus-visible { outline: 3px solid rgba(107,79,145,.34); outline-offset: 2px; }
@media (max-width: 600px) { .sentence-block-review__judgment { grid-template-columns: 1fr; } .sentence-block-review__judgment .sentence-block-review__error { grid-column: auto; } .sentence-block-saved { left: 12px !important; width: calc(100% - 24px) !important; } .sentence-block-review__actions { flex-direction: column; } }
@media print { .sentence-block-review,.sentence-structure-approved__actions { display: none !important; } .sentence-block-saved,.sentence-block-tree,.sentence-block-comparison { border-color: #000 !important; background: transparent !important; color: #000 !important; box-shadow: none !important; } }

.sentence-block-saved__actions { display: flex; justify-content: flex-end; margin-top: 9px; }
.sentence-block-saved__actions button { min-height: 36px; border: 1px solid #6b4f91; border-radius: 8px; padding: 0 10px; background: #6b4f91; color: #fff; font: inherit; font-size: 9px; font-weight: 850; cursor: pointer; }
.sentence-block-saved__actions button.is-complete { border-color: #a99cbc; background: #f3eef8; color: #6d5a82; cursor: default; }
.sentence-transformation-layer { position: absolute; z-index: 15; inset: 0; pointer-events: none; }
.sentence-transformation-review { position: absolute; left: 12px; top: 12px; box-sizing: border-box; display: grid; gap: 9px; width: min(640px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow: auto; border: 2px solid #9a6534; border-radius: 16px; padding: 12px; background: rgba(255,252,246,.98); box-shadow: 0 18px 42px rgba(91,57,25,.25); color: #4c341f; pointer-events: auto; }
.sentence-transformation-review > header,.sentence-transformation-approved > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.sentence-transformation-review > header strong,.sentence-transformation-approved > header strong { min-width: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sentence-transformation-review > header span,.sentence-transformation-approved > header span { flex: none; color: #8b6746; font-size: 9px; font-weight: 850; }
.sentence-transformation-review__warning,.sentence-transformation-review__error { margin: 0; color: #76572f; font-size: 9px; font-weight: 750; line-height: 1.45; }
.sentence-transformation-review__error { color: #93434d; }
.sentence-transformation-review__source { border: 1px solid #ead6bd; border-radius: 10px; padding: 8px; background: #fff; }
.sentence-transformation-review__source h4 { margin: 0 0 6px; color: #8c5729; font-size: 9px; }
.sentence-transformation-review__source p { margin: 4px 0; font-size: 9px; line-height: 1.4; }
.sentence-transformation-review__modes { display: flex; gap: 7px; }
.sentence-transformation-review button,.sentence-transformation-review select,.sentence-transformation-review textarea { font: inherit; }
.sentence-transformation-review button { min-height: 40px; border: 1px solid #c8a47f; border-radius: 8px; padding: 0 11px; background: #fff; color: #78471f; font-size: 9px; font-weight: 850; cursor: pointer; }
.sentence-transformation-review button[aria-pressed="true"],.sentence-transformation-review button.is-primary { border-color: #9a6534; background: #9a6534; color: #fff; }
.sentence-transformation-review > label,.sentence-transformation-review__outputs label,.sentence-transformation-review__judgment label { color: #70451f; font-size: 9px; font-weight: 800; }
.sentence-transformation-review > select,.sentence-transformation-review__outputs textarea,.sentence-transformation-review__judgment select,.sentence-transformation-review__judgment textarea { box-sizing: border-box; width: 100%; min-height: 40px; border: 1px solid #cfaf8c; border-radius: 8px; padding: 7px; background: #fff; color: #4c341f; font-size: 9px; }
.sentence-transformation-review__outputs,.sentence-transformation-review__judgment { display: grid; grid-template-columns: minmax(90px,.25fr) minmax(200px,.75fr); align-items: center; gap: 7px; margin: 0; border: 1px solid #ead6bd; border-radius: 10px; padding: 8px; }
.sentence-transformation-review__outputs legend,.sentence-transformation-review__judgment legend { color: #8c5729; font-size: 9px; font-weight: 850; }
.sentence-transformation-review__judgment .sentence-transformation-review__error { grid-column: 1 / -1; }
.sentence-transformation-review__actions { display: flex; justify-content: flex-end; gap: 7px; }
.sentence-transformation-approved { position: absolute; box-sizing: border-box; min-width: min(300px, calc(100% - 24px)); min-height: min(240px, calc(100% - 24px)); overflow: auto; border: 1px solid #c8a47f; border-radius: 13px; padding: 10px; background: rgba(255,252,246,.98); box-shadow: 0 10px 26px rgba(91,57,25,.2); color: #4c341f; pointer-events: auto; }
.sentence-transformation-approved p { margin: 8px 0; font-size: 9px; line-height: 1.45; }
.sentence-transformation-approved ol { display: grid; gap: 6px; margin: 8px 0; padding-left: 24px; }
.sentence-transformation-approved li { border-left: 3px solid #9a6534; padding: 5px 7px; background: #fff9f0; font-size: 10px; font-weight: 800; }
.sentence-transformation-approved__meaning { color: #6e5136; }
.sentence-transformation-approved > small { color: #8b6746; font-size: 8px; }
.sentence-transformation-review button:focus-visible,.sentence-transformation-review select:focus-visible,.sentence-transformation-review textarea:focus-visible,.sentence-block-saved__actions button:focus-visible { outline: 3px solid rgba(154,101,52,.34); outline-offset: 2px; }
@media (max-width: 600px) { .sentence-transformation-review__outputs,.sentence-transformation-review__judgment { grid-template-columns: 1fr; } .sentence-transformation-review__judgment .sentence-transformation-review__error { grid-column: auto; } .sentence-transformation-approved { left: 12px !important; width: calc(100% - 24px) !important; } .sentence-transformation-review__actions { flex-direction: column; } }
@media print { .sentence-transformation-review,.sentence-block-saved__actions { display: none !important; } .sentence-transformation-approved { border-color: #000 !important; background: transparent !important; color: #000 !important; box-shadow: none !important; } }
.semantic-circle__intent { position: absolute; min-width: 260px; max-width: min(360px, calc(100% - 24px)); margin: 10px 0 0; padding: 10px; border: 2px solid #315e55; border-radius: 14px; background: rgba(255,255,252,.98); box-shadow: 0 14px 32px rgba(40,55,49,.2); pointer-events: auto; transform: translateX(-50%); }
.semantic-circle__intent p { margin: 0 0 8px; color: #263a44; font-size: 12px; font-weight: 850; line-height: 1.4; }
.semantic-circle__intent div { display: flex; flex-wrap: wrap; gap: 6px; }
.semantic-circle__intent button { min-height: 44px; padding: 0 11px; border: 1px solid #b8ccc4; border-radius: 10px; background: #fff; color: #315e55; font-size: 10px; font-weight: 850; cursor: pointer; }
.semantic-circle__intent button.is-primary { border-color: #315e55; background: #315e55; color: #fff; }
.semantic-circle__intent button:focus-visible { outline: 3px solid rgba(49,94,85,.28); outline-offset: 2px; }
.semantic-circle__designation { position: absolute; box-sizing: border-box; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 0; min-width: min(220px, calc(100% - 24px)); min-height: min(180px, calc(100% - 24px)); overflow: hidden; border: 1px solid #9db9af; border-radius: 12px; background: rgba(249,252,249,.98); box-shadow: 0 9px 24px rgba(40,55,49,.18); color: #315e55; pointer-events: auto; }
.semantic-circle__designation[data-semantic-card-pinned="true"] { border-color: #6d5f41; box-shadow: 0 7px 18px rgba(40,55,49,.14); }
.semantic-circle__designation.is-card-transforming { opacity: .92; box-shadow: 0 16px 34px rgba(40,55,49,.25); }
.semantic-circle__card-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; padding: 4px 5px 4px 10px; border-bottom: 1px solid #dbe7e1; background: #edf6f1; cursor: grab; touch-action: none; user-select: none; }
.semantic-circle__card-header:active { cursor: grabbing; }
.semantic-circle__card-header:focus-visible { outline: 3px solid rgba(49,94,85,.28); outline-offset: -3px; }
.semantic-circle__designation[data-semantic-card-pinned="true"] .semantic-circle__card-header { cursor: default; }
.semantic-circle__card-header > strong { min-width: 0; overflow: hidden; color: #263a44; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.semantic-circle__card-actions { display: flex; flex: none; gap: 4px; }
.semantic-circle__card-actions button { min-width: 44px; min-height: 40px; padding: 0 7px; border: 1px solid #9db9af; border-radius: 8px; background: #fff; color: #315e55; font-size: 8px; font-weight: 850; cursor: pointer; }
.semantic-circle__card-actions button[aria-pressed="true"] { border-color: #6d5f41; background: #f4efe3; color: #6d5f41; }
.semantic-circle__card-actions button:disabled { opacity: .45; cursor: default; }
.semantic-circle__card-body { display: grid; gap: 7px; min-height: 0; padding: 9px 10px 48px; overflow: auto; overscroll-behavior: contain; }
.semantic-circle__card-resize { position: absolute; right: 3px; bottom: 3px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 10px; background: rgba(237,246,241,.94); color: #315e55; font-size: 18px; font-weight: 900; cursor: nwse-resize; touch-action: none; }
.semantic-circle__card-resize:disabled { opacity: .42; cursor: default; }
.semantic-circle__card-actions button:focus-visible,
.semantic-circle__card-resize:focus-visible { outline: 3px solid rgba(49,94,85,.28); outline-offset: 1px; }
.semantic-circle__designation span { color: #65776f; font-size: 8px; line-height: 1.45; }
.semantic-circle__dictionary-entries { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.semantic-circle__dictionary-entry { display: grid; gap: 3px; padding-top: 8px; border-top: 1px solid #dbe7e1; }
.semantic-circle__dictionary-entry.is-context-selected { margin-inline: -5px; padding: 8px 5px 5px; border: 1px solid #315e55; border-radius: 8px; background: #edf6f1; }
.semantic-circle__dictionary-entry strong { color: #315e55; font-size: 9px; line-height: 1.4; }
.semantic-circle__dictionary-entry p,
.semantic-circle__dictionary-entry q { margin: 0; color: #334640; font-size: 9px; line-height: 1.5; }
.semantic-circle__dictionary-entry q { color: #65776f; }
.semantic-circle__dictionary-entry q::before,
.semantic-circle__dictionary-entry q::after { content: none; }
.semantic-circle__dictionary-entry .semantic-circle__dictionary-idiom { color: #6d5f41; }
.semantic-circle__context-window { margin: 0; padding: 6px 7px; border-left: 3px solid #8eab9f; background: #f3f7f4; color: #334640; font-size: 9px; line-height: 1.5; }
.semantic-circle__context-notice,
.semantic-circle__context-error { color: #715f3d !important; font-weight: 750; }
.semantic-circle__context-evidence { padding: 4px 5px; border-radius: 6px; background: #f5f3eb; color: #715f3d !important; }
.semantic-circle__context-evidence.is-supporting { background: #e7f3ed; color: #315e55 !important; }
.semantic-circle__context-select,
.semantic-circle__context-manual button { min-height: 36px; border: 1px solid #688b7d; border-radius: 8px; background: #fff; color: #315e55; font-size: 9px; font-weight: 850; cursor: pointer; }
.semantic-circle__context-select:disabled { background: #315e55; color: #fff; cursor: default; }
.semantic-circle__context-manual { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid #dbe7e1; }
.semantic-circle__context-manual label { color: #334640; font-size: 9px; font-weight: 850; }
.semantic-circle__context-manual textarea { box-sizing: border-box; width: 100%; min-height: 48px; resize: vertical; border: 1px solid #b8ccc4; border-radius: 7px; padding: 6px; background: #fff; color: #263a44; font: 10px/1.45 inherit; }
.semantic-circle__context-selected-summary { margin: 0; padding: 5px 6px; border-radius: 6px; background: #edf6f1; color: #315e55; font-size: 9px; font-weight: 800; line-height: 1.45; }
.semantic-circle__dictionary-entry a { color: #315e55; font-size: 9px; font-weight: 800; text-underline-offset: 2px; }
.semantic-circle__dictionary-button { min-height: 38px; border: 1px solid #315e55; border-radius: 9px; background: #315e55; color: #fff; font-size: 9px; font-weight: 850; cursor: pointer; }
.semantic-circle__dictionary-button:disabled { border-color: #9db9af; background: #9db9af; cursor: wait; }
.semantic-circle__designation[data-citation-focus="card"] { border-color: #b06a22; box-shadow: 0 0 0 4px rgba(210,132,42,.23), 0 14px 32px rgba(40,55,49,.22); }
.semantic-circle__citation { display: grid; gap: 6px; padding: 8px; border: 1px solid #b7cfc5; border-radius: 9px; background: #f8fbf9; }
.semantic-circle__citation.is-stale,
.semantic-circle__citation.is-missing,
.semantic-circle__citation.is-unsupported { border-color: #d3a46f; background: #fff8e9; }
.semantic-circle__citation-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.semantic-circle__citation-heading strong { color: #263a44; font-size: 9px; }
.semantic-circle__citation-heading span { color: #315e55; font-size: 8px; font-weight: 850; }
.semantic-circle__citation.is-stale .semantic-circle__citation-heading span,
.semantic-circle__citation.is-missing .semantic-circle__citation-heading span,
.semantic-circle__citation.is-unsupported .semantic-circle__citation-heading span { color: #8b531d; }
.semantic-circle__citation > button { min-height: 40px; border: 1px solid #688b7d; border-radius: 8px; background: #fff; color: #315e55; font-size: 9px; font-weight: 850; cursor: pointer; }
.semantic-circle__citation.is-stale > button { border-color: #9d6a32; color: #70471f; }
.semantic-circle__citation-warning,
.semantic-circle__citation-diff,
.semantic-circle__citation-publication { margin: 0; color: #70471f; font-size: 8px; font-weight: 750; line-height: 1.45; }
.semantic-circle__citation-diff del { color: #9b3e46; }
.semantic-circle__citation-diff ins { color: #245f4d; text-decoration: none; }
.semantic-circle__citation-rights { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.semantic-circle__citation-rights li { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; color: #4d6159; font-size: 8px; }
.semantic-circle__citation-rights a { color: #315e55; font-weight: 800; text-underline-offset: 2px; }
.semantic-circle__citation-rights small { color: #786d5b; font-size: 7px; text-align: right; }
.semantic-circle__dictionary-button:focus-visible,
.semantic-circle__citation > button:focus-visible,
.ocr-review__citation-return:focus-visible,
.semantic-circle__dictionary-entry a:focus-visible,
.semantic-circle__context-select:focus-visible,
.semantic-circle__context-manual textarea:focus-visible,
.semantic-circle__context-manual button:focus-visible { outline: 3px solid rgba(49,94,85,.28); outline-offset: 2px; }
.empty-board__mark { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 18px; border: 1px solid #c8d8d1; border-radius: 18px; background: rgba(229,239,234,.78); color: var(--accent); transform: rotate(-2deg); }
.empty-board__mark svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.empty-board__kicker { margin: 0 0 8px; color: var(--accent-warm); font-family: Georgia, serif; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.empty-board h1 { margin: 0; font-family: "Noto Serif KR", "Nanum Myeongjo", serif; font-size: clamp(24px, 3vw, 38px); font-weight: 700; letter-spacing: -.055em; }
.empty-board > p:not(.empty-board__kicker) { margin: 13px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.75; }
.empty-board__steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 20px; }
.empty-board__steps span { display: flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid #ded5c7; border-radius: 999px; background: rgba(255,255,255,.55); color: var(--text-soft); font-size: 9px; }
.empty-board__steps b { color: var(--accent); }
.canvas-corner { position: absolute; z-index: 3; color: rgba(69,64,56,.5); font-family: Georgia, serif; font-size: 8px; letter-spacing: .08em; }
.canvas-corner--top { top: 14px; left: 16px; }
.canvas-corner--bottom { right: 16px; bottom: 12px; }

.scene-strip { position: relative; z-index: 120; display: grid; grid-template-columns: 80px minmax(0, 1fr) 54px; align-items: center; gap: 8px; min-width: 0; padding-top: 10px; }
.scene-strip__label { display: grid; line-height: 1.1; }
.scene-strip__label span { font-size: 11px; font-weight: 800; }
.scene-strip__label small { margin-top: 4px; color: var(--text-faint); font-size: 9px; }
.page-mini-list { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 4px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.page-mini { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 4px; border: 1px solid transparent; border-radius: 12px; }
.page-mini.is-active { border-color: #b8cec5; background: rgba(255,255,255,.64); box-shadow: 0 4px 12px rgba(48,68,61,.08); }
.page-mini__tab { display: grid; grid-template-columns: 86px minmax(76px, 1fr); align-items: center; gap: 7px; min-width: 174px; height: 78px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: #fffdf9; color: var(--text); text-align: left; }
.page-mini__tab[aria-selected="true"] { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.page-mini__svg { width: 86px; height: 62px; border: 1px solid #e2dbd0; border-radius: 6px; background-color: #fbfaf6; background-image: linear-gradient(rgba(49,94,85,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(49,94,85,.05) 1px, transparent 1px); background-size: 12px 12px; }
.page-mini__meta { display: grid; min-width: 0; }
.page-mini__meta strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.page-mini__meta small { margin-top: 5px; color: var(--text-faint); font-size: 8px; white-space: nowrap; }
.page-mini__actions { display: grid; grid-template-columns: repeat(2, 44px); gap: 4px; }
.page-mini__action { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-strong); color: var(--accent); font-weight: 900; }
.page-mini__action:disabled { color: #b8b0a5; background: #eeeae3; opacity: .62; }
.scene-add { display: grid; grid-template-columns: 18px auto; align-items: center; justify-content: center; column-gap: 4px; width: 54px; height: 54px; border: 1px dashed var(--accent); border-radius: 11px; background: rgba(255,255,255,.44); color: var(--accent); }
.scene-add span { font-size: 9px; font-weight: 750; }.scene-add small { grid-column: 1 / -1; font-size: 7px; }
.scene-add:disabled { border-color: var(--line-strong); color: var(--text-faint); opacity: .62; }

.lesson-panel__content { height: calc(100% - 66px); padding: 12px; overflow: auto; overscroll-behavior: contain; }
body[data-product-surface="core"] .lesson-panel__content > section:not(.recovery-center):not(.panel-card):not(.product-feature-menu):not(.product-feature-drawer):not(.flow-preview) { display: none !important; }
.panel-card, .flow-preview, .readiness-card, .recovery-center { border: 1px solid var(--line); border-radius: 14px; background: var(--surface-strong); }
.recovery-center { margin-bottom: 10px; padding: 13px; border-color: #d6a8a8; background: #fff7f5; }
.recovery-center[hidden] { display: none; }
.recovery-center p { margin: 8px 0 0; color: var(--text-soft); font-size: 9px; line-height: 1.5; }
.recovery-center .recovery-center__preserved { color: var(--accent); font-weight: 750; }
.recovery-center__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.recovery-center__actions button { min-height: 44px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); color: var(--text); font: inherit; font-size: 9px; font-weight: 750; cursor: pointer; }
.recovery-center__actions button[data-recovery-action="retry"] { border-color: var(--accent); color: var(--accent); }
.recovery-center__actions button:disabled { opacity: .5; cursor: not-allowed; }
.recovery-center__actions button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 46%, transparent); outline-offset: 2px; }
.panel-card { display: flex; gap: 11px; padding: 13px; }
.panel-card--accent { border-color: #cbdad3; background: linear-gradient(145deg, #f4faf7, #fff); }
.panel-card__icon { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: var(--accent-soft); color: var(--accent); }
.panel-card__icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.panel-card__label { color: var(--text-faint); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.panel-card h3 { margin: 2px 0 5px; font-size: 13px; }
.panel-card p { margin: 0; color: var(--text-soft); font-size: 9px; line-height: 1.55; }
.product-feature-menu { display: grid; gap: 10px; margin-top: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-strong); }
.product-feature-menu__buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.product-feature-menu__buttons button { display: grid; gap: 3px; min-height: 54px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }
.product-feature-menu__buttons button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.product-feature-menu__buttons strong { font-size: 10px; }
.product-feature-menu__buttons small { color: var(--text-faint); font-size: 8px; }
.product-feature-drawer { display: grid; grid-template-rows: auto auto minmax(0, 1fr); min-height: 0; margin-top: 10px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface-strong); overflow: hidden; }
.product-feature-drawer[hidden] { display: none !important; }
.product-feature-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border-bottom: 1px solid var(--line); }
.product-feature-drawer__header span { color: var(--text-faint); font-size: 8px; font-weight: 800; }
.product-feature-drawer__header h3 { margin: 3px 0 0; font-size: 12px; }
.product-feature-drawer__header button, .product-feature-drawer__error-actions button { min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text); font: inherit; font-weight: 750; cursor: pointer; }
.product-feature-drawer__status { margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--line); color: var(--text-soft); font-size: 9px; }
.product-feature-drawer__status[data-state="error"], .product-feature-drawer__error { color: #973d35; }
.product-feature-drawer__mount { position: relative; min-height: 160px; max-height: calc(100vh - 300px); padding: 10px; overflow: auto; overscroll-behavior: contain; }
.product-feature-drawer__error { margin: 0; font-size: 11px; line-height: 1.5; }
.product-feature-drawer__error-actions { display: flex; gap: 7px; margin-top: 10px; }
.product-feature-drawer__mount .writing-assignment-layer, .product-feature-drawer__mount .writing-idea-layer { position: static; inset: auto; pointer-events: auto; }
.product-feature-drawer__mount .writing-assignment, .product-feature-drawer__mount .writing-idea { position: static; width: auto; max-height: none; margin: 0; padding: 11px; border-radius: 11px; box-shadow: none; }
.product-feature-drawer__mount .writing-assignment__grid, .product-feature-drawer__mount .writing-idea__grid { grid-template-columns: 1fr; }
.product-feature-drawer__mount .writing-assignment__field, .product-feature-drawer__mount .writing-idea__field { grid-column: auto; }
.product-feature-drawer__mount .writing-assignment__actions, .product-feature-drawer__mount .writing-idea__actions { flex-direction: column; }
.product-feature-drawer__mount .writing-assignment__actions button, .product-feature-drawer__mount .writing-idea__actions button { width: 100%; }
body[data-product-active-feature] .lesson-panel__content > .panel-card, body[data-product-active-feature] .lesson-panel__content > .flow-preview { display: none; }
.representative-lessons { display: grid; gap: 12px; color: var(--text); }
.representative-lessons__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.representative-lessons__heading > div { display: grid; gap: 3px; }
.representative-lessons__heading strong { font-size: 14px; }.representative-lessons__heading small { color: var(--text-faint); font-size: 11px; line-height: 1.4; }
.representative-lessons__badge { padding: 5px 7px; border-radius: 999px; background: #f5e8de; color: #7a3029; font-size: 10px; font-weight: 850; white-space: nowrap; }
.representative-lessons[data-lesson-state="approved"] .representative-lessons__badge { background: var(--accent-soft); color: var(--accent); }
.representative-lessons__tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.representative-lessons__tabs button { min-height: 44px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--text-soft); font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.representative-lessons__tabs button[aria-selected="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.representative-lessons__panel { display: grid; gap: 10px; }.representative-lessons h4 { margin: 0; font-size: 13px; }
.representative-lessons__source { display: grid; gap: 5px; color: var(--text-soft); font-size: 11px; font-weight: 800; }
.representative-lessons__source textarea { box-sizing: border-box; width: 100%; min-height: 88px; resize: vertical; border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px; background: #fff; color: var(--text); font: 12px/1.55 inherit; }
.representative-lessons__source-help { color: var(--text-faint); font-size: 10px; line-height: 1.4; }
.representative-lessons__candidates { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.representative-lessons__candidates li { display: flex; align-items: center; gap: 7px; min-height: 36px; padding: 6px 8px; border: 1px solid #dbe7e1; border-radius: 9px; background: #f8fbf9; font-size: 11px; }
.representative-lessons__candidates b { flex: none; color: var(--accent); font-size: 10px; }.representative-lessons__candidates span { line-height: 1.4; }
.representative-lessons__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
.representative-lessons__steps li { display: grid; justify-items: center; gap: 3px; padding: 6px 2px; border-radius: 8px; background: var(--surface-soft); color: var(--text-faint); font-size: 10px; }
.representative-lessons__steps li.is-done { background: var(--accent-soft); color: var(--accent); }.representative-lessons__steps span { font-size: 12px; }
.representative-lessons__stale { margin: 0; padding: 8px; border: 1px solid #b74e43; border-radius: 9px; background: #fff5f2; color: #7a2d27; font-size: 11px; font-weight: 750; line-height: 1.5; }
.representative-lessons__status { margin: 0; color: var(--text-soft); font-size: 11px; line-height: 1.45; }
.representative-lessons__actions { display: grid; grid-template-columns: 1fr; gap: 6px; }
.representative-lessons__actions button { min-height: 44px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--text); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.representative-lessons__actions button.is-primary { border-color: var(--accent); background: var(--accent); color: #fff; }.representative-lessons__actions button:disabled { opacity: .42; cursor: default; }
.representative-lessons button:focus-visible,.representative-lessons textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 40%, transparent); outline-offset: 2px; }
@media (max-width: 600px) { .representative-lessons__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .representative-lessons__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 601px) and (max-width: 1180px) { .representative-lessons__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .representative-lessons__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-contrast: more) { .representative-lessons__tabs button, .representative-lessons__actions button, .representative-lessons__source textarea { border-width: 2px; } .representative-lessons__status, .representative-lessons__source-help { color: #263631; } .representative-lessons__badge, .representative-lessons__stale { font-weight: 900; } }
.flow-preview, .readiness-card { margin-top: 10px; padding: 13px; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.section-title h3 { margin: 0; font-size: 11px; }
.section-title > span { color: var(--text-faint); font-size: 8px; font-weight: 750; }
.flow-preview ol, .readiness-card ul { margin: 11px 0 0; padding: 0; list-style: none; }
.flow-preview li { display: flex; align-items: center; gap: 9px; padding: 8px 0; border-top: 1px solid #eee9e1; }
.flow-preview li > span { display: grid; place-items: center; flex: 0 0 auto; width: 23px; height: 23px; border-radius: 8px; background: var(--surface-soft); color: var(--accent); font-family: Georgia, serif; font-size: 10px; font-weight: 800; }
.flow-preview li div { display: grid; gap: 2px; min-width: 0; }
.flow-preview strong { font-size: 9px; }.flow-preview small { overflow: hidden; color: var(--text-faint); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.readiness-badge { padding: 3px 6px; border-radius: 6px; background: #f3e7dc; color: #8b5f42 !important; }
.readiness-card li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; color: var(--text-soft); font-size: 9px; }
.readiness-card li b { color: #9b6847; font-size: 8px; }
.readiness-card li b.is-ready { color: var(--accent); }
.readiness-card li b.is-blocked { color: #a14348; }
.persistence-row__value { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.persistence-row__value button { min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font: inherit; font-size: 11px; cursor: pointer; }
.persistence-row__value button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 46%, transparent); outline-offset: 2px; }

.panel-restore { position: absolute; z-index: 12; top: 12px; display: none; align-items: center; gap: 5px; min-width: 44px; min-height: 44px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); box-shadow: 0 5px 18px rgba(50,40,30,.1); color: var(--text-soft); cursor: pointer; }
.panel-restore span { font-size: 9px; font-weight: 750; }
.panel-restore--left { left: 10px; }.panel-restore--right { right: 10px; }

body[data-left-panel="closed"] .board-workspace { grid-template-columns: 0 minmax(0, 1fr) var(--right-panel-w); }
body[data-left-panel="closed"] .tool-panel { transform: translateX(-100%); opacity: 0; pointer-events: none; }
body[data-left-panel="closed"] .panel-restore--left { display: flex; }
body[data-right-panel="closed"] .board-workspace { grid-template-columns: var(--left-panel-w) minmax(0, 1fr) 0; }
body[data-right-panel="closed"] .lesson-panel { transform: translateX(100%); opacity: 0; pointer-events: none; }
body[data-right-panel="closed"] .panel-restore--right { display: flex; }
body[data-left-panel="closed"][data-right-panel="closed"] .board-workspace { grid-template-columns: 0 minmax(0, 1fr) 0; }

.noscript-note { position: fixed; z-index: 30; right: 12px; bottom: 12px; margin: 0; padding: 10px 12px; border-radius: 8px; background: #3b3029; color: white; font-size: 11px; }

@media (max-width: 1180px) {
  :root { --right-panel-w: 260px; }
  .lesson-bar { grid-template-columns: minmax(0, 1fr) auto; }
  .lesson-bar__status { display: none; }
  .lesson-divider, .lesson-name { display: none; }
}

@media (max-width: 860px) {
  :root { --topbar-h: 60px; --scene-strip-h: 116px; }
  .board-app { min-height: 480px; }
  .lesson-bar { padding-right: 10px; padding-left: 10px; }
  .brand-copy small, .history-actions, .action-button span:not(.stage-tag) { display: none; }
  .action-button { min-width: 42px; justify-content: center; padding: 0 8px; }
  .icon-button--mobile { display: inline-grid; }
  .board-workspace, body[data-left-panel="closed"] .board-workspace, body[data-right-panel="closed"] .board-workspace, body[data-left-panel="closed"][data-right-panel="closed"] .board-workspace { grid-template-columns: minmax(0, 1fr); }
  .tool-panel, .lesson-panel { position: absolute; top: 0; bottom: 0; width: min(82vw, 296px); box-shadow: 0 12px 35px rgba(38,31,24,.18); }
  .tool-panel { left: 0; width: var(--left-panel-w); }
  .lesson-panel { right: 0; }
  .canvas-region { grid-column: 1; }
  body[data-left-panel="closed"][data-right-panel="closed"] .canvas-toolbar { padding-right: 72px; padding-left: 72px; }
  .panel-restore { top: 8px; }
  body[data-left-panel="closed"] .tool-panel { transform: translateX(-110%); }
  body[data-right-panel="closed"] .lesson-panel { transform: translateX(110%); }
}

@media (max-width: 560px) {
  .brand-copy strong { max-width: 112px; overflow: hidden; text-overflow: ellipsis; }
  .lesson-bar__start { gap: 4px; }
  .lesson-bar__actions { gap: 4px; }
  .action-button { display: none; }
  .tool-panel, .lesson-panel { top: auto; right: 8px; bottom: calc(8px + var(--safe-bottom)); left: 8px; width: auto; max-height: min(72dvh, 560px); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 16px 42px rgba(38,31,24,.24); }
  .tool-panel, .tool-panel:has(.sidebar-settings) { overflow: hidden !important; }
  .lesson-panel { overflow: hidden; }
  .tool-panel .sidebar-settings { top: 0; right: 0; bottom: 0; left: 0; width: auto; max-height: none; border-radius: 17px; }
  body[data-left-panel="closed"] .tool-panel, body[data-right-panel="closed"] .lesson-panel { transform: translateY(115%); }
  body[data-left-panel="open"] .tool-panel, body[data-right-panel="open"] .lesson-panel { transform: translateY(0); opacity: 1; pointer-events: auto; }
  body[data-left-panel="closed"][data-right-panel="closed"] .canvas-toolbar { padding-right: 60px; padding-left: 60px; }
  .panel-restore { top: 8px; min-height: 44px; }
  .canvas-region { grid-template-rows: 52px minmax(0, 1fr) var(--scene-strip-h); padding: 7px 7px 9px; }
  .canvas-toolbar { overflow: hidden; }
  .core-tool-list { gap: 1px; width: 100%; overflow: hidden; }
  .core-tool-list .tool-button { flex: 1 1 44px; }
  .core-tool-list .tool-button { min-width: 46px; padding-inline: 4px; }
  .core-tool-list .tool-button span { font-size: 8px; }
  .canvas-toolbar__meta { display: none; }
  .canvas-toolbar__value { display: none; }
  .canvas-toolbar__meta .canvas-badge--muted { display: none; }
  .empty-board { padding: 22px 18px; }
  .empty-board__mark { width: 48px; height: 48px; margin-bottom: 12px; }
  .empty-board h1 { font-size: 23px; }
  .empty-board > p:not(.empty-board__kicker) { font-size: 10px; }
  .empty-board__steps span { padding: 5px 7px; font-size: 8px; }
  .canvas-corner { display: none; }
  .scene-strip { grid-template-columns: minmax(0, 1fr) 48px; }
  .scene-strip__label { display: none; }
  .scene-add { width: 48px; height: 48px; }
  .page-mini__tab { grid-template-columns: 74px 70px; min-width: 154px; height: 70px; }
  .page-mini__svg { width: 74px; height: 54px; }
}

@media (max-height: 650px) {
  :root { --topbar-h: 58px; --scene-strip-h: 96px; }
  .page-mini__tab { height: 66px; }
  .page-mini__svg { height: 50px; }
  .tool-button { min-height: 48px; padding-block: 4px; }
  .tool-button svg { width: 18px; height: 18px; }
  .ink-style-panel { gap: 5px; margin-bottom: 5px; padding-block: 5px; }
  .ink-color-button { height: 25px; }.ink-color-button span { width: 19px; height: 19px; }
  .ink-size-button { height: 24px; }
  .empty-board__mark { width: 46px; height: 46px; margin-bottom: 10px; }
  .empty-board > p:not(.empty-board__kicker) { margin-top: 8px; line-height: 1.45; }
  .empty-board__steps { margin-top: 12px; }
  .flow-preview li { padding-block: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (prefers-contrast: more) {
  :root { --line: #81796e; --line-strong: #524c44; --text-soft: #45413b; --text-faint: #5d574f; }
  .canvas-viewport { border-width: 2px; }
}

.orthography-review-layer{position:absolute;inset:0;z-index:27;pointer-events:none}
.orthography-review,.orthography-reviewed{position:absolute;left:clamp(12px,8%,72px);top:clamp(96px,18%,150px);width:min(680px,calc(100% - 24px));max-height:calc(100% - 112px);overflow:auto;box-sizing:border-box;border:1px solid #d8c8aa;border-radius:18px;background:#fffdf7;box-shadow:0 18px 42px rgba(40,48,52,.2);padding:16px;pointer-events:auto;color:#263a44}
.orthography-review header,.orthography-reviewed header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.orthography-review header span,.orthography-reviewed header span{font-size:.76rem;color:#735b3b}.orthography-review__warning{margin:0 0 12px;padding:9px 11px;border-radius:10px;background:#f7efe0;font-size:.82rem}
.orthography-review__source{border:1px solid #ded7ca;border-radius:12px;background:#fff;padding:10px;margin-bottom:12px}.orthography-review__source h4,.orthography-review__source p{margin:0}.orthography-review__source p{margin-top:6px;white-space:pre-wrap}
.orthography-review__items,.orthography-reviewed__items{display:grid;gap:10px;margin:0 0 12px;padding:0;list-style:none}.orthography-review__item{display:grid;gap:7px;padding:11px;border:1px solid #ddd4c4;border-radius:12px;background:#fff}
.orthography-review__item[data-orthography-decision="accepted"]{border-color:#70a98e;background:#f3fbf6}.orthography-review__item[data-orthography-decision="rejected"]{border-color:#bd8c8c;background:#fff7f6}
.orthography-review__item-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.orthography-review__item-title span{font-size:.72rem;color:#6e7477}.orthography-review__diff{display:flex;align-items:center;gap:9px;margin:0;font-size:1rem}
.orthography-review__diff del{color:#8e3f43;background:#fbe5e5;text-decoration-thickness:2px}.orthography-review__diff ins{color:#1f6f51;background:#e1f5e9;text-decoration:none;font-weight:700}.orthography-review__reason{margin:0;font-size:.86rem}
.orthography-review__decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.orthography-review__decisions button{min-height:44px;border:1px solid #c9c0b0;border-radius:10px;background:#fff}.orthography-review__decisions button[aria-pressed="true"]{border-color:#315f72;background:#e5f1f5;font-weight:700}
.orthography-review label{font-size:.76rem;font-weight:700}.orthography-review input,.orthography-review textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #c9c0b0;border-radius:10px;padding:9px;font:inherit}.orthography-review__error{min-height:1.2em;margin:8px 0;color:#8b3d43;font-size:.8rem}
.orthography-review__actions{display:flex;justify-content:flex-end;gap:8px}.orthography-review__actions button{min-height:44px;padding:0 14px;border:1px solid #b9aa90;border-radius:11px;background:#fff}.orthography-review__actions .is-primary{background:#2d725d;color:#fff;border-color:#2d725d}
.orthography-reviewed{background:#fbfff9;border-color:#a8c6b5}.orthography-reviewed__comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.orthography-reviewed__comparison p{margin:0;padding:10px;border-radius:10px;background:#fff;white-space:pre-wrap}
.orthography-reviewed__items{margin-top:12px}.orthography-reviewed__items li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;border-bottom:1px solid #e1e5df}.orthography-reviewed__items li>span{font-size:.78rem}.orthography-reviewed__items .is-rejected{opacity:.7}.orthography-reviewed__items .is-pending{opacity:.55}
@media (max-width:600px){.orthography-review,.orthography-reviewed{left:8px!important;top:72px!important;width:calc(100% - 16px)!important;height:auto!important;max-height:calc(100% - 80px);padding:12px;border-radius:14px}.orthography-review header,.orthography-reviewed header,.orthography-review__item-title{align-items:flex-start;flex-direction:column}.orthography-reviewed__comparison{grid-template-columns:1fr}.orthography-reviewed__items li{flex-direction:column}.orthography-review__actions{display:grid;grid-template-columns:1fr 1fr}.orthography-review__actions button{width:100%}}
.expression-experiment-layer{position:absolute;inset:0;z-index:28;pointer-events:none}.expression-experiment-review,.expression-experiment-approved{position:absolute;left:clamp(12px,7%,64px);top:clamp(86px,15%,132px);width:min(720px,calc(100% - 24px));max-height:calc(100% - 96px);overflow:auto;box-sizing:border-box;border:1px solid #b9c9ba;border-radius:18px;background:#fbfff9;box-shadow:0 18px 42px rgba(35,52,44,.22);padding:16px;color:#263a44;pointer-events:auto}.expression-experiment-review header,.expression-experiment-approved header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.expression-experiment-review header span,.expression-experiment-approved header span{color:#526b60;font-size:.76rem}.expression-experiment-review__source{margin-bottom:10px;padding:10px;border:1px solid #d9e2da;border-radius:11px;background:#fff}.expression-experiment-review__source h4,.expression-experiment-review__source p{margin:0}.expression-experiment-review__source p{margin-top:5px;white-space:pre-wrap}.expression-experiment-review__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.expression-experiment-review__tabs button{min-height:44px;border:1px solid #aebfb2;border-radius:10px;background:#fff}.expression-experiment-review__tabs button[aria-selected="true"]{border-color:#2d725d;background:#e6f3eb;font-weight:800}.expression-experiment-review__editor{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);align-items:center;gap:8px;padding:11px;border:1px solid #d8e2da;border-radius:12px;background:#fff}.expression-experiment-review__warning,.expression-experiment-review__evidence{grid-column:1/-1;margin:0;padding:8px;border-radius:8px;background:#eef6f0;font-size:.8rem}.expression-experiment-review__evidence{color:#526b60;background:#f4f6f0}.expression-experiment-review__editor>label{font-size:.78rem;font-weight:750}.expression-experiment-review input[type="checkbox"]{width:20px;height:20px;margin-right:7px;vertical-align:middle}.expression-experiment-review select,.expression-experiment-review textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #b9c8bc;border-radius:9px;padding:8px;background:#fff;font:inherit}.expression-experiment-review>label{display:block;margin-top:10px;font-size:.78rem;font-weight:750}.expression-experiment-review__error{min-height:1.2em;margin:8px 0;color:#8b3d43;font-size:.8rem}.expression-experiment-review__actions{display:flex;justify-content:flex-end;gap:8px}.expression-experiment-review__actions button{min-height:44px;padding:0 14px;border:1px solid #aebfb2;border-radius:10px;background:#fff}.expression-experiment-review__actions .is-primary{border-color:#2d725d;background:#2d725d;color:#fff}.expression-experiment-approved__original{padding:9px;border-radius:9px;background:#fff;white-space:pre-wrap}.expression-experiment-approved__variants{display:grid;gap:9px;margin:10px 0;padding:0;list-style:none}.expression-experiment-approved__variants li{display:grid;gap:5px;padding:10px;border:1px solid #d9e2da;border-radius:10px;background:#fff}.expression-experiment-approved__variants p{margin:0;white-space:pre-wrap}.expression-experiment-approved__variants span,.expression-experiment-approved__variants small{color:#526b60;font-size:.78rem}.sentence-structure-approved__actions{flex-wrap:wrap}
@media (max-width:600px){.expression-experiment-review,.expression-experiment-approved{left:8px!important;top:64px!important;width:calc(100% - 16px)!important;height:auto!important;max-height:calc(100% - 72px);padding:12px}.expression-experiment-review header,.expression-experiment-approved header{align-items:flex-start;flex-direction:column}.expression-experiment-review__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.expression-experiment-review__editor{grid-template-columns:1fr}.expression-experiment-review__actions{display:grid;grid-template-columns:1fr 1fr}.expression-experiment-review__actions button{width:100%}}
.semantic-circle__lexical-network-button{min-height:44px;border:1px solid #6f8879;border-radius:9px;background:#eef7f0;color:#234b3e;font-weight:800}.lexical-network-layer{position:absolute;inset:0;z-index:29;pointer-events:none}.lexical-network-review,.lexical-network-approved{position:absolute;left:clamp(12px,7%,64px);top:clamp(82px,14%,124px);width:min(760px,calc(100% - 24px));max-height:calc(100% - 92px);overflow:auto;box-sizing:border-box;border:1px solid #afc8b6;border-radius:18px;background:#fbfff9;box-shadow:0 18px 44px rgba(35,52,44,.24);padding:16px;color:#263a44;pointer-events:auto}.lexical-network-review header,.lexical-network-approved header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.lexical-network-review header span,.lexical-network-approved header span{color:#526b60;font-size:.76rem}.lexical-network-review__center,.lexical-network-approved__hub{padding:11px;border:2px solid #4e846b;border-radius:50%/30%;background:#e9f6ed;text-align:center}.lexical-network-review__center p{margin:5px 0;white-space:pre-wrap}.lexical-network-review__center small{color:#526b60}.lexical-network-review__editor{display:grid;grid-template-columns:minmax(130px,.38fr) minmax(0,1fr);align-items:center;gap:8px;margin-top:12px;padding:11px;border:1px solid #d6e2d8;border-radius:12px;background:#fff}.lexical-network-review__editor>label,.lexical-network-review>label{font-size:.78rem;font-weight:750}.lexical-network-review select,.lexical-network-review input,.lexical-network-review textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #b7c8bb;border-radius:9px;padding:8px;background:#fff;font:inherit}.lexical-network-review__editor button{grid-column:1/-1;min-height:44px;border:1px solid #2d725d;border-radius:10px;background:#2d725d;color:#fff;font-weight:800}.lexical-network-review__relations,.lexical-network-approved__edges{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}.lexical-network-review__relations li,.lexical-network-approved__edges li{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:10px;border:1px solid #d7e2d8;border-radius:11px;background:#fff}.lexical-network-review__relations p,.lexical-network-approved__edges p{grid-column:1/-1;margin:0;white-space:pre-wrap}.lexical-network-review__relations small,.lexical-network-approved__edges small{grid-column:1/-1;color:#526b60}.lexical-network-review__relations button{grid-column:2;justify-self:end;min-height:40px;border:1px solid #b9c8bc;border-radius:8px;background:#fff}.lexical-network-review>label{display:block;margin-top:8px}.lexical-network-review__warning{min-height:1.2em;margin:8px 0;color:#87404a;font-size:.8rem}.lexical-network-review__actions{display:flex;justify-content:flex-end;gap:8px}.lexical-network-review__actions button{min-height:44px;padding:0 14px;border:1px solid #aebfb2;border-radius:10px;background:#fff}.lexical-network-review__actions .is-primary{border-color:#2d725d;background:#2d725d;color:#fff}.lexical-network-approved__hub{display:grid;gap:4px;margin:0 auto;width:min(240px,70%)}.lexical-network-approved__edges li>span{align-self:start;border-radius:999px;background:#e8f1ea;padding:4px 8px;font-size:.75rem}.lexical-network-approved__edges li>b{align-self:center}
@media (max-width:600px){.lexical-network-review,.lexical-network-approved{left:8px!important;top:64px!important;width:calc(100% - 16px)!important;height:auto!important;max-height:calc(100% - 72px);padding:12px}.lexical-network-review header,.lexical-network-approved header{align-items:flex-start;flex-direction:column}.lexical-network-review__editor{grid-template-columns:1fr}.lexical-network-review__actions{display:grid;grid-template-columns:1fr 1fr}.lexical-network-review__actions button{width:100%}}
.anonymous-lab-launcher{display:grid;gap:8px;margin-top:10px;padding:13px;border:1px solid #d9b8b8;border-radius:14px;background:#fff8f6}.anonymous-lab-launcher p{margin:0;color:#66555a;font-size:9px;line-height:1.5}.anonymous-lab-launcher label,.anonymous-lab-launcher small{color:#765c62;font-size:8px;font-weight:750}.anonymous-lab-launcher select,.anonymous-lab-launcher button{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #cbaeb1;border-radius:10px;padding:8px;background:#fff;color:#4a3940;font:inherit}.anonymous-lab-launcher button{border-color:#7d4f5b;background:#7d4f5b;color:#fff;font-size:9px;font-weight:850;cursor:pointer}.anonymous-lab-launcher select:disabled,.anonymous-lab-launcher button:disabled{opacity:.55;cursor:not-allowed}.anonymous-lab-launcher select:focus-visible,.anonymous-lab-launcher button:focus-visible{outline:3px solid rgba(125,79,91,.3);outline-offset:2px}
.anonymous-sentence-lab-layer{position:absolute;inset:0;z-index:30;pointer-events:none}.anonymous-sentence-lab-review,.anonymous-sentence-lab-approved{position:absolute;left:clamp(12px,6%,58px);top:clamp(72px,13%,116px);width:min(780px,calc(100% - 24px));max-height:calc(100% - 84px);overflow:auto;box-sizing:border-box;border:1px solid #c6a6ad;border-radius:18px;background:#fffaf9;box-shadow:0 18px 44px rgba(65,39,47,.24);padding:16px;color:#3f3438;pointer-events:auto}.anonymous-sentence-lab-review header,.anonymous-sentence-lab-approved header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.anonymous-sentence-lab-review header span,.anonymous-sentence-lab-approved header span{color:#765c62;font-size:.76rem}.anonymous-sentence-lab-review__warning{margin:0 0 10px;padding:9px 11px;border-radius:10px;background:#f8e8e5;color:#7a3f4b;font-size:.8rem;line-height:1.45}.anonymous-sentence-lab-review__original{margin-bottom:11px;padding:10px;border:1px solid #dfccce;border-radius:11px;background:#fff}.anonymous-sentence-lab-review__original p{margin:5px 0 0;white-space:pre-wrap}.anonymous-sentence-lab-review__original small{color:#765c62}.anonymous-sentence-lab-review__candidates{display:grid;gap:5px;margin:9px 0 0;padding:0;list-style:none}.anonymous-sentence-lab-review__candidates li{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:8px;background:#fff2e2;font-size:.78rem}.anonymous-sentence-lab-review__candidates b{color:#8c531e}.anonymous-sentence-lab-review>label{display:block;margin:9px 0 4px;font-size:.78rem;font-weight:800}.anonymous-sentence-lab-review textarea,.anonymous-sentence-lab-review select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #c9b2b6;border-radius:9px;padding:8px;background:#fff;font:inherit}.anonymous-sentence-lab-review__checks{display:grid;gap:7px;margin:11px 0;padding:11px;border:1px solid #d7c3c6;border-radius:11px;background:#fff}.anonymous-sentence-lab-review__checks legend{padding:0 5px;font-size:.8rem;font-weight:850}.anonymous-sentence-lab-review__checks label{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;line-height:1.4}.anonymous-sentence-lab-review__checks input{flex:0 0 auto;width:20px;height:20px;margin:0}.anonymous-sentence-lab-review__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.anonymous-sentence-lab-review__actions button{min-height:44px;padding:0 14px;border:1px solid #c1a4aa;border-radius:10px;background:#fff}.anonymous-sentence-lab-review__actions .is-primary{border-color:#7d4f5b;background:#7d4f5b;color:#fff}.anonymous-sentence-lab-approved{background:#fffdfb;border-color:#b88e98}.anonymous-sentence-lab-approved blockquote{margin:8px 0 12px;padding:14px;border-left:5px solid #7d4f5b;border-radius:8px;background:#fff2ef;font-size:1.05rem;font-weight:750;line-height:1.6;white-space:pre-wrap}.anonymous-sentence-lab-approved section{display:grid;gap:4px;margin-top:8px;padding:9px;border:1px solid #e2d2d4;border-radius:9px;background:#fff}.anonymous-sentence-lab-approved section p{margin:0;white-space:pre-wrap}.anonymous-sentence-lab-approved section small,.anonymous-sentence-lab-approved>small{color:#765c62;font-size:.76rem}.anonymous-sentence-lab-approved>small{display:block;margin-top:10px}.anonymous-sentence-lab-review button:focus-visible,.anonymous-sentence-lab-review textarea:focus-visible,.anonymous-sentence-lab-review select:focus-visible,.anonymous-sentence-lab-review input:focus-visible{outline:3px solid rgba(125,79,91,.3);outline-offset:2px}
@media (max-width:600px){.anonymous-sentence-lab-review,.anonymous-sentence-lab-approved{left:8px!important;top:58px!important;width:calc(100% - 16px)!important;height:auto!important;max-height:calc(100% - 66px);padding:12px}.anonymous-sentence-lab-review header,.anonymous-sentence-lab-approved header{align-items:flex-start;flex-direction:column}.anonymous-sentence-lab-review__actions{display:grid;grid-template-columns:1fr 1fr}.anonymous-sentence-lab-review__actions button{width:100%}}
@media print{.anonymous-sentence-lab-review,.anonymous-lab-launcher{display:none!important}.anonymous-sentence-lab-approved{border-color:#000!important;background:transparent!important;color:#000!important;box-shadow:none!important}}
