:root{--ink: #1d211d;--paper: #f3eddd;--paper-deep: #e8ddc7;--panel: #f8f5ec;--line: #cfc3ad;--muted: #665f53;--red: #d83a31;--blue: #37677b;--green: #506f55;--z-toolbar: 10;--z-modal: 30;color:var(--ink);background:#dfd7c9;font-family:Segoe UI,Aptos,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden}button,input,textarea{font:inherit}button{min-height:36px;padding:0 12px;border:1px solid #bbb2a2;border-radius:4px;color:var(--ink);background:#fffdf7;cursor:pointer}button:hover{border-color:#8d8374}button:focus-visible,input:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid rgb(216 58 49 / 30%);outline-offset:2px}button:disabled{opacity:.45;cursor:default}.primary-button{border-color:var(--red);color:#fffdf7;background:var(--red)}.danger-text{color:#a92720}.danger-button{border-color:#a92720;color:#fff;background:#a92720}.app-shell{display:grid;grid-template-rows:62px minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden}.topbar{position:relative;z-index:var(--z-toolbar);display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));border-bottom:1px solid #c7bcaa;background:#f8f5ec}.brand{display:flex;align-items:center;min-width:0;gap:10px}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--ink);color:var(--ink);font-family:Georgia,Cambria,serif;font-size:13px;font-weight:700}.brand div{display:grid;min-width:0}.brand b,.brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand b{font-family:Georgia,Cambria,serif;font-size:16px}.brand small{margin-top:2px;color:var(--muted);font-size:11px}.topbar-actions{display:flex;gap:7px}.workspace{display:grid;grid-template-columns:214px minmax(430px,1fr) 310px;min-height:0}.sidebar,.inspector{min-height:0;background:var(--panel)}.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-right:1px solid var(--line)}.sidebar-heading,.inspector-heading{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border-bottom:1px solid var(--line)}.sidebar-heading span,.inspector-heading span{font-size:13px;font-weight:800}.sidebar-heading b{color:var(--muted);font-size:12px}.thumbnail-list{overflow:auto;padding:12px}.thumbnail-button{display:grid;grid-template-columns:22px 1fr;width:100%;height:auto;margin:0 0 10px;padding:7px;gap:6px;border-color:transparent;background:transparent;text-align:left}.thumbnail-button.selected{border-color:#928675;background:#eee7d9}.thumbnail-number{padding-top:2px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.thumbnail-canvas{container-type:inline-size;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #baad9a;background:var(--paper);pointer-events:none}.thumbnail-canvas .slide{width:100%}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border-top:1px solid var(--line)}.sidebar-actions button{min-height:32px;padding:0 7px;font-size:11px}.stage{display:grid;grid-template-rows:30px minmax(0,1fr) auto;min-width:0;min-height:0;overflow:auto;padding:14px 24px 18px;background:#d6ccbb}.stage-label{display:flex;align-items:flex-start;justify-content:space-between;color:#5f584d;font-size:11px}.slide-frame{container-type:inline-size;align-self:center;width:min(100%,calc((100dvh - 205px) * 16 / 9));margin:auto;box-shadow:0 16px 38px #231d152e}.speaker-note-preview{width:min(100%,900px);margin:14px auto 0;padding:12px 14px;border-left:4px solid var(--red);background:#fffdf7b8}.speaker-note-preview b{font-size:11px;text-transform:uppercase}.speaker-note-preview p{margin:4px 0 0;color:#5e574d;font-size:12px;line-height:1.45}.inspector{display:grid;grid-template-rows:auto auto minmax(0,1fr);border-left:1px solid var(--line)}.inspector-heading{align-items:flex-start;flex-direction:column;justify-content:center}.inspector-heading small{margin-top:2px;color:var(--muted);font-size:10px}.inspector-section{padding:13px;border-bottom:1px solid var(--line)}.compact-fields{display:grid;gap:10px}.field-list{overflow:auto;border:0}label{display:grid;gap:5px;color:#5c554a;font-size:10px;font-weight:800}input,textarea{width:100%;border:1px solid #c3b7a4;border-radius:4px;color:var(--ink);background:#fffdf7}input{height:34px;padding:0 9px}textarea{min-height:54px;padding:8px 9px;resize:vertical;line-height:1.35}.field-list label{margin-bottom:12px}.field-list textarea{font-size:12px;font-weight:400}.notes-field{padding-top:12px;border-top:1px solid var(--line);color:var(--red)}.slide{position:relative;aspect-ratio:16 / 9;width:100%;overflow:hidden;color:var(--ink);background:linear-gradient(90deg,transparent 0,transparent 52px,rgb(95 73 43 / 5%) 52px,transparent 53px),var(--paper);font-size:1cqw}.book-spine{position:absolute;top:0;bottom:0;left:0;display:grid;width:3.5%;place-items:center;color:#fffdf7;background:var(--red);font-size:.72em;font-weight:800;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.slide-kicker{position:absolute;top:4.6%;left:6.1%;color:var(--red);font-size:.76em;font-weight:850;text-transform:uppercase}.slide-title{position:absolute;top:9.5%;left:6.1%;width:87.5%;margin:0;font-family:Georgia,Cambria,serif;font-size:2.78em;line-height:1.08;text-wrap:balance}.slide-footer{position:absolute;right:4.8%;bottom:2.6%;left:6.1%;display:flex;justify-content:space-between;padding-top:.7em;border-top:1px solid rgb(29 33 29 / 24%);color:#6b6358;font-size:.58em}.editable-text{white-space:pre-line;text-wrap:pretty}.editable-text:hover,.editable-text:focus{background:#d83a3114}.source-figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;margin:0;border-top:1px solid #8d806f;border-bottom:1px solid #8d806f;background:#fffaf0}.source-figure img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.source-figure figcaption{display:grid;grid-template-columns:auto 1fr;gap:.8em;align-items:baseline;padding:.75em .85em;border-top:1px solid #d1c5b3;color:#574f45;font-size:.72em;line-height:1.25}.source-figure b{display:inline-grid;min-width:2.3em;min-height:1.8em;place-items:center;color:#fffdf7;background:#6f6a62;font-family:Georgia,Cambria,serif}.cover-layout{position:absolute;top:11%;right:5.2%;bottom:8%;left:6.1%;display:grid;grid-template-columns:1fr 23%;grid-template-rows:1fr auto;gap:3.2em 3em}.cover-main{align-self:end;padding-bottom:2.2em;border-bottom:.45em solid var(--red)}.cover-title{margin:0;font-family:Georgia,Cambria,serif;font-size:5.55em;line-height:.98;text-wrap:balance}.cover-headline{width:75%;margin-top:.95em;font-size:1.48em;font-weight:750;line-height:1.35}.cover-subtitle{width:69%;margin-top:1.1em;color:var(--muted);font-size:1.02em;line-height:1.45}.cover-meta{margin-top:1.5em;color:var(--red);font-size:.9em;font-weight:800;text-transform:uppercase}.cover-poster{grid-row:1 / 3;grid-column:2;align-self:stretch}.cover-agenda{display:flex;flex-wrap:wrap;gap:.7em;align-content:start}.agenda-chip{padding:.55em .8em;border:1px solid #a89a86;color:#3b352e;background:#f9f3e8;font-size:.88em;font-weight:800}.map-layout{position:absolute;top:25.5%;right:5.2%;bottom:8.6%;left:6.1%;display:grid;grid-template-columns:67% 1fr;gap:2.8em}.map-figure img{padding:1.1em}.analysis-panel{display:grid;align-content:start;min-width:0;border-top:1px solid #8d806f}.panel-label{margin:0;padding:1em 0 .8em;color:var(--red);font-size:.74em;font-weight:850;text-transform:uppercase}.point-list{display:grid}.point-row{display:grid;grid-template-columns:8.8em 1fr;gap:1.1em;padding:1.2em 0;border-top:1px solid #d1c5b3}.point-label{color:var(--ink);font-family:Georgia,Cambria,serif;font-size:.98em;font-weight:700;white-space:nowrap}.point-text{color:var(--muted);font-size:.98em;line-height:1.45}.stat-note{margin-top:1.6em;padding-top:1.2em;border-top:.35em solid var(--red)}.stat-value{font-family:Georgia,Cambria,serif;font-size:2.65em;font-weight:700}.stat-label{margin-top:.35em;color:var(--muted);font-size:.88em;line-height:1.35}.policy-layout{position:absolute;top:25.5%;right:5.2%;bottom:8.6%;left:6.1%;display:grid;grid-template-columns:47% 22% 1fr;gap:2em}.chart-figure img{padding:1.1em}.policy-source{background:#f1e5c7}.policy-events{border-top:1px solid #8d806f}.event-row{display:grid;grid-template-columns:4.8em 1fr;gap:.9em;padding:1.15em 0;border-bottom:1px solid #d1c5b3}.event-year{color:var(--red);font-family:Georgia,Cambria,serif;font-size:1.18em;font-weight:700}.event-text{color:var(--muted);font-size:.95em;line-height:1.35}.effect-box{margin-top:1.3em;padding:1em 0;border-top:.35em solid var(--red);font-family:Georgia,Cambria,serif;font-size:1.2em;font-weight:700;line-height:1.28}.animation-spread{position:absolute;inset:25% 5.2% auto 6.1%;display:grid;grid-template-columns:1fr 1fr;gap:2.4em}.animation-panel{min-width:0;margin:0;border-top:1px solid #8d806f;border-bottom:1px solid #8d806f;background:#fffaf0}.animation-panel img{display:block;width:100%;aspect-ratio:1.62 / 1;object-fit:contain}.animation-panel figcaption{display:grid;grid-template-columns:29% 1fr;gap:1.1em;padding:.95em 1em;border-top:1px solid #d1c5b3}.animation-year{color:var(--red);font-family:Georgia,Cambria,serif;font-size:1.52em;font-weight:700}.animation-note{color:var(--muted);font-size:.86em;line-height:1.35}.conclusion-line{position:absolute;right:5.2%;bottom:8.2%;left:6.1%;display:grid;grid-template-columns:6.5em 1fr;gap:1em;padding-top:1em;border-top:.35em solid var(--red);font-family:Georgia,Cambria,serif;font-size:1.22em;font-weight:700;line-height:1.28}.conclusion-line span{color:var(--red)}.labor-layout{position:absolute;top:25.5%;right:5.2%;bottom:8.6%;left:6.1%;display:grid;grid-template-columns:55% 1fr;gap:2.6em}.labor-sources{display:grid;grid-template-columns:1fr 1fr;gap:1.4em;min-height:0}.labor-sources .source-figure:first-child{grid-row:span 2}.labor-panel .point-row{grid-template-columns:8.8em 1fr}.takeaway{margin-top:1.4em;padding-top:1.1em;border-top:.35em solid var(--red);font-family:Georgia,Cambria,serif;font-size:1.27em;font-weight:700;line-height:1.3}.balance-layout{position:absolute;top:25%;right:5.2%;bottom:8.6%;left:6.1%;display:grid;grid-template-rows:1fr auto;gap:1.6em}.balance-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff8eb}.balance-table th,.balance-table td{padding:1.15em 1.2em;border:1px solid #cbbda8;vertical-align:top;text-align:left}.balance-table thead th{color:#fffdf7;background:#3a352e;font-size:.8em;text-transform:uppercase}.balance-table tbody th{width:18%;color:var(--red);font-family:Georgia,Cambria,serif;font-size:1.12em}.balance-table td{color:var(--muted);font-size:.98em;line-height:1.45}.verdict-box{display:grid;grid-template-columns:6em 1fr;gap:1em;padding-top:1em;border-top:.35em solid var(--red);font-family:Georgia,Cambria,serif;font-size:1.18em;font-weight:700;line-height:1.3}.verdict-box span{color:var(--red)}.presentation-mode{display:grid;min-height:100dvh;place-items:center;overflow:hidden;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(70px,calc(56px + env(safe-area-inset-bottom))) max(10px,env(safe-area-inset-left));background:#181512}.presentation-slide{container-type:inline-size;width:min(100%,calc((100dvh - 92px) * 16 / 9));box-shadow:0 12px 50px #00000073}.presentation-slide .slide>*{animation:slide-enter .16s ease-out both}.presentation-controls{position:fixed;z-index:var(--z-toolbar);right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:8px 12px max(8px,env(safe-area-inset-bottom));color:#fff;background:#211d19}.presentation-controls span{min-width:58px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.presenter-notes{position:fixed;z-index:var(--z-toolbar);right:max(16px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:min(520px,calc(100vw - 32px));padding:16px 18px;border-left:4px solid var(--red);color:#fffdf7;background:#29231d;font-size:15px;line-height:1.5;box-shadow:0 8px 30px #00000057}.modal-backdrop{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0;display:grid;padding:24px;place-items:center;background:#181512a3}.modal{width:min(680px,100%);max-height:min(760px,calc(100dvh - 48px));overflow:auto;border-radius:4px;background:#f8f5ec;box-shadow:0 24px 70px #00000052}.small-modal{width:min(480px,100%);padding:24px}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px}.modal-header{border-bottom:1px solid var(--line)}.modal-footer{border-top:1px solid var(--line)}.modal h2{margin:4px 0 0;font-family:Georgia,Cambria,serif;font-size:25px;text-wrap:balance}.help-steps{display:grid;margin:0;padding:22px 42px;gap:18px}.help-steps li{padding-left:6px}.help-steps b,.help-steps span{display:block}.help-steps span{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.45}@keyframes slide-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1120px){.workspace{grid-template-columns:170px minmax(420px,1fr) 275px}.topbar-actions button{padding:0 9px;font-size:12px}}@media(max-width:900px){body{overflow:auto}.app-shell{grid-template-rows:auto auto;height:auto;overflow:visible}.topbar{flex-wrap:wrap;gap:8px;padding-block:10px}.topbar-actions{width:100%;overflow-x:auto}.topbar-actions button{flex:0 0 auto}.workspace{display:flex;min-height:auto;flex-direction:column}.sidebar{display:block;border-right:0;border-bottom:1px solid var(--line)}.sidebar-heading{display:none}.thumbnail-list{display:flex;padding:10px;overflow-x:auto}.thumbnail-button{flex:0 0 170px;margin:0 8px 0 0}.sidebar-actions{display:flex;overflow-x:auto}.sidebar-actions button{flex:1 0 auto}.stage{min-height:auto;padding:14px 12px}.slide-frame{width:100%}.inspector{display:block;border-top:1px solid var(--line);border-left:0}.field-list{max-height:none}}@media(max-width:560px){.brand{width:100%}.stage-label span:last-child{display:none}.presentation-controls{justify-content:flex-start;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
