:root{color-scheme:dark;--bg:#081416;--line:#284044;--green:#8bdab3;--muted:#94acb0}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#050c0e;color:#edf4ef;font-family:Arial,Helvetica,sans-serif}body{display:grid;place-items:center}button{font:inherit;color:inherit;cursor:pointer;background:none;border:1px solid var(--line);border-radius:3px;padding:10px 14px;transition:background .2s,border-color .2s}button:hover{background:#173b33;border-color:#7ed0a3}button:focus-visible,[role=button]:focus-visible{outline:3px solid #8bdab3;outline-offset:4px}button:disabled{opacity:.28;cursor:default}#presentation{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;position:relative}#stage{width:100%;max-height:calc(100dvh - 58px);aspect-ratio:16/9;overflow:hidden;background:var(--bg)}#stage>svg{display:block;width:100%;height:100%}nav{height:58px;width:100%;display:flex;align-items:center;gap:12px;padding:0 3.5%;background:#091719;border-top:1px solid #213739}nav button{border:none;font-size:14px;padding:8px 10px}#progress{display:flex;align-items:center;gap:5px;flex:1}#progress button{padding:0;height:3px;flex:1;background:#294045;border-radius:0}#progress button.active{background:#8bdab3}#progress button.visited{background:#3d7a60}#counter{font:12px monospace;letter-spacing:1px;min-width:65px;text-align:center}#details-button{color:#a1b5b7}#next{border:1px solid #42715e;background:#183f30;border-radius:0}#mobile-caption{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(1100px,90vw);max-height:85dvh;background:#0d2022;border:1px solid #3a5b57;color:#e9f2ec;padding:32px;box-shadow:0 30px 150px #0009}dialog::backdrop{background:#020b0de8;backdrop-filter:blur(12px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-head h2{font-size:32px;letter-spacing:-1px;margin:10px 0}.dialog-head small{font:11px monospace;letter-spacing:2px;color:#89b49f}#scene-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#scene-list button{text-align:left;padding:16px;border:1px solid #264641;min-height:85px}#scene-list button small{display:block;font:11px monospace;color:#8bdab3;margin-bottom:10px}#scene-list button.current{background:#174331}#restart{margin-top:20px}#details-content{font-size:16px;line-height:1.7;color:#b7c9c9}#details-content ul{padding-left:22px}#details-content h3{font-size:17px;color:#eef4f0}#details-content .pending{border-left:2px solid #d7b481;padding:12px 18px;background:#282821;margin-top:18px}.scene-enter{animation:reveal .65s ease both}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.route-flow{stroke-dasharray:12 10;animation:flow 8s linear infinite}@keyframes flow{to{stroke-dashoffset:-132}}.pulse{animation:pulse 4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.packet{animation:packet 6s ease-in-out infinite}@keyframes packet{0%,10%{transform:translateX(0);opacity:0}20%{opacity:1}75%{opacity:1}90%,100%{transform:translateX(405px);opacity:0}}.packet.reverse{animation-name:packetback;animation-delay:3s}@keyframes packetback{0%,10%{transform:translateX(0);opacity:0}20%{opacity:1}75%{opacity:1}90%,100%{transform:translateX(-405px);opacity:0}}.document-enter{animation:doc 1.1s ease both}@keyframes doc{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.truck-motion{animation:truck 14s ease-in-out infinite}@keyframes truck{0%,15%{transform:translate(0,0)}75%,100%{transform:translate(160px,84px)}}svg [data-action]{cursor:pointer}svg [data-action]:hover .hover-surface{fill:#20453b}#stage.paused *{animation:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}@media(max-width:700px) and (orientation:portrait){#stage{height:48dvh;aspect-ratio:auto}#stage svg{width:100%;height:100%}#stage .scene-copy,#stage .frame-header,#stage .frame-footer{visibility:hidden}#mobile-caption{display:block;padding:24px 7%;height:calc(52dvh - 66px);overflow:auto}#mobile-caption small{font:11px monospace;color:#8bdab3;letter-spacing:2px}#mobile-caption h1{font-size:30px;line-height:1.1;letter-spacing:-1px;margin:12px 0}#mobile-caption p{color:#afc3c2;line-height:1.45;font-size:15px}nav{gap:4px;height:66px;padding:0 3%}#progress{display:none}#details-button{font-size:12px;margin-left:auto}#overview-button span{display:none}#scene-list{grid-template-columns:1fr}dialog{padding:20px}#counter{min-width:54px}}
