:root{--bg:#E8F0ED;--panel:#F6FAF8;--text:#29463E;--line:#A4BBB0;--accent:#527A6B;--serif:'STIX Two Text',Georgia,serif;--sans:'IBM Plex Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--accent);background:transparent;color:var(--text);cursor:pointer;text-decoration:none;border-radius:3px;font-weight:500;white-space:nowrap}button:hover,.button:hover{background:var(--panel)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--text);color:var(--panel);border-color:var(--text)}button.primary:hover{background:var(--accent)}button.quiet,.button.quiet{border-color:transparent;padding-left:9px;padding-right:9px}button.quiet:hover,.button.quiet:hover{border-color:var(--line)}:focus-visible{outline:2px solid var(--text);outline-offset:4px}a{color:inherit}input,textarea,select{width:100%;border:1px solid var(--accent);border-radius:2px;background:var(--panel);padding:11px 12px;font-size:15px}textarea{resize:vertical;min-height:90px}input::placeholder,textarea::placeholder{color:var(--accent);opacity:1}label{display:block;font-size:13px;font-weight:500;margin:16px 0 7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(34px,3.8vw,54px);letter-spacing:-1.5px;line-height:1.12}h2{font-size:28px;line-height:1.15}h3{font-size:23px;line-height:1.25}header{height:86px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 4%;gap:25px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:500 28px var(--serif);white-space:nowrap}.header-note{font-size:13px;border-left:1px solid var(--line);padding-left:25px}header button{margin-left:auto}main{max-width:1550px;margin:auto;padding:0 4%}.heading{display:flex;justify-content:space-between;align-items:flex-end;padding:39px 0 32px;gap:30px}.heading p:not(.eyebrow){margin-top:12px;font-size:16px}.eyebrow{font:500 11px var(--sans);letter-spacing:1.25px;margin-bottom:12px}.local-label{line-height:1.8;font-size:13px;white-space:nowrap;padding-bottom:4px}.local-label small{font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:7px}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;gap:15px}.toolbar-left,.toolbar-right{display:flex;gap:10px;align-items:center}.toolbar label{margin:0}.example-label{font-size:12px}.workspace{display:grid;grid-template-columns:190px minmax(320px,1fr) 260px;min-height:700px}.chapters{padding:27px 20px 20px 0;border-right:1px solid var(--line)}.chapters a{display:block;text-decoration:none;padding:11px 0;font-size:13px}.chapters a:hover{text-decoration:underline}.chapters a span{font-family:var(--mono);font-size:11px;margin-right:12px}.chapter-note{margin-top:65px;border-top:1px solid var(--line);padding-top:25px}.chapter-note img{margin-bottom:15px}.chapter-note p{font-size:13px;margin-top:12px;line-height:1.6}.storage-status{font-size:11px;margin-top:30px}.editor{background:var(--panel);padding:0 29px}.editor section{padding:27px 0;border-bottom:1px solid var(--line)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.section-top .eyebrow{margin:0}.section-top button{font-size:12px;min-height:29px;padding-top:3px;padding-bottom:3px}.tag{font:11px var(--mono);border:1px solid var(--line);padding:4px 6px;border-radius:2px}.optional{font-weight:400}.help{font-size:12px;line-height:1.6;margin-top:12px}.table-head,.parameter-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 32px;gap:8px}.table-head{font-size:11px;margin:12px 0 7px}.parameter-row{margin-bottom:7px}.parameter-row input{padding:9px 7px;font-size:13px}.parameter-row button{padding:0;min-height:36px}.empty{border-left:2px solid var(--line);padding:12px 14px;font-size:13px;line-height:1.6;margin:14px 0}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:154px;border:1px dashed var(--accent);padding:16px;gap:4px;cursor:pointer;text-align:center}.file-drop:hover{background:var(--bg)}.file-drop strong{font-size:14px;font-weight:500}.file-drop span:not(.file-plus){font-size:12px;font-weight:400}.file-drop small{font-size:11px;font-weight:400}.file-plus{font-size:25px;line-height:1}.file-record{border-bottom:1px solid var(--line);padding:14px 0}.file-record .file-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.file-record strong{overflow-wrap:anywhere;font-size:13px}.file-record code{display:block;font:10px var(--mono);overflow-wrap:anywhere;margin-top:7px}.file-record small{font-size:11px}.file-record .file-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.file-actions button,.file-actions label{font-size:11px;min-height:30px;margin:0;padding:4px 7px}.save-row{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);gap:12px}.save-row p{font-size:11px;max-width:180px}#record-run{margin-top:13px}.run-record{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.run-record small{font:10px var(--mono)}.run-record p{font-size:13px;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.check-box{background:var(--bg);padding:15px;margin-top:17px;border-left:3px solid var(--accent)}.check-box strong{font-weight:500}.check-box ul{padding-left:19px;margin:9px 0 0;font-size:12px}.check-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.lineage{padding:27px 0 25px 24px;border-left:1px solid var(--line)}#version-count{font:12px var(--mono)}.lineage h2{font-size:27px}#version-list{margin:22px 0}.version-node{position:relative;display:block;width:100%;text-align:left;white-space:normal;border:0;border-left:1px solid var(--line);border-radius:0;padding:12px 10px 12px 24px}.version-node::before{content:'';position:absolute;width:7px;height:7px;background:var(--panel);border:1px solid var(--accent);left:-5px;top:20px}.version-node.active{background:var(--panel)}.version-node.active::before{background:var(--text)}.version-node strong{font:500 13px var(--sans);display:block}.version-node small{font:10px var(--mono);display:block;margin-top:4px}.comparison{border-top:1px solid var(--line);padding-top:24px}.comparison label{font-size:11px}.comparison select{font-size:12px;padding:8px}.diff{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.diff strong{font-weight:500;display:block}.diff p{margin-top:5px;overflow-wrap:anywhere;white-space:pre-wrap}.diff .after{border-left:2px solid var(--accent);padding-left:8px}.product-note{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:42px 0;border-top:1px solid var(--line)}.product-note h2{max-width:350px}.product-note p:not(.eyebrow){font-size:13px;line-height:1.7;margin-bottom:12px}footer{border-top:1px solid var(--line);padding:23px 0 32px;display:flex;gap:24px;align-items:start;font-size:11px}footer p{max-width:410px}footer a{margin-left:auto;white-space:nowrap}#message:empty{display:none}#message{padding:11px 15px;margin:12px 0;background:var(--panel);border:1px solid var(--accent);font-size:13px}dialog{border:1px solid var(--text);border-radius:3px;background:var(--panel);color:var(--text);max-width:500px;width:calc(100% - 32px);padding:32px}dialog::backdrop{background:#E8F0ED}.dialog-close{position:absolute;right:10px;top:10px;border:none;font-size:23px}dialog h2{margin:14px 0}dialog p{margin:12px 0;font-size:14px}dialog .dialog-actions{display:flex;gap:10px;margin-top:22px}.notice{padding:20px}.mono{font-family:var(--mono)}
#intro{position:fixed;z-index:10;inset:0;background:var(--bg);padding:30px 5%;display:flex;flex-direction:column;justify-content:space-between;animation:failsafe 0s 12s forwards}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:1px}.intro-top button{font-size:13px}.scene{width:min(850px,100%);margin:auto;text-align:center}.scene svg{width:100%;overflow:visible}.scene rect{fill:var(--panel);stroke:var(--accent);stroke-width:1}.scene text{fill:var(--text);font-family:var(--serif);font-size:21px}.scene text.mono{font-family:var(--mono);font-size:15px}.scene path{fill:none;stroke:var(--accent);stroke-width:1.5}.scene .fingerprint path{fill:var(--accent);stroke:none}.origin{animation:appear .7s both}.branch{stroke-dasharray:450;stroke-dashoffset:450;animation:draw 2s 2s forwards}.old{animation:appear 1s 3s both}.changed{animation:appear 1s 5s both}.fingerprint{animation:appear 1s 6.5s both}.brand-reveal{display:flex;align-items:center;justify-content:center;gap:14px;font:500 46px var(--serif);margin-top:24px;animation:appear .8s 8s both}#intro-caption{font:24px var(--serif);margin-top:10px;min-height:35px}.scene .changed rect{animation:highlight 1s 5s both}.intro-bottom{padding-top:15px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes highlight{to{fill:var(--bg)}}@keyframes failsafe{to{visibility:hidden;pointer-events:none}}
@media(min-width:1500px){.workspace{grid-template-columns:215px minmax(320px,1fr) 290px}.editor{padding:0 40px}}
@media(max-width:1100px){.workspace{grid-template-columns:155px minmax(300px,1fr) 210px}.editor{padding:0 20px}.lineage{padding-left:17px}.chapters{padding-right:12px}.example-label{display:none}.header-note{display:none}.lineage h2{font-size:23px}.save-row{flex-direction:column;align-items:start}.save-row p{max-width:none}.local-label{display:none}}
@media(max-width:760px){body{font-size:14px}header{height:72px;padding:0 5%}.brand{font-size:25px}.brand img{width:31px}.heading{padding:28px 0 23px}h1{font-size:37px}.heading p:not(.eyebrow){font-size:14px}.toolbar{flex-wrap:wrap;padding:10px 0;gap:4px}.toolbar-right{gap:0;margin-left:-8px}.toolbar button,.toolbar label{font-size:12px}.workspace{display:flex;flex-direction:column}.chapters{padding:13px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto;gap:17px}.chapters>.eyebrow,.chapter-note,.storage-status{display:none}.chapters a{white-space:nowrap;font-size:11px;padding:4px 0}.chapters a span{margin-right:4px}.editor{padding:0 18px;margin:0 -1px}.editor section{padding:22px 0}.lineage{border-left:0;border-top:1px solid var(--line);padding:26px 0}.lineage h2 br{display:none}.lineage h2{font-size:28px}.parameter-row,.table-head{grid-template-columns:1.15fr .9fr 1fr 26px;gap:5px}.parameter-row input{font-size:12px;padding:9px 5px}.save-row{flex-direction:row;align-items:center}.save-row p{max-width:120px}.save-row button{font-size:12px}.product-note{grid-template-columns:1fr;gap:22px;padding:30px 0}footer{flex-direction:column;gap:12px}footer a{margin-left:0}.intro-top,.intro-bottom{font-size:9px}.intro-top>span{max-width:140px}.intro-bottom>span:last-child{display:none}#intro{padding:20px 5%}.scene svg{min-height:220px}.scene text{font-size:24px}.brand-reveal{font-size:36px}.scene text.mono{font-size:18px}.file-drop small{max-width:240px}.check-actions button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}#intro{display:none}}
