:root{--blue:#061a87;--blue2:#0d36c9;--gray:#c0c0c0;--light:#fff;--dark:#101010;--teal:#087d79;--cream:#f3ecd7;--red:#e52929;--green:#00c56f;--yellow:#ffe744;--shadow:#000;--mono:'Courier New',monospace}*{box-sizing:border-box}html{background:#071a1a;scroll-behavior:smooth}body{margin:0;min-height:100vh;padding-bottom:42px;background-color:var(--teal);background-image:radial-gradient(#075e5b 1px,transparent 1px);background-size:4px 4px;color:#101010;font-family:Tahoma,Verdana,sans-serif;font-size:13px;overflow-x:hidden}button,input,textarea{font:inherit}.boot{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#020202;color:#30ff7b;transition:opacity .35s,visibility .35s}.boot.done{opacity:0;visibility:hidden}.boot>div{width:min(420px,85vw);font:700 14px var(--mono)}.boot b{display:block;font-size:38px}.boot span{display:block;margin:14px 0}.boot i{display:block;height:16px;border:2px solid #30ff7b;box-shadow:inset 0 0 0 2px #000}.boot i:after{content:'';display:block;width:0;height:100%;background:#30ff7b;animation:load 1s steps(8) forwards}@keyframes load{to{width:100%}}.os-head{position:sticky;top:0;z-index:50;border-bottom:2px solid #000;background:var(--gray);box-shadow:0 2px 0 #fff}.titlebar,.window-title{height:28px;display:flex;align-items:center;gap:8px;padding:3px 5px;background:var(--blue);color:#fff;font:700 12px var(--mono);letter-spacing:.04em}.titlebar{height:34px}.titlebar small{font-size:9px;color:#a9c9ff}.court-icon{font-size:19px}.win-controls{margin-left:auto;display:flex;gap:3px}.win-controls button,.window-title button{width:22px;height:22px;padding:0;border:2px outset #eee;background:var(--gray);color:#000;font-weight:900}.menu{height:30px;display:flex;align-items:center;padding:2px 7px;gap:4px;border-bottom:1px solid #777}.menu button{border:0;background:transparent;padding:4px 8px}.menu button:hover{background:var(--blue);color:white}.menu-spacer{flex:1}.menu>span{font:700 9px var(--mono);color:#075d32}.wallet-mini{border:2px outset #fff!important;background:var(--gray)!important;font:700 9px var(--mono)!important}.wallet-mini.connected{color:#075d32}.case-meter{position:relative;z-index:10;display:grid;grid-template-columns:58px 1fr 58px 1fr 58px 1fr 58px 1fr 58px;align-items:center;max-width:1050px;margin:9px auto;padding:7px 14px;border:2px outset white;background:var(--gray);box-shadow:3px 3px 0 #002d2a;overflow:hidden}.case-meter button{position:relative;z-index:2;width:52px;height:45px;border:2px outset white;background:#dedede;font:700 9px var(--mono)}.case-meter button b{display:block;font-size:14px}.case-meter button.done{background:var(--yellow)}.case-meter i{position:relative;z-index:1;height:7px;border:1px inset white;background:#777}.meter-fill{position:absolute;left:40px;top:27px;width:0;height:7px;background:#00d373;z-index:1;transition:width .45s steps(8)}.mobile-tabs{display:none}.desktop{display:grid;grid-template-columns:minmax(260px,310px) minmax(470px,1fr) minmax(270px,330px);gap:8px;padding:0 8px 10px;max-width:1600px;margin:auto}.window{position:relative;border:2px outset #eee;background:var(--gray);box-shadow:3px 3px 0 #002b29;min-width:0}.window-title{height:25px;justify-content:space-between}.window-title.live>span{color:#ff5858}.window-title.live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff2222;box-shadow:0 0 8px red;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.25}}.submit-window form{padding:10px;background:var(--cream);min-height:650px}.paper-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid #333;font:700 12px var(--mono)}.paper-head small{font-size:8px}.submit-window label{position:relative;display:block;margin:8px 0;font:700 9px var(--mono);letter-spacing:.03em}.submit-window input,.submit-window textarea,.launch-body input{display:block;width:100%;margin-top:3px;padding:7px;border:2px inset #fff;background:#fffdf1;outline:0}.submit-window textarea{height:92px;resize:vertical}.submit-window label>small{position:absolute;right:5px;bottom:5px;color:#666}.form-row{display:grid;grid-template-columns:1fr 78px;gap:8px;align-items:end}.image-preview{height:78px;border:2px inset #fff;background:#d6d0bd;display:grid;place-items:center;overflow:hidden;text-align:center;font:700 9px var(--mono)}.image-preview img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.submit-window details{border:1px solid #888;padding:6px;margin-top:9px}.submit-window summary{cursor:pointer;font:700 9px var(--mono)}.auth-note{padding:7px;margin:9px 0;border:1px dashed #777;background:#fff9d9;font:700 8px/1.5 var(--mono)}.win-button{border:3px outset #fff;background:var(--gray);padding:10px 14px;font:900 11px var(--mono);cursor:pointer}.win-button:active{border-style:inset}.win-button.primary{width:100%;background:var(--blue2);color:white}.submit-window output{display:block;min-height:24px;padding-top:7px;font:700 9px var(--mono);color:#b10000}.court-window{background:#090909;overflow:hidden}.court-scene{position:relative;min-height:650px;padding:12px;background-color:#160b07;background-image:linear-gradient(90deg,transparent 49%,#3a21162c 50%),linear-gradient(#3a21162c 49%,transparent 50%);background-size:34px 34px;color:#fff;overflow:hidden}.court-scene:before{content:'';position:absolute;inset:0;border:12px solid #381c10;pointer-events:none}.judge-wrap{position:relative;height:320px;margin:-2px -2px 0;display:flex;justify-content:center;overflow:hidden}.judge-wrap>img{width:min(520px,92%);height:100%;object-fit:contain;filter:drop-shadow(0 8px 0 #000);animation:judgeIdle 3s steps(4) infinite;transform-origin:bottom center}.judge-wrap>img.slam{animation:gavelSlam .55s steps(4)}@keyframes judgeIdle{50%{transform:translateY(3px)}}@keyframes gavelSlam{40%{transform:translateY(9px) rotate(-1deg)}70%{transform:translateY(-2px)}}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);mix-blend-mode:multiply}.speech{position:absolute;right:12px;top:17px;width:min(230px,43%);padding:10px;border:3px solid #111;background:#fffced;color:#111;box-shadow:4px 4px 0 #000;font:12px/1.35 var(--mono)}.speech:after{content:'';position:absolute;left:-15px;bottom:12px;border:8px solid transparent;border-right-color:#111}.speech b{display:block;margin-bottom:4px}.speech span.typing:after{content:'▮';animation:blink .6s steps(2) infinite}.case-card{position:relative;display:grid;grid-template-columns:82px 1fr;gap:10px;margin:-2px 10px 8px;padding:8px;border:3px outset #d9bd74;background:#f5e7bb;color:#111;box-shadow:4px 4px 0 #000}.case-card[hidden]{display:none}.case-card img{width:82px;height:82px;object-fit:cover;border:2px inset #fff}.case-card small,.case-card span{font:700 8px var(--mono)}.case-card h1{margin:3px 0 0;font:900 22px var(--mono)}.case-card b{color:#b40000}.case-card p{margin:6px 0;font-size:11px}.timer{position:absolute;right:18px;top:300px;width:74px;height:74px;display:grid;place-items:center;border:3px outset #fff;background:#071112;color:#0cff78;font:900 27px var(--mono);box-shadow:3px 3px #000;text-align:center}.timer small{font-size:6px;color:#fff}.timer.urgent{color:#ff3232;animation:urgent .5s steps(2) infinite}@keyframes urgent{50%{background:#350000}}.question-box{position:relative;margin:8px 10px 0;padding:9px;border:2px solid #947633;background:#0a1011}.question-box>small{color:#ffd633;font:700 8px var(--mono)}.question-box h2{margin:4px 0 8px;font:700 13px/1.35 var(--mono)}.answers{display:grid;gap:5px}.answers button{padding:8px;text-align:left;border:2px outset white;background:var(--gray);font:700 10px var(--mono)}.answers button:not(:disabled):hover{background:var(--blue2);color:white}.answers button.selected{background:#00a85c;color:white}.verdict-overlay{position:absolute;inset:35px 22px 22px;z-index:8;display:grid;place-content:center;text-align:center;background:#f5eed7f2;color:#111;border:6px double #5b422a;animation:verdictIn .5s steps(5)}.verdict-overlay[hidden]{display:none}.stamp{padding:10px;border:7px double #16843e;color:#16843e;font:900 clamp(36px,7vw,72px)/.85 var(--mono);transform:rotate(-4deg);text-shadow:1px 1px white}.stamp.guilty{border-color:#c22020;color:#c22020}.verdict-overlay p{font:700 15px var(--mono)}@keyframes verdictIn{from{transform:scale(1.3);opacity:0}}.jury-window{background:#0b1013;color:#fff}.jury-window>.window-title{background:#101010;border-bottom:2px solid #aaa}.jury-crowd{display:flex;justify-content:center;gap:3px;padding:13px 4px 5px;background:#35200f;border-bottom:5px solid #6e3a16;font-size:29px;overflow:hidden}.jury-crowd span{animation:crowd 1.6s steps(2) infinite}.jury-crowd span:nth-child(even){animation-delay:-.8s}@keyframes crowd{50%{transform:translateY(-4px)}}.jury-window h2{text-align:center;font:900 18px/1.1 var(--mono)}.jury-window h2 em{color:#ffdf32;font-style:normal}.vote-meter{display:flex;height:22px;margin:10px;border:2px inset #fff;background:#555}.vote-meter div{width:50%;transition:width .3s steps(5)}.vote-meter .cook{background:var(--green)}.vote-meter .trash{background:var(--red)}.vote-counts{display:flex;justify-content:space-between;padding:0 11px;font:700 11px var(--mono)}.vote-counts b:first-child{color:#5effa0}.vote-counts b:last-child{color:#ff6969}.vote-buttons{display:grid;gap:7px;padding:12px}.vote-buttons button{min-height:54px;border:3px outset white;font:900 12px var(--mono)}.vote-buttons button:first-child{background:#00a75d;color:#fff}.vote-buttons button:last-child{background:#d72c2c;color:#fff}.vote-buttons button:disabled{filter:grayscale(1);color:#555}.jury-note{min-height:30px;margin:0 12px;color:#d6d6d6;font:9px/1.4 var(--mono)}.queue{margin:10px;border:2px inset #fff;background:#d7d7d7;color:#111}.sub-title{padding:5px;background:var(--blue);color:white;font:700 9px var(--mono)}.queue ol{margin:0;padding:4px 4px 4px 32px}.queue li{padding:6px 2px;border-bottom:1px dotted #777;font:700 9px var(--mono)}.verdicts-window{grid-column:1/-1}.records-head{padding:12px;background:var(--cream);border-bottom:2px inset #fff}.records-head h2{margin:0;font:900 19px var(--mono)}.records-head p{margin:3px 0}.records{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px}.record{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:start;padding:7px;border:2px outset white;background:#dedede}.record img{width:54px;height:54px;object-fit:cover;border:1px solid #333}.record h3{margin:0;font:900 11px var(--mono)}.record p{margin:5px 0;font:9px/1.3 var(--mono)}.record strong{grid-column:1/-1;width:max-content}.record a{grid-column:1/-1;color:#061a87;font:700 9px var(--mono)}.record-launch{grid-column:1/-1;padding:6px;border:2px outset #fff;background:var(--blue2);color:#fff;font:700 9px var(--mono);cursor:pointer}.record strong{display:inline-block;padding:3px;background:#20b966;color:white;font:700 8px var(--mono)}.record strong.guilty{background:#d72c2c}.empty-record{padding:20px;font:700 12px var(--mono)}.taskbar{position:fixed;z-index:70;left:0;right:0;bottom:0;height:38px;display:flex;align-items:center;gap:4px;padding:3px;background:var(--gray);border-top:2px outset white}.start-button,.task{height:30px;border:2px outset white;background:var(--gray);font:700 11px var(--mono)}.task.active{border-style:inset;background:#ddd}.case-status{margin-left:auto;display:flex;align-items:center;gap:7px;padding:5px 9px;border:2px inset white;font:700 8px var(--mono)}.case-status span{width:7px;height:7px;border-radius:50%;background:#f22}.case-status span.on{background:#16ba62}.taskbar time{padding:6px;border:2px inset white;font:700 10px var(--mono)}.dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0009}.dialog[hidden]{display:none}.launch-dialog{width:min(480px,100%)}.launch-body{position:relative;padding:20px;background:var(--cream)}.launch-stamp{position:absolute;right:18px;top:14px;padding:5px;border:4px double #228548;color:#228548;font:900 10px var(--mono);transform:rotate(6deg)}.launch-body h2{margin:0 0 22px;font:900 24px var(--mono)}.launch-body p{max-width:310px}.origin-label{width:max-content;max-width:100%;padding:7px 9px;border:2px dashed #8f1a1a;background:#fff2ca;color:#8f1a1a;font:900 11px var(--mono)}.launch-body label{display:block;margin:15px 0;font:700 9px var(--mono)}.cost-box{display:grid;grid-template-columns:90px 1fr;gap:5px;padding:8px;border:2px inset white;background:#fffdf0;font:9px var(--mono)}.cost-box b{overflow:hidden;text-overflow:ellipsis}.win-button.launch{width:100%;margin-top:14px;background:var(--blue2);color:white}.launch-body>small{display:block;margin-top:9px;font:8px var(--mono)}.toast{position:fixed;z-index:200;right:15px;bottom:50px;max-width:330px;padding:12px;border:3px outset white;background:#ffffd0;box-shadow:4px 4px #000;font:700 10px/1.4 var(--mono)}.toast[hidden]{display:none}
@media(max-width:1100px) and (min-width:761px){.desktop{grid-template-columns:280px 1fr}.jury-window{grid-column:1/-1}.jury-window{display:grid;grid-template-columns:1fr 1fr}.jury-window>.window-title{grid-column:1/-1}.jury-crowd{grid-row:2/5}.queue{grid-column:2}.records{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:12px;padding-bottom:42px}.titlebar small{display:none}.menu{display:none}.os-head{position:relative}.case-meter{margin:5px;padding:5px;grid-template-columns:42px 1fr 42px 1fr 42px 1fr 42px 1fr 42px}.case-meter button{width:38px;height:38px;font-size:6px;padding:0}.case-meter button b{font-size:10px}.meter-fill{left:25px;top:23px}.mobile-tabs{position:sticky;top:0;z-index:45;display:grid;grid-template-columns:repeat(4,1fr);padding:4px;background:var(--gray);border-bottom:2px outset white}.mobile-tabs button{height:42px;border:2px outset white;background:var(--gray);font:700 8px var(--mono)}.mobile-tabs button.active{border-style:inset;background:var(--blue);color:#fff}.desktop{display:block;padding:5px}.desktop [data-panel]{display:none}.desktop[data-active-tab='court'] [data-panel='court'],.desktop[data-active-tab='submit'] [data-panel='submit'],.desktop[data-active-tab='jury'] [data-panel='jury'],.desktop[data-active-tab='verdicts'] [data-panel='verdicts']{display:block}.window{box-shadow:2px 2px #002b29}.court-scene{min-height:690px;padding:7px}.judge-wrap{height:305px}.judge-wrap>img{width:100%;max-width:500px}.speech{right:4px;top:8px;width:47%;padding:7px;font-size:9px}.timer{top:285px;right:10px;width:67px;height:67px}.case-card{margin:0 4px 7px;grid-template-columns:68px 1fr}.case-card img{width:68px;height:68px}.case-card h1{font-size:17px}.question-box{margin:5px 4px}.question-box h2{font-size:11px}.answers button{min-height:42px}.submit-window form{min-height:0}.jury-window{min-height:620px}.verdicts-window{min-height:620px}.records{grid-template-columns:1fr}.taskbar .task{display:none}.case-status{margin-left:2px;flex:1}.verdict-overlay{inset:30px 10px}.stamp{font-size:42px}}
@media(max-width:390px){.case-meter button span{display:none}.case-meter{grid-template-columns:34px 1fr 34px 1fr 34px 1fr 34px 1fr 34px}.case-meter button{width:31px;height:31px}.judge-wrap{height:275px}.court-scene{min-height:660px}.speech{font-size:8px}.jury-crowd{font-size:25px}.taskbar time{font-size:8px}.start-button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}



/* Court explainer + Windows 95 wallet call-to-action */
.court-explainer{flex:1;min-width:0;display:flex;align-items:center;gap:5px;padding:4px 8px;border:2px inset #fff;background:#dedede;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 9px var(--mono)}
.court-explainer b{flex:0 0 auto;color:var(--blue)}
.court-explainer span{overflow:hidden;text-overflow:ellipsis}
.wallet-mini{position:relative;min-width:178px;min-height:27px;margin-left:5px;padding:4px 12px!important;border:3px outset #fff!important;background:var(--yellow)!important;color:#050505!important;box-shadow:3px 3px 0 #000;font:900 10px var(--mono)!important;letter-spacing:.02em;cursor:pointer;animation:walletAttention 1.4s steps(2,end) infinite}
.wallet-mini:before{content:'🔌 '}
.wallet-mini:after{content:'  ▶';color:var(--blue)}
.wallet-mini:hover{background:#fff36b!important;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #000}
.wallet-mini:active{border-style:inset!important;transform:translate(2px,2px);box-shadow:1px 1px 0 #000}
.wallet-mini.connected{background:#7cffab!important;color:#063f24!important;animation:none}
@keyframes walletAttention{50%{outline:2px dotted var(--blue);outline-offset:2px}}
@media(max-width:1000px) and (min-width:761px){.court-explainer span{font-size:0}.court-explainer span:after{content:' File → Judge → Jury → Launch.';font-size:9px}.wallet-mini{min-width:156px}}

.verdict-overlay .win-button{margin:8px auto 0}.verdict-hint{display:block;max-width:270px;margin:9px auto 0;font:700 10px/1.4 var(--mono)}.appeal-action{background:var(--yellow);color:#111}.appeal-dialog{width:min(500px,100%);max-height:92vh;overflow:auto}.appeal-body{padding:18px;background:var(--cream)}.appeal-body h2{font:900 20px var(--mono);margin:0}.appeal-body p{font:10px/1.5 var(--mono)}.appeal-body label{display:block;margin:9px 0;font:700 9px var(--mono)}.appeal-body input,.appeal-body textarea{display:block;width:100%;margin-top:4px;padding:7px;border:2px inset #fff;background:#fffdf1}.appeal-body textarea{height:86px;resize:vertical}.appeal-body output{display:block;min-height:18px;padding:6px;color:#ae1515;font:700 9px var(--mono)}
@media(max-width:760px){.os-head .menu{display:flex;height:auto;min-height:46px;padding:5px;gap:6px}.court-explainer{font-size:8px;line-height:1.2;white-space:normal}.court-explainer b{display:none}.court-explainer span{white-space:normal}.menu [data-network]{display:none}.wallet-mini{flex:0 0 128px;min-width:128px;min-height:34px;font-size:8px!important;padding:3px!important}.mobile-tabs{top:0}}

/* WALLET CONNECTION DIALOG */
.wallet-dialog{width:min(440px,100%)}.wallet-body{padding:20px;background:var(--cream);text-align:center}.wallet-ghost{font-size:48px;filter:drop-shadow(3px 3px 0 #aaa)}.wallet-body h2{margin:6px 0;font:900 22px var(--mono)}.wallet-body p{margin:8px auto 16px;max-width:350px;font:10px/1.55 var(--mono)}.wallet-mobile,.wallet-desktop{display:grid;gap:9px}.wallet-open,.wallet-install{display:block;text-decoration:none;color:#111}.wallet-open{background:var(--yellow);font-size:12px}.wallet-install{background:#ddd}.wallet-body small{font:8px/1.5 var(--mono)}.wallet-status{margin-top:14px;padding:7px;border:2px inset #fff;background:#111;color:#47ff87;font:700 9px var(--mono)}.wallet-status.error{color:#ff6868}.wallet-mini.busy{animation:blink .55s steps(2) infinite;pointer-events:none}
