@font-face{font-family:Serif;src:url('/fonts/serif.woff2')}@font-face{font-family:Plex;src:url('/fonts/sans.woff2')}@font-face{font-family:Mono;src:url('/fonts/mono.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#152E40;color:#E6EDF0;font-family:Plex,Arial,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary,.file-label{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.file-label:focus-within{outline:2px solid #C98A69}button,a,.file-label{touch-action:manipulation}button{border:1px solid #77919E;background:transparent;color:#E6EDF0;padding:10px 14px;cursor:pointer;border-radius:3px;line-height:1.3}button:hover,.file-label:hover{background:#1C384B}button:disabled{opacity:.4;cursor:not-allowed}.quiet{border-color:transparent}.primary{background:#C98A69;color:#152E40;border-color:#C98A69}.primary:hover{background:#E6EDF0;border-color:#E6EDF0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;align-items:center;justify-content:space-between;padding:24px 3.4%;border-bottom:1px solid #77919E}.brand{display:flex;align-items:center;gap:12px;font:28px Serif,Georgia,serif}.brand span{font:12px Plex,sans-serif;border-left:1px solid #77919E;padding-left:20px;margin-left:14px}nav{display:flex;gap:24px;align-items:center;font-size:13px}main{padding:0 3.4%}.heading{padding:44px 0 32px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font:11px Mono,monospace;letter-spacing:.07em;text-transform:uppercase}h1,h2,h3{font-family:Serif,Georgia,serif;font-weight:400}h1{font-size:48px;line-height:1.12;letter-spacing:-1px;margin:14px 0}h2{font-size:32px;line-height:1.2}h3{font-size:23px;margin:0 0 16px}.heading p{margin-bottom:0}.mode{border-left:1px solid #77919E;padding-left:26px;font-size:13px;min-width:230px}.mode>span:last-child{display:block;font-size:12px;margin-top:6px}.dot{display:inline-block;width:7px;height:7px;background:#C98A69;border-radius:50%;margin-right:8px}.toolbar{border-top:1px solid #77919E;border-bottom:1px solid #77919E;padding:10px 0;display:flex;justify-content:space-between;gap:8px}.toolbar>div{display:flex;gap:6px;align-items:center}.file-label{cursor:pointer;padding:10px 14px;margin:0!important;position:relative;font-size:15px!important}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.notice{font-size:12px;margin:0;padding:12px 0;min-height:42px}.notice.error{border-left:3px solid #C98A69;padding-left:10px}.studio{display:grid;grid-template-columns:minmax(175px,.75fr) minmax(420px,1.95fr) minmax(300px,1.15fr);border:1px solid #77919E;min-height:580px}.section-label{font:11px Mono,monospace;display:flex;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid #77919E}.catalogue{display:flex;flex-direction:column}.catalogue-note{margin-top:auto;padding:28px 20px;font-size:12px}.catalogue-note .eyebrow{color:#C98A69}.empty{padding:28px 20px;font-size:13px}.empty strong{display:block;font:24px Serif,serif;margin-bottom:10px}.product-item{border:0;border-bottom:1px solid #77919E;border-radius:0;width:100%;text-align:left;padding:20px;font-size:14px;overflow-wrap:anywhere}.product-item.selected{border-left:3px solid #C98A69;background:#1C384B;padding-left:17px}.product-item small{display:block;font:11px Mono,monospace;margin-top:9px}.editor{background:#1C384B;border-left:1px solid #77919E;border-right:1px solid #77919E}form#editor-form{padding:24px}label{display:block;font-size:12px;margin-bottom:20px}input,select,textarea{display:block;color:#E6EDF0;background:#152E40;width:100%;border:1px solid #77919E;border-radius:2px;padding:11px 12px;margin-top:8px;min-width:0}input::placeholder,textarea::placeholder{color:#ADBEC7;opacity:1}textarea{resize:vertical;font:13px/1.65 Mono,monospace;min-height:145px}.route-row{display:grid;grid-template-columns:105px 1fr;gap:14px}.price-row{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px}.small{font-size:10px;float:right}.hint{font-size:12px;line-height:1.6}.form-actions{display:flex;justify-content:space-between;margin-top:22px}.export-row{border-top:1px solid #77919E;padding:14px;display:flex;flex-wrap:wrap;font-size:12px}.export-row button{font-size:12px;padding:9px}.replay-panel>summary{padding:18px 20px;font:11px Mono,monospace;cursor:pointer;border-bottom:1px solid #77919E;list-style:none}.replay-panel>summary:before{content:'−';margin-right:8px}.replay-panel:not([open])>summary:before{content:'+'}.replay-panel>summary span{display:block;font-size:10px;margin:5px 0 0 15px}.replay-body{padding:20px}.replay-body>.hint{margin-top:0;margin-bottom:22px}.id-row{display:flex;gap:8px}.id-row button{margin-top:8px}.full{width:100%}.request-state{border-top:1px solid #77919E;border-bottom:1px solid #77919E;margin:22px 0;padding:24px 0;font-size:13px;overflow-wrap:anywhere}.request-state svg{color:#77919E;width:100%;height:60px}.state-code{font:42px Serif,serif;margin:0}.state-price{font:15px Mono,monospace}.state-row{display:flex;justify-content:space-between;font-size:11px;margin-top:10px;gap:8px}.request-state pre{font:11px/1.6 Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #77919E;padding-top:14px;max-height:200px;overflow:auto}.two-actions{display:flex;flex-direction:column;gap:8px}.two-actions button,.replay-body>button{font-size:12px}.check{display:flex;align-items:center;gap:8px;margin:18px 0}.check input{width:16px;height:16px;margin:0;accent-color:#C98A69}.history{font-size:12px;border-top:1px solid #77919E;margin-top:18px;padding-top:15px}.history summary{cursor:pointer}.history button{display:block;text-align:left;width:100%;font-size:11px;margin-top:8px;overflow-wrap:anywhere}.about{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6%;padding:70px 0;border-bottom:1px solid #77919E}.about p{font-size:14px}.about .hint{font-size:12px}footer{display:flex;justify-content:space-between;font-size:11px;padding:24px 0 32px}dialog{background:#1C384B;color:#E6EDF0;border:1px solid #77919E;width:min(500px,calc(100% - 32px));padding:30px}dialog::backdrop{background:#152E40;opacity:.93}dialog h2{margin-top:8px}dialog button{margin-top:16px}.mobile-break{display:none}.intro{position:fixed;inset:0;z-index:100;background:#152E40;display:flex;align-items:center;justify-content:center;flex-direction:column;animation:escape 0s 12s forwards}.intro.finished{display:none}.skip{position:absolute;top:30px;right:4%;font-size:13px;padding:12px;border:1px solid #77919E}.intro-label{position:absolute;top:48px;left:4%}.intro-diagram{width:min(100%,1050px);height:auto}.intro-diagram text{font-family:Mono,monospace;font-size:17px;fill:#E6EDF0}.intro-diagram .svg-serif{font:36px Serif,serif}.intro-diagram .receipt-card text{fill:#152E40;font-size:16px}.intro-caption{text-align:center;height:120px}.intro-caption p{font-size:16px}.intro-caption h1{margin:12px}.request-line{stroke-dasharray:330;stroke-dashoffset:330;animation:draw 2s .3s forwards}.quote-card{opacity:0;animation:quote 10s forwards}.receipt-card{opacity:0;animation:receipt 10s forwards}.response-line{opacity:0;animation:respond 10s forwards}.gate{transform-origin:center;animation:gate 10s forwards}.brand-reveal{opacity:0;animation:brand 10s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes quote{0%,20%{opacity:0;transform:translateY(15px)}28%,52%{opacity:1;transform:translateY(0)}65%,100%{opacity:0;transform:translateY(-20px)}}@keyframes receipt{0%,45%{opacity:0}53%,80%{opacity:1}100%{opacity:0}}@keyframes respond{0%,60%{opacity:0;transform:translateX(-20px)}75%,100%{opacity:1;transform:translateX(0)}}@keyframes gate{0%,53%{transform:scaleX(1)}65%,100%{transform:scaleX(1.18)}}@keyframes brand{0%,78%{opacity:0}85%,100%{opacity:1}}@keyframes escape{to{visibility:hidden;pointer-events:none}}.noscript{padding:20px;background:#1C384B}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1150px){.brand span{display:none}nav{gap:12px}.studio{grid-template-columns:180px 1fr}.replay-panel{grid-column:1/-1;border-top:1px solid #77919E}.editor{border-right:0}.replay-body{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-state{grid-column:2;grid-row:1/6;margin:0}.replay-body .hint{margin:0}.replay-body label{margin:0}.replay-body .history{grid-column:1/-1}.check{padding:12px 0}.mode{min-width:190px}.about{gap:25px}}@media(max-width:720px){header{padding:15px 5%;flex-wrap:wrap;gap:14px}.brand{font-size:25px}nav{width:100%;justify-content:space-between;gap:3px;font-size:11px}nav button{font-size:11px;padding:5px 0}main{padding:0 5%}.heading{padding:26px 0;display:block}h1{font-size:37px}.heading>div>p:last-child{font-size:13px;max-width:300px}.mode{border-left:0;padding:0;margin-top:22px;font-size:11px}.mode>span:last-child{display:inline;margin-left:10px;font-size:11px}.toolbar{display:block}.toolbar>div{justify-content:space-between;gap:0}.toolbar button,.file-label{font-size:11px!important;padding:9px}.notice{font-size:11px;padding:14px 0}.studio{display:block}.catalogue{border-bottom:1px solid #77919E}.catalogue-note{display:none}#products{display:flex;overflow:auto}.product-item{min-width:160px;width:auto;border-right:1px solid #77919E;border-bottom:0;padding:15px}.empty{padding:16px}.empty strong{font-size:20px}.editor{border-left:0}form#editor-form{padding:18px}.section-label{padding:16px}.price-row{gap:8px;grid-template-columns:.9fr .9fr 1.1fr}.price-row label{font-size:10px}input,select,textarea{font-size:16px;padding:10px 8px}.small{float:none;display:block;margin-top:4px}.route-row{grid-template-columns:90px 1fr;gap:8px}.replay-body{display:block;padding:18px}.replay-body .hint{margin-bottom:20px}.replay-body label{margin-bottom:18px}.request-state{margin:22px 0}.replay-body button{min-height:42px}.about{display:block;padding:38px 0}.about>div{margin-bottom:32px}.about h2{font-size:31px;margin-bottom:22px}.about h3{font-size:23px}.about p{font-size:13px}footer{display:block}footer span{display:block;margin-bottom:8px}.intro-label{top:95px;font-size:9px;left:7%}.intro-diagram{width:125%;max-width:100vw}.intro-caption{padding:0 20px}.intro-caption p{font-size:13px}.intro-caption h1{font-size:38px}.skip{top:25px;right:7%}.mobile-break{display:block}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.intro{display:none}}

main:focus{outline:none}
