@font-face{font-family:STIX;src:url(assets/STIX.ttf)}@font-face{font-family:Plex;src:url(assets/PlexSans.ttf)}@font-face{font-family:Mono;src:url(assets/PlexMono.ttf)}:root{--bg:#193730;--panel:#23453C;--text:#E4EDE5;--line:#7C9B8D;--accent:#B5B98A}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Plex,Arial,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--line);padding:11px 17px;border-radius:2px}button:hover,a.download:hover{background:var(--panel)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{text-decoration:none}h1,h2,.brand{font-family:STIX,Georgia,serif;font-weight:400}h1{font-size:52px;line-height:1.07;margin:14px 0 0}h2{font-size:28px;line-height:1.2;margin:0 0 12px}p{margin:0 0 16px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:30px;display:flex;align-items:center;gap:12px}nav{display:flex;gap:32px}nav a:hover{text-decoration:underline}.quiet{border:0;font-size:13px}.eyebrow,.section-label,.number,.badge{font:12px/1.5 Mono,monospace}.eyebrow{margin:0;color:var(--accent)}main{max-width:1600px;margin:auto;padding:0 4.5%}.heading{display:flex;justify-content:space-between;align-items:end;padding:46px 0 40px;gap:30px}.heading>p{max-width:350px;margin:0 30px 3px 0;font-size:17px}.workspace{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.diagram{padding:24px 28px 0;display:flex;flex-direction:column;min-height:510px}.badge{font-size:10px;border:1px solid var(--line);padding:3px 7px}.diagram-title{margin:34px 0 8px}.diagram-title p,.help{font-size:13px}.flow{display:flex;align-items:center;flex:1;padding:15px 0 25px}.source{width:43%;display:flex;flex-direction:column;align-items:flex-start;position:relative}.source img{width:112px;height:112px;margin-left:-8px}.source strong{font:36px STIX}.source small{font:11px Mono;margin-top:5px}.branches{flex:1;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:20px}.branch{padding-left:30px;position:relative;min-height:48px}.branch:before{content:'';height:1px;background:var(--line);width:24px;position:absolute;left:0;top:23px}.branch:after{content:'';width:6px;height:6px;border:1px solid var(--accent);background:var(--bg);position:absolute;left:-4px;top:20px}.branch>div{display:flex;justify-content:space-between;gap:10px;font:13px Mono}.branch strong{display:block;font:25px STIX;margin-top:2px}.diagram-bottom{border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;gap:12px;font-size:10px}.controls{padding:24px 28px;border-left:1px solid var(--line);background:var(--panel)}.field-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin:27px 0 26px}label{display:flex;flex-direction:column;gap:8px;font-size:12px}input{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:2px;padding:10px;font-family:Mono;font-size:14px}.recipients-heading{display:grid;grid-template-columns:1fr 75px 30px;gap:8px;font-size:11px;margin-bottom:8px}.recipient{display:grid;grid-template-columns:1fr 75px 30px;gap:8px;margin-bottom:10px}.recipient button{padding:0;border:0;font-size:20px}.text-button{border:0;padding:7px 0;font-size:12px}.help{margin:12px 0 15px;font-size:11px;max-width:370px}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.primary:hover{background:var(--text);color:var(--bg)}form>.primary{width:100%;display:flex;justify-content:space-between}.review{display:flex;justify-content:space-between;align-items:center;padding:32px 0;gap:20px;border-bottom:1px solid var(--line)}.review h2{font-size:25px;margin:7px 0}.review p:last-child{font-size:12px;margin:0}.actions{display:flex;gap:9px}.actions button{font-size:12px}#error{color:var(--text);font-size:12px;margin-bottom:12px}#error:empty{display:none}.saved-row{display:flex;justify-content:space-between;padding:24px;border:1px solid var(--line);margin-top:18px}.saved-row p{margin:5px 0 0}.principles{padding:50px 0}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:28px}.number{color:var(--accent);display:block;margin-bottom:22px}.principle-grid h2{font-size:25px}.principle-grid p{font-size:14px;max-width:330px}.resources{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:40px 0;align-items:center}.resources h2{font-size:34px;margin:14px 0}.resources p{max-width:340px}.resources video{width:100%;border:1px solid var(--line)}.download{display:inline-block;border-bottom:1px solid var(--line);padding:9px 0;margin-right:20px;font-size:13px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:20px}footer p{margin:0;font-size:11px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);max-width:500px;width:90%;padding:32px}dialog::backdrop{background:#10251fee}dialog h2{font-size:50px;margin:15px 0}#intro{position:fixed;inset:0;z-index:9;background:var(--bg);padding:28px 5%;display:flex;flex-direction:column;justify-content:space-between;animation:emergency-exit 0s 13s forwards}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;font:12px Mono;gap:15px}.intro-art{position:relative;text-align:center;width:min(850px,100%);margin:auto;color:var(--accent)}.intro-art svg{width:100%;max-height:45vh}.intro-art p{color:var(--text);font:26px STIX}.intro-brand{position:absolute;inset:30% 0 auto;background:var(--bg);padding:20px;opacity:0;animation:brand-in 2s 7s forwards;font-size:72px;color:var(--text)}.spool-draw{stroke-dasharray:900;animation:draw 3s ease both}.intro-threads{stroke-dasharray:700;animation:draw 4s 2s ease both}.intro-ends{animation:arrive 1s 5s both}.intro-bottom{border-top:1px solid var(--line);padding-top:20px}#intro[hidden]{display:none}@keyframes draw{from{stroke-dashoffset:900;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes arrive{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes brand-in{to{opacity:1}}@keyframes emergency-exit{to{visibility:hidden;pointer-events:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#intro{display:none}*{animation:none!important}}@media(max-width:1000px){.workspace{grid-template-columns:1.1fr 1fr}.diagram,.controls{padding-left:20px;padding-right:20px}.actions{flex-wrap:wrap;justify-content:end}.heading>p{margin-right:0}.branch{padding-left:18px}.branch>div{font-size:11px}}@media(max-width:760px){header{padding:17px 5%;flex-wrap:wrap}header nav{order:3;width:100%;gap:25px;font-size:13px}.brand{font-size:26px}h1{font-size:40px}.heading{display:block;padding:34px 0}.heading>p{margin-top:22px;font-size:15px}.workspace{grid-template-columns:1fr}.diagram{min-height:450px}.controls{border-left:0;border-top:1px solid var(--line)}.review{display:block}.actions{margin-top:20px;justify-content:start}.principle-grid{grid-template-columns:1fr;gap:22px}.number{margin-bottom:10px}.principle-grid p{max-width:100%}.resources{grid-template-columns:1fr;gap:25px}.resources video{order:-1}footer{flex-wrap:wrap}.intro-top,.intro-bottom{font-size:10px}.intro-brand{font-size:52px}.saved-row{padding:15px;gap:15px}.diagram-bottom{font-size:9px}.badge{font-size:9px}#saved-label{font-size:12px;overflow-wrap:anywhere}}@media(max-height:480px){#intro{padding:12px 4%}.intro-art svg{max-height:40vh}.intro-art p{font-size:18px}.intro-brand{font-size:38px;inset:15% 0 auto}.intro-bottom{padding-top:10px}}

.source:after{content:"";position:absolute;left:96px;right:0;top:56px;height:1px;background:var(--line)}
@media(max-width:760px){.controls{order:-1;border-top:0;border-bottom:1px solid var(--line)}.heading{padding:26px 0}.heading>p{margin-top:18px}}
