:root{font-family:Pretendard,Noto Sans KR,Malgun Gothic,sans-serif;color:#172033;background:#f5f6fa;font-synthesis:none}.book-tools{display:flex;flex-direction:column;gap:20px}.communication-tools{display:flex;flex-direction:column;gap:16px}.book-workflow-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.book-workflow-links button{display:flex;flex-direction:column;gap:9px;text-align:left;white-space:normal}.book-workflow-links span,.book-workflow-links small{font-size:12px;color:#788297;font-weight:400;line-height:1.7}.book-tools .panel-head{margin-bottom:0}.book-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:24px;align-items:start}.book-method{background:#f6f5ff;border:1px solid #e4e0ff;border-radius:12px;padding:20px}.book-tools h4{margin:0 0 14px;font-size:14px}.book-method ol{margin:0 0 24px;padding-left:21px}.book-method li{padding:0 0 14px 5px;font-size:13px;line-height:1.8;color:#535d74}.book-checks{display:flex;flex-direction:column;gap:13px}.book-checks label{display:flex;align-items:start;gap:8px;font-size:12px;line-height:1.7}.book-checks input{margin-top:4px;accent-color:#6e5ce6}.book-inputs{min-width:0}.book-inputs textarea{min-height:110px}.book-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.book-actions .chatgpt{width:auto;padding:15px 18px;font-size:13px}.book-actions .chatgpt{display:block;margin:0}.evidence-list .evidence-row{grid-template-columns:110px minmax(120px,1.4fr) minmax(100px,1fr) 110px 100px 40px}.evidence-meta{font-size:12px;min-width:0}.evidence-meta[open]{grid-column:1 / -1;grid-row:2;background:#f7f7fc;padding:16px;border-radius:8px;display:grid;gap:12px}.evidence-meta summary{color:#6655dc;cursor:pointer}.book-help{font-size:12px;line-height:1.8;color:#788297;margin:0}.book-method .book-help{margin-top:15px}.book-feedback{color:#216b51;background:#e9f8f0;padding:12px;border-radius:8px;font-size:13px;margin:0}.book-source-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.book-source-controls select{border:1px solid #dde0e8;border-radius:8px;padding:9px;background:#fff}.book-source{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow-y:auto;font-family:inherit;font-size:13px;line-height:1.9;background:#fff;padding:18px;border:1px solid #e3e5ec;border-radius:8px}.technique-selected{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}.technique-selected .secondary{font-size:11px;padding:7px 9px}.technique-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px}.technique-filters select{padding:9px;border:1px solid #dde0e8;border-radius:8px;background:#fff;max-width:240px}.technique-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:520px;overflow-y:auto;padding:3px}.technique-card{border:1px solid #dfe2eb;background:#fff;border-radius:9px;padding:14px;font-size:12px;line-height:1.8;min-width:0}.technique-card.chosen{border-color:#8674eb;background:#f7f5ff}.technique-choice{display:flex;gap:9px;align-items:start;cursor:pointer}.technique-choice input{margin-top:6px;accent-color:#6e5ce6}.technique-choice span{display:flex;flex-direction:column;gap:5px}.technique-choice small{color:#788297;font-size:10px}.technique-choice strong{font-size:13px}.technique-card p{margin:12px 0 0;color:#535d74}.technique-card details{margin-top:10px}.technique-card details summary{font-size:11px;padding:0;color:#6655dc}.technique-card blockquote{margin:12px 0 0;border-left:3px solid #c9c1f5;padding-left:10px;overflow-wrap:anywhere;color:#788297}.technique-card .technique-pattern{background:#f0edf9;border-radius:6px;padding:10px}@media (max-width: 1220px){.book-layout{grid-template-columns:1fr}}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#172238;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:5}.brandmark{display:flex;gap:12px;align-items:center;background:none;border:0;color:#fff;text-align:left;padding:4px 8px 20px}.brandmark>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#6e5ce6;font-size:15px}.brandmark span{display:flex;flex-direction:column;gap:3px}.brandmark strong{font-size:17px;letter-spacing:-.2px}.brandmark small{color:#8995aa;font-size:9px;letter-spacing:1.4px}.new-button{border:1px solid #445069;background:#253148;color:#fff;border-radius:9px;padding:11px;margin:3px 5px 20px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-right:3px}.sidebar nav button{border:0;background:transparent;color:#adb6c8;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:8px;text-align:left}.sidebar nav button:hover{background:#202d45;color:#fff}.sidebar nav button.active{background:#6e5ce6;color:#fff;box-shadow:0 8px 24px #080d184d}.sidebar nav i{font-style:normal;width:20px;text-align:center}.side-status{margin-top:auto;border-top:1px solid #303c52;padding:18px 10px 0;display:flex;justify-content:space-between;color:#aab4c6;font-size:12px}.side-status small{color:#68d6ac}main{grid-column:2;min-width:0}.topbar{height:104px;background:#fff;border-bottom:1px solid #e8eaf0;padding:22px 36px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3}.topbar h1{margin:0 0 5px;font-size:23px;letter-spacing:-.6px}.topbar p{margin:0;color:#788297;font-size:13px}.project-picker{display:flex;flex-direction:column;gap:5px}.top-actions{display:flex;align-items:flex-end;gap:12px}.project-picker span{color:#8a93a5;font-size:11px}.project-picker select{width:260px;border:1px solid #dfe2ea;border-radius:8px;padding:9px 34px 9px 11px;background:#fff;color:#293247}.workspace{padding:30px 36px 60px;max-width:1500px;margin:auto}.stack{display:flex;flex-direction:column;gap:22px}.hero{min-height:280px;background:linear-gradient(125deg,#6454dc,#8071ed 60%,#9d91f4);border-radius:16px;color:#fff;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 38px #5c4eca26}.eyebrow{font-size:11px;letter-spacing:2px;opacity:.75}.hero h2{font-size:34px;line-height:1.35;margin:11px 0;letter-spacing:-1.5px}.hero p{color:#e5e1ff;margin:0 0 24px}.primary,.secondary{border-radius:8px;padding:11px 17px;border:0;font-weight:700}.primary{background:#6e5ce6;color:#fff}.hero .primary{background:#fff;color:#5948d0}.secondary{border:1px solid #dcdfea;background:#fff;color:#4e5870}.large{padding:14px 18px}.progress-card{width:260px;background:#ffffff18;border:1px solid #ffffff2b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:26px;display:flex;flex-direction:column}.progress-card b{font-size:36px}.progress-card span{font-size:13px;color:#e9e6ff}.progress-card small{color:#e3dfff;line-height:1.55}.progress{height:7px;background:#ffffff28;border-radius:9px;margin:18px 0;overflow:hidden}.progress i{display:block;height:100%;background:#fff;border-radius:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article{background:#fff;border:1px solid #e9eaf0;border-radius:12px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.stats small{color:#778198}.stats b{font-size:24px;color:#6554dd}.panel{background:#fff;border:1px solid #e7e9f0;border-radius:13px;padding:26px;box-shadow:0 4px 15px #17203308}.panel h3{margin:0 0 6px;font-size:17px}.panel p{margin:0;color:#7d8699;font-size:13px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.steps button{border:1px solid #e8e9ef;background:#fafafd;border-radius:10px;padding:18px;display:flex;flex-direction:column;text-align:left;gap:7px}.steps button:hover{border-color:#7564e5;transform:translateY(-1px)}.steps span{color:#7767e5;font-size:11px;font-weight:800}.steps b{color:#273047}.steps small{color:#8991a3;line-height:1.45}.text-button{align-self:center;background:transparent;color:#6d5ce0;border:0;padding:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.wide-right{grid-template-columns:.85fr 1.15fr}.form-panel{display:flex;flex-direction:column;gap:20px}.section-title{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eef0f4;padding-bottom:18px}.section-title>span{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#6553db;background:#eeeafe;font-weight:800}.section-title p{line-height:1.5}.field{display:flex;flex-direction:column;gap:7px;color:#30384c;font-size:13px;font-weight:700}.field small{color:#8991a2;font-weight:400;line-height:1.4}.field input,.field textarea{width:100%;border:1px solid #dfe2e9;border-radius:8px;padding:11px 12px;outline:none;color:#263047;background:#fff}.field input:focus,.field textarea:focus{border-color:#7563e3;box-shadow:0 0 0 3px #7563e315}.field textarea{min-height:92px;resize:vertical;line-height:1.55}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tip,.warning-box{background:#f6f4ff;border-left:3px solid #7968e6;padding:15px 17px;border-radius:5px;display:flex;flex-direction:column;gap:5px}.tip b,.warning-box b{font-size:13px}.tip span,.warning-box p{color:#6e768b;font-size:12px;line-height:1.5}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.strategy-grid textarea{min-height:120px}.channel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.channel-grid button{border:1px solid #e0e2e9;background:#fff;border-radius:7px;padding:10px 5px;color:#596278;font-size:12px}.channel-grid button.selected{background:#6e5ce6;border-color:#6e5ce6;color:#fff}.formula-grid{grid-template-columns:repeat(3,1fr)}.formula-grid button{min-height:42px;line-height:1.3}.prompt-box{border:1px solid #e4e5ed;border-radius:10px;overflow:hidden}.prompt-box>div:first-child{display:flex;justify-content:space-between;align-items:center;background:#f8f8fb;padding:12px 14px;font-size:12px}.prompt-box>div:first-child button{background:none;border:0;color:#6655dc}.prompt-box pre{margin:0;padding:15px;max-height:300px;overflow:auto;white-space:pre-wrap;font-family:inherit;font-size:12px;line-height:1.6;color:#505a70;background:#fff}.chatgpt{width:calc(100% - 20px);margin:10px;border:0;border-radius:8px;background:#172238;color:#fff;display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;text-align:left;padding:13px}.chatgpt span{grid-row:1 / 3;font-size:21px;align-self:center}.chatgpt b{font-size:13px}.chatgpt small{color:#aeb7c8;margin-top:3px}.check-list{display:flex;flex-direction:column;border:1px solid #ebecf1;border-radius:9px;overflow:hidden}.check-list div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #eeeef2;font-size:13px}.check-list div:last-child{border:0}.check-list i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal}.check-list i.ok{background:#e5f7ef;color:#168c61}.check-list i.warn{background:#fff2dc;color:#b97814}.check-list b{font-size:11px;color:#8991a2}.compact-checks span{display:flex;flex-direction:column;gap:3px}.compact-checks span strong{color:#30384c;font-size:12px}.compact-checks span small{color:#8991a2;font-size:11px;line-height:1.35}.mini-title{margin-top:4px}.mini-title>span{color:#b97814;background:#fff2dc}.empty-state{padding:32px;border:1px dashed #d8dce6;border-radius:10px;text-align:center;color:#8a93a5;font-size:13px;background:#fafafd}.card-list{display:flex;flex-direction:column;gap:16px}.editor-card{position:relative;display:flex;flex-direction:column;gap:16px;border:1px solid #e4e6ed;border-radius:11px;padding:20px;background:#fcfcfe}.selected-card{border-color:#7563e3;box-shadow:0 0 0 3px #7563e312}.card-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.evidence-list{display:flex;flex-direction:column;gap:9px}.evidence-row{display:grid;grid-template-columns:130px 1.4fr 1fr 110px 45px;gap:8px;align-items:center}.evidence-row select,.evidence-row>input{border:1px solid #dfe2e9;border-radius:7px;padding:10px;min-width:0}.verify{display:flex;align-items:center;gap:6px;color:#596278;font-size:12px}.metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.test-results{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.test-results span{background:#f0eefc;color:#666f82;border-radius:7px;padding:10px;font-size:11px}.test-results b{display:block;color:#5f50d2;font-size:15px;margin-top:3px}.tool-details{border:1px solid #e3e5ec;border-radius:10px;background:#fbfbfd}.tool-details summary{padding:14px 16px;color:#5145b9;font-size:13px;font-weight:800;cursor:pointer}.details-body{border-top:1px solid #e8e9ef;padding:17px;display:flex;flex-direction:column;gap:16px}.score-panel{border:1px solid #e1deff;background:#f8f7ff;border-radius:11px;padding:18px}.score-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.score-head div{display:flex;align-items:baseline;gap:10px}.score-head b{color:#5f50d2;font-size:28px}.score-head span,.score-head small{color:#7e8798;font-size:12px}.score-items{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.score-items span{border-radius:20px;padding:6px 9px;font-size:11px}.score-items .pass{background:#e5f7ef;color:#168c61}.score-items .miss{background:#fff0dc;color:#ad6d0d}.search{width:250px;border:1px solid #dde0e8;padding:10px 12px;border-radius:8px}.project-list{display:flex;flex-direction:column}.project-list article{display:flex;align-items:center;gap:12px;border-top:1px solid #eceef2;padding:14px 6px}.project-list article:first-child{border-top:0}.star{border:0;background:none;color:#f0ad2e;font-size:23px}.project-main{border:0;background:none;text-align:left;display:flex;flex-direction:column;gap:4px;flex:1}.project-main b{color:#283147}.project-main span,.project-main small{color:#858ea1;font-size:12px}.badge{font-size:11px;color:#8d95a5;background:#f0f1f4;border-radius:20px;padding:6px 10px}.badge.done{color:#16835d;background:#e5f6ef}.danger{border:0;background:none;color:#bd6870;font-size:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eceef2;padding:6px 0 17px}.setting-row div{display:flex;flex-direction:column;gap:5px}.setting-row b{font-size:13px}.setting-row span{color:#818a9c;font-size:12px}.setting-row em{font-style:normal;color:#2b9a70;background:#e8f7f1;border-radius:20px;padding:6px 10px;font-size:11px}.toast{position:fixed;bottom:26px;left:calc(50% + 124px);transform:translate(-50%);background:#172238;color:#fff;padding:13px 19px;border-radius:9px;z-index:20;box-shadow:0 8px 30px #10182a44;font-size:13px}@media (max-width: 1220px){.strategy-grid{grid-template-columns:1fr 1fr}.hero{padding:36px}.two-col{gap:16px}.workspace{padding-left:24px;padding-right:24px}}.copy-design{display:flex;flex-direction:column;gap:16px}.copy-design select,.response-tools select{padding:10px;border:1px solid #dfe2eb;border-radius:8px;background:#fff}.pricing-analysis,.response-tools{display:flex;flex-direction:column;gap:14px}.table-scroll{overflow-x:auto}.table-scroll table{width:100%;border-collapse:collapse;font-size:12px}.table-scroll th,.table-scroll td{padding:12px;text-align:left;border:1px solid #e3e5ec}.table-scroll th{background:#f5f3fd}.copy-design h4{margin:8px 0}

:root { --canvas:#f5f6fa; --surface:#fff; --surface-soft:#fafafd; --ink:#172033; --muted:#667187; --line:#dfe2eb; --accent:#6e5ce6; --tint:#f3f0ff; --safe-top:max(20px, env(safe-area-inset-top, 0px)); --safe-bottom:env(safe-area-inset-bottom, 0px); color-scheme:light; }
:root[data-theme="dark"] { --canvas:#111827; --surface:#1b2537; --surface-soft:#202d42; --ink:#edf1f9; --muted:#b1bbce; --line:#3b475e; --accent:#b2a3ff; --tint:#2b2748; color-scheme:dark; }
html { background:var(--canvas); scroll-padding-top:180px; -webkit-text-size-adjust:100%; }
body { min-width:0; background:var(--canvas); color:var(--ink); }
button, a, select, summary { touch-action:manipulation; }
button:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
button:disabled { opacity:.55; cursor:wait; }
input, textarea, select { color:var(--ink); }
.panel, .topbar, .stats article, .technique-card, .book-source, .field input, .field textarea, .project-picker select, .secondary, .channel-grid button, .evidence-row select, .evidence-row>input, .search, .copy-design select, .response-tools select, .book-source-controls select, .technique-filters select { background:var(--surface); border-color:var(--line); color:var(--ink); }
.panel p, .topbar p, .field small, .book-help, .setting-row span, .technique-card p, .technique-card blockquote, .technique-choice small, .project-main span, .project-main small, .project-picker span, .stats small, .steps small { color:var(--muted); }
.tip span, .warning-box p, .book-method li, .score-head small, .score-head span { color:var(--muted); }
.field, .steps b, .project-main b, .compact-checks span strong, .prompt-box pre { color:var(--ink); }
.editor-card, .steps button, .empty-state, .tool-details, .prompt-box>div:first-child { background:var(--surface-soft); border-color:var(--line); color:var(--ink); }
.book-method, .score-panel, .tip, .warning-box, .technique-card.chosen, .technique-card .technique-pattern, .test-results span, .table-scroll th { background:var(--tint); border-color:var(--line); }
.prompt-box pre { background:var(--surface); }
.table-scroll th, .table-scroll td, .setting-row, .section-title, .check-list div, .project-list article, .details-body, .check-list, .prompt-box, .score-panel { border-color:var(--line); }
.section-title>span { background:var(--tint); color:var(--accent); }
.text-button, .prompt-box>div:first-child button, .technique-card details summary, .book-source-controls a, .stats b, .score-head b, .test-results b { color:var(--accent); }
.channel-grid button.selected { background:#6e5ce6; color:#fff; }
.mobile-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:10px 36px; color:var(--muted); background:var(--surface); border-bottom:1px solid var(--line); }
.menu-toggle, .mobile-wordmark { display:none; }
.save-indicator { font-size:12px; color:#248762; white-space:nowrap; }
[data-theme="dark"] .save-indicator { color:#83dbb7; }
.save-indicator.save-error { color:#c85454; }
[data-theme="dark"] .save-indicator.save-error { color:#ffa5a5; }
.theme-choices { display:grid; gap:10px; }
.theme-choice { padding:16px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:10px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:left; }
.theme-choice small { color:var(--muted); line-height:1.5; }
.theme-choice.selected { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); background:var(--tint); }
.setting-row { gap:18px; }
.setting-row span { line-height:1.7; }
.mobile-menu-backdrop { position:fixed; inset:0; background:#080d1890; z-index:100; display:flex; }
.mobile-menu { width:min(88vw,360px); height:100%; height:100dvh; padding:calc(var(--safe-top) + 16px) 20px calc(20px + var(--safe-bottom)); background:var(--surface); box-shadow:12px 0 45px #0003; display:flex; flex-direction:column; gap:16px; }
.mobile-menu-heading { display:flex; justify-content:space-between; align-items:center; }
.mobile-menu nav { overflow-y:auto; flex:1; display:flex; flex-direction:column; gap:5px; overscroll-behavior:contain; }
.mobile-menu nav button { min-height:46px; border:0; border-radius:9px; background:transparent; color:var(--ink); padding:12px; display:flex; gap:14px; align-items:center; text-align:left; }
.mobile-menu nav button span { width:20px; text-align:center; color:var(--accent); }
.mobile-menu nav button.active { background:#6e5ce6; color:#fff; }
.mobile-menu nav button.active span { color:#fff; }
.workspace { padding-bottom:calc(60px + var(--safe-bottom)); }
@media(max-width:1000px) {
  .app-shell { display:block; }
  .sidebar { display:none; }
  main { width:100%; }
  .mobile-toolbar { position:sticky; top:0; z-index:8; min-height:calc(var(--safe-top) + 66px); padding:calc(var(--safe-top) + 10px) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left)); justify-content:space-between; }
  .mobile-wordmark { display:flex; flex-direction:column; gap:3px; }
  .mobile-wordmark b { font-size:15px; color:var(--ink); }
  .mobile-wordmark small { font-size:8px; letter-spacing:1.4px; color:var(--muted); }
  .menu-toggle { display:block; min-height:44px; padding:10px 12px; font-size:13px; }
  .save-indicator { font-size:10px; }
  .topbar { position:static; height:auto; min-height:145px; padding:20px; gap:18px; flex-wrap:wrap; align-items:flex-start; }
  .topbar h1 { font-size:22px; }
  .topbar p { line-height:1.6; }
  .top-actions { flex-wrap:wrap; align-items:flex-end; width:100%; gap:10px; }
  .project-picker { flex:1; min-width:150px; }
  .project-picker select { width:100%; min-height:44px; }
  .top-actions>.secondary { font-size:12px; min-height:44px; }
  .workspace { padding:20px max(16px,env(safe-area-inset-right)) calc(40px + var(--safe-bottom)) max(16px,env(safe-area-inset-left)); }
  .two-col, .wide-right, .book-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  .hero { padding:28px; gap:22px; }
  .hero h2 { font-size:28px; }
  .hero p { line-height:1.7; }
  .progress-card { width:210px; flex-shrink:0; }
  .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .strategy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metrics-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .toast { left:50%; max-width:calc(100vw - 32px); width:max-content; bottom:calc(20px + var(--safe-bottom)); line-height:1.6; }
  input, textarea, select, .field input, .field textarea, .evidence-row>input, .evidence-row select { font-size:16px; }
  .panel, .editor-card, .book-method, .two-col>*, .grid2>*, .strategy-grid>*, .stats>* { min-width:0; }
  .book-workflow-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .book-source-controls label, .technique-filters label { min-width:0; max-width:100%; display:flex; flex-direction:column; gap:8px; }
  .book-source-controls label select, .technique-filters label select { min-width:0; width:100%; max-width:100%; }
  .evidence-row, .evidence-list .evidence-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:14px; border:1px solid var(--line); border-radius:10px; gap:12px; }
  .evidence-row .evidence-meta[open] { grid-row:auto; }
}
@media(max-width:600px) {
  .hero { flex-direction:column; align-items:stretch; padding:25px; }
  .hero h2 { font-size:27px; letter-spacing:-1px; }
  .hero p { font-size:13px; }
  .progress-card { width:100%; padding:18px; }
  .progress-card b { font-size:28px; }
  .stats { gap:8px; }
  .stats article { padding:16px 10px; flex-direction:column; gap:10px; align-items:flex-start; }
  .stats small { font-size:10px; }
  .stats b { font-size:22px; }
  .panel { padding:20px 16px; border-radius:12px; }
  .panel-head { align-items:flex-start; flex-wrap:wrap; gap:14px; }
  .panel p { line-height:1.7; }
  .panel-head>.search { width:100%; }
  .section-title { align-items:flex-start; }
  .section-title h3 { font-size:16px; }
  .grid2, .strategy-grid, .technique-cards, .book-workflow-links { grid-template-columns:minmax(0,1fr); }
  .channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .channel-grid button { min-height:44px; padding:10px 8px; }
  .primary, .secondary { min-height:44px; }
  .steps button { padding:14px; }
  .steps b { font-size:13px; }
  .steps small { font-size:11px; line-height:1.7; }
  .metrics-grid, .test-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-list article { flex-wrap:wrap; gap:10px; }
  .project-main { flex-basis:calc(100% - 50px); min-width:0; }
  .project-main b, .project-main span, .project-main small { overflow-wrap:anywhere; }
  .card-actions { flex-wrap:wrap; }
  .check-list div { grid-template-columns:24px minmax(0,1fr); padding:12px 10px; }
  .check-list div>b { grid-column:2; }
  .score-head { align-items:flex-start; flex-direction:column; }
  .book-source-controls select, .technique-filters select { max-width:100%; }
  .book-source { padding:12px; }
  .prompt-box>div:first-child { flex-wrap:wrap; gap:8px; }
  .book-actions { align-items:stretch; flex-direction:column; }
  .setting-row { align-items:flex-start; }
  .setting-row em { white-space:nowrap; }
  .table-scroll table { min-width:520px; }
  .field textarea { min-height:116px; }
  .book-feedback { line-height:1.7; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
