.companion{--paper:#e9e2d3;--paper-deep:#dfd6c2;--ink:#201d19;--ink-soft:#4a453d;--indigo:#33415c;--indigo-soft:#e6eaf0;--ochre:#a9701f;--ochre-soft:#f4e7d2;--teal:#3d5a4c;--teal-soft:#e2ebe5;--rule:#c7bca3;--rule-strong:#a99d80;background:var(--paper);color:var(--ink);min-height:100vh;font-family:Spectral,Georgia,serif;font-size:17px;line-height:1.6}.companion *,.companion :before,.companion :after{box-sizing:border-box}.companion ::selection{background:var(--ochre-soft)}.companion .shell{grid-template-columns:220px 1fr;max-width:1180px;margin:0 auto;display:grid}.companion--embed .shell{grid-template-columns:1fr;max-width:880px}.companion nav.rail{border-right:1px solid var(--rule);align-self:start;height:100vh;padding:2.2rem 1.2rem 2rem 0;position:sticky;top:0;overflow-y:auto}.companion nav.rail .rail-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.9rem;font-family:Inter,sans-serif;font-size:.68rem}.companion nav.rail a{color:var(--ink-soft);border-left:2px solid var(--rule);margin-bottom:.1rem;padding:.4rem 0 .4rem .9rem;font-family:Inter,sans-serif;font-size:.82rem;text-decoration:none;transition:border-color .15s,color .15s;display:block}.companion nav.rail a:hover{color:var(--ink);border-color:var(--ochre)}.companion nav.rail .rail-index{color:var(--ochre);margin-right:.4rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.companion main{padding:2.4rem 2.6rem 6rem}.companion--embed main{padding:1.8rem 1.4rem 4rem}@media (width<=720px){.companion--embed main{padding:1.2rem 1rem 3rem}}.companion header.hero{border-bottom:1px solid var(--rule);margin-bottom:2.6rem;padding-bottom:2.4rem}.companion .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:.8rem;font-family:Inter,sans-serif;font-size:.72rem}.companion h1{letter-spacing:-.01em;text-align:center;margin:0 0 1rem;font-family:Fraunces,serif;font-size:2.9rem;font-weight:600;line-height:1.05}.companion h1 em{color:var(--indigo);font-style:italic;font-weight:500}.companion .hero-sub{max-width:640px;color:var(--ink-soft);font-size:1.08rem}.companion .hero-note{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--rule);border-radius:2px;max-width:640px;margin-top:1.4rem;padding:.9rem 1.1rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.companion .hero-type-controls{color:var(--ink-soft);margin-top:1.2rem;font-family:Inter,sans-serif;font-size:.78rem}.companion .hero-type-controls summary{cursor:pointer;border:1px solid var(--rule);background:var(--paper-deep);color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.72rem;display:inline-flex}.companion .hero-type-controls summary:hover{border-color:var(--ochre);color:var(--ink)}.companion .hero-type-fields{border:1px solid var(--rule);background:var(--paper-deep);flex-direction:column;gap:.7rem;max-width:320px;margin-top:.8rem;padding:.9rem 1rem;display:flex}.companion .hero-type-fields label{grid-template-columns:3.5rem 1fr 3.5rem;align-items:center;gap:.6rem;font-size:.76rem;display:grid}.companion .hero-type-fields input[type=range]{width:100%;accent-color:var(--ochre)}.companion .hero-type-fields button{border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;justify-self:start;padding:.3rem .7rem;font-family:Inter,sans-serif;font-size:.72rem}.companion .hero-type-fields button:hover{border-color:var(--ochre);color:var(--ink)}.companion .module{margin-bottom:4.2rem;scroll-margin-top:1.5rem}.companion .module-head{align-items:baseline;gap:.9rem;margin-bottom:.4rem;display:flex}.companion .module-num{color:var(--ochre);font-family:IBM Plex Mono,monospace;font-size:1rem}.companion .module-title{margin:0;font-family:Fraunces,serif;font-size:1.7rem;font-weight:600}.companion .module-dek{color:var(--ink-soft);max-width:680px;margin:.3rem 0 1.2rem;font-size:.98rem}.companion .toggle{border:1px solid var(--rule-strong);border-radius:20px;margin-bottom:1.4rem;font-family:Inter,sans-serif;font-size:.76rem;display:inline-flex;overflow:hidden}.companion .toggle button{cursor:pointer;color:var(--ink-soft);font-family:inherit;font-size:inherit;background:0 0;border:none;padding:.42rem 1rem;transition:background .15s,color .15s}.companion .toggle button+button{border-left:1px solid var(--rule-strong)}.companion .toggle button.active{background:var(--ink);color:var(--paper)}.companion .spine-grid{grid-template-columns:1fr 20px 1.35fr;align-items:start;gap:0 1.4rem;display:grid}.companion .spine-line{justify-content:center;height:100%;min-height:100%;display:flex;position:relative}.companion .spine-line:before{content:"";background:var(--rule-strong);width:2px;position:absolute;top:6px;bottom:6px}.companion .spine-line .node{background:var(--paper);border:2px solid var(--ochre);border-radius:50%;width:9px;height:9px;margin-top:14px;position:relative}.companion .panel{border:1px solid var(--rule);background:var(--paper);border-radius:3px;padding:1.3rem 1.4rem}.companion .panel.as-written{background:var(--indigo-soft);border-color:#c4cedb}.companion .panel.reframe{background:var(--ochre-soft);border-color:#e0c79c}.companion .panel-label{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.4rem;margin-bottom:.6rem;font-family:Inter,sans-serif;font-size:.68rem;display:flex}.companion .as-written .panel-label{color:var(--indigo)}.companion .reframe .panel-label{color:var(--ochre)}.companion .panel.as-written blockquote{color:var(--ink);margin:0 0 .8rem;font-family:IBM Plex Mono,monospace;font-size:.86rem;line-height:1.65}.companion .panel.as-written blockquote:last-child{margin-bottom:0}.companion .panel.as-written cite{color:var(--ink-soft);margin-top:.3rem;font-family:Inter,sans-serif;font-size:.7rem;font-style:normal;display:block}.companion .panel.as-written .counts{letter-spacing:.08em;text-transform:uppercase;color:var(--indigo);margin:.9rem 0 .4rem;font-family:Inter,sans-serif;font-size:.7rem}.companion .panel.as-written .as-body{color:var(--ink);margin:0 0 .7rem;font-family:Spectral,serif;font-size:.92rem}.companion .panel.reframe p{margin:0 0 .8rem;font-size:.97rem}.companion .panel.reframe p:last-child{margin-bottom:0}.companion .cite-tag{color:var(--teal);background:var(--teal-soft);border:1px solid #c3d3ca;border-radius:3px;margin:.15rem .3rem .15rem 0;padding:.15rem .5rem;font-family:Inter,sans-serif;font-size:.74rem;display:inline-block}.companion .module[data-view=written] .reframe{display:none}.companion .module[data-view=written] .spine-grid{grid-template-columns:1fr}.companion .module[data-view=written] .spine-line,.companion .module[data-view=reframe] .as-written{display:none}.companion .module[data-view=reframe] .spine-grid{grid-template-columns:1fr}.companion .module[data-view=reframe] .spine-line{display:none}.companion .ex-card{border:1px solid var(--rule);background:var(--paper);border-radius:3px;margin-bottom:1rem;overflow:hidden}.companion .ex-card summary{cursor:pointer;background:var(--paper-deep);justify-content:space-between;align-items:center;padding:.9rem 1.2rem;font-family:Inter,sans-serif;font-size:.92rem;font-weight:600;list-style:none;display:flex}.companion .ex-card summary::-webkit-details-marker{display:none}.companion .ex-card summary .chev{color:var(--ochre);font-family:IBM Plex Mono,monospace;transition:transform .15s;display:inline-block}.companion .ex-card[open] summary .chev{transform:rotate(90deg)}.companion .ex-body{padding:1.1rem 1.2rem 1.3rem}.companion .glance{margin-bottom:1.4rem}.companion .glance-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;margin-top:.6rem;display:grid}.companion .glance-card{border:1px solid var(--rule);background:var(--paper-deep);border-radius:4px;padding:.7rem .8rem}.companion .glance-card h4{letter-spacing:.02em;margin:0 0 .3rem;font-size:.86rem}.companion .glance-card p{opacity:.85;margin:0;font-size:.82rem;line-height:1.45}.companion .principles-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem;margin-bottom:1rem;display:grid}.companion .principle-card{border:1px dashed var(--rule-strong);background:var(--paper-deep);border-radius:4px;min-height:118px;padding:.9rem 1rem}.companion .principle-card .pnum{color:var(--ochre);font-family:IBM Plex Mono,monospace;font-size:.8rem}.companion .principle-card input{width:100%;color:var(--ink);background:0 0;border:none;margin:.3rem 0 .5rem;padding:0;font-family:Fraunces,serif;font-size:.95rem;font-weight:600}.companion .principle-card input::placeholder{color:#8a8172;font-weight:500}.companion .principle-card textarea{resize:vertical;width:100%;min-height:44px;color:var(--ink-soft);background:0 0;border:none;padding:0;font-family:Spectral,serif;font-size:.86rem}.companion .principle-card input:focus,.companion .principle-card textarea:focus{background:var(--paper);outline:none}.companion .value-card .value-title{color:var(--ink);margin:.3rem 0 .5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600}.companion .value-card .value-body{color:var(--ink-soft);margin:0;font-family:Spectral,serif;font-size:.86rem;line-height:1.55}.companion .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.companion .value-search{flex-wrap:wrap;align-items:center;gap:.7rem;margin:.2rem 0 .6rem;display:flex}.companion .value-search-field{flex:260px;min-width:0}.companion .value-search input{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:.5rem .65rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.companion .value-search input::placeholder{color:var(--ink-soft);opacity:.7}.companion .value-search input:focus{border-color:var(--ink);outline:none}.companion .value-search-count{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.68rem}.companion .value-search-clear,.companion .linkish{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:none;border-bottom:1px solid var(--rule);cursor:pointer;background:0 0;padding:0 0 1px;font-family:IBM Plex Mono,monospace;font-size:.68rem}.companion .value-search-clear:hover,.companion .linkish:hover{color:var(--ink);border-bottom-color:var(--ink)}.companion .value-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;display:flex}.companion .value-chip{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;padding:.28rem .66rem;font-family:IBM Plex Mono,monospace;font-size:.66rem}.companion .value-chip:hover{color:var(--ink);border-color:var(--ink)}.companion .value-chip.is-active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.companion .value-hit{background:var(--rule);color:var(--ink);border-radius:1px;padding:0 .08em}.companion .value-empty{color:var(--ink-soft);border:1px dashed var(--rule);margin:0;padding:1rem 1.1rem;font-family:Spectral,serif;font-size:.88rem}.companion .reflect{border-top:1px solid var(--rule);margin-top:1.2rem;padding-top:1rem}.companion .reflect label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:.72rem;display:block}.companion .reflect textarea{border:1px solid var(--rule-strong);background:var(--paper);width:100%;min-height:70px;color:var(--ink);resize:vertical;border-radius:3px;padding:.7rem .8rem;font-family:Spectral,serif;font-size:.92rem}.companion .reflect textarea:focus{outline:2px solid var(--teal);outline-offset:1px}.companion .case-card{border:1px dashed var(--rule-strong);background:var(--paper-deep);border-radius:4px;margin-bottom:.9rem;padding:1rem 1.2rem}.companion .case-card h4{margin:0 0 .3rem;font-family:Fraunces,serif;font-size:1.05rem}.companion .case-card p{color:var(--ink-soft);margin:0 0 .7rem;font-size:.9rem;line-height:1.6}.companion .case-card .case-meta{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint,var(--ink-soft));margin-bottom:.8rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.companion .case-card .case-lineage{border-left:2px solid var(--rule-strong);padding-left:.7rem;font-size:.85rem}.companion .biblio{border-top:1px solid var(--rule);margin-top:3.5rem;padding-top:1.6rem}.companion .biblio h2,.companion .biblio h1{margin:0 0 1rem;font-family:Fraunces,serif;font-size:1.4rem}.companion .biblio ul{margin:0;padding-left:0;list-style:none}.companion .biblio li{color:var(--ink-soft);text-indent:-1.4rem;margin-bottom:.65rem;padding-left:1.4rem;font-size:.9rem}.companion .biblio li strong{color:var(--ink)}.companion .biblio-note{color:var(--ink-soft);margin-top:1.2rem;font-size:.82rem}.companion a:focus-visible,.companion button:focus-visible,.companion summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (width<=880px){.companion .shell{grid-template-columns:1fr}.companion nav.rail{border-right:none;border-bottom:1px solid var(--rule);height:auto;padding:1.4rem 1rem;position:relative}.companion main{padding:1.6rem 1.2rem 4rem}.companion h1{font-size:2.1rem}.companion .spine-grid{grid-template-columns:1fr}.companion .spine-line{display:none}.companion .module[data-view=both] .as-written{margin-bottom:1rem}}@media (prefers-reduced-motion:reduce){.companion *,.companion :before,.companion :after{scroll-behavior:auto!important;transition:none!important}}.ex-video{margin:0 0 1.6rem}.ex-video-frame{aspect-ratio:16/9;border:1px solid var(--rule,#0000002e);background:#0000000b;width:100%;position:relative;overflow:hidden}.ex-video-frame iframe,.ex-video-frame video{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.ex-video-empty{text-align:center;font-family:var(--mono,ui-monospace, monospace);letter-spacing:.02em;opacity:.6;justify-content:center;align-items:center;padding:1.2rem 2rem;font-size:.72rem;line-height:1.7;display:flex;position:absolute;inset:0}.ex-video-controls{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.ex-video-controls input{min-width:0;font-family:var(--mono,ui-monospace, monospace);border:1px solid var(--rule,#0000002e);color:inherit;background:0 0;flex:16rem;padding:.5rem .7rem;font-size:.74rem}.ex-video-controls input:focus{border-color:currentColor;outline:none}.ex-video-controls button{font-family:var(--mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid var(--rule,#0000002e);color:inherit;background:0 0;padding:.5rem .9rem;font-size:.68rem}.ex-video-controls button:hover{border-color:currentColor}.ex-video-controls button.ghost{opacity:.6}.variation{border:1px solid var(--rule,#0000002e);background:#00000006;border-left-width:3px;margin-top:1.6rem;padding:1.1rem 1.3rem}.variation .mcmillan-works{margin:.8rem 0;padding-left:1.2rem}.variation .mcmillan-works li{margin-bottom:.55rem;font-size:.92rem;line-height:1.55}.variation .mcmillan-works li strong{color:var(--ink)}.reflect-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.reflect-status{font-family:var(--mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;opacity:.5;font-size:.64rem}.companion .custom-heading{letter-spacing:-.01em;margin:2rem 0 .6rem;font-family:Fraunces,serif;font-size:1.15rem;font-weight:600}.companion .rail-backstage{border-top:1px dashed var(--rule);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:1.25rem;padding-top:.75rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;text-decoration:none;display:block}.companion .rail-backstage:hover{color:var(--indigo)}.companion .rail-reload{border:1px solid var(--rule);letter-spacing:.1em;text-transform:uppercase;width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border-radius:0;margin-top:.5rem;padding:.45rem .7rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;transition:border-color .15s,color .15s;display:block}.companion .rail-reload:hover{border-color:var(--ochre);color:var(--ink)}.companion .rail-auth{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:.5rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;text-decoration:none;display:block}.companion .rail-auth:hover,.companion .rail-auth--signed{color:var(--indigo)}.companion .case-sources{background:var(--paper-deep);border-left:2px solid var(--rule-strong);margin:1.1rem 0 .25rem;padding:.85rem 1rem}.companion .case-sources ul{margin:.5rem 0 0;padding:0;list-style:none}.companion .case-sources li{margin-bottom:.35rem;font-family:Inter,sans-serif;font-size:.82rem;line-height:1.45}.companion .case-sources a{color:var(--indigo);border-bottom:1px solid var(--rule-strong);overflow-wrap:anywhere;text-decoration:none}.companion .case-sources a:hover{border-bottom-color:var(--indigo)}.companion .case-map{border:1px solid var(--rule);background:var(--paper-deep);margin:1.6rem 0 2rem;padding:1rem}.companion .case-map img{background:#fff;width:100%;height:auto;display:block}.companion .case-map figcaption{letter-spacing:.01em;color:var(--ink-soft);margin-top:.7rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;line-height:1.5}.class-structure{border:1px solid var(--rule,#1e1b182e);border-left:3px solid var(--accent,#2f3b8c);background:#2f3b8c08;margin:1.25rem 0 2rem;padding:1.1rem 1.25rem}.class-list{counter-reset:cls;margin:.85rem 0;padding:0;list-style:none}.class-list li{counter-increment:cls;font-family:var(--serif,"Spectral", Georgia, serif);margin-bottom:.45rem;padding-left:2.4rem;line-height:1.5;position:relative}.class-list li:before{content:counter(cls, decimal-leading-zero);font-family:var(--mono,"IBM Plex Mono", monospace);letter-spacing:.08em;color:var(--accent,#2f3b8c);font-size:.7rem;position:absolute;top:.15rem;left:0}.live-bar{border-bottom:1px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.2rem;padding-bottom:.7rem;display:flex}.live-btn{font-family:var(--mono,"IBM Plex Mono", monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--accent,#2f3b8c);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:2px;padding:.4rem .7rem;font-size:.65rem}.live-btn:hover{border-color:var(--accent,#2f3b8c)}.live-bar.is-on .live-btn{background:var(--accent,#2f3b8c);color:var(--paper,#f6f1e4);border-color:var(--accent,#2f3b8c)}.live-bar.is-on .live-reset{color:var(--ink-soft);background:0 0}.live-hint,.live-status{font-family:var(--mono,"IBM Plex Mono", monospace);letter-spacing:.06em;color:var(--ink-soft);font-size:.62rem}[data-live-edit]{outline-offset:3px;cursor:text;border-radius:2px;outline:1px dashed #2f3b8c59}[data-live-edit]:focus{outline:1px solid var(--accent,#2f3b8c);background:#2f3b8c0d}.ex-video-clip{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.45rem;display:flex}.ex-video-clip label{align-items:center;gap:.35rem;display:inline-flex}.ex-video-clip label>span,.ex-video-note{font-family:var(--mono,"IBM Plex Mono", monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem}.ex-video-note{text-transform:none;letter-spacing:.02em;flex:14rem}.ex-video-clip input{width:5.2rem;font-family:var(--mono,"IBM Plex Mono", monospace);color:inherit;border:1px solid var(--rule);background:0 0;border-radius:2px;padding:.3rem .4rem;font-size:.72rem}.ex-video-clip input:focus{border-color:var(--accent,#2f3b8c);outline:none}.rail-backup{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.rail-backup-note{opacity:.7;margin:0;font-size:.7rem;line-height:1.35}.companion .biblio--page{border-top:none;margin-top:0;padding-top:0}.companion .ex-video-store{flex-wrap:wrap;align-items:center}.companion .ex-video-upload{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.companion .ex-video-upload input{max-width:12rem;font-size:.72rem}.companion .ex-video-error{color:var(--rust,#a33);margin:.4rem 0 0;font-size:.8rem}.ex-video-quota{font-variant-numeric:tabular-nums;width:100%;display:block}.reflect-prompt{color:var(--ink-2,#4a463f);margin:0 0 .6rem;font-size:.92rem}.reflect-signin{margin:0;font-size:.9rem}.reflect-actions{margin-top:.5rem}.reflect-draft{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.82rem;display:flex}.reflect-link{font:inherit;cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;padding:0;text-decoration:underline}.reflect-wall{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.reflect-wall li{border-top:1px solid var(--rule,#00000024);padding-top:.6rem}.reflect-wall p{white-space:pre-wrap;margin:.25rem 0 0;font-size:.92rem}.reflect-by{letter-spacing:.04em;text-transform:uppercase;opacity:.75;align-items:baseline;gap:.6rem;font-size:.78rem;display:flex}.teacher-note{background:#00000008;border-left:3px solid;margin-top:.75rem;padding:.7rem .85rem;font-size:.9rem}.teacher-note p{margin:.2rem 0}.teacher-note-tag{letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:.3rem;font-size:.72rem}.reflect-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.reflect-private{opacity:.85;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.counterpoint{background:#0000000b;border-left-style:double;border-left-width:6px}.counterpoint .panel-label{letter-spacing:.08em}.counterpoint blockquote{font-style:italic}.backhouse{min-height:100vh;padding:3rem 1.25rem 6rem}.backhouse .bh-shell{max-width:980px;margin:0 auto}.backhouse .bh-head{border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1.75rem;display:flex}.backhouse .bh-head h1{letter-spacing:-.02em;margin:.4rem 0 .6rem;font-family:Fraunces,serif;font-size:clamp(2rem,5vw,3rem);line-height:1.02}.backhouse .bh-sub{max-width:46ch;color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.backhouse .bh-actions{flex-wrap:wrap;gap:.5rem;display:flex}.backhouse .bh-btn,.backhouse .bh-mini{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--paper-deep);border:1px solid var(--rule-strong);cursor:pointer;border-radius:2px;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;text-decoration:none;transition:background .15s}.backhouse .bh-btn:hover,.backhouse .bh-mini:hover{background:var(--indigo-soft)}.backhouse .bh-mini{padding:.3rem .5rem;font-size:.65rem}.backhouse .bh-danger:hover{background:var(--ochre-soft);border-color:var(--ochre);color:var(--ochre)}.backhouse .bh-status,.backhouse .bh-empty{letter-spacing:.04em;color:var(--ink-soft);margin-bottom:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.backhouse .bh-io{border:1px solid var(--rule);background:var(--paper-deep);justify-items:start;gap:.6rem;margin-bottom:1.5rem;padding:1rem;display:grid}.backhouse .bh-io label{color:var(--ink-soft);font-family:Inter,sans-serif;font-size:.8rem}.backhouse .bh-card{border:1px solid var(--rule);background:#ffffff47;margin-bottom:1.5rem;padding:1.25rem}.backhouse .bh-card-head,.backhouse .bh-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.backhouse .bh-index,.backhouse .bh-block-type{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.7rem}.backhouse .bh-move{flex-wrap:wrap;gap:.35rem;display:flex}.backhouse .bh-field{margin-bottom:.9rem;display:block}.backhouse .bh-field>span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;display:block}.backhouse input,.backhouse textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--rule);resize:vertical;border-radius:2px;padding:.55rem .65rem;font-family:Spectral,Georgia,serif;font-size:.95rem;line-height:1.5}.backhouse input:focus,.backhouse textarea:focus{border-color:var(--indigo);background:#fff;outline:none}.backhouse .bh-block{border-left:2px solid var(--rule-strong);margin:0 0 1rem;padding:.9rem 0 .2rem .9rem}.backhouse .bh-two{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.backhouse .bh-add{border-top:1px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.9rem;display:flex}.backhouse .bh-add>span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.65rem}@media (width<=720px){.backhouse .bh-two{grid-template-columns:1fr}}.backhouse .bh-shell--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.6rem;max-width:1400px;display:grid}.backhouse .bh-shell--split .bh-editor{min-width:0}.backhouse .bh-preview{border:1px solid var(--rule);background:var(--paper,#f6f1e4);border-radius:3px;max-height:calc(100vh - 3rem);padding:1rem 1.2rem 1.6rem;position:sticky;top:1.5rem;overflow:auto}.backhouse .bh-preview-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.8rem;font-family:IBM Plex Mono,monospace;font-size:.62rem}@media (width<=1000px){.backhouse .bh-shell--split{grid-template-columns:1fr}.backhouse .bh-preview{max-height:none;position:static}}.backhouse .bh-pages{border:1px solid var(--rule);border-radius:3px;margin-bottom:1.4rem;padding:1rem 1.1rem}.backhouse .bh-pages h2,.backhouse .bh-bee h2{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .7rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.backhouse .bh-page-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem;display:grid}.backhouse .bh-page-item{border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:.35rem;padding:.6rem .7rem;display:flex}.backhouse .bh-page-item strong{font-size:.92rem}.backhouse .bh-page-item a{letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem}.backhouse .bh-bee{border:1px solid var(--rule);border-radius:3px;margin-bottom:1.4rem;padding:1rem 1.1rem}.backhouse .bh-bee-head{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.backhouse .bh-bee-hint{color:var(--ink-soft);max-width:46ch;font-size:.82rem}.backhouse .bh-bee-out{gap:1rem;margin-top:1rem;display:grid}.backhouse .bh-bee-group h3{letter-spacing:.12em;text-transform:uppercase;margin:1rem 0 .4rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.backhouse .bh-bee-group h3 span{color:var(--ink-soft)}.backhouse .bh-bee-group ul{gap:.4rem;margin:0;padding-left:1.1rem;display:grid}.backhouse .bh-bee-group li{font-size:.88rem;line-height:1.45}.backhouse .bh-bee-group li em{color:var(--ink-soft);font-size:.8rem;display:block}.backhouse .bh-bee-page{letter-spacing:.08em;text-transform:uppercase;margin-right:.4rem;font-family:IBM Plex Mono,monospace;font-size:.66rem}.backhouse .bh-admin{border:1px solid var(--rule);background:var(--paper-deep);margin-bottom:1.5rem;padding:1.25rem}.backhouse .bh-admin h2{margin:0 0 .75rem;font-family:Fraunces,serif;font-size:1.4rem}.backhouse .bh-admin h3{letter-spacing:.1em;text-transform:uppercase;margin:1.25rem 0 .5rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.backhouse .bh-admin p{margin:0 0 .75rem;font-size:.92rem;line-height:1.5}.backhouse .bh-admin-list{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.backhouse .bh-admin-list li{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.backhouse .bh-admin-list code{background:var(--paper);border:1px solid var(--rule);padding:.15rem .35rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.backhouse .bh-admin-list span{color:var(--ink-soft);font-size:.75rem}.backhouse .bh-promote{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:1rem;display:flex}.backhouse .bh-promote .bh-field{flex:16rem;margin:0}.backhouse .bh-secondary{background:0 0}.auth-page{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{border:1px solid var(--rule-strong);background:var(--paper-deep);width:min(100%,420px);padding:2rem}.auth-card h1{margin:0 0 .5rem;font-family:Fraunces,serif;font-size:1.75rem}.auth-card p{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.92rem;line-height:1.5}.auth-card .google-btn{text-align:center;width:100%;margin-bottom:1rem}.auth-card form{gap:.75rem;display:grid}.auth-card .bh-field{gap:.35rem;display:grid}.auth-card .bh-field span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.65rem}.auth-card input{font:inherit;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);padding:.5rem .6rem}.auth-card .bh-btn[type=submit]{width:100%;margin-top:.25rem}.auth-divider{color:var(--ink-soft);align-items:center;gap:.75rem;margin:1rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--rule-strong);flex:1;height:1px}.auth-message{color:var(--ink-soft);background:var(--paper);border:1px solid var(--rule);margin-bottom:1rem;padding:.6rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.auth-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;margin-top:1rem;padding:0;font-size:.82rem;text-decoration:underline}.auth-toggle:hover{color:var(--ink)}.backhouse .bh-bee-fixbar{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.backhouse .bh-btn--tiny{margin-left:.5rem;padding:.1rem .45rem;font-size:.62rem}.backhouse .bh-launch{gap:.6rem;margin-top:1rem;display:grid}.backhouse .bh-verdict{border:1px solid var(--rule);border-left-width:3px;padding:.6rem .8rem;font-size:.9rem}.backhouse .bh-verdict--ready{border-left-color:var(--ink)}.backhouse .bh-verdict--hold{border-left-color:var(--accent,var(--ink-soft));color:var(--ink-soft)}.backhouse .bh-checks{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.backhouse .bh-check{align-items:baseline;gap:.6rem;font-size:.88rem;display:flex}.backhouse .bh-check em{color:var(--ink-soft);font-size:.8rem;display:block}.backhouse .bh-check-mark{text-align:center;border:1px solid var(--rule);border-radius:2px;width:1.1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.backhouse .bh-check--fail .bh-check-mark{background:var(--ink);color:var(--paper)}.backhouse .bh-check--warn .bh-check-mark{border-style:dashed}.bh-check{align-items:center;gap:.5rem;margin:.5rem 0;font-size:.88rem;display:flex}.sec-summary{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.sec-filters{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.sec-filters .bh-field{min-width:12rem}.sec-pill{letter-spacing:.06em;text-transform:uppercase;opacity:.85;border:1px solid;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;display:inline-block}.sec-fixed,.sec-check-pass{color:#2f6b45}.sec-remaining,.sec-check-fail{color:#a4331f}.sec-na,.sec-check-warn{color:#7a6a3c}.sec-id{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.sec-count{opacity:.55;font-size:.8em}.sec-card .sec-body{margin:.35rem 0;line-height:1.5}.sec-meta{opacity:.6;margin:.35rem 0 .6rem;font-size:.78rem}.cr-bars{gap:.7rem;margin:.6rem 0 .2rem;display:grid}.cr-row-head{justify-content:space-between;gap:1rem;margin-bottom:.25rem;font-size:.85rem;display:flex}.cr-label{opacity:.9}.cr-value{white-space:nowrap;opacity:.7;font-variant-numeric:tabular-nums}.cr-track{background:color-mix(in srgb, currentColor 10%, transparent);border-radius:999px;height:8px;overflow:hidden}.cr-fill{background:color-mix(in srgb, currentColor 55%, transparent);border-radius:999px;height:100%}.cr-route-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cr-path{opacity:.65;font-size:.8rem}.cr-w-heavy{border-color:currentColor}.cr-w-light{opacity:.7}.companion .match-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.companion .match-card{border:1px solid var(--rule,#d9d3c7);background:var(--paper-2,#fbf9f4);padding:1rem 1.1rem}.companion .match-card h3{letter-spacing:.02em;margin:0 0 .35rem;font-size:.95rem}.companion .match-field{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3,#6d675c);margin:.75rem 0;font-size:.72rem;display:block}.companion .match-field input[type=text],.companion .match-field input[type=url],.companion .match-field textarea,.companion .match-field select{width:100%;font:inherit;text-transform:none;letter-spacing:0;color:var(--ink,#23201b);background:var(--paper,#fffdf8);border:1px solid var(--rule,#d9d3c7);margin-top:.35rem;padding:.5rem .6rem;font-size:.9rem;display:block}.companion .match-times{gap:.6rem;display:flex}.companion .match-lenses{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.companion .match-lens{border:1px solid var(--rule,#d9d3c7);cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.78rem;display:inline-flex}.companion .match-lens[data-on=true]{background:var(--ink,#23201b);color:var(--paper,#fffdf8);border-color:var(--ink,#23201b)}.companion .match-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.companion .match-btn{font:inherit;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink,#23201b);background:var(--ink,#23201b);color:var(--paper,#fffdf8);cursor:pointer;padding:.5rem .9rem;font-size:.8rem}.companion .match-btn--ghost{color:var(--ink,#23201b);background:0 0}.companion .match-btn[disabled]{opacity:.5;cursor:default}.companion .match-note{color:var(--ink-3,#6d675c);font-size:.82rem}.companion .match-status{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.companion .match-list{margin:1rem 0 0;padding:0;list-style:none}.companion .match-list li{border-top:1px solid var(--rule,#d9d3c7);justify-content:space-between;gap:1rem;padding:.7rem 0;font-size:.9rem;display:flex}.companion .effort-row{margin:.8rem 0}.companion .effort-scale{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3,#6d675c);justify-content:space-between;font-size:.7rem;display:flex}.companion .effort-track{background:var(--rule,#d9d3c7);height:3px;margin:.35rem 0;position:relative}.companion .effort-dot{background:var(--ink,#23201b);border-radius:50%;width:11px;height:11px;margin-left:-5px;position:absolute;top:-4px}.companion .lens-table{border-collapse:collapse;width:100%;font-size:.88rem}.companion .lens-table th,.companion .lens-table td{text-align:left;vertical-align:top;border-top:1px solid var(--rule,#d9d3c7);padding:.6rem .7rem .6rem 0}.companion .lens-table th{width:30%;font-weight:600}.companion .cite-list{color:var(--ink-3,#6d675c);font-size:.75rem}
