@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap";.imp-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#7c2d12;color:#fff7ed;border-bottom:3px solid #fdba74;font-size:14px;box-shadow:0 4px 16px #0006}.imp-banner-warning{background:#991b1b;border-bottom-color:#fca5a5;animation:imp-pulse 1.6s ease-in-out infinite}@keyframes imp-pulse{0%,to{box-shadow:0 4px 16px #0006}50%{box-shadow:0 4px 28px #ef4444a6}}.imp-banner-icon{font-size:18px;flex:none}.imp-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-banner-text strong{font-weight:700}.imp-banner-tier{opacity:.85;font-size:13px}.imp-banner-role{text-transform:capitalize}.imp-banner-countdown{flex:none;font-size:12px;opacity:.9;background:#00000040;padding:3px 8px;border-radius:999px}.imp-banner-exit{flex:none;background:#fff7ed;color:#7c2d12;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer}.imp-banner-exit:hover{background:#ffedd5}.imp-banner-exit:focus-visible{outline:3px solid #fff;outline-offset:2px}body.imp-active{padding-top:44px}.imp-section{border-top:1px solid var(--ocf-border, #33333c);padding:16px 20px}.imp-section h3{margin:0 0 4px;font-size:14px;font-weight:600}.imp-section-hint{margin:0 0 12px;font-size:12px;color:var(--ocf-text-dim, #a0a0ab)}.imp-search-row{display:flex;gap:8px;margin-bottom:8px}.imp-search-row input{flex:1;background:var(--ocf-surface-2, #26262e);color:var(--ocf-text, #e8e8ea);border:1px solid var(--ocf-border, #33333c);border-radius:6px;padding:8px 10px;font-size:13px}.imp-search-row input:focus-visible{outline:2px solid var(--ocf-accent, #7c9aff);outline-offset:1px}.imp-results{list-style:none;margin:0 0 12px;padding:0;max-height:180px;overflow-y:auto;border:1px solid var(--ocf-border, #33333c);border-radius:8px}.imp-results li{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px}.imp-results li+li{border-top:1px solid var(--ocf-border, #33333c)}.imp-user-email{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-user-tier{flex:none;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ocf-text-dim, #a0a0ab);background:var(--ocf-surface-2, #26262e);padding:2px 8px;border-radius:999px}.imp-results button{flex:none;background:var(--ocf-accent, #7c9aff);color:#fff;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.imp-results button:hover{filter:brightness(1.1)}.imp-no-results{font-size:12px;color:var(--ocf-text-dim, #a0a0ab);margin:0 0 12px}.imp-role-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}.imp-role-row button{background:var(--ocf-surface-2, #26262e);color:var(--ocf-text, #e8e8ea);border:1px solid var(--ocf-border, #33333c);border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer}.imp-role-row button:hover{border-color:var(--ocf-accent, #7c9aff)}.imp-active-session{display:flex;align-items:center;gap:10px;background:#7c2d1240;border:1px solid #9a3412;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:12px}.imp-active-session button{margin-left:auto;flex:none;background:#fff7ed;color:#7c2d12;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}.imp-audit{margin-top:4px}.imp-audit h4{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--ocf-text-dim, #a0a0ab);text-transform:uppercase;letter-spacing:.05em}.imp-audit ul{list-style:none;margin:0;padding:0;font-size:12px;color:var(--ocf-text-dim, #a0a0ab)}.imp-audit li{padding:4px 0;border-top:1px solid var(--ocf-border, #33333c);display:flex;gap:8px}.imp-audit-action{flex:none;font-weight:600;color:var(--ocf-text, #e8e8ea)}.imp-audit-time{margin-left:auto;flex:none}@keyframes char-walk-leg-a{0%,to{transform:rotate(24deg)}50%{transform:rotate(-24deg)}}@keyframes char-walk-leg-b{0%,to{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}@keyframes char-walk-arm-a{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}@keyframes char-walk-arm-b{0%,to{transform:rotate(18deg)}50%{transform:rotate(-18deg)}}[data-char-anim=walk] .char-leg-l{animation:char-walk-leg-a var(--char-step-dur, .6s) ease-in-out infinite}[data-char-anim=walk] .char-leg-r{animation:char-walk-leg-b var(--char-step-dur, .6s) ease-in-out infinite}[data-char-anim=walk] .char-arm-l{animation:char-walk-arm-a var(--char-step-dur, .6s) ease-in-out infinite}[data-char-anim=walk] .char-arm-r{animation:char-walk-arm-b var(--char-step-dur, .6s) ease-in-out infinite}@keyframes char-idle-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes char-idle-head{0%,to{transform:rotate(0)}50%{transform:rotate(1.5deg)}}[data-char-anim=idle] .char-torso,[data-char-anim=idle] .char-head{animation:char-idle-sway 3s ease-in-out infinite}[data-char-anim=stand] .char-torso,[data-char-anim=stand] .char-head{animation:char-idle-sway 3.4s ease-in-out infinite}@keyframes char-talk-mouth{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@keyframes char-talk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(1.5px)}}[data-char-anim=talk] .char-mouth{animation:char-talk-mouth .45s ease-in-out infinite}[data-char-anim=talk] .char-head{animation:char-talk-bob .9s ease-in-out infinite}@keyframes char-wave{0%{transform:rotate(0)}20%{transform:rotate(-150deg)}40%{transform:rotate(-120deg)}60%{transform:rotate(-150deg)}80%{transform:rotate(-120deg)}to{transform:rotate(-150deg)}}[data-char-anim=wave] .char-arm-r{animation:char-wave 1.2s ease-in-out 1;transform:rotate(-150deg)}[data-char-anim=point] .char-arm-r{transform:rotate(-75deg)}[data-char-anim=point] .char-head{transform:rotate(4deg)}@keyframes char-nod{0%{transform:rotate(0)}30%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}to{transform:rotate(0)}}[data-char-anim=nod] .char-head{animation:char-nod .7s ease-in-out 1}@keyframes char-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(8deg)}}[data-char-anim=shake] .char-head{animation:char-shake .8s ease-in-out 1}[data-char-anim=sit] .char-leg-l,[data-char-anim=sit] .char-leg-r{transform:rotate(75deg)}[data-char-anim=sit] .char-torso,[data-char-anim=sit] .char-head{transform:translateY(26px)}[data-char-anim=sit] .char-arm-l,[data-char-anim=sit] .char-arm-r{transform:rotate(20deg)}.char-flip{transform:scaleX(-1)}.char-speech-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;max-width:220px;padding:8px 12px;background:#fff;color:#1a202c;border-radius:12px;font-size:13px;line-height:1.35;box-shadow:0 2px 8px #0000002e;pointer-events:none;z-index:5}.char-speech-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#fff}.char-path-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ocf-accent, #2b6cb0);border:2px solid #fff;box-shadow:0 1px 4px #0000004d;transform:translate(-50%,-50%);z-index:6}@media(prefers-reduced-motion:reduce){[data-char-anim] .char-head,[data-char-anim] .char-mouth,[data-char-anim] .char-torso,[data-char-anim] .char-arm-l,[data-char-anim] .char-arm-r,[data-char-anim] .char-leg-l,[data-char-anim] .char-leg-r{animation:none!important}}.flag-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000}.flag-panel{background:var(--ocf-surface, #1e1e24);color:var(--ocf-text, #e8e8ea);border:1px solid var(--ocf-border, #33333c);border-radius:12px;width:min(680px,92vw);max-height:84vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000080}.flag-panel-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ocf-border, #33333c)}.flag-panel-header h2{margin:0;font-size:16px;font-weight:600;flex:1}.flag-preview{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ocf-text-dim, #a0a0ab)}.flag-preview select{background:var(--ocf-surface-2, #26262e);color:var(--ocf-text, #e8e8ea);border:1px solid var(--ocf-border, #33333c);border-radius:6px;padding:6px 8px;font-size:13px}.flag-close{background:none;border:none;color:var(--ocf-text-dim, #a0a0ab);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px}.flag-close:hover{background:var(--ocf-border-soft, #2a2a33);color:var(--ocf-text, #e8e8ea)}.flag-hint{margin:0;padding:12px 20px;font-size:13px;color:var(--ocf-text-dim, #a0a0ab);border-bottom:1px solid var(--ocf-border, #33333c)}.flag-list{overflow-y:auto;padding:8px 0;flex:1}.flag-row{display:flex;gap:14px;padding:14px 20px;border-bottom:1px solid var(--ocf-border-soft, #2a2a33);align-items:flex-start}.flag-row.flag-off .flag-label,.flag-row.flag-off .flag-desc{opacity:.5}.flag-switch{flex-shrink:0;width:40px;height:22px;border-radius:11px;border:1px solid var(--ocf-border, #33333c);background:var(--ocf-surface-2, #26262e);cursor:pointer;position:relative;margin-top:2px;padding:0}.flag-switch .flag-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ocf-text-dim, #a0a0ab);transition:left .15s ease,background .15s ease}.flag-switch.on{background:var(--ocf-accent, #4f7cff);border-color:var(--ocf-accent, #4f7cff)}.flag-switch.on .flag-knob{left:20px;background:#fff}.flag-main{flex:1;min-width:0}.flag-label-row{display:flex;align-items:center;gap:10px}.flag-label{font-size:14px;font-weight:600}.flag-reset{background:none;border:none;color:var(--ocf-accent, #4f7cff);font-size:12px;cursor:pointer;padding:2px 4px}.flag-reset:hover{text-decoration:underline}.flag-desc{margin:4px 0 10px;font-size:13px;color:var(--ocf-text-dim, #a0a0ab)}.flag-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.flag-tiers{display:flex;gap:6px}.flag-tier{border:1px solid var(--ocf-border, #33333c);background:transparent;color:var(--ocf-text-dim, #a0a0ab);border-radius:20px;padding:4px 12px;font-size:12px;cursor:pointer}.flag-tier.on{background:var(--ocf-accent-soft, rgba(79, 124, 255, .15));border-color:var(--ocf-accent, #4f7cff);color:var(--ocf-accent, #4f7cff)}.flag-tier:disabled{opacity:.4;cursor:not-allowed}.flag-rollout{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ocf-text-dim, #a0a0ab)}.flag-rollout input{width:56px;background:var(--ocf-surface-2, #26262e);color:var(--ocf-text, #e8e8ea);border:1px solid var(--ocf-border, #33333c);border-radius:6px;padding:4px 6px;font-size:12px}.flag-rollout input:disabled{opacity:.4}.flag-summary{padding:12px 20px;border-top:1px solid var(--ocf-border, #33333c)}.flag-summary h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ocf-text-dim, #a0a0ab)}.flag-summary table{width:100%;border-collapse:collapse;font-size:13px}.flag-summary th,.flag-summary td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--ocf-border-soft, #2a2a33)}.flag-summary td{text-align:center;width:72px}.flag-footer{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--ocf-border, #33333c);font-size:13px}.flag-footer button{border:1px solid var(--ocf-border, #33333c);background:var(--ocf-surface-2, #26262e);color:var(--ocf-text, #e8e8ea);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.flag-footer button:hover{border-color:var(--ocf-accent, #4f7cff)}.flag-footer .flag-danger{border-color:#c44;color:#e88}.flag-admin-badge{font-size:11px;opacity:.6;margin-left:4px}.pv{display:flex;flex-direction:column;height:100vh;background:var(--ocf-bg);color:var(--ocf-text);font-family:var(--ocf-font)}.pv-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--ocf-bg-2);border-bottom:1px solid var(--ocf-border)}.pv-badge{background:var(--ocf-accent-strong);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.pv-title{font-weight:600}.pv-page{color:var(--ocf-text-faint);font-size:13px}.pv-spacer{flex:1}.pv-score{font-size:13px;color:var(--ocf-text-dim)}.pv-scroll{flex:1;overflow:auto;display:flex;justify-content:center;padding:24px}.pv-viewport{display:flex;gap:4px;align-items:center}.pv-viewport-active{outline:2px solid var(--ocf-accent);outline-offset:1px}.pv-viewport-frame{width:100%}.pv-viewport-mobile{max-width:480px}.pv-viewport-tablet{max-width:820px}.pv-viewport-mobile,.pv-viewport-tablet{outline:1px dashed var(--ocf-border);outline-offset:8px}.pv-nav{display:flex;justify-content:space-between;padding:10px 16px;background:var(--ocf-bg-2);border-top:1px solid var(--ocf-border)}.pv-end{margin:auto;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.pp-stage-wrap{width:100%;display:flex;justify-content:center}.pp-stage{position:relative;background:var(--ocf-surface);color:var(--ocf-text);box-shadow:0 8px 32px #00000040;border-radius:4px;overflow:hidden;flex-shrink:0}.pp-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pp-obj{position:absolute;pointer-events:auto}.pp-flow{width:100%;background:var(--ocf-surface);color:var(--ocf-text);border-radius:4px;padding:24px;box-shadow:0 8px 32px #00000040;container-type:inline-size}.pp-flow[data-width-mode=full]{padding:24px 0}.pp-flow[data-width-mode=full] .pp-flow-row.pp-bleed{width:100%}.pp-flow .pp-content-col{width:100%;max-width:var(--ocf-content-width);margin-left:auto;margin-right:auto;padding:0 24px}.pp-flow-obj{margin-bottom:20px}.pp-flow-row{display:grid;grid-template-columns:repeat(12,1fr);margin-bottom:20px}.pp-flow-cell{grid-column:span var(--ocf-span, 12);min-width:0;position:relative}@container (min-width: 640px){.pp-flow-cell{grid-column:span var(--ocf-span-tablet, var(--ocf-span, 12))}}@container (min-width: 1024px){.pp-flow-cell{grid-column:span var(--ocf-span-desktop, var(--ocf-span-tablet, var(--ocf-span, 12)))}}.pq{background:var(--ocf-surface);color:var(--ocf-text);padding:8px;font-size:var(--ocf-type-body)}.pq-prompt{font-weight:600;margin-bottom:10px}.pq-media img{max-width:100%}.pq-media audio{width:100%}.pq-choices{display:flex;flex-direction:column;gap:6px}.pq-choice{display:flex;gap:8px;align-items:flex-start;background:var(--ocf-surface-2);color:var(--ocf-text);border:1px solid var(--ocf-border-soft);padding:8px 12px;border-radius:6px;cursor:pointer}.pq-choice input{margin-top:3px}.pq-blank-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}.pq-blank-row input,.pq-text,.pq-longtext,.pq-match-row select{background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:6px;padding:8px 10px;font-size:var(--ocf-type-body)}.pq-longtext{width:100%;resize:vertical}.pq-wordbank{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pq-wordchip{background:var(--ocf-surface-2);border:1px solid var(--ocf-accent);border-radius:999px;padding:4px 12px;cursor:pointer;color:var(--ocf-text)}.pq-matching{display:flex;flex-direction:column;gap:6px}.pq-match-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.pq-dragdrop{display:flex;flex-direction:column;gap:10px}.pq-draggables{display:flex;flex-direction:column;gap:6px}.pq-draggable-row{display:flex;align-items:center;gap:8px}.pq-draggable{background:var(--ocf-surface-2);border:2px solid var(--ocf-accent);border-radius:6px;padding:6px 12px;cursor:grab;color:var(--ocf-text);touch-action:none;user-select:none;-webkit-user-select:none}.pq-draggable.dragging{opacity:.4;cursor:grabbing}.pq-draggable.picked{border-color:var(--ocf-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ocf-accent) 35%,transparent)}.pq-draggable.placed{opacity:.7}.pq-placed-badge{display:inline-block;margin-left:8px;font-size:var(--ocf-type-caption);color:var(--ocf-text-dim)}.pq-dd-select{font-size:var(--ocf-type-caption);padding:4px 6px;border-radius:4px;border:1px solid var(--ocf-border);background:var(--ocf-surface-2);color:var(--ocf-text)}.pq-drag-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-60%);background:var(--ocf-surface-2);border:2px solid var(--ocf-accent);border-radius:6px;padding:6px 12px;color:var(--ocf-text);opacity:.92;box-shadow:0 4px 12px #00000040}.pq-zone-chip{display:inline-flex;align-items:center;gap:4px;background:var(--ocf-accent);color:#fff;border-radius:999px;padding:2px 6px 2px 10px;margin:2px;font-size:var(--ocf-type-caption)}.pq-chip-remove{border:none;background:transparent;color:inherit;cursor:pointer;font-size:1em;line-height:1;padding:0 2px}.pq-dropzones{display:flex;flex-wrap:wrap;gap:8px}.pq-dropzone{min-width:140px;min-height:64px;border:2px dashed var(--ocf-border);border-radius:6px;background:var(--ocf-surface-2);padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.pq-zone-label{font-size:var(--ocf-type-caption);color:var(--ocf-text-dim)}.pq-seq{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.pq-seq-item{display:flex;gap:8px;align-items:center;background:var(--ocf-surface-2);border:1px solid var(--ocf-border);border-radius:6px;padding:6px 10px}.pq-seq-pos{font-weight:700;color:var(--ocf-accent);min-width:1.4em}.pq-seq-btns{margin-left:auto;display:flex;gap:4px}.pq-seq-btns button{cursor:pointer}.pq-markwords{line-height:2.2}.pq-word{background:none;border:1px solid transparent;border-radius:4px;padding:2px 6px;cursor:pointer;font-size:var(--ocf-type-body);color:var(--ocf-text)}.pq-word:hover{border-color:var(--ocf-accent)}.pq-word.sel{background:color-mix(in srgb,var(--ocf-warning) 22%,var(--ocf-surface));border-color:var(--ocf-warning)}.pq-hotspot-stage{position:relative;min-height:220px;background:var(--ocf-surface-2);border:1px solid var(--ocf-border);border-radius:6px}.pq-hotspot{position:absolute;background:color-mix(in srgb,var(--ocf-accent) 12%,transparent);border:2px dashed var(--ocf-accent);border-radius:4px;cursor:pointer}.pq-hotspot.sel{background:color-mix(in srgb,var(--ocf-accent) 35%,transparent);border-style:solid}.pq-memory{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.pq-memcard{min-height:64px;font-size:var(--ocf-type-h3);background:var(--ocf-accent-strong);color:#fff;border:none;border-radius:8px;cursor:pointer}.pq-memcard.up{background:var(--ocf-surface);color:var(--ocf-text);border:2px solid var(--ocf-accent);font-size:var(--ocf-type-body)}.pq-memcard.done{background:color-mix(in srgb,var(--ocf-success) 14%,var(--ocf-surface));border-color:var(--ocf-success);color:var(--ocf-text);font-size:var(--ocf-type-body)}.pq-wordsearch{display:flex;flex-direction:column;gap:8px}.pq-ws-grid{display:grid;gap:2px;align-self:flex-start}.pq-ws-cell{width:1.6em;height:1.6em;font-family:monospace;font-weight:700;background:var(--ocf-surface-2);border:1px solid var(--ocf-border);border-radius:3px;cursor:pointer;padding:0;color:var(--ocf-text)}.pq-ws-cell.hit{background:color-mix(in srgb,var(--ocf-success) 18%,var(--ocf-surface));border-color:var(--ocf-success)}.pq-ws-cell.anchor{background:color-mix(in srgb,var(--ocf-warning) 22%,var(--ocf-surface));border-color:var(--ocf-warning)}.pq-ws-words{display:flex;flex-wrap:wrap;gap:6px}.pq-ws-word{font-size:var(--ocf-type-caption);color:var(--ocf-text-dim);text-decoration:none}.pq-ws-word.found{color:var(--ocf-success);text-decoration:line-through}.pq-crossword{display:flex;flex-direction:column;gap:8px}.pq-xw-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.pq-xw-row input{background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:6px;padding:6px 10px}.pq-audio{display:flex;gap:10px;align-items:center}.pq-recbtn{background:var(--ocf-accent-strong);color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer}.pq-rec-live{color:var(--ocf-danger);font-weight:700}.pq-actions{margin-top:12px;display:flex;gap:10px;align-items:center}.pq-submit{background:var(--ocf-accent-strong);color:#fff;border:none;border-radius:6px;padding:8px 24px;font-weight:600;cursor:pointer}.pq-submit:hover{background:var(--ocf-accent)}.pq-attempts{font-size:var(--ocf-type-small);color:var(--ocf-text-dim)}.pq-feedback{margin-top:10px;padding:10px 12px;border-radius:6px;font-size:var(--ocf-type-body)}.pq-feedback.correct{background:color-mix(in srgb,var(--ocf-success) 12%,var(--ocf-surface));border:1px solid var(--ocf-success);color:var(--ocf-text)}.pq-feedback.incorrect{background:color-mix(in srgb,var(--ocf-danger) 10%,var(--ocf-surface));border:1px solid var(--ocf-danger);color:var(--ocf-text)}.pq-feedback.try-again{background:color-mix(in srgb,var(--ocf-warning) 14%,var(--ocf-surface));border:1px solid var(--ocf-warning);color:var(--ocf-text)}.pq-feedback.ungradable{background:var(--ocf-surface-2);border:1px solid var(--ocf-border);color:var(--ocf-text-dim)}.pq-hint{font-size:var(--ocf-type-small);color:var(--ocf-text-dim)}.pq-error{color:var(--ocf-danger);font-size:var(--ocf-type-small)}.pv-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:50}.pv-lightbox-inner{position:relative;max-width:90vw;max-height:90vh;overflow:auto;background:var(--ocf-surface);color:var(--ocf-text);border-radius:8px;padding:16px}.pv-lightbox-close{position:absolute;top:8px;right:8px;z-index:2;background:var(--ocf-surface-2);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:50%;width:32px;height:32px;cursor:pointer}.ocf-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:60}.ocf-popup-backdrop-clear{background:transparent}.ocf-popup{position:relative;max-width:min(560px,90vw);max-height:85vh;display:flex;flex-direction:column;background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:8px;box-shadow:0 16px 48px #00000080}.ocf-popup-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ocf-border-soft)}.ocf-popup-title{margin:0;font-size:1.1rem;flex:1}.ocf-popup-title-spacer{flex:1}.ocf-popup-close{background:var(--ocf-surface-2);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:50%;width:32px;height:32px;cursor:pointer;flex:none}.ocf-popup-body{padding:16px;overflow:auto}.ocf-popup-child{margin-bottom:8px}.ocf-popup-child:last-child{margin-bottom:0}.pv-vars{position:absolute;top:48px;right:12px;z-index:30;width:280px;max-height:60vh;overflow:auto;background:var(--ocf-surface);border:1px solid var(--ocf-border);border-radius:8px;padding:12px;color:var(--ocf-text);font-size:12px;box-shadow:0 8px 24px #00000080}.pv-vars-title{font-weight:700;margin-bottom:8px;text-transform:uppercase;font-size:11px;letter-spacing:.5px;color:var(--ocf-text-faint)}.pv-vars-empty{color:var(--ocf-text-faint)}.pv-var-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--ocf-border-soft)}.pv-var-name{color:var(--ocf-accent);flex:1;overflow:hidden;text-overflow:ellipsis}.pv-var-val{font-family:var(--ocf-mono);background:var(--ocf-surface-2);padding:1px 8px;border-radius:4px}.pp-accordion{border:1px solid var(--ocf-border);border-radius:var(--ocf-radius);background:var(--ocf-surface);box-shadow:var(--ocf-shadow);overflow:hidden}.pp-accordion-item+.pp-accordion-item{border-top:1px solid var(--ocf-border-soft)}.pp-accordion-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ocf-text);text-align:left;font-weight:600;font-size:var(--ocf-type-body)}.pp-accordion-head:hover{background:var(--ocf-surface-2)}.pp-accordion-head .chev{margin-left:auto;color:var(--ocf-text-faint);transition:transform .15s ease}.pp-accordion-item[data-open=true] .pp-accordion-head .chev{transform:rotate(90deg)}.pp-accordion-body{padding:0 14px 14px;font-size:var(--ocf-type-body);line-height:1.55;color:var(--ocf-text-dim)}.pp-ivideo{position:relative;width:100%;height:100%}.pp-ivideo .obj-video{width:100%;height:100%;display:block}.pp-ivideo-missing{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--ocf-text-faint, #8e96a8);font-size:14px}.pp-iv-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:16px}.pp-iv-overlay.is-blocking{background:#00000073}.pp-iv-card{background:var(--ocf-surface, #fff);color:var(--ocf-text, #1a1d23);border:1px solid var(--ocf-border, #dfe4ec);border-radius:8px;box-shadow:0 12px 32px #00000040;max-width:520px;width:100%;max-height:100%;overflow:auto;padding:16px}.pp-iv-actions{display:flex;justify-content:flex-end;margin-top:12px}.pp-cue-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.pp-cue-overlay.is-modal{position:fixed;z-index:90}.pp-cue-card{background:var(--ocf-surface, #fff);color:var(--ocf-text, #1a1d23);border:1px solid var(--ocf-border, #dfe4ec);border-radius:8px;box-shadow:0 12px 32px #00000040;max-width:520px;width:100%;max-height:100%;overflow:auto;padding:16px}.pp-cue-title{margin:0 0 12px;font-weight:700;font-size:16px;color:var(--ocf-text, #1a1d23)}.pp-cue-choices{display:flex;flex-direction:column;gap:8px}.pp-cue-choice{width:100%;justify-content:flex-start;text-align:left}.pp-cue-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.pp-cue-hint{font-size:13px;color:var(--ocf-text-faint, #8e96a8)}.pp-cue-continue:disabled{opacity:.45;cursor:not-allowed}.pp-cue-hotspots{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}.pp-cue-hotspot{position:absolute;padding:0;cursor:pointer;background:transparent;border:2px dashed transparent;border-radius:4px;pointer-events:auto}.pp-cue-hotspot:hover{background:#ffffff2e;border-color:#ffffffbf}.pp-cue-hotspot:focus-visible{outline:3px solid var(--ocf-accent, #4f46e5);outline-offset:1px;background:#ffffff2e;border-color:#ffffffbf}.pp-sim{width:100%;height:100%;display:flex;flex-direction:column;gap:8px}.pp-sim-caption{font-size:14px}.pp-sim-screen{position:relative;flex:1 1 auto;min-height:120px;border:1px solid var(--ocf-border, #dfe4ec);border-radius:8px;overflow:hidden;background:var(--ocf-surface, #fff)}.pp-sim-screen:focus-visible{outline:2px solid var(--ocf-accent, #4f46e5);outline-offset:2px}.pp-sim-shot{width:100%;height:100%;display:block;object-fit:contain}.pp-sim-missing{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ocf-text-faint, #8e96a8);font-size:14px}.pp-sim-target{position:absolute;padding:0;border:2px solid transparent;background:transparent;cursor:pointer}.pp-sim-target:focus-visible{outline:3px solid var(--ocf-accent, #4f46e5);outline-offset:1px}.pp-sim-target.is-flashing{border-color:var(--ocf-accent, #4f46e5);background:#4f46e52e;animation:pp-sim-pulse .8s ease-in-out 2}@keyframes pp-sim-pulse{0%,to{box-shadow:0 0 #4f46e58c}50%{box-shadow:0 0 0 10px #4f46e500}}.pp-sim-continue{position:absolute;right:12px;bottom:12px}.pp-sim-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-sim-progress{font-size:12px;color:var(--ocf-text-faint, #8e96a8)}.pp-sim-hint{font-size:13px;padding:8px 12px;border-radius:6px;background:var(--ocf-surface, #fff);color:var(--ocf-text, #1a1d23);border:1px solid var(--ocf-warning, #f5b544)}.pp-sim-done{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:120px;font-size:15px;font-weight:600;color:var(--ocf-text, #1a1d23)}.pp-sim-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;color:var(--ocf-text-faint, #8e96a8);font-size:14px}.pp-slider,.pp-dial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:10px}.pp-slider-vertical{flex-direction:column}.pp-slider-control,.pp-dial-control{cursor:pointer;touch-action:none;border-radius:8px;display:flex;align-items:center;justify-content:center}.pp-slider .pp-slider-control{flex:1}.pp-slider-control:focus-visible,.pp-dial-control:focus-visible{outline:2px solid var(--ocf-accent, #4f46e5);outline-offset:2px}.pp-slider-track{position:relative;flex:1;min-width:80px;height:10px;border-radius:5px;background:var(--ocf-track, #d7dce6)}.pp-slider-vertical .pp-slider-track{width:10px;min-width:0;height:100%;min-height:80px;flex:1}.pp-slider-fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--ocf-accent, #4f46e5)}.pp-slider-vertical .pp-slider-fill{top:auto;left:0;right:0}.pp-slider-thumb{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:2px solid var(--ocf-accent, #4f46e5);box-shadow:0 1px 4px #00000040}.pp-slider-vertical .pp-slider-thumb{left:50%;top:auto;transform:translate(-50%,50%)}.pp-slider-readout,.pp-dial-readout{font-size:14px;font-weight:600;color:var(--ocf-text, #1a1d23);min-width:2.5em;text-align:center;font-variant-numeric:tabular-nums}.pp-slider-min,.pp-slider-max,.pp-dial-min,.pp-dial-max{font-size:12px;color:var(--ocf-text, #1a1d23);opacity:.65;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.pp-dial-face{position:relative;width:84px;height:84px;border-radius:50%;background:var(--ocf-surface, #ffffff);border:2px solid var(--ocf-border, #d7dce6);box-shadow:inset 0 1px 4px #00000014}.pp-dial-face:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:repeating-conic-gradient(var(--ocf-border, #d7dce6) 0 2deg,transparent 2deg 30deg);-webkit-mask:radial-gradient(circle,transparent 58%,#000 59%);mask:radial-gradient(circle,transparent 58%,#000 59%)}.pp-dial-needle{position:absolute;left:calc(50% - 2px);bottom:50%;width:4px;height:38%;background:var(--ocf-accent, #4f46e5);border-radius:2px;transform-origin:50% 100%}.pp-dial-hub{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:var(--ocf-accent, #4f46e5)}.pp-marker-image{position:relative;display:block;width:100%;height:100%}.pp-marker-missing{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--ocf-text-faint, #8e96a8);font-size:14px}.pp-markers{position:absolute;top:0;right:0;bottom:0;left:0}.pp-marker-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ocf-accent, #4f46e5);color:#fff;border:2px solid #ffffff;box-shadow:0 1px 6px #00000059;font-size:13px;font-weight:700;cursor:pointer;padding:0}.pp-marker-pin:hover{transform:translate(-50%,-50%) scale(1.1)}.pp-marker-pin:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.pp-marker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000b3;display:flex;align-items:center;justify-content:center}.pp-marker-dialog{position:relative;max-width:min(480px,90vw);max-height:85vh;display:flex;flex-direction:column;background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:8px;box-shadow:0 16px 48px #00000080}.pp-marker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ocf-border)}.pp-marker-title{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.pp-marker-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex:none;background:var(--ocf-accent, #4f46e5);color:#fff;font-size:12px;font-weight:700}.pp-marker-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--ocf-text-faint, #8e96a8);padding:4px}.pp-marker-body{padding:12px 16px;overflow:auto}.pp-flow .pp-flow-obj.ocf-wrap-square,.pp-flow .pp-flow-obj.ocf-wrap-tight{float:left;max-width:45%;margin:0 16px 12px 0}.pp-flow .pp-flow-obj.ocf-wrap-tight{shape-outside:margin-box}.pp-flow:after{content:"";display:block;clear:both}:root{--ocf-anim-duration: .45s}@keyframes ocf-kf-fade{0%{opacity:0}to{opacity:1}}@keyframes ocf-kf-fade-out{0%{opacity:1}to{opacity:0}}@keyframes ocf-kf-fly-in-left{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:none}}@keyframes ocf-kf-fly-in-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@keyframes ocf-kf-fly-in-top{0%{opacity:0;transform:translateY(-48px)}to{opacity:1;transform:none}}@keyframes ocf-kf-fly-in-bottom{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}@keyframes ocf-kf-zoom{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes ocf-kf-fly-out-left{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-48px)}}@keyframes ocf-kf-fly-out-right{0%{opacity:1;transform:none}to{opacity:0;transform:translate(48px)}}@keyframes ocf-kf-fly-out-top{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-48px)}}@keyframes ocf-kf-fly-out-bottom{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(48px)}}@keyframes ocf-kf-zoom-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}.ocf-anim-in-fade{animation:ocf-kf-fade var(--ocf-anim-duration) ease-out both}.ocf-anim-in-fly-in-left{animation:ocf-kf-fly-in-left var(--ocf-anim-duration) ease-out both}.ocf-anim-in-fly-in-right{animation:ocf-kf-fly-in-right var(--ocf-anim-duration) ease-out both}.ocf-anim-in-fly-in-top{animation:ocf-kf-fly-in-top var(--ocf-anim-duration) ease-out both}.ocf-anim-in-fly-in-bottom{animation:ocf-kf-fly-in-bottom var(--ocf-anim-duration) ease-out both}.ocf-anim-in-zoom{animation:ocf-kf-zoom var(--ocf-anim-duration) ease-out both}.ocf-anim-out-fade{animation:ocf-kf-fade-out var(--ocf-anim-duration) ease-in backwards}.ocf-anim-out-fly-out-left{animation:ocf-kf-fly-out-left var(--ocf-anim-duration) ease-in backwards}.ocf-anim-out-fly-out-right{animation:ocf-kf-fly-out-right var(--ocf-anim-duration) ease-in backwards}.ocf-anim-out-fly-out-top{animation:ocf-kf-fly-out-top var(--ocf-anim-duration) ease-in backwards}.ocf-anim-out-fly-out-bottom{animation:ocf-kf-fly-out-bottom var(--ocf-anim-duration) ease-in backwards}.ocf-anim-out-zoom-out{animation:ocf-kf-zoom-out var(--ocf-anim-duration) ease-in backwards}@media(prefers-reduced-motion:reduce){.ocf-anim-in-fade,.ocf-anim-in-fly-in-left,.ocf-anim-in-fly-in-right,.ocf-anim-in-fly-in-top,.ocf-anim-in-fly-in-bottom,.ocf-anim-in-zoom,.ocf-anim-out-fade,.ocf-anim-out-fly-out-left,.ocf-anim-out-fly-out-right,.ocf-anim-out-fly-out-top,.ocf-anim-out-fly-out-bottom,.ocf-anim-out-zoom-out{animation:none}}.ocf-bgaudio-toggle{background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;padding:4px 6px;color:inherit}.ocf-bgaudio-toggle:hover:not(:disabled){border-color:var(--ocf-border)}.ocf-bgaudio-toggle:disabled{cursor:default;opacity:.35}.ocf-bgaudio-toggle:focus-visible{outline:2px solid var(--ocf-accent, #4f46e5);outline-offset:2px}.ocf-cert-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;flex-direction:column;overflow:auto}.ocf-cert-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#1c1c22;color:#fff}.ocf-cert-namefield{display:flex;align-items:center;gap:8px;font-size:13px}.ocf-cert-namefield input{background:#2a2a33;border:1px solid #4a4a58;border-radius:4px;color:#fff;padding:6px 10px;font-size:13px}.ocf-cert-spacer{flex:1}.ocf-cert-sheet-wrap{flex:1;display:flex;justify-content:center;padding:32px 16px}.ocf-cert-sheet{width:min(960px,100%);min-height:600px;padding:56px 64px;color:#1a1a1a;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;box-shadow:0 12px 48px #00000059;border-radius:4px}.ocf-cert-classic{border:10px double #b08d3e}.ocf-cert-modern{border-top:14px solid #1f4e79;border-radius:0}.ocf-cert-minimal{box-shadow:none;border:1px solid #d8d8d8}.ocf-cert-logo{max-height:72px;max-width:240px;object-fit:contain}.ocf-cert-title{font-family:Georgia,Times New Roman,serif;font-size:40px;letter-spacing:.04em}.ocf-cert-modern .ocf-cert-title{font-family:inherit;font-weight:700;letter-spacing:.01em}.ocf-cert-body{font-size:17px;line-height:1.6;max-width:60ch}.ocf-cert-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin:12px 0 0;padding:0;width:100%;max-width:640px}.ocf-cert-field dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6b6b6b}.ocf-cert-field dd{margin:2px 0 0;font-size:16px}.ocf-cert-recipient{font-family:Georgia,Times New Roman,serif;font-size:24px!important}.ocf-cert-footer{margin-top:auto;padding-top:40px;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.ocf-cert-issuer{font-size:15px;font-weight:600}.ocf-cert-signature{min-width:220px}.ocf-cert-sigline{border-bottom:1px solid #1a1a1a;height:32px}.ocf-cert-signame{font-size:12px;color:#6b6b6b;margin-top:4px}.ocf-recert-nudge{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff7e0;color:#5c4a00;border-bottom:1px solid #e8d48a;font-size:14px}.ocf-recert-nudge.ocf-recert-expired{background:#fdecea;color:#7a1f1a;border-bottom-color:#f0b3ac}.ocf-recert-nudge button{margin-left:auto;background:none;border:none;cursor:pointer;font-size:16px;color:inherit}@media print{body.ocf-cert-print,body.ocf-cert-print .ocf-cert-overlay{background:#fff}body.ocf-cert-print .ocf-cert-overlay{position:static;overflow:visible}body.ocf-cert-print .ocf-cert-toolbar{display:none}body.ocf-cert-print .ocf-cert-sheet-wrap{padding:0}body.ocf-cert-print .ocf-cert-sheet{box-shadow:none;width:100%;min-height:auto}body.ocf-cert-print>*:not(.pv):not(.sr){display:none}body.ocf-cert-print .pv>*:not(.ocf-cert-overlay),body.ocf-cert-print .sr>*:not(.ocf-cert-overlay){display:none}}.pv-game-pill,.sr-game-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--ocf-warning) 18%,var(--ocf-surface));border:1px solid var(--ocf-warning);color:var(--ocf-text);white-space:nowrap}.pv-game-pill-x,.sr-game-pill-x{border:0;background:none;color:var(--ocf-text-dim);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.pv-game-pill-x:hover,.sr-game-pill-x:hover{color:var(--ocf-text)}.pq-streak,.pq-streak-bonus{display:inline-block;margin-left:8px;font-size:var(--ocf-type-small);font-weight:700}.pq-streak{color:var(--ocf-warning)}.pq-streak-bonus{color:var(--ocf-success)}.ocf-achv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#00000073;padding:24px}.ocf-achv-card{background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:12px;max-width:520px;width:100%;max-height:80vh;overflow:auto;padding:20px 24px}.ocf-achv-head{display:flex;align-items:center;justify-content:space-between}.ocf-achv-head h2{margin:0;font-size:20px}.ocf-achv-section-title{margin:18px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ocf-text-dim)}.ocf-achv-badges{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ocf-achv-badge{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--ocf-border);border-radius:8px;opacity:.65}.ocf-achv-badge.earned{opacity:1;border-color:var(--ocf-warning);background:color-mix(in srgb,var(--ocf-warning) 8%,var(--ocf-surface))}.ocf-achv-icon{font-size:28px;line-height:1}.ocf-achv-badge-text{display:flex;flex-direction:column;gap:2px}.ocf-achv-desc,.ocf-achv-rule{font-size:var(--ocf-type-small);color:var(--ocf-text-dim)}.ocf-achv-rule{font-style:italic}.ocf-achv-empty{color:var(--ocf-text-dim);font-size:var(--ocf-type-small);margin:4px 0 0}.ocf-achv-best{margin:4px 0 0}.ocf-achv-board{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ocf-achv-row{display:flex;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--ocf-border);border-radius:8px}.ocf-achv-rank{font-weight:700;min-width:24px;text-align:center;color:var(--ocf-text-dim)}.ocf-achv-row:first-child .ocf-achv-rank{color:var(--ocf-warning)}.ocf-achv-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocf-achv-score{font-weight:700}:root,[data-ocf-theme=dark]{--ocf-bg: #1a1d23;--ocf-bg-2: #22262e;--ocf-surface: #22262e;--ocf-surface-2: #2a2f38;--ocf-border: #343a45;--ocf-border-soft: #2b313b;--ocf-text: #e8eaf0;--ocf-text-dim: #9aa1b2;--ocf-text-faint: #8e96a8;--ocf-accent: #4f8ff7;--ocf-accent-strong: #2c5da8;--ocf-accent-ink: #bcd6ff;--ocf-success: #3fb97f;--ocf-danger: #e5534b;--ocf-danger-ink: #ff9d97;--ocf-warning: #f5b544;--ocf-shadow: none;--ocf-scheme: dark}[data-ocf-theme=light]{--ocf-bg: #f4f6f9;--ocf-bg-2: #eceff4;--ocf-surface: #ffffff;--ocf-surface-2: #f4f6f9;--ocf-border: #dfe4ec;--ocf-border-soft: #e9edf3;--ocf-text: #1a1d23;--ocf-text-dim: #4b5563;--ocf-text-faint: #6b7280;--ocf-accent: #2b6cb0;--ocf-accent-strong: #1d4e89;--ocf-accent-ink: #e8f1fc;--ocf-success: #047857;--ocf-danger: #b91c1c;--ocf-danger-ink: #7f1d1d;--ocf-warning: #92400e;--ocf-shadow: 0 1px 2px rgb(16 24 40 / .06), 0 1px 3px rgb(16 24 40 / .1);--ocf-scheme: light}:root{--ocf-radius: 10px;--ocf-radius-sm: 6px;--ocf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ocf-font-heading: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ocf-font-body: "Merriweather", Georgia, "Times New Roman", serif;--ocf-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ocf-type-h1: 42px;--ocf-type-h2: 32px;--ocf-type-h3: 24px;--ocf-type-body: 17px;--ocf-type-small: 14px;--ocf-type-caption: 13px;--ocf-type-quote: 28px;--ocf-type-statement: 24px}:root{--dash-page: #f4f5fb;--dash-surface: #ffffff;--dash-ink: #111827;--dash-ink-dim: #6b7280;--dash-ink-faint: #9ca3af;--dash-line: #e5e7eb;--dash-indigo: #4f46e5;--dash-indigo-strong: #4338ca;--dash-indigo-soft: #eef2ff;--dash-mint: #a7f3d0;--dash-red: #ef4444;--dash-draft-bg: #fef3c7;--dash-draft-ink: #92400e;--dash-review-bg: #dbeafe;--dash-review-ink: #1d4ed8;--dash-pub-bg: #dcfce7;--dash-pub-ink: #047857;--dash-arch-bg: #f3f4f6;--dash-arch-ink: #6b7280;--dash-shadow: 0 1px 2px rgb(16 24 40 / .05), 0 4px 12px rgb(16 24 40 / .06);--dash-radius: 12px}.ocf-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ocf-text-faint);margin:0 0 6px}.ocf-section-title{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ocf-text);margin:0 0 4px}.ocf-section-sub{font-size:13px;color:var(--ocf-text-dim);margin:0 0 16px;max-width:62ch}.ocf-card{background:var(--ocf-surface);border:1px solid var(--ocf-border);border-radius:var(--ocf-radius);box-shadow:var(--ocf-shadow);padding:16px}.ocf-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ocf-card-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--ocf-surface-2);border:1px solid var(--ocf-border);font-size:16px;flex-shrink:0}.ocf-card-title{font-size:14px;font-weight:650;color:var(--ocf-text);margin:0}.ocf-card-text{font-size:13px;line-height:1.55;color:var(--ocf-text-dim);margin:0}.ocf-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ocf-accordion{border:1px solid var(--ocf-border);border-radius:var(--ocf-radius);background:var(--ocf-surface);box-shadow:var(--ocf-shadow);overflow:hidden}.ocf-accordion-item+.ocf-accordion-item{border-top:1px solid var(--ocf-border-soft)}.ocf-accordion-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ocf-text);text-align:left}.ocf-accordion-head:hover{background:var(--ocf-surface-2)}.ocf-accordion-head .chev{margin-left:auto;color:var(--ocf-text-faint);transition:transform .15s ease;flex-shrink:0}.ocf-accordion-item[data-open=true] .ocf-accordion-head .chev{transform:rotate(90deg)}.ocf-accordion-title{font-size:13px;font-weight:600}.ocf-accordion-body{padding:0 14px 14px;font-size:13px;line-height:1.55;color:var(--ocf-text-dim)}details.ocf-accordion-item>summary.ocf-accordion-head{list-style:none}details.ocf-accordion-item>summary.ocf-accordion-head::-webkit-details-marker{display:none}.ocf-timeline{list-style:none;margin:0;padding:0}.ocf-timeline-item{position:relative;padding:0 0 20px 28px}.ocf-timeline-item:before{content:"";position:absolute;left:7px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--ocf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ocf-accent) 20%,transparent)}.ocf-timeline-item:after{content:"";position:absolute;left:11px;top:20px;bottom:2px;width:1px;background:var(--ocf-border)}.ocf-timeline-item:last-child:after{display:none}.ocf-timeline-date{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ocf-accent);text-transform:uppercase;margin-bottom:2px}.ocf-timeline-title{font-size:13px;font-weight:650;color:var(--ocf-text);margin:0 0 2px}.ocf-timeline-text{font-size:13px;line-height:1.55;color:var(--ocf-text-dim);margin:0}.ocf-btn{display:inline-flex;align-items:center;gap:6px;background:var(--ocf-surface-2);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:var(--ocf-radius-sm);padding:7px 14px;font-size:13px;font-weight:550;cursor:pointer;font-family:var(--ocf-font)}.ocf-btn:hover:not(:disabled){border-color:var(--ocf-accent)}.ocf-btn:disabled{opacity:.45;cursor:default}.ocf-btn-primary{background:var(--ocf-accent);border-color:var(--ocf-accent);color:#fff}[data-ocf-theme=light] .ocf-btn-primary{color:#fff}.ocf-btn-primary:hover:not(:disabled){background:var(--ocf-accent-strong);border-color:var(--ocf-accent-strong)}.ocf-btn-ghost{background:transparent;border-color:transparent;color:var(--ocf-text-dim)}.ocf-btn-ghost:hover:not(:disabled){background:var(--ocf-surface-2);border-color:transparent;color:var(--ocf-text)}.ocf-scheme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--ocf-border);background:var(--ocf-surface-2);color:var(--ocf-text-dim);cursor:pointer;font-size:15px}.ocf-scheme-toggle:hover{color:var(--ocf-text);border-color:var(--ocf-accent)}.app{display:flex;flex-direction:column;height:100%}.main{display:flex;flex:1;min-height:0}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid var(--border);flex-shrink:0}.brand{font-weight:700;font-size:15px;letter-spacing:.2px}.brand-sub{color:var(--text-faint);font-size:11px}.toolbar-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.toolbar-hint{color:var(--text-faint);font-size:11px;margin-left:auto}.appbar-auth-unconfigured{opacity:.55;cursor:not-allowed;border:1px dashed var(--border);background:transparent;color:var(--text-faint);border-radius:6px;padding:4px 10px;font-size:12px}.export-menu-wrap{position:relative}.export-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.export-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:210px;padding:4px;background:var(--ocf-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e}.export-menu-item{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.export-menu-item:hover{background:var(--ocf-border-soft)}.export-menu-item:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:-2px}.export-menu-title{font-size:13px;font-weight:600}.export-menu-sub{font-size:11px;color:var(--text-faint)}.theme-picker-wrap{position:relative}.theme-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.theme-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:380px;max-width:440px;max-height:min(70vh,560px);overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--ocf-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000002e}.theme-menu-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:4px 8px 2px}.theme-card{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}.theme-card:hover{background:var(--ocf-border-soft)}.theme-card:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:-2px}.theme-card.is-current{border-color:var(--accent)}.theme-swatch{display:flex;width:64px;height:40px;border-radius:6px;overflow:hidden;border:1px solid var(--border);flex:none}.theme-swatch i{flex:1;display:block}.theme-card-main{flex:1;min-width:0}.theme-card-name{font-size:13px;font-weight:600}.theme-current{color:var(--accent)}.theme-card-desc{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-scheme{font-size:11px;color:var(--text-faint);flex:none}.dirty-dot{color:#f5b544;font-size:10px}.btn{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:12px;cursor:pointer}.btn:hover:not(:disabled){background:#343b47;border-color:#4a5261}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent)}.btn-small{font-size:11px;padding:3px 8px}.check-row{display:flex;align-items:center;gap:8px;cursor:pointer}.appbar{flex-shrink:0;background:var(--bg-2);border-bottom:1px solid var(--border);color:var(--text)}.appbar-row{height:64px;display:flex;align-items:center;gap:8px;padding:0 12px;min-width:0}.appbar-back{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:18px;cursor:pointer;flex-shrink:0}.appbar-back:hover{background:var(--bg-3);color:var(--text)}.appbar-logo{font-size:22px;color:var(--indigo);flex-shrink:0}.appbar-wordmark{font-size:16px;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.appbar-version{font-size:11px;font-weight:600;color:var(--text-faint);background:var(--bg-3);border:1px solid var(--border);border-radius:999px;padding:2px 8px;flex-shrink:0}.switcher-wrap{position:relative;min-width:0;flex-shrink:1}.switcher-btn{display:flex;align-items:center;gap:6px;max-width:260px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text);font:inherit;font-size:14px;font-weight:600;padding:6px 10px;cursor:pointer;min-width:0}.switcher-btn:hover{background:var(--bg-3);border-color:var(--border)}.switcher-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-chev{color:var(--text-faint);font-size:12px;flex-shrink:0}.switcher-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;max-width:360px;max-height:320px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000040;padding:6px;z-index:200}.switcher-loading{padding:12px;color:var(--text-faint);font-size:13px}.switcher-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text);font:inherit;padding:8px 10px;cursor:pointer;text-align:left}.switcher-item:hover{background:var(--bg-3)}.switcher-item.current{border-color:var(--indigo)}.switcher-item-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.switcher-item-sub{font-size:11px;color:var(--text-faint)}.save-pill{font-size:12px;font-weight:600;border-radius:999px;padding:4px 12px;white-space:nowrap;flex-shrink:0}.save-pill-saved{background:var(--pill-saved-bg);color:var(--pill-saved-ink)}.save-pill-pending,.save-pill-dirty{background:var(--pill-dirty-bg);color:var(--pill-dirty-ink)}.appbar-sep{width:1px;height:24px;background:var(--border);margin:0 4px;flex-shrink:0}.appbar-textbtn{background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font:inherit;font-size:13px;padding:7px 10px;cursor:pointer;white-space:nowrap;flex-shrink:0}.appbar-textbtn:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.appbar-textbtn:disabled{opacity:.45;cursor:default}.appbar-save{background:var(--indigo);border:1px solid var(--indigo);border-radius:var(--radius);color:#fff;font:inherit;font-size:13px;font-weight:600;padding:7px 16px;cursor:pointer;white-space:nowrap;flex-shrink:0}.appbar-save:hover{background:var(--indigo-strong);border-color:var(--indigo-strong)}.appbar-save-as{background:transparent;border:1px solid var(--indigo);border-radius:var(--radius);color:var(--indigo);font:inherit;font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer}.appbar-save-as:hover{background:var(--indigo);color:#fff}.appbar-cloud-toggle{background:transparent;border:1px dashed var(--ocf-border, #94a3b8);border-radius:var(--radius);color:var(--ocf-muted, #64748b);font:inherit;font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer}.appbar-cloud-toggle.is-on{background:var(--indigo);border:1px solid var(--indigo);color:#fff}.appbar-cloud-toggle:hover{border-color:var(--indigo);color:var(--indigo)}.appbar-cloud-toggle.is-on:hover{background:var(--indigo-strong);color:#fff}.appbar-assistant{background:var(--amber);border:1px solid var(--amber);border-radius:var(--radius);color:var(--amber-ink);font:inherit;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0}.appbar-assistant:hover{filter:brightness(1.08)}.appbar-subrow{height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-top:1px solid var(--border);background:var(--bg-2);min-width:0}.appbar-subrow .pane-new-page{margin:0;flex-shrink:0}.subrow-page{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.layout-pill{font-size:10px;font-weight:700;letter-spacing:.06em;border-radius:4px;padding:3px 8px;white-space:nowrap}.layout-pill-flow{background:var(--indigo);color:#fff}.layout-pill-fixed{background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border)}.subrow-layer{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint);white-space:nowrap}.subrow-layer select,.live-state select{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;font-size:12px;padding:4px 6px;max-width:160px}.subrow-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:15px;cursor:pointer;flex-shrink:0}.subrow-iconbtn:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.subrow-iconbtn:disabled{opacity:.35;cursor:default}.device-segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.device-segmented-option{background:transparent;border:0;color:var(--text-dim);font:inherit;font-size:12px;padding:6px 12px;cursor:pointer;border-left:1px solid var(--border)}.device-segmented-option:first-child{border-left:0}.device-segmented-option:hover{color:var(--text)}.device-segmented-option.selected{background:var(--indigo-soft);color:var(--indigo-ink);font-weight:600}.appbar-subrow .zoom-controls{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.appbar-subrow .zoom-controls button{background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font:inherit;font-size:14px;min-width:26px;height:26px;cursor:pointer}.appbar-subrow .zoom-controls button:hover{background:var(--bg-3);color:var(--text)}.appbar-subrow .zoom-controls .zoom-label{font-size:12px;color:var(--text-dim);min-width:44px;text-align:center}.blocks-palette{display:flex;flex-direction:row;flex-shrink:0;min-height:0;background:var(--bg-2);border-right:1px solid var(--border);width:48px;overflow:hidden;transition:width .24s ease}.blocks-palette.open{width:320px}.blocks-palette .pane-header{writing-mode:vertical-rl;text-orientation:mixed;width:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-right:1px solid var(--border)}.blocks-palette .palette-body{width:272px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.pane-header{display:flex;align-items:center;justify-content:space-between}.pane-strip-toggle{background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-dim);font:inherit;cursor:pointer;text-align:center}.pane-strip-toggle:hover{color:var(--text);background:var(--bg-3)}.pane-strip-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--text)}.blocks-palette.open .pane-strip-toggle{color:var(--text)}.pane-strip-icon{font-size:17px;line-height:1}.pane-strip-label{flex:1;display:flex;align-items:center}.pane-strip-chev{font-size:11px;color:var(--text-faint)}.pane-new-page{background:var(--ocf-accent-soft, rgba(59, 130, 246, .12));border:1px solid var(--ocf-accent, #3b82f6);color:var(--ocf-accent, #3b82f6);font-size:11px;font-weight:600;cursor:pointer;padding:2px 10px;border-radius:4px;margin-left:auto;margin-right:4px;white-space:nowrap}.pane-new-page:hover{background:var(--ocf-accent, #3b82f6);color:#fff}.palette-body{display:flex;flex-direction:column;min-height:0;flex:1}.lib-search{padding:10px 12px 6px;flex-shrink:0}.lib-search .field-input{width:100%}.lib-pills{display:flex;gap:6px;padding:4px 12px 8px;flex-shrink:0;flex-wrap:wrap}.lib-pill{background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font:inherit;font-size:12px;padding:4px 12px;cursor:pointer}.lib-pill:hover{color:var(--text);border-color:var(--text-faint)}.lib-pill.selected{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo-ink);font-weight:600}.blocks-palette .library-blocks{flex:1;min-height:0;overflow-y:auto;padding:0 12px 8px}.lib-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.lib-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius)}.lib-row:hover{background:var(--bg-3)}.lib-chip{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--indigo-soft);color:var(--indigo-ink);font-size:16px;flex-shrink:0}.lib-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.lib-row-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-row-desc{font-size:11px;color:var(--text-faint);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-add{display:inline-flex;align-items:center;gap:2px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:16px;line-height:1;width:30px;height:30px;justify-content:center;cursor:pointer;flex-shrink:0}.lib-add:hover{background:var(--indigo);border-color:var(--indigo);color:#fff}.lib-block-more{font-size:12px}.new-page-dashed{margin:10px 12px 12px;padding:10px;background:transparent;border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);font:inherit;font-size:13px;font-weight:550;cursor:pointer;flex-shrink:0}.new-page-dashed:hover{border-color:var(--indigo);color:var(--indigo-ink)}.inspector-dock{display:flex;flex-direction:row;flex-shrink:0;min-height:0}.inspector{width:300px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--bg-2);border-left:1px solid var(--border)}@media(prefers-reduced-motion:no-preference){.inspector{animation:insp-slide-in .16s ease-out}}@keyframes insp-slide-in{0%{transform:translate(16px);opacity:0}to{transform:none;opacity:1}}.insp-tabs{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--border);flex-shrink:0}.insp-tabstrip{width:48px;flex-direction:column;align-items:stretch;gap:10px;padding:12px 0;background:var(--bg-2);border-bottom:none;border-left:1px solid var(--border)}.insp-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-dim);font:inherit;font-size:13px;font-weight:550;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.insp-tabstrip .insp-tab{writing-mode:vertical-rl;border-bottom:none;border-left:2px solid transparent;padding:12px 0;justify-content:center;flex:0 0 auto}.insp-tab:hover{color:var(--text)}.insp-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--text)}.insp-tab.active{color:var(--text);border-bottom-color:var(--indigo);font-weight:650}.insp-tabstrip .insp-tab.active{border-left-color:var(--indigo)}.insp-tab-badge{font-size:10px;font-weight:700;background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:1px 7px}.insp-tab.active .insp-tab-badge{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo-ink)}.insp-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 12px 12px}.insp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.schema-badge{background:transparent;border:0;color:var(--text-faint);font:inherit;font-size:11px;cursor:pointer;padding:4px 2px;text-align:left}.schema-badge:hover{color:var(--text);text-decoration:underline}.schema-badge.ok{color:var(--green)}.schema-badge.bad{color:var(--danger)}.active-block-card{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin:12px 0 4px}.active-block-row{display:flex;align-items:center;gap:8px;margin:6px 0 8px}.active-block-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ocf-theme=light] .appbar{box-shadow:0 1px 3px #10182814}[data-ocf-theme=light] .canvas-livebar{box-shadow:0 1px 3px #10182833}[data-ocf-theme=light] .lib-chip{background:var(--indigo-soft)}.outline-pane,.props-pane{background:var(--bg-2);display:flex;flex-direction:column;min-height:0}.outline-pane{width:264px;border-right:1px solid var(--border);flex-shrink:0}.props-pane{width:300px;border-left:1px solid var(--border);flex-shrink:0}.pane-header{padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);flex-shrink:0}.pane-footer{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.course-title-input{width:100%;background:transparent;border:none;color:var(--text);font-size:14px;font-weight:600;padding:2px 0}.course-title-input:focus{outline:none;border-bottom:1px solid var(--accent)}.pane-subheader{padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.scheme-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint)}.scheme-label .field-input{margin-left:auto}.field-input-sm{padding:3px 6px;font-size:11px}.tree{flex:1;overflow-y:auto;padding:6px 0}.tree-section{margin-bottom:2px}.tree-row{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;border-left:2px solid transparent;min-height:28px}.tree-row:hover{background:var(--bg-3)}.tree-row.active{background:#2c3a52;border-left-color:var(--accent)}.section-row{font-weight:600}.page-row{padding-left:26px;font-weight:400;color:var(--text-dim)}.page-row.active{color:var(--text)}.collapse-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:0 2px;font-size:10px;width:16px}.row-glyph{color:var(--text-faint);font-size:11px}.row-indent{width:4px}.row-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-title-input{flex:1;background:var(--bg);border:1px solid var(--accent);color:var(--text);border-radius:4px;padding:2px 6px;font-size:12px;min-width:0}.row-count,.row-layout{color:var(--text-faint);font-size:10px;white-space:nowrap}.row-actions{display:flex;gap:0;margin-left:auto}.untitled{color:var(--text-faint)}.library{display:flex;flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--border);min-height:0}.library-tab{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:var(--font)}.library-tab:hover{color:var(--text);background:var(--bg-3)}.library.open .library-tab{color:var(--accent)}.library-tab-icon{font-size:20px;line-height:1}.library-tab-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px}.library-panel{width:0;overflow:hidden;transition:width .24s ease}.library.open .library-panel{width:288px}.library-panel-inner{width:288px;height:100%;display:flex;flex-direction:column;position:relative}.pane-header.lib-pane-head{display:flex;align-items:center;justify-content:space-between}.lib-close{background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:13px;padding:4px 6px;font-family:var(--font)}.lib-close:hover{color:var(--text)}.lib-target{padding:8px 12px;font-size:11px;color:var(--accent);background:var(--bg-3);border-bottom:1px solid var(--border);flex-shrink:0}.lib-target-flash{animation:lib-target-flash .6s ease}@keyframes lib-target-flash{0%{background:var(--accent);color:#fff}to{background:var(--bg-3);color:var(--accent)}}.library-blocks{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:18px;min-height:0}.lib-category-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin:0 0 8px}.lib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.lib-block{display:flex;align-items:center;gap:8px;padding:10px 8px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:12px;font-family:var(--font);text-align:left;min-width:0}.lib-block:hover{border-color:var(--accent)}.lib-block-icon{font-size:17px;width:24px;text-align:center;flex-shrink:0}.lib-block-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-block-more{color:var(--text-faint);font-size:16px;flex-shrink:0}.lib-flyout{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-2);display:flex;flex-direction:column;z-index:5;animation:lib-flyout-in .18s ease}@keyframes lib-flyout-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.lib-flyout.closing{transform:translate(24px);opacity:0;transition:transform .12s ease,opacity .12s ease}.lib-flyout-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.lib-back{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:14px;line-height:1;font-family:var(--font)}.lib-back:hover{border-color:var(--accent)}.lib-flyout-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.lib-flyout-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}.lib-variant-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);text-align:left}.lib-variant-btn:hover{border-color:var(--accent)}.lib-variant-label{font-size:13px;font-weight:600}.lib-variant-desc{font-size:11px;color:var(--text-faint);line-height:1.4}.lib-query{display:flex;gap:6px;margin-top:6px}.lib-query .field-input{flex:1;min-width:0}.props-scroll{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:14px}.props-group{display:flex;flex-direction:column;gap:8px}.props-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:6px;display:flex;align-items:center;gap:8px}.type-badge{background:var(--accent-dim);color:#fff;font-size:10px;padding:1px 8px;border-radius:10px;text-transform:none;letter-spacing:0}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:11px;color:var(--text-dim)}.field-input{width:100%}.field-input:focus{outline:none;border-color:var(--accent)}textarea.field-input{resize:vertical;font-family:var(--mono);font-size:11px}.field-row{display:flex;gap:16px}.field-check{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.field-check input{accent-color:var(--accent)}.field-color{width:100%;height:32px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.geom-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.palette-btn{background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);padding:7px 4px;font-size:10.5px;cursor:pointer;text-transform:capitalize}.palette-btn:hover{color:var(--text);border-color:var(--accent);background:#2c3a52}.palette-hint{font-size:11px;color:var(--text-faint);line-height:1.5}.palette-more{margin-top:6px}.palette-more summary{font-size:12px;color:var(--text-dim);cursor:pointer;padding:4px 0}.palette-more summary:hover{color:var(--text)}.palette-more .palette-grid{margin-top:6px}.palette-btn-common{border-color:var(--accent, #3b82f6)}.canvas-livebar{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;background:var(--navy);color:var(--navy-ink);flex-shrink:0}.live-dot{color:var(--green);font-size:12px}.live-label{font-size:13px;font-weight:650}.live-hint{font-size:12px;opacity:.75}.live-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;opacity:.95}.live-state select{background:#ffffff1f;color:var(--navy-ink);border:1px solid rgb(255 255 255 / .25);border-radius:var(--radius);font:inherit;font-size:12px;padding:4px 6px}.live-settings{background:#ffffff1f;border:1px solid rgb(255 255 255 / .25);border-radius:var(--radius);color:var(--navy-ink);font:inherit;font-size:12px;font-weight:550;padding:6px 12px;cursor:pointer}.live-settings:hover{background:#ffffff38}.canvas-device-frame{width:100%}.canvas-device-mobile{max-width:480px;margin:0 auto}.canvas-device-tablet{max-width:820px;margin:0 auto}.canvas-pane{flex:1;display:flex;flex-direction:column;min-width:0;background:#14161b;position:relative}.canvas-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid var(--border);flex-shrink:0}.canvas-page-title{font-weight:600}.layout-badge{font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-3);border:1px solid var(--border);padding:2px 8px;border-radius:10px;color:var(--text-dim)}.canvas-spacer{flex:1}.layer-select-label{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px}.layer-select-label select,.field-input,select.field-input{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:12px;font-family:var(--font)}.zoom-controls{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px}.zoom-controls button{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:13px;line-height:1}.zoom-controls button:hover{background:#343b47}.canvas-scroll{flex:1;overflow:auto;padding:32px}.canvas-outline{position:absolute;top:54px;left:10px;z-index:46}.canvas-outline-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer;box-shadow:0 4px 14px #00000059}.canvas-outline-toggle:hover{background:var(--bg-3)}.canvas-outline-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canvas-outline-menu{position:absolute;top:44px;left:0;width:308px;max-height:calc(100vh - 240px);display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #00000073;overflow:hidden}@media(prefers-reduced-motion:no-preference){.canvas-outline-menu{animation:insp-slide-in .14s ease-out}}.canvas-outline-menu .outline-pane{width:100%;border-right:0;flex:1;min-height:0}.canvas-outline-menu .outline-pane .tree{flex:1;min-height:0;overflow-y:auto}.canvas-outline-menu .outline-pane .pane-subheader{padding:10px 12px}.canvas-outline-menu .outline-pane .course-title-input{width:100%}.stage{position:relative;background:var(--ocf-surface);color:var(--ocf-text);transform-origin:top left;box-shadow:0 8px 32px #00000080;border-radius:2px}.obj-frame{position:absolute;cursor:move}.obj-frame-inner{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border:1px solid transparent}.obj-frame:hover .obj-frame-inner{border-color:var(--accent-dim)}.obj-frame.selected .obj-frame-inner{border:1.5px solid var(--accent)}.obj-frame.hidden-obj .obj-frame-inner{opacity:.35;border-style:dashed;border-color:var(--text-faint)}.obj-frame.locked{cursor:default}.obj-frame-image-edit{position:absolute;top:6px;right:6px;z-index:5;width:32px;height:32px;display:none;align-items:center;justify-content:center;font-size:16px;background:var(--ocf-surface, #1e1e2e);color:var(--text, #fff);border:1px solid var(--accent-dim, #666);border-radius:6px;cursor:pointer;opacity:.95}.obj-frame:hover .obj-frame-image-edit,.flow-obj:hover .obj-frame-image-edit{display:flex}.obj-frame-image-edit:hover{background:var(--accent, #4f46e5);border-color:var(--accent, #4f46e5)}.obj-frame-image-edit:focus-visible{display:flex;outline:2px solid var(--accent, #4f46e5);outline-offset:2px}.obj-hover-controls{position:absolute;left:6px;bottom:6px;z-index:6;display:none;align-items:center;gap:2px;padding:2px;background:var(--ocf-surface, #1e1e2e);border:1px solid var(--ocf-border, #3a3f4b);border-radius:8px;box-shadow:0 4px 14px #00000059}.obj-frame:hover .obj-hover-controls,.obj-frame.selected .obj-hover-controls,.obj-frame:focus-within .obj-hover-controls,.flow-obj:hover .obj-hover-controls,.flow-obj.selected .obj-hover-controls,.flow-obj:focus-within .obj-hover-controls,.flow-rowframe:hover .obj-hover-controls,.flow-rowframe.selected .obj-hover-controls,.flow-rowframe:focus-within .obj-hover-controls{display:flex}.obj-hover-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;background:transparent;color:var(--text, #fff);border:1px solid transparent;border-radius:6px;cursor:pointer;padding:0}.obj-hover-btn:hover:not(:disabled){background:var(--accent, #4f46e5);border-color:var(--accent, #4f46e5);color:#fff}.obj-hover-btn:disabled{opacity:.35;cursor:default}.obj-hover-btn:focus-visible{outline:2px solid var(--accent, #4f46e5);outline-offset:1px}.obj-tag{position:absolute;top:-20px;left:0;background:var(--accent-dim);color:#fff;font-size:10px;padding:1px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;z-index:5}.resize-handle{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;background:var(--accent);border:2px solid #fff;border-radius:3px;cursor:nwse-resize;z-index:6}.stage,.flow-stage,.pp-stage,.pp-flow{font-family:var(--ocf-font-body);font-size:var(--ocf-type-body);line-height:1.6}.stage h1,.flow-stage h1,.pp-stage h1,.pp-flow h1,.stage h2,.flow-stage h2,.pp-stage h2,.pp-flow h2,.stage h3,.flow-stage h3,.pp-stage h3,.pp-flow h3{font-family:var(--ocf-font-heading);line-height:1.25;font-weight:700;margin:0 0 .4em}.stage h1,.flow-stage h1,.pp-stage h1,.pp-flow h1{font-size:var(--ocf-type-h1)}.stage h2,.flow-stage h2,.pp-stage h2,.pp-flow h2{font-size:var(--ocf-type-h2)}.stage h3,.flow-stage h3,.pp-stage h3,.pp-flow h3{font-size:var(--ocf-type-h3)}.stage p,.flow-stage p,.pp-stage p,.pp-flow p{margin:0 0 .6em}.richtext-editor{font-family:var(--ocf-font-body);font-size:var(--ocf-type-body);line-height:1.6}.obj-text{width:100%;height:100%;overflow:hidden}.obj-text p{margin:0 0 .5em}.obj-text pre{background:#1c2333;color:#eef2f7;font-family:var(--mono);font-size:var(--ocf-type-small);line-height:1.55;padding:14px 16px;border-radius:8px;white-space:pre-wrap;word-break:break-word;margin:.5em 0}.obj-text pre code{font-family:inherit;color:inherit;background:none;padding:0}.obj-text blockquote{margin:.5em 0;padding:.25em 0 .25em 1em;border-left:4px solid var(--accent, #3b82f6);font-style:italic;font-size:var(--ocf-type-quote);line-height:1.4}.obj-text blockquote p{margin:0 0 .4em}.obj-image,.obj-video{width:100%;height:100%;object-fit:contain;display:block}.obj-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#f0f2f5;border:1px dashed #b9c0cc;border-radius:4px;color:#5b6472;padding:8px;text-align:center;overflow:hidden}.obj-placeholder-icon{font-size:22px}.obj-placeholder-title{font-weight:600;font-size:12px}.obj-placeholder-detail{font-size:10px;color:#525b6a;word-break:break-word}.obj-shape{width:100%;height:100%}.obj-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);color:#fff;border-radius:6px;font-weight:600;padding:4px 10px;text-align:center}.obj-button p{margin:0}.obj-hotspot{width:100%;height:100%;border:2px dashed var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--accent-ink);font-size:11px;background:#4f8ff714}.obj-group{position:relative;width:100%;height:100%}.obj-group-child{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.obj-popup{border:2px dashed var(--accent);border-radius:6px;background:var(--bg-2);min-height:100%;display:flex;flex-direction:column}.obj-popup-titlebar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-3);border-bottom:1px dashed var(--accent);font-size:12px;font-weight:600;color:var(--text)}.obj-popup-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-ink)}.obj-popup-body{padding:8px;flex:1}.obj-popup-child{margin-bottom:8px}.obj-popup-child:last-child{margin-bottom:0}.flow-stage{width:100%;min-height:100%;background:var(--ocf-surface);color:var(--ocf-text);border-radius:4px;box-shadow:0 8px 32px #00000080}.flow-content{width:100%;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:0;container-type:inline-size}.flow-content .flow-content-col{width:100%;max-width:var(--ocf-content-width);margin-left:auto;margin-right:auto}.flow-layer{display:flex;flex-direction:column;gap:12px;padding:12px 0}.flow-layer-name{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.flow-obj{background:transparent;color:var(--ocf-text);border-radius:6px;padding:12px;border:1.5px solid transparent;cursor:pointer;position:relative}.flow-obj:hover{border-color:var(--accent-dim)}.flow-obj.selected{border-color:var(--accent)}.flow-obj.hidden-obj{opacity:.4}.flow-obj .obj-tag{top:-11px}.flow-content .flow-obj.ocf-wrap-square,.flow-content .flow-obj.ocf-wrap-tight{float:left;max-width:45%;margin:0 16px 12px 0}.flow-content .flow-obj.ocf-wrap-tight{shape-outside:margin-box}.ocf-wrap-excl{float:left;pointer-events:none}.flow-empty{color:var(--text-faint);font-style:italic;padding:8px}.flow-rowframe{background:transparent;color:var(--ocf-text);border-radius:6px;padding:10px;border:1.5px dashed #b9c2cc;cursor:pointer;position:relative;display:grid;grid-template-columns:repeat(12,1fr);margin-bottom:12px}.flow-rowframe:hover{border-color:var(--accent-dim)}.flow-rowframe.selected{border-color:var(--accent);border-style:solid}.flow-rowframe .obj-tag{top:-11px}.flow-cellframe{border:1px dotted #c6cdd5;border-radius:4px;padding:8px;min-width:0;position:relative;cursor:pointer;grid-column:span var(--ocf-span, 12)}@container (min-width: 640px){.flow-cellframe{grid-column:span var(--ocf-span-tablet, var(--ocf-span, 12))}}@container (min-width: 1024px){.flow-cellframe{grid-column:span var(--ocf-span-desktop, var(--ocf-span-tablet, var(--ocf-span, 12)))}}.flow-cellframe:hover{border-color:var(--accent-dim)}.flow-cellframe.selected{border-color:var(--accent);border-style:solid}.flow-cellframe.hidden-obj{opacity:.4}.flow-cellframe .obj-tag{top:-11px}.flow-cellframe.cell-empty{border-style:dashed;min-height:76px;display:flex;align-items:center;justify-content:center}.cell-add-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1.5px dashed var(--text-faint);color:var(--text-dim);border-radius:8px;padding:10px 18px;cursor:pointer;font-size:12px;font-family:var(--font)}.cell-add-btn:hover{border-color:var(--accent);color:var(--accent);border-style:solid}.cell-add-plus{font-size:18px;line-height:1;font-weight:700}.cell-add-btn.cell-add-below{display:flex;width:100%;justify-content:center;margin-top:8px;padding:6px 12px;border-width:1px}.flow-divider{position:relative;height:16px;margin:-8px 0;z-index:5}.flow-divider:before{content:"";position:absolute;left:16px;right:16px;top:7.5px;border-top:1px dashed transparent;transition:border-color .12s ease;pointer-events:none}.flow-divider:hover:before{border-top-color:var(--accent-dim)}.flow-divider-btn{position:absolute;left:50%;top:8px;transform:translate(-50%,-50%) scale(.85);width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;border:2px solid var(--bg-2);font-size:18px;line-height:1;font-weight:700;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;display:flex;align-items:center;justify-content:center;padding:0}.flow-divider:hover .flow-divider-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:20px;max-width:560px;width:90%;max-height:70vh;overflow-y:auto}.modal h3{margin:0 0 8px}.modal-sub{color:var(--text-dim);margin:0 0 12px}.modal-pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px;font-family:var(--mono);font-size:11px;white-space:pre-wrap;word-break:break-word;color:#ffb4ae}.error-list{margin:0 0 16px;padding-left:18px;font-size:12px}.error-list li{margin-bottom:6px}.error-list code{font-family:var(--mono);color:var(--accent);font-size:11px}.modal-wide{max-width:860px;max-height:84vh}.modal-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin:0 0 12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.image-edit-dialog{max-width:940px}.image-edit-body{display:flex;gap:20px;align-items:flex-start}.image-edit-stage{position:relative;flex-shrink:0;overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none}.image-edit-base,.image-edit-preview{display:block;pointer-events:none}.image-edit-preview{position:absolute}.image-edit-controls{border:0;padding:0;margin:0}.image-edit-result{display:block;pointer-events:none}.image-edit-checkerboard{background-color:#f4f4f4;background-image:linear-gradient(45deg,#c9c9c9 25%,transparent 25%,transparent 75%,#c9c9c9 75%),linear-gradient(45deg,#c9c9c9 25%,transparent 25%,transparent 75%,#c9c9c9 75%);background-size:16px 16px;background-position:0 0,8px 8px}.image-edit-frame{position:absolute;border:2px solid var(--accent);cursor:move;box-shadow:0 0 0 9999px #00000080}.image-edit-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #00000080}.image-edit-handle-nw{left:-9px;top:-9px;cursor:nwse-resize}.image-edit-handle-ne{right:-9px;top:-9px;cursor:nesw-resize}.image-edit-handle-sw{left:-9px;bottom:-9px;cursor:nesw-resize}.image-edit-handle-se{right:-9px;bottom:-9px;cursor:nwse-resize}.image-edit-controls{display:flex;flex-direction:column;gap:14px;min-width:230px}.image-edit-controls section{margin:0}.image-edit-controls h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.image-edit-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.image-edit-presets .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.image-edit-slider{display:block;margin:8px 0;font-size:12px}.image-edit-slider span{display:flex;justify-content:space-between;margin-bottom:2px}.image-edit-slider input[type=range]{width:100%;accent-color:var(--accent)}.image-edit-reset{margin-top:2px}.image-edit-open-btn{margin:4px 0 8px}.gallery-grid{margin-top:4px}.gallery-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;cursor:pointer;font:inherit;text-align:left;padding:14px;transition:border-color .12s ease,transform .12s ease}.gallery-card:hover{border-color:var(--accent);transform:translateY(-1px)}.gallery-card .ocf-card-icon{margin-bottom:2px}.gallery-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.gallery-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:2px 8px}.image-edit-dialog.advanced-open{max-width:1280px;width:94vw;max-height:94vh;display:flex;flex-direction:column;overflow:hidden}.image-edit-advanced{display:flex;min-height:0;flex:1;height:72vh}.image-edit-advanced>*{flex:1;min-width:0;min-height:0}.advanced-image-editor{display:flex;min-height:0}.advanced-image-editor>*{flex:1;min-width:0;min-height:0}.obj-placeholder-icon{pointer-events:none}.richtext-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0eb8;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.richtext-modal{width:min(880px,94vw);max-height:90vh;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 64px #0000008c}.richtext-modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.richtext-modal-title{font-size:13px;font-weight:600;color:var(--text)}.richtext-modal-body{padding:12px 14px;overflow-y:auto;flex:1;min-height:0}.richtext-modal-body .richtext-editor{min-height:300px;max-height:56vh}.richtext-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border)}.item-list{margin:8px 0}.item-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.item-list-row{display:flex;gap:6px;align-items:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px;margin-bottom:6px}.item-list-body{flex:1;min-width:0}.item-list-body .field{margin-bottom:6px}.item-list-actions{display:flex;flex-direction:column;gap:4px}.resource-row{display:flex;gap:6px}.resource-row .field-input{flex:1;min-width:0}.props-subgroup{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.props-subgroup .props-group-title{font-size:11px}.choice-row{display:flex;gap:8px;align-items:flex-start}.choice-row input[type=radio],.choice-row input[type=checkbox]{margin-top:10px;flex-shrink:0}.choice-label{flex:1;min-width:0}.nested-toggle{background:none;border:none;color:var(--text);font-size:12px;cursor:pointer;padding:2px 0;text-align:left}.nested-body{border-left:2px solid var(--border);padding-left:8px;margin:6px 0 4px}.nested-preview{font-size:12px;color:var(--text-dim)}.richtext-editor{min-height:88px;max-height:320px;overflow-y:auto;line-height:1.5;cursor:text}.richtext-editor:empty:before{content:attr(data-placeholder);color:var(--text-faint)}.richtext-editor p{margin:0 0 .5em}.richtext-editor p:last-child{margin-bottom:0}.richtext-editor ul,.richtext-editor ol{margin:0 0 .5em;padding-left:22px}.richtext-editor a{color:var(--accent)}.richtext-editor:focus{outline:none;border-color:var(--accent)}textarea.richtext-source{font-family:var(--mono);font-size:11px;resize:vertical}.richtext-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.richtext-toggle button{background:transparent;border:none;border-radius:0;color:var(--text-faint);font-size:11px;padding:2px 10px;cursor:pointer}.richtext-toggle button.active{background:var(--accent-dim);color:#fff}.richtext-toggle button:not(.active):hover{color:var(--text)}.html-toolbar{display:flex;gap:4px;margin-bottom:4px}.html-toolbar button{background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:12px;padding:2px 8px;cursor:pointer}.html-toolbar button:hover{color:var(--text);border-color:var(--text-faint)}.html-toolbar select{background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:12px;padding:2px 4px;cursor:pointer;max-width:96px}.html-toolbar select:hover{color:var(--text);border-color:var(--text-faint)}.color-pick{display:inline-flex;align-items:center;gap:2px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:12px;padding:2px 6px;cursor:pointer}.color-pick:hover{color:var(--text);border-color:var(--text-faint)}.color-pick input[type=color]{width:22px;height:18px;padding:0;border:none;background:none;cursor:pointer}.expand-btn{margin-left:2px}.link-popover{display:inline-flex;align-items:center;gap:6px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.link-popover .link-url{width:180px}.link-newtab{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);white-space:nowrap}.rend-accordion{display:flex;flex-direction:column;gap:4px;width:100%}.rend-acc-panel{border:1px solid var(--border);border-radius:6px;overflow:hidden}.rend-acc-head{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--bg-3);border:none;color:var(--text);padding:8px 10px;cursor:pointer;font-size:13px}.rend-acc-head.open{background:#2e3a4d}.rend-acc-chev{color:var(--text-dim)}.rend-acc-body{padding:8px 10px;background:var(--bg-2);font-size:var(--ocf-type-body);color:var(--text)}.rend-tabs{width:100%}.rend-tabs-head{display:flex;gap:2px;border-bottom:1px solid var(--border)}.rend-tab{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;color:var(--text-dim);padding:7px 12px;cursor:pointer;font-size:13px}.rend-tab.active{background:var(--bg-3);color:var(--text);border-color:var(--border)}.rend-tabs-body{padding:10px;background:var(--bg-3);border-radius:0 6px 6px;font-size:var(--ocf-type-body);color:var(--text)}.rend-timeline{width:100%;font-size:var(--ocf-type-body)}.rend-tl-event{display:flex;gap:10px}.rend-tl-rail{display:flex;flex-direction:column;align-items:center}.rend-tl-dot{width:12px;height:12px;border-radius:50%;background:var(--accent, #3b82f6);margin-top:4px;flex-shrink:0}.rend-tl-line{width:2px;flex:1;background:var(--border);min-height:24px}.rend-tl-card{padding-bottom:16px;flex:1;min-width:0}.rend-tl-date{font-size:var(--ocf-type-caption);color:var(--accent-ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.rend-tl-title{font-weight:600;margin:2px 0}.rend-tl-title p{margin:0}.rend-tl-body{color:var(--ink)}.rend-tl-body p{margin:4px 0}.rend-tl-media{max-width:100%;border-radius:6px;margin-top:6px}.rend-slideshow{width:100%}.rend-ss-stage{position:relative;background:#000;border-radius:6px;overflow:hidden;min-height:120px;display:flex;align-items:center;justify-content:center}.rend-ss-stage img{max-width:100%;max-height:300px;display:block}.rend-ss-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0000008c;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:14px}.rend-ss-nav.prev{left:8px}.rend-ss-nav.next{right:8px}.rend-ss-caption{text-align:center;color:var(--ink);font-size:var(--ocf-type-caption);margin-top:6px}.rend-ss-caption p{margin:0}.rend-ss-dots{display:flex;gap:6px;justify-content:center;margin-top:8px}.rend-ss-dot{width:10px;height:10px;border-radius:50%;background:var(--border);border:none;cursor:pointer;padding:0}.rend-ss-dot.active{background:var(--accent, #3b82f6)}.rend-flipgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;width:100%}.rend-flipcard{perspective:600px;background:none;border:none;padding:0;cursor:pointer;min-height:180px}.rend-flip-inner{position:relative;width:100%;height:100%;min-height:180px;transition:transform .45s;transform-style:preserve-3d}.rend-flipcard.flipped .rend-flip-inner{transform:rotateY(180deg)}.rend-flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:var(--ocf-type-body);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--bg-3);color:var(--text)}.rend-flip-face.back{transform:rotateY(180deg);background:var(--accent-dim);color:#fff}.rend-flip-face img{max-width:100%;max-height:70px;border-radius:4px}.rend-flip-face p{margin:0}.rend-compare{position:relative;width:100%;overflow:hidden;border-radius:6px;-webkit-user-select:none;user-select:none}.rend-compare img{display:block;width:100%;pointer-events:none}.rend-cmp-after{width:100%}.rend-cmp-before-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.rend-cmp-before{width:100%;height:100%;object-fit:cover}.rend-cmp-slider{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:.85;cursor:ew-resize}.rend-cmp-slider.vertical{cursor:ns-resize}.rend-cmp-label{position:absolute;top:8px;font-size:11px;font-weight:700;background:#0009;color:#fff;padding:2px 8px;border-radius:4px;pointer-events:none}.rend-cmp-label.before{left:8px}.rend-cmp-label.after{right:8px}.rend-chart{width:100%;height:auto;color:var(--text)}.rend-collage{display:grid;gap:8px;width:100%}.rend-collage.layout-grid,.rend-collage.layout-masonry{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.rend-collage.layout-carousel{grid-auto-flow:column;grid-auto-columns:220px;overflow-x:auto}.rend-collage-item{margin:0}.rend-collage-item img{width:100%;border-radius:6px;display:block}.rend-collage-item figcaption{font-size:var(--ocf-type-caption);color:var(--ink);margin-top:4px}.rend-collage-item figcaption p{margin:0}.rend-ivideo{width:100%}.rend-iv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.rend-iv-chip{font-size:var(--ocf-type-caption);background:var(--bg-3);border:1px solid var(--border);border-radius:12px;padding:3px 10px;color:var(--text-dim)}.rend-question{width:100%;font-size:var(--ocf-type-body)}.rend-q-prompt p{margin:0 0 8px}.rend-q-media{max-width:100%;border-radius:6px;margin:4px 0 8px}.rend-q-choices{display:flex;flex-direction:column;gap:6px;margin-top:4px}.rend-q-choice{display:flex;gap:8px;align-items:flex-start;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:default;color:var(--text)}.rend-q-choice p{margin:0}.rend-q-seq{margin:4px 0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.rend-q-seq li{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text)}.rend-q-seq p{margin:0}.rend-q-blanks{display:flex;flex-direction:column;gap:6px;margin-top:4px}.rend-q-blank{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:var(--ocf-type-body);width:100%;box-sizing:border-box}.rend-q-match{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.rend-q-match-col{display:flex;flex-direction:column;gap:6px}.rend-q-match-item{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:var(--ocf-type-body);color:var(--text)}.rend-q-match-item p{margin:0}.rend-q-dragdrop{display:flex;flex-direction:column;gap:8px;margin-top:4px}.rend-q-dd-items{display:flex;flex-wrap:wrap;gap:6px}.rend-q-dd-item{background:var(--bg-3);border:1px solid var(--accent, #3b82f6);border-radius:6px;padding:6px 10px;font-size:var(--ocf-type-body);color:var(--text)}.rend-q-dd-item p{margin:0}.rend-q-dd-zones{display:flex;flex-wrap:wrap;gap:8px}.rend-q-dd-zone{border:2px dashed var(--border);border-radius:6px;padding:8px 12px;min-width:120px;min-height:48px;font-size:var(--ocf-type-body);color:var(--text)}.rend-q-dd-zone p{margin:0}.rend-q-markwords{line-height:2}.rend-q-word{border-bottom:2px dotted var(--text-faint);padding:0 2px}.rend-q-word.correct{border-bottom:2px solid var(--accent, #3b82f6)}.rend-q-memory{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:4px}.rend-q-memory-card{aspect-ratio:3/4;border-radius:8px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:var(--ocf-type-h3);color:#fff;border:1px solid var(--border)}.rend-q-words{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.rend-q-wordchip{background:var(--bg-3);border:1px solid var(--border);border-radius:12px;padding:4px 12px;font-size:var(--ocf-type-body);color:var(--text)}.rend-q-xword{margin:4px 0;padding-left:22px;font-size:var(--ocf-type-body);display:flex;flex-direction:column;gap:4px}.rend-q-xword p{display:inline;margin:0}.rend-q-audio{margin-top:6px;background:var(--bg-3);border:1px dashed var(--border);border-radius:6px;padding:12px;text-align:center;color:var(--text-dim);font-size:var(--ocf-type-body)}.rend-q-hotspots{position:relative;min-height:80px;border:1px dashed var(--border);border-radius:6px;margin-top:4px}.rend-q-hotspot{position:absolute;border:2px dashed var(--accent, #3b82f6);border-radius:4px;background:#3b82f61f}.obj-audio{width:100%;margin:8px 0}.obj-video{width:100%;max-height:100%;border-radius:4px;background:#000}.obj-webview{width:100%;height:100%;min-height:200px;border:1px solid var(--border);border-radius:4px;background:#fff}.obj-image{width:100%;height:100%;object-fit:contain;display:block}.health-badge{position:absolute;top:-8px;right:-8px;z-index:5;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;border:2px solid var(--ocf-surface);cursor:pointer;padding:0}.health-badge.inline{position:static;width:18px;height:18px;font-size:10px;flex:none}.health-badge.sev-error,.issue-sev.sev-error{background:#dc2626;color:#fff}.health-badge.sev-warning,.issue-sev.sev-warning{background:#d97706;color:#fff}.health-badge.sev-info,.issue-sev.sev-info{background:#2563eb;color:#fff}.health-badge:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:1px}.sev-error-text{color:#dc2626;font-weight:600}.sev-warning-text{color:#d97706;font-weight:600}.sev-info-text{color:#2563eb;font-weight:600}.health-allclear{color:#059669;font-weight:600}.health-indicator.has-errors{border-color:#dc2626;color:#dc2626}.health-indicator.has-warnings{border-color:#d97706;color:#d97706}.health-indicator.all-clear{color:var(--text-faint)}.issues-drawer{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:90vw;z-index:60;background:var(--ocf-surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000002e;display:flex;flex-direction:column;transition:width .22s ease}.issues-drawer.is-minimized{width:56px}.issues-min{flex:1;width:100%;background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;color:var(--text);font:inherit}.issues-min:hover{background:var(--bg-3)}.issues-min:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.issues-min-glyph{font-size:16px;color:var(--text-dim);line-height:1}.issues-min-counts{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1.2}.issues-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.issues-title{font-weight:700;font-size:14px}.issues-counts{display:flex;gap:8px;font-size:12px;margin-right:auto}.issues-actions{display:flex;gap:4px;align-items:center}.issues-actions .icon-btn{visibility:visible;border:1px solid var(--border);padding:5px 9px}.issues-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;font-size:12px;color:var(--text-faint);border-bottom:1px solid var(--border);background:var(--bg-2)}.issues-scroll{overflow-y:auto;flex:1;padding:8px}.issues-empty{color:var(--text-faint);font-size:13px;padding:16px 8px}.issues-group{margin-bottom:4px}.issues-group-title{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-weight:600;font-size:13px;color:var(--text);padding:6px 4px}.issue-row{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;cursor:pointer;background:var(--bg)}.issue-row:hover{border-color:var(--accent)}.issue-row:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:1px}.issue-sev{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.issue-body{flex:1;min-width:0}.issue-title{font-size:12px;font-weight:600}.issue-msg{font-size:12px;color:var(--text);margin-top:2px}.issue-loc{font-size:11px;color:var(--text-faint);margin-top:2px}.issue-hint{font-size:11px;color:var(--text-faint);margin-top:4px;font-style:italic}.issue-error{font-size:11px;color:#dc2626;margin-top:4px}.issue-row .btn-small{flex:none}.health-settings-modal{max-width:520px}.health-settings-scroll{max-height:50vh;overflow-y:auto;margin:8px 0}.health-cat{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:8px 10px}.health-cat-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.health-cat-name{font-weight:600;font-size:13px}.health-check-list{margin-top:8px;padding-left:26px;display:flex;flex-direction:column;gap:6px}.health-check-row{font-size:12px}.health-check-name{flex:1}.health-check-sev{font-size:11px}.btn-sm{padding:3px 8px;font-size:11px}.btn-danger{border-color:var(--danger);color:#ff9d97}.btn-danger:hover:not(:disabled){background:#4a2624}.icon-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:2px 5px;border-radius:4px;font-size:12px;line-height:1;visibility:hidden}.tree-row:hover .icon-btn{visibility:visible}.tree-row:focus-within .icon-btn{visibility:visible}.icon-btn:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:default}.field-hint{font-size:11px;color:var(--text-faint)}.trig-card{border:1px solid var(--border);border-radius:6px;background:#1b1f26}.trig-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;color:var(--text);cursor:pointer;padding:8px 10px;font-size:12px;text-align:left}.trig-card-head:hover{background:#222834}.trig-summary{flex:1}.trig-card-body{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:10px}.trig-builder{display:flex;flex-direction:column;gap:10px}.trig-row{display:flex;gap:6px;align-items:flex-end}.trig-row .field-input{flex:1;min-width:0}.trig-cond,.trig-action{border:1px dashed var(--border);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.trig-xapi{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.field-error{font-size:11px;color:var(--danger, #e5484d)}.var-card{border:1px solid var(--border);border-radius:6px;background:#1b1f26}.var-card summary{padding:8px 10px;cursor:pointer;font-size:12px;display:flex;gap:8px;align-items:center}.var-card summary code{color:#7db4f0}.var-card-body{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:8px}.var-add{display:flex;flex-direction:column;gap:8px}.auth-modal{max-width:420px}.btn-google{width:100%;justify-content:center;font-weight:600;background:#fff;border-color:#dadce0;color:#1f1f1f}.btn-google:hover:not(:disabled){background:#f6fafe;border-color:#c7d7f5}.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--text-dim);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.auth-tabs{display:flex;gap:4px;margin-bottom:12px}.auth-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:13px;padding:6px 10px;cursor:pointer}.auth-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.auth-form label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:10px}.auth-form input{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;box-sizing:border-box}.auth-form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.link-btn{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;margin:2px 0 10px;text-align:left}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:4px 0 10px}.segmented-option{background:var(--bg);border:none;color:var(--text-dim);font-size:12px;padding:6px 14px;cursor:pointer}.segmented-option+.segmented-option{border-left:1px solid var(--border)}.segmented-option:hover{color:var(--text)}.segmented-option.selected{background:color-mix(in srgb,var(--accent) 18%,var(--bg));color:var(--text);font-weight:600}.segmented-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.auth-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin:0 0 12px}.auth-notice{background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin:0 0 12px}.auth-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.auth-signedin{position:relative}.auth-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:10px;min-width:220px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 24px #00000059}.auth-menu-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.auth-menu-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);border-radius:var(--radius);padding:6px 8px;font-size:12px;overflow-wrap:anywhere}.tier-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);margin-left:6px;white-space:nowrap}.tier-studio{color:#ffd479;border-color:#8a6d1f;background:#ffd47914}.tier-enterprise{color:#9adcff;border-color:#1f6d8a;background:#9adcff14}.objectives-manager{display:flex;flex-direction:column;gap:8px}.objective-row{display:flex;gap:8px;align-items:flex-start}.objective-row-main{flex:1;min-width:0}.objective-add-row{display:flex;gap:8px}.objective-add-row .field-input{flex:1;min-width:0}.objective-linker{display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.modal-field{display:block;margin:10px 0;font-size:13px}.modal-field>span{display:block;margin-bottom:4px;font-weight:600}.modal-field input{width:100%;box-sizing:border-box;padding:7px 9px;font-size:13px;border:1px solid var(--ocf-border);border-radius:6px;background:var(--ocf-surface);color:var(--ocf-text)}.vh-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.vh-actions{display:flex;align-items:center;gap:12px;margin:12px 0}.vh-cloud-note{font-size:12px;color:var(--text-dim)}.vh-empty{color:var(--text-dim);font-size:13px;padding:24px 0;text-align:center}.vh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.vh-item{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--bg);display:flex;justify-content:space-between;gap:16px}.vh-main{flex:1;min-width:0}.vh-badges{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.vh-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.vh-trigger-manual{color:#7cc4ff;border-color:#7cc4ff}.vh-trigger-autosave{color:var(--text-dim)}.vh-trigger-pre-import{color:#f5b14c;border-color:#f5b14c}.vh-variant{color:#b49aff;border-color:#b49aff}.vh-cloud{color:#7ee2a8;border-color:#7ee2a8}.vh-label{background:none;border:none;padding:0;cursor:pointer;font-size:14px;font-weight:600;color:var(--text);text-align:left}.vh-label:hover{text-decoration:underline}.vh-meta{font-size:11px;color:var(--text-dim);margin-top:2px}.vh-diff{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--text)}.vh-diff li{margin-bottom:2px}.vh-diff-none{font-size:12px;color:var(--text-dim);margin:8px 0 0;font-style:italic}.vh-item-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex:none}.vh-confirm{display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-size:12px;max-width:220px;text-align:right}.vh-rename{display:flex;gap:6px;align-items:center}.vh-rename input{padding:5px 8px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);min-width:180px}.vh-danger{color:#ff8f88}.vh-danger:hover{background:color-mix(in srgb,var(--danger) 15%,transparent)}.vh-course{font-style:italic}.review-modal{min-width:min(560px,92vw)}.review-tabs{display:flex;gap:4px;align-items:center;margin-bottom:12px}.review-tab{padding:6px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-dim);cursor:pointer}.review-tab.active{background:var(--bg-3);color:var(--text);font-weight:600}.review-tabs-spacer{flex:1}.review-note{font-size:13px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text)}.review-error{font-size:13px;color:#ff9d97;margin:10px 0 0}.review-created{margin-top:14px;padding:12px;border:1px solid var(--accent-dim, var(--border));border-radius:var(--radius);background:var(--bg-2)}.review-created p{font-size:13px;margin:0 0 8px}.review-url-row{display:flex;gap:8px}.review-url{flex:1;padding:6px 8px;font-size:12px;font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--accent)}.review-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-link-row{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:var(--bg-2)}.review-link-main{display:flex;gap:8px;align-items:baseline;font-size:12px}.review-link-token{font-family:var(--mono);color:var(--text)}.review-link-meta{color:var(--text-dim)}.review-link-actions{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}.review-danger-note{font-size:12px;color:#ff9d97}.review-comments-view{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.review-comments-view h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px}.review-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.review-comment-btn{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);cursor:pointer;font-size:13px}.review-comment-btn:hover{border-color:var(--accent)}.review-comment-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.review-comment-when{color:var(--text-dim)}.review-comment-body{white-space:pre-wrap}.review-comment-pin{font-size:11px;color:var(--text-dim)}.review-footnote{margin-top:14px}.review-guest{min-height:100vh;background:var(--bg);color:var(--text)}.review-gate{max-width:480px;margin:20vh auto;padding:24px;text-align:center}.review-gate h2{margin:0 0 8px;font-size:20px}.review-gate p{color:var(--text-dim);font-size:14px}.review-gate-row{display:flex;gap:8px;margin-top:12px}.review-gate-row input{flex:1;padding:8px 10px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text)}.review-pv{height:100vh}.review-body{flex:1;display:flex;min-height:0}.review-scroll{flex:1;position:relative}.review-scroll.review-pinning{cursor:crosshair}.review-pin-banner{position:sticky;top:0;z-index:5;display:flex;gap:10px;align-items:center;justify-content:center;padding:8px;font-size:13px;background:var(--accent-dim);color:var(--text);border-bottom:1px solid var(--border)}.review-panel{width:320px;flex:none;border-left:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;min-height:0}.review-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.review-panel-head h3{margin:0;font-size:14px}.review-add-btn{margin:10px 12px 0}.review-composer{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.review-pin-chip{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 8px;border:1px dashed var(--accent);border-radius:var(--radius);color:var(--text)}.review-panel .review-comment-list{flex:1;padding:10px 12px;max-height:none}.review-empty{color:var(--text-dim);font-size:13px;font-style:italic}.review-panel .review-footnote{padding:8px 12px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim);margin:0}.review-flash-obj{outline:3px solid var(--accent)!important;outline-offset:2px;transition:outline-color .3s}.review-status{display:inline-block;font-size:11px;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;white-space:nowrap}.review-status-open{background:#dbeafe;color:#1d4ed8}.review-status-resolved{background:#dcfce7;color:#166534}.review-status-reopened{background:#fef3c7;color:#92400e}.review-comment-head .review-status{margin-left:6px}.review-cl-filters{display:flex;gap:6px;padding:8px 12px}.review-cl-filter{flex:1;padding:5px 4px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-dim);cursor:pointer}.review-cl-filter.active{background:var(--accent-dim);color:var(--text);border-color:var(--accent);font-weight:600}.review-cl-count{display:inline-block;min-width:18px;font-size:11px;font-weight:600;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:0 5px}.review-cl-empty{color:var(--text-dim);font-size:13px;font-style:italic;padding:4px 12px}.review-cl-item{border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:6px}.review-cl-actions{display:flex;gap:6px;padding:2px 12px 0}.review-anchor-note{margin:6px 12px 0;padding:6px 8px;font-size:12px;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius)}.review-comments-view-actions{display:flex;gap:8px;margin:8px 0}.notif-bell-wrap{position:relative;display:inline-flex}.notif-bell{position:relative}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;text-align:center;color:#fff;background:#dc2626;border-radius:999px}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:41;width:380px;max-height:70vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px #00000040;padding:12px}.notif-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.notif-head h3{margin:0;font-size:14px}.notif-head-actions{display:flex;gap:6px}.notif-list{list-style:none;margin:0;padding:0}.notif-item{display:block;width:100%;text-align:left;padding:8px;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);cursor:pointer}.notif-item:hover{border-color:var(--accent)}.notif-item-head{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.notif-item-link{margin-left:auto;color:var(--text-dim);font-family:monospace;font-size:11px}.notif-item-body{display:block;font-size:13px;margin-bottom:2px}.notif-digest{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.notif-digest-row{display:flex;align-items:center;gap:8px;margin-top:6px}.notif-digest-msg{font-size:12px;color:var(--text-dim)}.media-lib{max-width:980px;max-height:86vh;display:flex;flex-direction:column}.media-lib-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.media-lib-header h3{margin:0}.media-lib-tabs{display:flex;gap:8px;margin-bottom:12px}.media-lib-tab{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);padding:6px 14px;font:inherit;cursor:pointer;font-size:13px}.media-lib-tab.active{background:var(--bg-3);color:var(--text);border-color:var(--accent)}.media-lib-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.media-lib-search{flex:1 1 200px;min-width:160px}.media-lib-filters{display:flex;gap:4px}.media-lib-chip{background:var(--bg-2);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.media-lib-chip.active{color:var(--text);border-color:var(--accent);background:var(--bg-3)}.media-lib-sort{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.media-lib-sort select{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:4px 6px;font:inherit;font-size:12px}.media-lib-replace-banner{background:var(--bg-3);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin:0 0 12px;color:var(--text)}.media-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;overflow-y:auto;padding-bottom:4px}.media-lib-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-bottom:4px}.media-lib-list .media-lib-card{flex-direction:row;align-items:center}.media-lib-list .media-lib-thumb{width:96px;height:64px;flex:none}.media-lib-list .media-lib-meta{flex:1 1 auto}.media-lib-card{display:flex;flex-direction:column;gap:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.media-lib-card:hover{border-color:var(--accent)}.media-lib-thumb{width:100%;height:120px;border-radius:var(--radius);overflow:hidden;background:var(--bg-3);display:flex;align-items:center;justify-content:center}.media-lib-thumb img,.media-lib-thumb video{width:100%;height:100%;object-fit:cover;display:block}.media-lib-thumb-icon{font-size:36px}.media-lib-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.media-lib-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-lib-sub{display:flex;align-items:center;gap:6px;font-size:11px}.media-lib-badge{font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:2px 8px}.media-lib-origin,.media-lib-dim{color:var(--text-dim)}.media-lib-unused{font-size:11px;color:var(--text-dim);font-style:italic}.media-lib-usage-btn{align-self:flex-start;background:none;border:none;padding:0;color:var(--accent);font:inherit;font-size:12px;cursor:pointer}.media-lib-actions{display:flex;gap:6px;flex-wrap:wrap}.media-lib-nodelete{font-size:11px;color:var(--text-dim);font-style:italic;align-self:center}.media-lib-usage{border-top:1px solid var(--border);padding-top:8px}.media-lib-usage-title{font-size:12px;font-weight:600;margin-bottom:6px}.media-lib-usage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.media-lib-usage-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;background:var(--bg-3);border-radius:var(--radius);padding:6px 8px}.media-lib-usage-where{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-lib-confirm{border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg-3);padding:10px;font-size:12px}.media-lib-confirm p{margin:0 0 8px}.media-lib-empty{color:var(--text-dim);font-size:13px;padding:24px;text-align:center}.media-lib-unsplash .media-lib-sub{margin-bottom:12px}.find-panel{display:flex;flex-direction:column;gap:12px}.find-head{display:flex;align-items:center;justify-content:space-between}.find-head h3{margin:0}.find-row{display:flex;gap:12px}.find-field{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.find-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:7px 10px;font-size:13px;width:100%;box-sizing:border-box}.find-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.find-options-row{align-items:center;flex-wrap:wrap}.find-check{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.find-scope{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.find-scope-btn{background:var(--bg);color:var(--text-dim);border:none;padding:6px 12px;font-size:12px;cursor:pointer}.find-scope-btn.active{background:var(--accent-dim);color:#fff}.find-scope-current{font-size:12px;color:var(--text-dim)}.find-results-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.find-count{font-size:12px;color:var(--text-dim)}.find-confirm{border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg-3);padding:10px 12px;font-size:12px;display:flex;flex-direction:column;gap:8px}.find-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.find-results{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.find-result{position:relative;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;cursor:pointer;font-size:12px}.find-result:hover{border-color:var(--accent)}.find-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.find-result-loc{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.find-result-snippet{color:var(--text);line-height:1.5}.find-result-snippet mark{background:var(--accent-dim);color:#fff;border-radius:2px;padding:0 1px}.find-result-index{position:absolute;top:6px;right:6px;font-size:10px;color:var(--text-dim);display:none}.find-foot{font-size:11px;color:var(--text-dim);margin:0}.find-foot kbd{background:var(--bg-3);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-family:var(--mono);font-size:10px}.cap-editor{display:flex;flex-direction:column;gap:10px;margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.cap-head{display:flex;align-items:baseline;gap:8px}.cap-head strong{font-size:13px}.cap-preview{display:flex;flex-direction:column;gap:6px}.cap-video{width:100%;max-height:220px;background:#000;border-radius:6px}.cap-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cap-lang{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.cap-lang input{width:64px}.cap-btn{font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-3);color:var(--text);cursor:pointer}.cap-btn:hover:not(:disabled){border-color:var(--text-faint)}.cap-btn:disabled{opacity:.45;cursor:default}.cap-report{margin:0;padding:8px 12px;font-size:12px;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--border);border-radius:6px;list-style:disc inside;display:flex;flex-direction:column;gap:2px}.cap-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.cap-cue{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--bg-2);display:flex;flex-direction:column;gap:6px}.cap-cue.is-active{border-color:var(--accent, #7aa2f7)}.cap-cue-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cap-idx{font-size:11px;color:var(--text-faint);min-width:18px;text-align:center;background:var(--bg-3);border-radius:4px;padding:2px 4px}.cap-cue-top label{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:4px}.cap-time{width:104px;font-family:var(--mono);font-size:12px}.cap-text{width:100%;resize:vertical;font-size:12px}.cap-seek{margin-left:auto}.cap-del{color:var(--danger, #e0655f)}.cap-err{font-size:12px;color:var(--danger, #e0655f)}.states-list{display:flex;flex-direction:column;gap:4px}.state-row{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;cursor:pointer;text-align:left;width:100%;color:var(--text)}button.state-row:hover{border-color:var(--accent)}.state-row.active{border-color:var(--accent);background:var(--accent-dim)}.state-pick{display:flex;align-items:center;gap:8px;flex:1;background:none;border:none;padding:0;cursor:pointer;color:var(--text);text-align:left;min-width:0}.state-name{font-size:12px;font-weight:600}.state-sub{font-size:11px;color:var(--text-faint);margin-left:auto;white-space:nowrap}.state-pick .state-sub{margin-left:auto}.state-row .link-btn{flex-shrink:0}.state-delete{color:var(--danger, #e0655f)}.state-rename{display:flex;gap:6px;flex:1}.state-rename .field-input{flex:1}.state-add{display:flex;gap:6px}.state-add .field-input{flex:1}.state-err{font-size:12px;color:var(--danger, #e0655f)}.state-editing-banner{display:flex;align-items:center;gap:8px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 10px}.state-editing-badge{font-size:12px;font-weight:700;color:#fff;flex:1}.state-editing-banner .btn{flex-shrink:0}.override-field{position:relative}.override-revert{position:absolute;top:0;right:0;font-size:10px;padding:1px 8px}.timeline-panel{border-top:1px solid var(--border);background:var(--bg-2);flex:none}.tl-head{display:flex;align-items:center;gap:6px;padding:4px 10px;min-height:34px}.tl-toggle{background:none;border:none;color:var(--text);font-weight:700;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:var(--radius)}.tl-toggle:hover{background:var(--bg-3)}.tl-page{color:var(--text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.tl-time{font-family:var(--mono);font-size:12px;color:var(--text-dim)}.tl-spacer{flex:1}.tl-hint{font-size:11px;color:var(--text-faint)}.tl-zoom-label{font-size:11px;color:var(--text-dim);min-width:40px;text-align:center}.tl-scroll{overflow:auto;max-height:240px;border-top:1px solid var(--border)}.tl-grid{position:relative;min-width:100%}.tl-ruler-row{display:flex;position:sticky;top:0;z-index:3}.tl-corner{position:sticky;left:0;z-index:4;width:200px;flex:none;background:var(--bg-2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-dim);display:flex;align-items:center;padding:0 8px;height:26px}.tl-ruler{position:relative;height:26px;flex:none;background:var(--bg);border-bottom:1px solid var(--border);cursor:ew-resize;outline:none}.tl-ruler:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tl-tick{position:absolute;top:0;height:100%;font-family:var(--mono);font-size:10px;color:var(--text-faint);padding:3px 0 0 4px;white-space:nowrap;border-left:1px solid var(--border)}.tl-playhead-head{position:absolute;top:0;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--danger);transform:translate(-6px)}.tl-track-row{display:flex;border-bottom:1px solid var(--border)}.tl-track-row.is-selected .tl-gutter{background:var(--bg-3)}.tl-gutter{position:sticky;left:0;z-index:2;width:200px;flex:none;background:var(--bg-2);border-right:1px solid var(--border);border-top:none;border-bottom:none;border-left:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:3px 8px;min-height:30px;cursor:pointer;text-align:left;color:var(--text)}.tl-gutter:hover{background:var(--bg-3)}.tl-gutter:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tl-gutter-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tl-gutter-type{font-size:10px;color:var(--text-faint)}.tl-lane{position:relative;flex:none;height:30px;background:var(--bg)}.tl-bar{position:absolute;top:6px;height:18px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:3px;cursor:grab;outline:none}.tl-bar:hover{filter:brightness(1.15)}.tl-bar:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tl-bar.is-selected{box-shadow:0 0 0 2px var(--accent)}.tl-bar.is-media{background:#3f6212;border-color:#65a30d}.tl-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.tl-handle-l{left:0;border-left:2px solid rgba(255,255,255,.55)}.tl-handle-r{right:0;border-right:2px solid rgba(255,255,255,.55)}.tl-cue{position:absolute;top:9px;width:12px;height:12px;background:var(--danger);border:1px solid #fff;transform:translate(-6px) rotate(45deg);cursor:pointer;padding:0;border-radius:2px;z-index:1}.tl-cue:hover{transform:translate(-6px) rotate(45deg) scale(1.3)}.tl-cue:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tl-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--danger);pointer-events:none;z-index:2}.tl-empty{padding:12px;color:var(--text-faint);font-size:12px}.tl-preview-badge{font-size:11px;font-family:var(--mono);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);padding:1px 8px;white-space:nowrap}.rend-sim-locked{position:relative;width:100%;height:100%;min-height:80px}.rend-sim-shot{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.rend-sim-badge{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:999px;padding:4px 10px;box-shadow:var(--ocf-shadow)}.typeeditor-sim-locked .field-hint{margin-bottom:12px}.sim-locked-meta{display:grid;gap:8px;margin:0}.sim-locked-meta>div{display:flex;justify-content:space-between;gap:12px}.sim-locked-meta dt{font-size:12px;color:var(--ocf-text-faint)}.sim-locked-meta dd{margin:0;font-size:13px;font-weight:600}.rend-image-wrap{position:relative;display:block;width:100%;height:100%}.rend-markers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.rend-marker-pin{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent, #4f46e5);color:#fff;border:2px solid #fff;box-shadow:0 1px 4px #0000004d;font-size:11px;font-weight:700}.rend-slider{width:100%;height:100%;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text, #1a1d23)}.rend-slider-vertical{flex-direction:column;padding:10px 0}.rend-slider-track{position:relative;flex:1;min-width:60px;height:8px;border-radius:4px;background:var(--track, #d7dce6)}.rend-slider-vertical .rend-slider-track{width:8px;min-width:0;height:100%;min-height:60px}.rend-slider-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--accent, #4f46e5)}.rend-slider-vertical .rend-slider-fill{top:auto;left:0;right:0}.rend-slider-thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:2px solid var(--accent, #4f46e5);box-shadow:0 1px 3px #00000040}.rend-slider-vertical .rend-slider-thumb{left:50%;top:auto;transform:translate(-50%,50%)}.rend-slider-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.rend-dial{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text, #1a1d23)}.rend-dial-face{position:relative;width:64px;height:64px;border-radius:50%;background:var(--surface, #fff);border:2px solid var(--border, #d7dce6)}.rend-dial-needle{position:absolute;left:calc(50% - 2px);bottom:50%;width:4px;height:38%;background:var(--accent, #4f46e5);border-radius:2px;transform-origin:50% 100%}.rend-dial-hub{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);background:var(--accent, #4f46e5)}.rend-dial-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.obj-frame.editing{z-index:30;cursor:text}.obj-frame.editing .obj-frame-inner{overflow:visible}.flow-obj.editing{z-index:30;cursor:text}.inline-text-edit{position:relative;z-index:5;min-height:64px}.obj-frame-inner>.inline-text-edit{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.inline-text-edit .field{display:contents}.inline-text-edit .field-label{display:none}.inline-text-edit .html-toolbar{position:absolute;bottom:calc(100% + 6px);left:0;margin-bottom:0;max-width:100%;flex-wrap:wrap;background:var(--ocf-surface);border:1px solid var(--ocf-border);border-radius:8px;box-shadow:var(--ocf-shadow);padding:4px;z-index:6}.inline-text-edit .richtext-editor{flex:1 1 auto;min-height:100%;max-height:none;overflow-y:auto;background:var(--ocf-surface);color:var(--ocf-text);border:1.5px solid var(--ocf-accent);border-radius:6px;padding:8px}.inline-text-edit .html-toolbar button,.inline-text-edit .html-toolbar select,.inline-text-edit .color-pick{background:var(--ocf-surface-2);border-color:var(--ocf-border);color:var(--ocf-text-dim)}.inline-text-edit .html-toolbar button:hover,.inline-text-edit .html-toolbar select:hover,.inline-text-edit .color-pick:hover{color:var(--ocf-text);border-color:var(--ocf-text-faint)}.inline-text-edit .richtext-toggle{border-color:var(--ocf-border)}.inline-text-edit .richtext-toggle button{color:var(--ocf-text-faint)}.inline-text-edit .richtext-toggle button.active{background:var(--ocf-accent);color:var(--ocf-accent-ink)}.inline-text-edit .richtext-toggle button:not(.active):hover{color:var(--ocf-text)}.inline-text-edit .link-popover{background:var(--ocf-surface);border:1px solid var(--ocf-border);border-radius:8px;box-shadow:var(--ocf-shadow);padding:6px}.inline-text-edit textarea.richtext-source{flex:1 1 auto;min-height:120px;background:var(--ocf-surface);color:var(--ocf-text);border:1.5px solid var(--ocf-accent);border-radius:6px}.assistant-tabs{display:flex;gap:4px;margin:0 0 12px}.assistant-tab{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:12px;cursor:pointer}.assistant-tab.selected{border-color:var(--accent);color:#fff;background:var(--accent-dim)}.assistant-label{display:block;font-size:12px;font-weight:600;margin:0 0 6px}.assistant-row{display:flex;align-items:center;gap:10px;margin-top:10px}.assistant-row .assistant-label{margin:0}.assistant-row .field-input{width:auto}.assistant-compose .field-input,.assistant-imagegen .field-input,.assistant-unsplash .field-input{margin-bottom:4px}.assistant-preview-list-wrap{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;max-height:40vh;overflow-y:auto}.assistant-preview-card{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--bg)}.assistant-preview-type{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:1px 8px;margin-bottom:6px}.assistant-preview-html{font-size:13px}.assistant-preview-html p,.assistant-preview-html ul,.assistant-preview-html ol,.assistant-preview-html h2,.assistant-preview-html h3,.assistant-preview-html blockquote{margin:0 0 6px}.assistant-preview-meta{font-size:12px;color:var(--text-dim);margin:4px 0 0}.assistant-preview-list{margin:4px 0 0;padding-left:18px;font-size:12px}.assistant-image-preview{display:block;max-width:100%;max-height:40vh;border-radius:var(--radius);border:1px solid var(--border);margin:0 auto 12px}.assistant-gate{margin:0 0 12px}.assistant-gate h4{margin:0 0 8px;font-size:13px}.lib-ai-generate{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:8px 10px;background:color-mix(in srgb,var(--amber) 14%,transparent);border:1px solid var(--amber);border-radius:var(--radius);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.lib-ai-generate:hover{background:color-mix(in srgb,var(--amber) 22%,transparent)}.assist-anchor{position:relative}.assist-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.assist-root button,.assist-root .assist-popover{pointer-events:auto}.assist-chip{position:absolute;padding:3px 10px;font-size:12px;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--amber) 16%,var(--ocf-surface));border:1px solid var(--amber);border-radius:999px;cursor:pointer;box-shadow:0 2px 8px #00000040;white-space:nowrap}.assist-chip:hover{background:color-mix(in srgb,var(--amber) 28%,var(--ocf-surface))}.assist-popover{position:absolute;min-width:230px;max-width:340px;padding:12px;background:var(--ocf-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 28px #00000059}.assist-popover-title{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-dim)}.assist-ops{display:flex;flex-direction:column;gap:6px}.assist-op{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;text-align:left;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer}.assist-op:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.assist-op:disabled{opacity:.55;cursor:wait}.assist-op-label{font-size:13px;font-weight:600}.assist-op-hint{font-size:11px;color:var(--text-dim)}.assist-status{margin:8px 0 0;font-size:12px;color:var(--text-dim)}.assist-error{margin:8px 0 0;font-size:12px;color:var(--danger, #e5484d)}.assist-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.assist-compare{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.assist-side-label{margin:0 0 3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.assist-side-body{font-size:13px;padding:8px 10px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--border);border-radius:var(--radius)}.assist-side-body p,.assist-side-body ul,.assist-side-body ol,.assist-side-body h2,.assist-side-body h3,.assist-side-body blockquote{margin:0 0 6px}.assist-summary{margin:8px 0 0;font-size:12px;font-style:italic;color:var(--text-dim)}.assist-pathline,.assistant-pathline{margin:8px 0 0;font-size:11px;color:var(--text-dim)}.assistant-pathline{margin-top:-6px;margin-bottom:12px}.wizard-steps{display:flex;gap:4px;list-style:none;margin:0 0 16px;padding:0}.wizard-step{flex:1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:6px 4px;border-bottom:2px solid var(--border);text-align:center}.wizard-step.past{color:var(--text);border-bottom-color:var(--accent)}.wizard-step.current{color:var(--accent);border-bottom-color:var(--accent)}.wizard-optional{font-weight:400;color:var(--text-dim)}.wizard-length{width:90px}.wizard-brief .field-input,.wizard-objectives .field-input{margin-bottom:4px}.wizard-objective-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.wizard-objective{display:flex;gap:6px;align-items:center}.wizard-objective .field-input{flex:1;margin-bottom:0}.wizard-icon-btn{padding:6px 10px;flex-shrink:0}.wizard-outline-list{display:flex;flex-direction:column;gap:12px;margin:0 0 12px;max-height:44vh;overflow-y:auto}.wizard-section{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--bg)}.wizard-section-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}.wizard-section-title{flex:1;font-weight:700;margin-bottom:0}.wizard-page-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.wizard-page{display:flex;gap:6px;align-items:center;padding-left:14px}.wizard-page .field-input{flex:1;margin-bottom:0}.wizard-add-page{margin-top:8px}.wizard-progress-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.wizard-progress-item{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-dim)}.wizard-progress-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.wizard-progress-item.done{color:var(--text)}.wizard-progress-item.done .wizard-progress-dot{background:var(--accent);border-color:var(--accent)}.wizard-progress-item.active{color:var(--text);font-weight:600}.wizard-progress-item.active .wizard-progress-dot{border-color:var(--accent);background:var(--accent-dim)}.wizard-progress-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-progress-state{width:20px;text-align:right;color:var(--accent)}.wizard-done-title{font-size:16px;font-weight:700;margin:0 0 8px}.appbar-preview{background:var(--bg-3);border:1px solid var(--border);border-radius:999px;color:var(--text);font:inherit;font-size:13px;font-weight:550;padding:7px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0}.appbar-preview:hover{border-color:var(--indigo)}.appbar-export{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:13px;font-weight:550;padding:7px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0}.appbar-export:hover:not(:disabled){border-color:var(--indigo)}.appbar-export:disabled{opacity:.45;cursor:default}.export-default-badge{font-size:10px;font-weight:700;color:var(--indigo-ink);background:var(--indigo-soft);border-radius:999px;padding:2px 7px;white-space:nowrap}.export-menu-title-row{display:flex;align-items:center;gap:8px}.tools-menu-wrap,.export-menu-wrap{position:relative;flex-shrink:0}.tools-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000040;padding:6px;z-index:200}.tools-menu-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:var(--radius);color:var(--text);font:inherit;font-size:13px;padding:8px 10px;cursor:pointer;text-align:left}.tools-menu-item:hover{background:var(--bg-3)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.appbar-health{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer;flex-shrink:0}.appbar-health:hover{border-color:var(--indigo);color:var(--text)}.appbar-health.all-clear{color:var(--green);border-color:var(--green)}.appbar-health.has-errors{color:var(--danger);border-color:var(--danger)}.appbar-health.has-warnings{color:var(--amber);border-color:var(--amber)}.tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none;font-family:var(--font)}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#080a108c;pointer-events:auto;cursor:default;animation:tour-fade .18s ease}.tour-spotlight{position:absolute;border-radius:8px;outline:2px solid var(--accent);outline-offset:0;box-shadow:0 0 0 9999px #080a108c;pointer-events:auto;transition:left .22s ease,top .22s ease,width .22s ease,height .22s ease}.tour-tooltip{position:fixed;width:320px;max-width:calc(100vw - 16px);background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px #00000059;padding:18px 18px 14px;pointer-events:auto;outline:none;animation:tour-fade .18s ease}.tour-progress{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.tour-title{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--text)}.tour-body{font-size:14px;line-height:1.5;color:var(--text-dim);margin:0 0 12px}.tour-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);margin:0 0 12px;cursor:pointer}.tour-actions{display:flex;align-items:center;gap:8px}.tour-spacer{flex:1}.tour-btn{font:inherit;font-size:13px;font-weight:600;border-radius:var(--radius);padding:8px 14px;cursor:pointer;border:1px solid transparent}.tour-btn-primary{background:var(--accent);color:#fff}.tour-btn-primary:hover{background:var(--accent-dim)}.tour-btn-ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.tour-btn-ghost:hover{color:var(--text);border-color:var(--text-faint)}.tour-btn-ghost:disabled{opacity:.4;cursor:default}.tour-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tour-dim,.tour-spotlight,.tour-tooltip{animation:none;transition:none}}.tour-reduced-motion .tour-dim,.tour-reduced-motion .tour-spotlight,.tour-reduced-motion .tour-tooltip{animation:none;transition:none}.tools-menu-check{cursor:pointer;gap:10px}.tools-menu-check input{accent-color:var(--accent)}.props-details{border:1px solid var(--border);border-radius:6px;margin-top:10px;overflow:hidden}.props-details>summary{cursor:pointer;padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);list-style:none;display:flex;align-items:center;gap:8px}.props-details>summary::-webkit-details-marker{display:none}.props-details>summary:before{content:"▸";font-size:10px}.props-details[open]>summary:before{content:"▾"}.props-details>summary:hover{color:var(--text)}.props-details-body{padding:4px 10px 12px;display:flex;flex-direction:column;gap:8px}.props-details-body .palette-hint{margin:0}.props-badge-row{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--ocf-border);border-radius:6px}.logic-copilot-btn{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:8px 10px;background:color-mix(in srgb,var(--amber) 14%,transparent);border:1px solid var(--amber);border-radius:var(--radius);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.logic-copilot-btn:hover{background:color-mix(in srgb,var(--amber) 22%,transparent)}.logic-preview{display:flex;flex-direction:column;gap:8px}.logic-explain{font-size:13px;line-height:1.55;padding:10px 12px;margin:0 0 4px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:text;user-select:text}.logic-explain p{margin:0 0 8px}.logic-explain p:last-child{margin-bottom:0}.logic-rules{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}.logic-rule{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.logic-rule-num{flex:none;width:20px;height:20px;line-height:20px;text-align:center;font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:50%;align-self:center}.bank-workbench{display:flex;flex-direction:column;gap:14px;margin-top:10px}.bank-subtitle{font-size:12px;font-weight:700;margin-bottom:6px}.bank-tags{display:flex;flex-direction:column;gap:8px}.bank-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bank-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--text) 5%,transparent)}.bank-chip-x{border:none;background:none;cursor:pointer;font-size:14px;line-height:1;padding:0 4px;color:var(--text-dim)}.bank-topic-input{flex:1 1 140px;min-width:120px}.bank-tag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bank-tag-field{display:flex;flex-direction:column;gap:2px;min-width:0}.bank-link-btn{border:none;background:none;cursor:pointer;padding:0;color:var(--accent-ink);font-size:12px;text-align:left}.bank-btn{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);font-size:12px;padding:5px 10px;cursor:pointer}.bank-expand{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;cursor:pointer;padding:4px 0;font-size:13px;font-weight:700;color:var(--text);text-align:left}.bank-expand-caret{color:var(--text-dim)}.bank-versions-body{margin-top:4px;display:flex;flex-direction:column;gap:8px}.bank-version-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bank-version-row{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-size:12px}.bank-version-head{display:flex;align-items:baseline;gap:8px}.bank-version-head strong{font-size:13px}.bank-version-meta{color:var(--text-dim);flex:1}.bank-version-summary{margin:6px 0 0;padding-left:16px;color:var(--text-dim)}.bank-version-summary li{margin:2px 0}.bank-version-render{display:flex;flex-direction:column;gap:10px;font-size:13px}.bank-version-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bank-version-choice{display:flex;gap:8px;align-items:baseline;border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}.bank-version-choice.is-correct{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.bank-version-choice-mark{font-weight:700;color:var(--accent-ink)}.bank-overview{display:flex;flex-direction:column;gap:8px}.bank-filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.bank-filter{display:flex;flex-direction:column;gap:2px;min-width:110px;flex:1 1 110px}.bank-table{width:100%;border-collapse:collapse;font-size:12px}.bank-table th,.bank-table td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.bank-table th{font-size:11px;color:var(--text-dim)}.bank-sort-btn{border:none;background:none;cursor:pointer;padding:0;font-size:11px;font-weight:700;color:var(--text-dim);text-align:left}.bank-table-q{max-width:220px}.bank-status{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);vertical-align:middle}.bank-flags ul{list-style:none;margin:0;padding:0}.bank-flag{color:var(--accent-ink);margin:2px 0}.bank-distractor{color:var(--text-dim);max-width:180px}.bank-bulk{display:flex;align-items:center;gap:10px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:color-mix(in srgb,var(--text) 3%,transparent)}.bank-bulk-form{display:flex;flex-direction:column;gap:8px}.motion-timeline{border-top:1px solid var(--border);background:var(--ocf-surface);flex-shrink:0}.motion-timeline-bar{display:flex;align-items:center;gap:8px;padding:6px 12px}.motion-scrub{flex:1;min-width:120px;accent-color:var(--ocf-accent)}.motion-time{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.motion-timeline-body{max-height:180px;overflow-y:auto;padding:4px 12px 10px;border-top:1px dashed var(--border)}.motion-row{display:flex;align-items:center;gap:8px;margin:4px 0}.motion-row-label{width:140px;flex-shrink:0;font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.motion-track-lane{position:relative;flex:1;height:28px;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:4px;overflow:hidden}.motion-tick{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--text) 12%,transparent);pointer-events:none}.motion-bar{position:absolute;top:4px;bottom:4px;border-radius:3px;cursor:ew-resize;display:flex;align-items:center;padding:0 6px;opacity:.92}.motion-bar:hover,.motion-bar:focus-visible{opacity:1;outline:2px solid var(--ocf-accent);outline-offset:1px}.motion-bar-label{font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);pointer-events:none;white-space:nowrap;overflow:hidden}.motion-tracks{display:flex;flex-direction:column;gap:8px;margin-top:8px}.motion-track{border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:color-mix(in srgb,var(--text) 2%,transparent)}.motion-track-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.motion-track-prop{font-size:12px;font-weight:700}.pv-anim-controls{display:inline-flex;gap:4px;align-items:center;margin:0 8px;padding:0 8px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.cmd-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.cmd-palette{width:min(640px,92vw);max-height:60vh;display:flex;flex-direction:column;background:var(--ocf-surface);color:var(--ocf-text);border:1px solid var(--ocf-border);border-radius:12px;box-shadow:0 24px 64px #0006;overflow:hidden}.cmd-palette-input{padding:14px 16px;font-size:16px;border:none;border-bottom:1px solid var(--ocf-border);background:transparent;color:inherit;outline:none;width:100%;box-sizing:border-box}.cmd-palette-input:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:-2px}.cmd-palette-list{overflow-y:auto;padding:6px}.cmd-palette-group{padding:8px 10px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ocf-text-dim)}.cmd-palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}.cmd-palette-item.active{background:var(--ocf-accent);color:#fff}.cmd-palette-item.active .cmd-palette-shortcut{background:#fff3;color:#fff;border-color:transparent}.cmd-palette-icon{width:20px;text-align:center;flex:none}.cmd-palette-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-palette-shortcut{font-family:var(--ocf-mono);font-size:11px;padding:2px 6px;border:1px solid var(--ocf-border);border-radius:4px;background:var(--ocf-bg);color:var(--ocf-text-dim)}.cmd-palette-empty{padding:24px;text-align:center;color:var(--ocf-text-dim)}.cmd-palette-hint{padding:8px 16px;font-size:11px;color:var(--ocf-text-faint);border-top:1px solid var(--ocf-border)}.gov-section{margin-top:4px}.gov-hint{font-size:12px;color:var(--ocf-text-dim);margin:4px 0 8px}.gov-locks{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px}.gov-lock-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:2px 0;cursor:pointer}.gov-radio-group{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}.gov-radio-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer}.gov-check-row{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0;cursor:pointer}.gov-gate-status{font-size:12px;padding:6px 10px;border-radius:6px;background:var(--ocf-surface);margin-bottom:8px}.gov-approved{color:var(--ocf-success)}.gov-pending{color:var(--ocf-accent)}.gov-none{color:var(--ocf-text-dim)}:root{--bg: #1a1d23;--bg-2: #22262e;--bg-3: #2a2f38;--border: #343a45;--text: #e8eaf0;--text-dim: #9aa1b2;--text-faint: #8e96a8;--accent: #4f8ff7;--accent-dim: #2c5da8;--danger: #e5534b;--ink: #4b5563;--accent-ink: #2b6cb0;--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--indigo: #6366f1;--indigo-strong: #4f46e5;--indigo-soft: #2e2b6b;--indigo-ink: #c7d2fe;--amber: #f59e0b;--amber-ink: #1c1917;--navy: #1e1b4b;--navy-ink: #e0e7ff;--green: #22c55e;--pill-saved-bg: #dcfce7;--pill-saved-ink: #047857;--pill-dirty-bg: #fef3c7;--pill-dirty-ink: #92400e}[data-ocf-theme=dark]{--bg: #1a1d23;--bg-2: #22262e;--bg-3: #2a2f38;--border: #343a45;--text: #e8eaf0;--text-dim: #9aa1b2;--text-faint: #8e96a8;--accent: #4f8ff7;--accent-dim: #2c5da8;--danger: #e5534b;--ink: #4b5563;--accent-ink: #2b6cb0}[data-ocf-theme=light]{--bg: #e9edf2;--bg-2: #ffffff;--bg-3: #f1f4f8;--border: #dfe4ec;--text: #1a1d23;--text-dim: #4b5563;--text-faint: #6b7280;--accent: #2b6cb0;--accent-dim: #1d4e89;--danger: #b91c1c;--ink: #4b5563;--accent-ink: #2b6cb0}[data-ocf-theme=light] .dirty-dot{color:#92400e}[data-ocf-theme=light] .btn:hover:not(:disabled){background:#e2e8f0;border-color:#b9c6d8}[data-ocf-theme=light] .btn-danger{color:#b91c1c}[data-ocf-theme=light] .btn-danger:hover:not(:disabled){background:#fde2e2}[data-ocf-theme=light] .tree-row.active{background:#dbe7f5}[data-ocf-theme=light] .canvas-pane{background:#d7dde6}[data-ocf-theme=light] .zoom-controls button:hover{background:#e2e8f0}[data-ocf-theme=light] .trig-card,[data-ocf-theme=light] .var-card{background:#f7f9fc}[data-ocf-theme=light] .trig-card-head:hover{background:#eef2f7}[data-ocf-theme=light] .var-card summary code{color:#1d4e89}[data-ocf-theme=light] .palette-btn:hover{background:#dbe7f5}[data-ocf-theme=light]{--indigo: #4f46e5;--indigo-strong: #4338ca;--indigo-soft: #eef2ff;--indigo-ink: #3730a3}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;overflow:hidden}.dash{min-height:100vh;height:100vh;overflow-y:auto;background:var(--dash-page);color:var(--dash-ink);font-family:var(--ocf-font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.dash button{font-family:inherit}.dash-topbar{height:64px;background:var(--dash-surface);border-bottom:1px solid var(--dash-line);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:40}.dash-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.dash-logo{width:34px;height:34px;border-radius:9px;background:var(--dash-indigo);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:700}.dash-wordmark{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--dash-ink);white-space:nowrap}.dash-version{font-size:11px;font-weight:600;color:var(--dash-ink-dim);background:var(--dash-page);border:1px solid var(--dash-line);border-radius:999px;padding:2px 8px;white-space:nowrap}.dash-workspace{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:600;color:var(--dash-ink-dim);cursor:default;white-space:nowrap}.dash-tabs{display:flex;align-items:center;gap:2px;margin-left:4px;flex-shrink:0}.dash-tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 10px;font-size:13.5px;font-weight:550;color:var(--dash-ink-dim);cursor:pointer;white-space:nowrap}.dash-tab:hover:not(:disabled){color:var(--dash-ink)}.dash-tab[data-active=true]{color:var(--dash-indigo);border-bottom-color:var(--dash-indigo)}.dash-tab:disabled{opacity:.45;cursor:not-allowed}.dash-topsearch{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--dash-page);border:1px solid var(--dash-line);border-radius:8px;padding:6px 10px;min-width:200px;max-width:300px;flex:1}.dash-topsearch input{border:0;background:transparent;outline:none;font-size:13px;width:100%;color:var(--dash-ink)}.dash-topsearch input::placeholder{color:var(--dash-ink-faint)}.dash-kbd{font-size:11px;font-weight:600;color:var(--dash-ink-dim);background:var(--dash-surface);border:1px solid var(--dash-line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;white-space:nowrap}.dash-btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--dash-indigo);border:1px solid var(--dash-indigo);color:#fff;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}.dash-btn-primary:hover:not(:disabled){background:var(--dash-indigo-strong);border-color:var(--dash-indigo-strong)}.dash-btn-ai{display:inline-flex;align-items:center;gap:6px;background:var(--dash-mint);border:1px solid var(--dash-mint);color:#065f46;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:not-allowed;opacity:.75;white-space:nowrap}.dash-ai-promo .dash-btn-ai-secondary{margin-top:8px;background:transparent;border:1px solid var(--dash-mint);color:#065f46;cursor:pointer;opacity:1}.dash-ai-promo .dash-btn-ai-secondary:hover{background:var(--dash-mint)}.dash-iconbtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--dash-ink-dim);font-size:16px;cursor:pointer;flex-shrink:0}.dash-iconbtn:hover:not(:disabled){background:var(--dash-page);color:var(--dash-ink)}.dash-iconbtn:disabled{opacity:.45;cursor:not-allowed}.dash-user{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:4px;border-left:1px solid var(--dash-line);margin-left:2px}.dash-avatar{width:32px;height:32px;border-radius:50%;background:var(--dash-indigo-soft);color:var(--dash-indigo);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.dash-user-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}.dash-user-email{font-size:12.5px;font-weight:600;color:var(--dash-ink);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-tier{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dash-indigo)}.dash-local-hint{font-size:12px;font-weight:600;color:var(--dash-ink-dim);white-space:nowrap}.dash-body{display:grid;grid-template-columns:248px minmax(0,1fr) 300px;gap:20px;padding:20px;max-width:1600px;margin:0 auto;align-items:start}.dash-sidebar{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);padding:14px 10px;position:sticky;top:84px;display:flex;flex-direction:column;gap:4px}.dash-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dash-ink-faint);padding:4px 10px 8px;margin:0}.dash-navbtn{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:8px;padding:8px 10px;font-size:13.5px;font-weight:550;color:var(--dash-ink-dim);cursor:pointer;text-align:left}.dash-navbtn:hover:not(:disabled){background:var(--dash-page);color:var(--dash-ink)}.dash-navbtn[data-active=true]{background:var(--dash-indigo-soft);color:var(--dash-indigo);font-weight:650}.dash-navbtn:disabled{opacity:.45;cursor:not-allowed}.dash-navicon{width:20px;text-align:center;flex-shrink:0}.dash-soon-tag{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dash-ink-faint);background:var(--dash-page);border:1px solid var(--dash-line);border-radius:999px;padding:1px 7px}.dash-storage{margin-top:12px;border-top:1px solid var(--dash-line);padding:14px 10px 4px}.dash-storage-title{font-size:12.5px;font-weight:650;color:var(--dash-ink);margin:0 0 2px}.dash-storage-sub{font-size:12px;color:var(--dash-ink-dim);margin:0 0 8px}.dash-progress{height:8px;border-radius:999px;background:var(--dash-page);border:1px solid var(--dash-line);overflow:hidden}.dash-progress>span{display:block;height:100%;background:var(--dash-indigo);border-radius:999px;transition:width .3s ease}.dash-main{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-header-card{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);padding:20px 22px}.dash-breadcrumb{font-size:12.5px;color:var(--dash-ink-faint);margin:0 0 6px}.dash-h1row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash-h1{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--dash-ink)}.dash-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--dash-pub-ink);background:var(--dash-pub-bg);border-radius:999px;padding:4px 12px}.dash-status-pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.dash-header-desc{font-size:13.5px;color:var(--dash-ink-dim);margin:8px 0 0;max-width:72ch}.dash-header-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.dash-btn-secondary{display:inline-flex;align-items:center;gap:6px;background:var(--dash-indigo-soft);border:1px solid var(--dash-indigo-soft);color:var(--dash-indigo);border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer}.dash-btn-secondary:hover:not(:disabled){border-color:var(--dash-indigo)}.dash-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.dash-btn-ghost{display:inline-flex;align-items:center;gap:6px;background:var(--dash-surface);border:1px solid var(--dash-line);color:var(--dash-ink-dim);border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer}.dash-btn-ghost:hover:not(:disabled){color:var(--dash-ink);border-color:var(--dash-ink-faint)}.dash-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.dash-stats{display:flex;gap:10px;flex-wrap:wrap}.dash-stat{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--dash-ink-dim);display:inline-flex;align-items:center;gap:8px}.dash-stat strong{font-size:16px;font-weight:700;color:var(--dash-ink)}.dash-resume{display:flex;align-items:center;gap:10px;background:var(--dash-indigo-soft);border:1px solid #dfe3fb;border-radius:var(--dash-radius);padding:10px 16px;font-size:13.5px;color:var(--dash-indigo);font-weight:600;cursor:pointer;width:100%;text-align:left}.dash-resume:hover{border-color:var(--dash-indigo)}.dash-resume .arrow{margin-left:auto;font-size:16px}.dash-filterbar{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);padding:10px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-filter-search{display:flex;align-items:center;gap:8px;background:var(--dash-page);border:1px solid var(--dash-line);border-radius:8px;padding:6px 10px;flex:1;min-width:180px}.dash-filter-search input{border:0;background:transparent;outline:none;font-size:13px;width:100%;color:var(--dash-ink)}.dash-filter-search input::placeholder{color:var(--dash-ink-faint)}.dash-select{border:1px solid var(--dash-line);background:var(--dash-surface);border-radius:8px;padding:7px 10px;font-size:13px;font-weight:550;color:var(--dash-ink-dim);cursor:pointer;max-width:180px}.dash-viewtoggle{display:inline-flex;border:1px solid var(--dash-line);border-radius:8px;overflow:hidden;margin-left:auto}.dash-viewtoggle button{background:var(--dash-surface);border:0;padding:7px 12px;font-size:13px;color:var(--dash-ink-dim);cursor:pointer}.dash-viewtoggle button[data-active=true]{background:var(--dash-indigo-soft);color:var(--dash-indigo);font-weight:650}.dash-statustabs{display:flex;gap:8px;flex-wrap:wrap}.dash-stab{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--dash-ink-dim);cursor:pointer;display:inline-flex;align-items:center;gap:7px}.dash-stab:hover{border-color:var(--dash-ink-faint)}.dash-stab[data-active=true]{background:var(--dash-ink);border-color:var(--dash-ink);color:#fff}.dash-stab .count{font-size:11.5px;font-weight:700;background:var(--dash-page);border-radius:999px;padding:1px 8px;color:var(--dash-ink-dim)}.dash-stab[data-active=true] .count{background:#ffffff2e;color:#fff}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.dash-card{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);overflow:hidden;display:flex;flex-direction:column}.dash-card:hover{border-color:#c9cdf5}.dash-thumb{position:relative;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;overflow:hidden}.dash-thumb-initial{font-size:44px;font-weight:800;color:#ffffffeb;text-shadow:0 2px 8px rgb(0 0 0 / .18);letter-spacing:-.02em}.dash-thumb-pills{position:absolute;top:10px;left:10px;display:flex;gap:6px}.dash-pill{font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}.dash-pill-format{background:#111827b8;color:#fff}.dash-pill-draft{background:var(--dash-draft-bg);color:var(--dash-draft-ink)}.dash-pill-in-review{background:var(--dash-review-bg);color:var(--dash-review-ink)}.dash-pill-published{background:var(--dash-pub-bg);color:var(--dash-pub-ink)}.dash-pill-archived{background:var(--dash-arch-bg);color:var(--dash-arch-ink)}.dash-card-menuwrap{position:absolute;top:8px;right:8px}.dash-card-menubtn{width:30px;height:30px;border-radius:8px;border:0;background:#1118278c;color:#fff;font-size:16px;font-weight:700;letter-spacing:1px;cursor:pointer;line-height:1}.dash-card-menubtn:hover{background:#111827cc}.dash-menu{position:absolute;top:36px;right:0;min-width:190px;background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:10px;box-shadow:var(--dash-shadow);padding:6px;z-index:30}.dash-menu button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:550;color:var(--dash-ink);cursor:pointer;text-align:left}.dash-menu button:hover:not(:disabled){background:var(--dash-page)}.dash-menu button:disabled{opacity:.45;cursor:not-allowed}.dash-menu button.danger{color:var(--dash-red)}.dash-menu-sep{height:1px;background:var(--dash-line);margin:5px 4px}.dash-thumb-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:linear-gradient(transparent,#111827b8);color:#fff;font-size:11.5px;font-weight:600}.dash-lms-pill{background:#ffffff2e;border:1px solid rgb(255 255 255 / .35);border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:700;white-space:nowrap}.dash-card-body{padding:14px 16px 10px;flex:1}.dash-card-eyebrow{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--dash-indigo);margin:0 0 4px}.dash-card-title{font-size:15.5px;font-weight:650;color:var(--dash-ink);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-card-desc{font-size:13px;color:var(--dash-ink-dim);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.dash-card-desc.dim{color:var(--dash-ink-faint);font-style:italic}.dash-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.dash-tag{font-size:11px;font-weight:600;color:var(--dash-ink-dim);background:var(--dash-page);border:1px solid var(--dash-line);border-radius:999px;padding:2px 9px}.dash-card-foot{display:flex;align-items:center;gap:10px;padding:0 16px 10px;font-size:12px;color:var(--dash-ink-faint)}.dash-health{margin-left:auto;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px}.dash-health-ok{background:var(--dash-pub-bg);color:var(--dash-pub-ink)}.dash-health-warn{background:var(--dash-draft-bg);color:var(--dash-draft-ink)}.dash-card-actions{display:flex;align-items:center;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--dash-line)}.dash-card-primary{flex:1;background:var(--dash-indigo);border:1px solid var(--dash-indigo);color:#fff;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:650;cursor:pointer}.dash-card-primary:hover{background:var(--dash-indigo-strong)}.dash-card-iconbtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:8px;color:var(--dash-ink-dim);font-size:15px;cursor:pointer;flex-shrink:0}.dash-card-iconbtn:hover:not(:disabled){color:var(--dash-indigo);border-color:var(--dash-indigo)}.dash-card-iconbtn:disabled{opacity:.45;cursor:not-allowed}.dash-exportwrap{position:relative}.dash-list{display:flex;flex-direction:column;gap:8px}.dash-row{display:flex;align-items:center;gap:14px;background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:10px;padding:10px 14px}.dash-row:hover{border-color:#c9cdf5}.dash-row-thumb{width:96px;aspect-ratio:16 / 9;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#ffffffeb}.dash-row-main{flex:1;min-width:0}.dash-row-title{font-size:14px;font-weight:650;color:var(--dash-ink);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-sub{font-size:12px;color:var(--dash-ink-faint);margin:2px 0 0}.dash-row-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-empty{background:var(--dash-surface);border:1px dashed var(--dash-line);border-radius:var(--dash-radius);padding:48px 24px;text-align:center}.dash-empty-icon{font-size:40px;margin-bottom:8px}.dash-empty h3{font-size:17px;font-weight:700;margin:0 0 6px;color:var(--dash-ink)}.dash-empty p{font-size:13.5px;color:var(--dash-ink-dim);margin:0 auto 16px;max-width:46ch}.dash-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.dash-templates{margin-top:8px}.dash-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.dash-section-head h2{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--dash-ink)}.dash-linkbtn{background:transparent;border:0;color:var(--dash-indigo);font-size:13.5px;font-weight:650;cursor:pointer;padding:0;margin-left:auto}.dash-linkbtn:hover{text-decoration:underline}.dash-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.dash-tcard{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);padding:16px;display:flex;flex-direction:column;gap:6px;text-align:left}.dash-tcard-emoji{font-size:26px}.dash-tcard-title{font-size:14.5px;font-weight:650;color:var(--dash-ink);margin:0}.dash-tcard-desc{font-size:12.5px;color:var(--dash-ink-dim);margin:0;flex:1}.dash-tcard-use{margin-top:8px;align-self:flex-start}.dash-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px}.dash-rail-card{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);padding:16px}.dash-rail-title{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--dash-ink-faint);margin:0 0 12px}.dash-bundle{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--dash-line)}.dash-bundle:last-child{border-bottom:0;padding-bottom:0}.dash-bundle-main{flex:1;min-width:0}.dash-bundle-name{font-size:13px;font-weight:650;color:var(--dash-ink);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-bundle-sub{font-size:11.5px;color:var(--dash-ink-faint);margin:1px 0 0}.dash-validated{font-size:10.5px;font-weight:700;color:var(--dash-pub-ink);background:var(--dash-pub-bg);border-radius:999px;padding:2px 8px;white-space:nowrap}.dash-exported-tag{font-size:10.5px;font-weight:700;color:var(--dash-ink-dim);background:var(--dash-page);border:1px solid var(--dash-line);border-radius:999px;padding:2px 8px;white-space:nowrap}.dash-rail-empty{font-size:12.5px;color:var(--dash-ink-faint);margin:0;font-style:italic}.dash-diag{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;color:var(--dash-ink-dim);border-bottom:1px solid var(--dash-line)}.dash-diag:last-child{border-bottom:0}.dash-diag strong{color:var(--dash-ink);font-weight:650}.dash-diag-ok{color:var(--dash-pub-ink);font-weight:700}.dash-diag-warn{color:var(--dash-draft-ink);font-weight:700}.dash-activity{display:flex;flex-direction:column;gap:0;max-height:320px;overflow-y:auto}.dash-activity-item{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--dash-line);font-size:12.5px}.dash-activity-item:last-child{border-bottom:0}.dash-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--dash-indigo);margin-top:5px;flex-shrink:0}.dash-activity-text{color:var(--dash-ink);margin:0;flex:1}.dash-activity-time{color:var(--dash-ink-faint);font-size:11.5px;white-space:nowrap}.dash-ai-promo{background:linear-gradient(135deg,#ecfdf5,var(--dash-indigo-soft));border:1px solid #d1fae5;border-radius:var(--dash-radius);padding:16px}.dash-ai-promo h3{font-size:14px;font-weight:700;margin:0 0 4px;color:var(--dash-ink)}.dash-ai-promo p{font-size:12.5px;color:var(--dash-ink-dim);margin:0 0 10px}.dash-dialog-field{margin:12px 0}.dash-dialog-field label{display:block;font-size:12.5px;font-weight:650;color:var(--dash-ink);margin-bottom:6px}.dash-dialog-input{width:100%;border:1px solid var(--dash-line);border-radius:8px;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--dash-ink);background:var(--dash-surface);box-sizing:border-box}.dash-dialog-input:focus{outline:2px solid var(--dash-indigo);outline-offset:-1px;border-color:var(--dash-indigo)}.dash-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dash-dialog-hint{font-size:12.5px;color:var(--dash-ink-dim);margin:8px 0 0}.dash-standards-list{margin:12px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.dash-standards-list li{font-size:13.5px;color:var(--dash-ink-dim)}.dash-standards-list strong{color:var(--dash-ink)}.dash-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:550}@media(max-width:1200px){.dash-body{grid-template-columns:220px minmax(0,1fr)}.dash-rail{grid-column:1 / -1;position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}}@media(max-width:860px){.dash-body{grid-template-columns:1fr}.dash-sidebar{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.dash-eyebrow{width:100%}.dash-storage{border-top:0;margin-top:0;padding-top:4px;flex:1;min-width:180px}.dash-tabs{display:none}.dash-topsearch{min-width:120px}}.dash-cloud-section{margin-top:28px}.dash-cloud-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;line-height:1.4;padding:2px 8px;border-radius:999px;background:var(--dash-indigo-soft);color:var(--dash-indigo-strong);border:1px solid var(--dash-line);white-space:nowrap}.dash-cloud-badge[data-on=false]{background:var(--dash-arch-bg);color:var(--dash-arch-ink)}.dash-cloud-panel{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);padding:16px 18px}.dash-cloud-panel p{margin:0 0 8px;color:var(--dash-ink);font-size:13px}.dash-cloud-panel p:last-child{margin-bottom:0}.dash-cloud-row{display:flex;align-items:center;gap:12px;background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);padding:12px 16px;margin-bottom:8px}.dash-cloud-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dash-cloud-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dash-ink);font-size:14px}.dash-cloud-panel .dim,.dash-cloud-row .dim{color:var(--dash-ink-dim);font-size:12px}.dash-cloud-note{color:var(--dash-ink-dim);font-size:13px}.dash-settings-section{margin:4px 0 16px;padding:14px 16px;border:1px solid var(--dash-line);border-radius:var(--dash-radius);background:var(--dash-surface)}.dash-settings-section h3{margin:0 0 6px;font-size:15px}.dash-settings-desc{margin:0 0 12px;font-size:13px;color:var(--dash-ink-dim);line-height:1.5}.dash-settings-desc a{color:var(--dash-indigo)}.byok-current .byok-masked{margin:0 0 4px;font-size:14px}.byok-current .byok-masked code{font-family:ui-monospace,monospace;background:var(--dash-arch-bg);padding:2px 8px;border-radius:6px}.byok-note{margin:0 0 8px;font-size:12px;color:var(--dash-ink-dim)}.byok-actions{justify-content:flex-start}.byok-clear{color:var(--dash-red)}.byok-form .field-input{width:100%;margin-bottom:8px}.byok-error{margin:0 0 8px;font-size:13px;color:var(--dash-red)}.r6-analytics{display:flex;flex-direction:column;gap:16px}.r6-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.r6-title{margin:0;font-size:22px;color:var(--dash-ink)}.r6-sub{margin:4px 0 0;font-size:13px;color:var(--dash-ink-dim)}.r6-picker{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dash-ink-dim);min-width:220px}.r6-picker select{width:100%}.r6-sources{display:flex;gap:8px}.r6-source{border:1px solid var(--dash-line);background:var(--dash-surface);color:var(--dash-ink-dim);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.r6-source-active{border-color:var(--dash-indigo);color:var(--dash-indigo-strong);background:var(--dash-indigo-soft);font-weight:600}.r6-insights{border:1px solid var(--dash-line);border-left:4px solid var(--dash-indigo);background:var(--dash-surface);border-radius:8px;padding:12px 16px}.r6-insights-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--dash-ink)}.r6-insights ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.r6-insights li{font-size:13px;color:var(--dash-ink)}.r6-section-title{margin:8px 0 0;font-size:15px;color:var(--dash-ink)}.r6-pages{display:flex;flex-direction:column;gap:10px}.r6-page{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:8px;padding:10px 12px}.r6-page-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.r6-page-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--dash-indigo-soft);color:var(--dash-indigo-strong);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.r6-page-title{font-size:13px;font-weight:600;color:var(--dash-ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r6-page-meta{font-size:12px;color:var(--dash-ink-dim);white-space:nowrap}.r6-bar{height:8px;border-radius:999px;background:var(--dash-line);overflow:hidden}.r6-bar-fill{display:block;height:100%;background:var(--dash-indigo);border-radius:999px}.r6-questions{display:flex;flex-direction:column;gap:12px}.r6-question{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:8px;padding:12px}.r6-question-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.r6-question-title{font-size:13px;font-weight:600;color:var(--dash-ink)}.r6-question-meta{font-size:12px;color:var(--dash-ink-dim)}.r6-choices{display:flex;flex-direction:column;gap:6px}.r6-choice{display:grid;grid-template-columns:22px 1fr 120px 44px;gap:8px;align-items:center}.r6-choice-letter{width:20px;height:20px;border-radius:4px;background:var(--dash-indigo-soft);color:var(--dash-indigo-strong);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.r6-choice-label{font-size:12px;color:var(--dash-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r6-correct{color:#15803d;font-weight:700}.r6-choice-bar{height:8px;border-radius:999px;background:var(--dash-line);overflow:hidden}.r6-choice-pct{font-size:12px;color:var(--dash-ink-dim);text-align:right}.r6-bar-fill.r6-bar-correct{background:#16a34a}.r6-dim{font-size:12px;color:var(--dash-ink-dim);margin:4px 0 0}.r6-distractor{margin:8px 0 0;font-size:12px;color:var(--dash-ink);background:var(--dash-draft-bg);border-radius:6px;padding:6px 10px}.r6-lrs{background:var(--dash-surface);border:1px solid var(--dash-line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}.r6-lrs-title{margin:0;font-size:14px;font-weight:700;color:var(--dash-ink)}.r6-lrs-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.r6-lrs-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dash-ink-dim)}.r6-lrs-actions{display:flex;gap:8px}.r6-error{margin:0;font-size:13px;color:var(--dash-red)}
