@font-face{font-family:STIX;src:url('/fonts/stix-two-text-latin-400-normal.woff2')}@font-face{font-family:Plex;src:url('/fonts/ibm-plex-sans-latin-400-normal.woff2')}@font-face{font-family:Mono;src:url('/fonts/ibm-plex-mono-latin-400-normal.woff2')}
:root{--bg:#44352e;--panel:#544339;--text:#f2eae1;--line:#aa9381;--accent:#c5b894;font-family:Plex,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{border:1px solid var(--line);color:var(--text);background:transparent;min-height:40px;padding:8px 13px;cursor:pointer;border-radius:2px;font-size:.875rem}button:hover{background:var(--panel)}button:disabled{opacity:.5;cursor:not-allowed}.primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}.primary:hover{background:var(--text);color:var(--bg)}.quiet{border-color:transparent}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:STIX,Georgia,serif;font-weight:400}h3{font-size:1rem;font-weight:400}h1{font-size:3.2rem;line-height:1.15}h2{font-size:1.65rem}p{line-height:1.55}main{max-width:1600px;padding:0 40px;margin:auto}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:1.75rem STIX,Georgia,serif}.header-right{display:flex;align-items:center;gap:24px}.local-mark,.eyebrow,.index,.clock,#count,#data-label{font-family:Mono,monospace;font-size:.75rem}.local-mark:before{content:'◦';margin-right:9px}.heading{display:flex;align-items:center;justify-content:space-between;padding:36px 0 30px;gap:20px}.eyebrow{margin-bottom:12px}.heading p{margin-top:10px}.heading>.primary{width:185px;display:flex;justify-content:space-between;padding:15px;font-size:1rem}.toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;gap:12px}.tool-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#save-status{font-size:.75rem}#notice{font-size:.875rem;min-height:28px;padding:0 0 8px}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr) 310px;border:1px solid var(--line);min-height:540px}.spaces,.ledger,.visitor{padding:22px}.spaces{padding:22px 16px;display:flex;flex-direction:column}.ledger{border-left:1px solid var(--line);border-right:1px solid var(--line)}.visitor{background:var(--panel)}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}.section-title button{margin-left:auto;min-height:30px;padding:2px 9px;font-size:1.2rem}.section-title h2{font-size:1.45rem}.index{color:var(--accent)}.tree-item{display:block;width:100%;text-align:left;border:0;border-left:1px solid var(--line);margin:7px 0;padding:12px;font-size:.875rem}.tree-item[aria-current=true]{background:var(--accent);color:var(--bg)}.tree-item span{display:block;font-family:Mono;font-size:.7rem;margin-top:5px}.role-section{margin-top:35px}.role-section .section-title{margin-bottom:12px}.role-chip{display:inline-block;border:1px solid var(--line);padding:4px 7px;font-size:.75rem;margin:3px 3px 3px 0}.aside-note{margin-top:auto;padding-top:34px;font-size:.8rem}.muted{font-size:.875rem;line-height:1.6}.rule-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:center;gap:16px;justify-content:space-between}.rule-box p{font-size:.875rem}.rule-box strong{display:block;font-weight:400;margin-bottom:4px}.rule-box button{flex-shrink:0}.ledger-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:28px 0 18px}.ledger-heading h3{margin-bottom:4px}.empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:20px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty svg{width:55px;height:55px}.empty p{font-size:.875rem;max-width:270px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{font-size:.75rem;font-weight:400;color:var(--accent)}td,th{border-bottom:1px solid var(--line);padding:12px 8px}td:first-child,th:first-child{padding-left:0}td small{display:block;font-size:.72rem;margin-top:5px}td button{font-size:.75rem;min-height:32px;padding:6px 8px}.local-explanation{font-size:.75rem;line-height:1.6;margin-top:22px;max-width:560px}.visitor>p{font-size:.875rem;margin-top:-8px;margin-bottom:20px}label{display:block;font-size:.875rem;margin-bottom:16px}input:not([type=checkbox]),select{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:10px 9px;margin-top:7px;font-size:.875rem;min-height:42px}input::placeholder{color:var(--line)}select{padding-right:25px}.decision-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:24px 0 20px}.decision-box h3{font:2.05rem STIX;margin:7px 0 8px}.decision-box p{font-size:.875rem;min-height:44px}.decision-box .symbol{font:1.25rem Mono;color:var(--accent)}.checks{display:flex;gap:8px;margin-top:16px}.checks span{border-top:2px solid var(--line);flex:1;padding-top:5px;font: .625rem Mono}.checks .pass{border-color:var(--accent)}.check-label{display:flex;align-items:center;gap:9px}.check-label input{accent-color:var(--accent);width:16px;height:16px;margin:0}.clock{font-size:.65rem;line-height:1.6;display:grid;gap:4px;margin:15px 0}.clock time{font-size:.7rem;overflow-wrap:anywhere}.clock-actions{display:flex;gap:6px}.clock-actions button{font-size:.7rem;padding:6px}.full{width:100%}.next-step{margin-top:22px;font-size:.8rem}.next-step p{margin:12px 0}.next-step button{font-size:.75rem;width:100%;margin-bottom:8px;text-align:left}summary{cursor:pointer;line-height:1.5}.principles{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px;padding:36px 0;border-bottom:1px solid var(--line)}.principles h2{margin-top:10px;font-size:1.7rem}.principles p{font-size:.875rem}.principles strong{display:block;font-weight:400;margin-bottom:8px;color:var(--accent)}.token-note{padding:22px 0;border-bottom:1px solid var(--line);font-size:.875rem}.token-note p{max-width:850px;margin-top:15px}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0;font-size:.8rem;gap:20px}footer div{display:flex;gap:25px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:28px;max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:#44352ee8}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}#modal-body p{font-size:.875rem;margin-bottom:18px}#modal-error{font-size:.875rem;line-height:1.5}#modal-error:not(:empty){border-left:2px solid var(--accent);padding-left:12px;margin-top:16px}.role-choice{display:flex;gap:12px;align-items:center}.noscript{padding:30px;background:var(--panel)}
#intro{position:fixed;inset:0;background:var(--bg);z-index:20;display:flex;flex-direction:column;padding:30px 40px;color:var(--accent)}.intro-top{display:flex;align-items:center;justify-content:space-between;font:.8rem Mono;gap:15px}.intro-scene{width:min(850px,100%);margin:auto;text-align:center}.intro-scene svg{width:100%;overflow:visible}.intro-scene svg text{fill:var(--accent);font-family:Mono,monospace;font-size:15px}.intro-caption{position:relative;height:75px;color:var(--text);font:1.8rem STIX}.caption{position:absolute;inset:0;opacity:0}.c1{animation:caption1 10s both}.c2{animation:caption2 10s both}.c3{animation:caption3 10s both}.c4{animation:caption4 10s both}.intro-foot{font:.75rem Mono}.intro-time{display:flex;justify-content:space-between;position:relative;margin:5px auto;width:55%;border-top:1px solid var(--line);padding-top:14px;font:.75rem Mono}.intro-time:after{content:'';position:absolute;right:20%;top:-7px;height:14px;border-left:2px solid var(--accent)}.intro-time span:last-of-type{margin-right:17%}.intro-time i{position:absolute;top:-5px;width:9px;height:9px;background:var(--text);animation:clockMove 10s linear both}.intro-card{animation:cardMove 10s both}.boundary{stroke-dasharray:600;animation:draw 2s both}.gate{transform-origin:530px 155px;animation:gateOpen 10s both}.allow-label{opacity:0;animation:allow 10s both}.deny-label{animation:deny 10s both}body.intro-running{overflow:hidden}@keyframes draw{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}@keyframes cardMove{0%,18%{transform:translateX(0)}35%,55%{transform:translateX(220px)}70%,100%{transform:translateX(0)}}@keyframes gateOpen{0%,23%,65%,100%{transform:scaleY(1)}35%,55%{transform:scaleY(0)}}@keyframes allow{0%,28%,61%,100%{opacity:0}35%,55%{opacity:1}}@keyframes deny{0%,27%,70%,100%{opacity:1}35%,58%{opacity:0}}@keyframes clockMove{0%,18%{left:0}62%{left:80%}80%,100%{left:95%}}@keyframes caption1{0%,17%{opacity:1}22%,100%{opacity:0}}@keyframes caption2{0%,22%,50%,100%{opacity:0}28%,44%{opacity:1}}@keyframes caption3{0%,49%,78%,100%{opacity:0}56%,72%{opacity:1}}@keyframes caption4{0%,78%{opacity:0}84%,100%{opacity:1}}
@media(min-width:1450px){.workspace{grid-template-columns:235px minmax(0,1fr) 340px}.ledger{padding:26px}}
@media(max-width:1100px){main{padding:0 24px}.workspace{grid-template-columns:180px minmax(0,1fr)}.visitor{grid-column:1/-1;border-top:1px solid var(--line)}.ledger{border-right:0}.visitor{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.visitor .section-title,.visitor>p,.visitor .next-step{grid-column:1/-1}.visitor #decision{grid-row:3/6;grid-column:2}.visitor .decision-box{margin:0}.visitor #check-now{align-self:end}.visitor .clock{grid-column:1}.visitor .next-step{max-width:400px}.principles{gap:22px}.header-right{gap:10px}}
@media(max-width:680px){main{padding:0 16px}header{height:76px}.brand{font-size:1.5rem;gap:7px}.header-right .local-mark{display:none}.header-right button{font-size:.75rem;padding:6px}h1{font-size:2.5rem}.heading{display:block;padding:28px 0 22px}.heading p{font-size:.875rem}.heading>.primary{margin-top:20px;width:100%}.toolbar{align-items:flex-start;flex-direction:column}.tool-group{gap:8px}#save-status{width:100%}.workspace{display:block}.spaces{display:block;border-bottom:1px solid var(--line)}#space-tree{display:flex;gap:8px;flex-wrap:wrap}.tree-item{width:auto;min-width:115px}.role-section{margin-top:18px}.role-section .section-title{margin-bottom:4px}.aside-note{display:none}.ledger{border:0;padding:22px 16px}.visitor{display:block;padding:22px 16px}.visitor #decision{margin:0}.visitor .decision-box{margin:22px 0}.visitor .clock{margin-top:18px}.principles{grid-template-columns:1fr;padding:28px 0;gap:22px}.principles strong{margin-bottom:2px}.ledger-heading{flex-wrap:wrap}.ledger-heading .primary{font-size:.8rem}.rule-box{gap:8px}footer{align-items:flex-start;flex-direction:column}footer div{gap:20px}#intro{padding:20px 16px}.intro-top{font-size:.6rem}.intro-top button{font-size:.75rem}.intro-caption{font-size:1.5rem;height:85px}.intro-time{width:75%}.intro-foot{font-size:.65rem}dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){#intro{display:none!important}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
