:root{color-scheme:light;--bg: #f4f6f8;--panel: #ffffff;--panel-soft: #f9fafb;--ink: #1f252d;--muted: #65717f;--line: #d9e0e8;--soft-line: #e9edf2;--teal: #0b6f6a;--teal-soft: #e6f3f1;--blue: #2d5d91;--blue-soft: #e8f0fa;--green: #2f7d4c;--green-soft: #e8f4ed;--amber: #aa7219;--amber-soft: #fff4df;--red: #b34242;--red-soft: #fdecec;--shadow: 0 10px 24px rgba(31, 37, 45, .08);--radius: 8px;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);letter-spacing:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:9px 10px;outline:none}textarea{min-height:112px;line-height:1.45;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0b6f6a1f}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-button{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:12px;padding:0;text-align:left}.brand-button strong{display:block;font-size:1.02rem;line-height:1.18}.brand-button small{display:block;color:var(--muted);font-size:.82rem}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #c7dedb;border-radius:var(--radius);background:var(--teal-soft);color:var(--teal);font-weight:800}.topbar-actions,.toolbar,.mini-actions,.export-actions,.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-chip{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:#3c4652;font-size:.86rem}.presence-dot{width:8px;height:8px;border-radius:999px;background:var(--green)}.btn,.icon-btn,.segmented button{min-height:36px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 11px;line-height:1.1;white-space:nowrap}.btn:hover,.btn:focus-visible,.icon-btn:hover,.icon-btn:focus-visible,.segmented button:hover,.segmented button:focus-visible{border-color:var(--teal);outline:3px solid rgba(11,111,106,.12);outline-offset:1px}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.danger-text{color:var(--red)}.icon-btn{width:36px;padding:0}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);gap:2px}.segmented button{border-color:transparent;background:transparent}.segmented button.active{background:var(--teal-soft);border-color:#bddbd8;color:var(--teal)}.loading-screen,.auth-required{min-height:70vh;display:grid;place-items:center;color:var(--muted)}.loading-screen{grid-auto-flow:column;gap:10px}.auth-card{width:min(440px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:28px;box-shadow:var(--shadow)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.library-page{padding:24px;max-width:1440px;width:100%;margin:0 auto}.library-header,.library-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.library-header h1{margin-bottom:4px;font-size:1.55rem}.library-header p{margin:0;color:var(--muted)}.search-box{flex:1 1 420px;max-width:680px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:0 10px}.search-box input{border:0;box-shadow:none;padding-left:0}.toggle-line{display:inline-flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}.toggle-line input{width:auto}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.scenario-card{min-height:224px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:18px}.scenario-card.is-archived{background:#fbfbfc}.scenario-card h2{margin:10px 0 6px;font-size:1.08rem;line-height:1.25}.scenario-card p{color:var(--muted);min-height:42px}.scenario-card small{display:block;color:var(--muted);margin-top:12px}.scenario-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.scenario-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.muted{background:#edf1f5;color:#5f6b78}.notice{border:1px solid var(--line);background:var(--panel-soft);border-radius:var(--radius);padding:12px;color:var(--muted)}.notice.danger{border-color:#efc7c7;background:var(--red-soft);color:var(--red)}.notice.success{border-color:#bee0c9;background:var(--green-soft);color:var(--green)}.loading-inline,.empty-state,.empty-mini{display:grid;place-items:center;gap:10px;min-height:160px;color:var(--muted);text-align:center}.empty-state h2{margin-bottom:0;color:var(--ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1f252d3d;z-index:40}.modal{width:min(520px,calc(100vw - 32px));display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.modal label,.field-group label{display:grid;gap:7px;color:#3c4652;font-weight:700;font-size:.86rem}.modal-actions{justify-content:flex-end}.editor-page{min-width:0}.conflict-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #efc7c7;background:var(--red-soft);color:var(--red)}.conflict-banner span{color:#6f3333}.editor-toolbar{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:70px;z-index:10}.toolbar-spacer{flex:1 1 auto}.save-state{min-width:112px;color:var(--muted);font-size:.84rem;text-align:right}.save-state.saving,.save-state.dirty{color:var(--amber)}.save-state.failed,.save-state.conflict{color:var(--red)}.save-state.copied,.save-state.saved{color:var(--green)}.workspace{height:calc(100vh - 128px);display:grid;grid-template-columns:minmax(340px,.8fr) minmax(460px,1.25fr) minmax(360px,1fr);gap:12px;padding:12px;min-width:0}.panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.panel-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel-soft)}.panel-head h2{margin:0;font-size:1rem}.panel-head small{color:var(--muted)}.outline-search{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--soft-line)}.outline-search input{border:0;box-shadow:none;background:transparent}.outline-list,.form-scroll,.preview-body{min-height:0;overflow:auto}.outline-list{padding:8px}.outline-row{width:100%;border:1px solid transparent;border-radius:var(--radius);background:transparent;display:grid;gap:5px;padding:11px 12px;color:var(--ink);text-align:left}.outline-row:hover,.outline-row.active{background:var(--teal-soft);border-color:#bddbd8}.outline-title{font-weight:800;line-height:1.25}.outline-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.form-scroll{padding:14px}.field-group{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 14px;padding:14px;display:grid;gap:12px}.field-group legend{padding:0 6px;color:#3c4652;font-weight:800}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.short-textarea{min-height:72px}.inline-issues{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row small{color:var(--muted)}.choice-editor{border:1px solid var(--soft-line);border-radius:var(--radius);display:grid;gap:12px;padding:12px;background:#fff}.choice-editor+.choice-editor{margin-top:12px}.choice-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.advanced-details{border-top:1px solid var(--soft-line);padding-top:8px}.advanced-details summary{color:var(--muted);cursor:pointer;font-weight:700}.advanced-details pre,.json-preview{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#111820;color:#e8edf2;padding:12px;font-size:.78rem;line-height:1.45}.preview-head .btn{min-height:34px}.preview-body{background:#edf2f4;padding:16px}.preview-only-shell{min-height:100vh;background:#edf2f4;color:var(--ink)}.preview-only-toolbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-only-title{display:flex;align-items:center;gap:12px;min-width:0}.preview-only-title h1{margin:0;font-size:1.06rem;line-height:1.2}.preview-only-title p{margin:2px 0 0;color:var(--muted);font-size:.84rem;line-height:1.25}.preview-only-layout{width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:280px minmax(620px,1fr);gap:16px;padding:18px}.preview-status-panel{align-self:start;display:grid;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:14px}.preview-status-panel h2{margin:0 0 5px;font-size:.82rem;color:#3c4652;text-transform:uppercase;letter-spacing:0}.preview-status-panel p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.preview-meter-list{display:grid;gap:8px}.preview-meter{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--soft-line);border-radius:var(--radius);padding:8px 10px;background:var(--panel-soft)}.preview-meter span{color:var(--muted);font-size:.86rem}.preview-meter strong{font-size:1rem}.preview-only-error{width:min(520px,calc(100vw - 32px));min-height:70vh;margin:0 auto;display:grid;place-content:center;gap:12px}.play-surface{width:100%;max-width:760px;min-width:0;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.player-surface{max-width:900px;box-shadow:var(--shadow)}.play-kicker{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#dce9eb;color:var(--muted);font-size:.82rem}.editable-preview{width:100%;border:1px solid transparent;background:transparent;color:inherit;display:block;position:relative;text-align:left;padding:10px 14px;white-space:normal;overflow-wrap:anywhere}.editable-preview:hover,.editable-preview:focus-visible{border-color:#bddbd8;outline:3px solid rgba(11,111,106,.12);outline-offset:-3px}.edit-chip{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 7px;border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:.72rem;font-weight:800;opacity:0;transition:opacity .12s ease}.editable-preview:hover .edit-chip,.editable-preview:focus-visible .edit-chip{opacity:1}.preview-title{font-size:1.35rem;line-height:1.24;font-weight:850;padding-top:18px}.readonly-preview{padding:10px 14px;white-space:pre-wrap;overflow-wrap:anywhere}.preview-text{color:#2f3844;font-size:.98rem;line-height:1.5}.stakeholder-block{margin:8px 14px 12px;border-left:4px solid var(--teal);background:var(--teal-soft);color:#2b3f42;padding-left:12px}.stakeholder-block .edit-chip{right:10px}.preview-choices{border-top:1px solid var(--line)}.preview-choice{border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:end;padding:10px 12px}.preview-choice:last-child{border-bottom:0}.preview-choice .editable-preview{grid-column:1;padding:6px 0}.player-surface .choice-label-preview,.player-surface .choice-rationale-preview,.player-surface .principle-pill{grid-column:1}.choice-label-preview{font-weight:750;line-height:1.35}.choice-rationale-preview{color:var(--muted);font-size:.9rem;line-height:1.4}.principle-pill{width:fit-content;max-width:100%;min-height:26px;margin-top:4px;border-radius:999px;background:#edf1f5;color:#5f6b78;font-size:.78rem;font-weight:700;padding:5px 8px}.principle-pill .edit-chip{display:none}.choose-btn{grid-column:2;grid-row:1 / span 3;align-self:end}.ending-complete{display:inline-flex;align-items:center;gap:8px;margin:4px 14px 16px;min-height:34px;width:fit-content;border:1px solid #bee0c9;border-radius:var(--radius);background:var(--green-soft);color:var(--green);padding:7px 10px;font-weight:800;font-size:.86rem}.inline-editor{padding:10px 14px;display:grid;gap:8px}.inline-editor textarea{min-height:92px}.inline-actions{display:flex;justify-content:flex-end;gap:8px}.issue-section{display:grid;gap:8px;margin-bottom:18px}.issue-section h3{margin-bottom:2px}.issue-row{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:flex;align-items:center;gap:10px;padding:10px;text-align:left}.version-list{display:grid;gap:10px}.version-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.version-row h3{margin:8px 0 4px;font-size:.98rem}.version-row small{color:var(--muted)}.export-panel{display:grid;gap:12px}.meter-row{display:grid;gap:4px;border:1px solid var(--soft-line);border-radius:var(--radius);padding:10px}.meter-row span,.meter-row small{color:var(--muted)}@media(max-width:1100px){.workspace{grid-template-columns:minmax(320px,380px) minmax(560px,1fr);height:auto;min-height:calc(100vh - 128px)}.preview-panel{grid-column:1 / -1;min-height:520px}.preview-only-layout{grid-template-columns:1fr}.preview-status-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.topbar,.library-header,.library-controls,.editor-toolbar,.preview-only-toolbar{align-items:stretch;flex-direction:column;height:auto}.editor-toolbar{top:0}.workspace{display:block;padding:8px}.panel{margin-bottom:10px;min-height:420px}.two-col,.preview-choice{grid-template-columns:1fr}.preview-only-layout{padding:8px}.preview-status-panel{grid-template-columns:1fr}.choose-btn{grid-column:1;grid-row:auto;width:fit-content}}
