:root,[data-look=tycoon]{--bg:#a9d8f0;--panel:#fffaf0;--panel-edge:#2f5d7c;--ink:#23303b;--muted:#5b6b78;--accent:#ff8a3d;--accent-ink:#fff;--btn:#fff;--btn-edge:#2f5d7c;--chip:#ffe7c7;--radius:14px;--edge-w:3px;--shadow:0 4px 0 #2f5d7c59;--head:"Fredoka", "Nunito", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif;--label-bg:#fffaf0;--label-edge:#2f5d7c;--code:#3b78d8}[data-look=toon]{--bg:#f2ebdd;--panel:#fbf7ee;--panel-edge:#2a2420;--ink:#2a2420;--muted:#6d6257;--accent:#f4a259;--accent-ink:#2a2420;--btn:#fffdf7;--btn-edge:#2a2420;--chip:#f7e3c4;--radius:16px 13px 17px 12px;--edge-w:2.5px;--shadow:3px 3px 0 #2a2420;--head:"Patrick Hand", "Comic Neue", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif;--label-bg:#fffaf0;--label-edge:#2a2420;--code:#4a7fc9}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--body);margin:0;overflow:hidden}#stage{position:fixed;inset:0}.stage-canvas{touch-action:none;display:block}.stage-labels{pointer-events:none;position:absolute;inset:0}.btn{font:700 14px/1 var(--body);color:var(--ink);background:var(--btn);border:var(--edge-w) solid var(--btn-edge);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;padding:9px 14px;transition:transform 80ms,background .15s}.btn:hover{transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(2px)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{box-shadow:none}.btn.tiny{padding:4px 9px;font-size:12px}.btn.round{width:38px;height:38px;padding:0;font-size:20px}.btn.toggle.on{background:var(--code);color:#fff}[data-look=toon] .btn{font-family:var(--head);padding:6px 14px;font-size:18px;font-weight:400}[data-look=toon] .btn.round{font-size:22px}.topbar{background:var(--panel);border:var(--edge-w) solid var(--panel-edge);border-radius:var(--radius);box-shadow:var(--shadow);z-index:5;align-items:center;gap:18px;padding:10px 16px;display:flex;position:fixed;top:12px;left:12px;right:12px}.brand{flex-direction:column;gap:2px;min-width:0;display:flex}.tag{font:800 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand h1{font:600 22px/1.1 var(--head);white-space:nowrap;margin:0}[data-look=toon] .brand h1{font-size:28px;font-weight:400}.point{background:var(--chip);border-radius:10px;max-width:560px;margin:0 0 0 auto;padding:7px 12px;font-size:14px;line-height:1.35}.point b{font:800 10px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block}.panel{background:var(--panel);border:var(--edge-w) solid var(--panel-edge);border-radius:var(--radius);width:370px;max-height:calc(100% - 180px);box-shadow:var(--shadow);z-index:5;padding:16px 18px;position:fixed;top:96px;right:12px;overflow:auto}.step-head{justify-content:space-between;align-items:center;display:flex}.step-count{font:800 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--panel-edge);border-radius:999px;padding:5px 9px}.step-title{font:600 24px/1.15 var(--head);margin:12px 0 8px}[data-look=toon] .step-title{font-size:30px;font-weight:400}.step-text{margin:0 0 12px;font-size:16px;line-height:1.5}.step-text code,.info-card code{background:var(--chip);border-radius:5px;padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:.88em}.step-look{color:var(--muted);border-left:4px solid var(--accent);margin:0 0 14px;padding:2px 0 2px 10px;font-size:14px}.step-look span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-right:6px;font-size:11px;font-weight:800}.nav{align-items:center;gap:10px;display:flex}.dots{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.dot{border:2px solid var(--panel-edge);cursor:pointer;background:0 0;border-radius:50%;width:12px;height:12px;padding:0}.dot.done{background:var(--muted);border-color:var(--muted)}.dot.on{background:var(--accent);transform:scale(1.25)}.toolbar{z-index:5;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100% - 410px);display:flex;position:fixed;bottom:12px;left:12px}.toolbar .sep{width:6px}.info-card{background:var(--panel);border:var(--edge-w) solid var(--panel-edge);border-radius:var(--radius);width:320px;box-shadow:var(--shadow);z-index:6;padding:12px 16px;position:fixed;bottom:70px;left:12px}.info-card h3{font:600 20px/1.2 var(--head);margin:0 0 6px}.info-card p{margin:0;font-size:15px;line-height:1.45}.x{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:22px;position:absolute;top:6px;right:8px}.legend{background:var(--panel);border:var(--edge-w) solid var(--panel-edge);border-radius:var(--radius);box-shadow:var(--shadow);z-index:5;padding:10px 14px;font-size:14px;line-height:1.6;position:fixed;top:96px;left:12px}.legend i{vertical-align:-2px;border:2px solid var(--panel-edge);border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.modal{z-index:20;background:#1e1e1e59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.sheet{background:var(--panel);border:var(--edge-w) solid var(--panel-edge);border-radius:var(--radius);width:100%;max-width:640px;max-height:86vh;box-shadow:var(--shadow);padding:22px 26px;position:relative;overflow:auto}.sheet h2{font:600 26px/1.2 var(--head);margin:0 0 10px}.sheet h3{font:600 18px/1.2 var(--head);margin:16px 0 6px}.sheet p,.sheet li{font-size:15px;line-height:1.5}.tip{z-index:15;pointer-events:none;background:var(--panel);border:2px solid var(--panel-edge);max-width:300px;box-shadow:var(--shadow);border-radius:10px;padding:8px 11px;font-size:14px;line-height:1.4;position:fixed}.tip b{font:600 16px/1.2 var(--head)}.tip small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:2px 0 4px;font-size:11px;font-weight:700;display:block}.lbl{font:700 13px/1.2 var(--body);color:var(--ink);white-space:nowrap}.lbl.plate{background:var(--label-bg);border:2px solid var(--label-edge);pointer-events:auto;cursor:pointer;border-radius:8px;padding:3px 8px;box-shadow:0 2px #0000002e}[data-look=toon] .lbl.plate{font:400 17px/1.1 var(--head);border-radius:10px 7px 9px 6px}.lbl.plate small{font:600 10px/1.2 var(--body);color:var(--muted);letter-spacing:.04em;display:block}.lbl.district{font:700 22px/1.1 var(--head);background:var(--panel);border:var(--edge-w) solid var(--panel-edge);text-align:center;box-shadow:var(--shadow);border-radius:12px;padding:6px 12px}.lbl.district small{font:600 13px/1.3 var(--body);color:var(--muted);display:block}[data-look=toon] .lbl.district{font-size:30px;font-weight:400}.lbl.fog{color:var(--muted);background:#fffc;border-radius:7px;padding:2px 7px;font-size:12px}.lbl[data-pick]{pointer-events:auto;cursor:pointer}.lbl{transition:opacity .2s}.lbl.dim{opacity:.22}.lbl.hot,.lbl[data-pick]:hover{outline:3px solid var(--accent);outline-offset:1px;background:#fff;z-index:9999!important;opacity:1!important}.lbl.fog.hot,.lbl.fog[data-pick]:hover{color:var(--ink);font-weight:800}.lbl.today{font:800 12px/1 var(--body);background:var(--accent);color:var(--accent-ink);border:2px solid var(--panel-edge);border-radius:999px;padding:5px 9px}.lbl.slipnote{border:2px dashed var(--label-edge);white-space:normal;background:#fffdf6;border-radius:6px;max-width:230px;padding:4px 7px;font:600 12px/1.25 ui-monospace,Menlo,monospace}.lbl.tape{border:2px solid var(--label-edge);white-space:normal;background:#fffdf6;border-radius:8px;width:250px;min-height:30px;padding:6px 10px;font:600 14px/1.35 ui-monospace,Menlo,monospace;box-shadow:0 3px #00000026}.lbl.tape:empty{display:none}.lbl.bubble{font:600 14px/1.35 var(--body);border:2px solid var(--label-edge);white-space:normal;background:#fff;border-radius:14px;max-width:240px;padding:7px 11px;box-shadow:0 3px #00000026}[data-look=toon] .lbl.bubble{font:400 18px/1.2 var(--head)}.lbl.stamp{font:800 14px/1 var(--body);color:#fff;border:2px solid var(--label-edge);background:#2e9e5b;border-radius:8px;padding:5px 9px;transform:rotate(-6deg)}.lbl.codetag{font:800 11px/1 var(--body);letter-spacing:.08em;color:#fff;background:var(--code);border-radius:6px;padding:3px 7px}.lbl.modeltag{font:800 12px/1 var(--body);letter-spacing:.08em;color:#fff;background:var(--accent);border:2px solid var(--label-edge);border-radius:6px;padding:4px 8px}@media (width<=760px){.topbar{flex-wrap:wrap;gap:6px;padding:8px 12px}.brand h1{white-space:normal;font-size:18px}.point{max-width:none;margin:0;font-size:12px}.panel{border-radius:16px 16px 0 0;width:auto;max-height:46%;inset:auto 0 0}.toolbar{max-width:calc(100% - 24px);bottom:calc(46% + 10px)}.toolbar .btn{padding:6px 10px;font-size:12px}.info-card{width:auto;bottom:48%;right:12px}.legend{font-size:12px;top:170px}}.tj-root{--pass:#3fae5a;--pass-bg:#e3f4dc;--pass-ink:#24733a;--fail:#d9534f;--fail-bg:#fbe3e0;--fail-ink:#a3302c;--you:#e0457b;--paper:#fffdf6;--note:#ffe98a;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;background:linear-gradient(#cdeaf8,#a9d8f0);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.tj-root button{font-family:var(--body);color:var(--ink)}.tj-root [hidden]{display:none!important}.tj-top{background:var(--panel);border-bottom:3px solid var(--panel-edge);align-items:center;gap:10px;padding:7px 14px;display:flex}.tj-brand{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tj-topic{font:800 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tj-brand h1{font:600 22px/1.1 var(--head);white-space:nowrap;margin:0}.tj-toy{font:800 10px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--chip);vertical-align:3px;border-radius:6px;padding:3px 6px}.tj-dots{gap:6px;display:flex}.tj-dots i{border:2px solid var(--panel-edge);border-radius:50%;width:12px;height:12px}.tj-dots i.done{background:var(--muted);border-color:var(--muted)}.tj-dots i.on{background:var(--accent);transform:scale(1.25)}.tj-icon{border:var(--edge-w) solid var(--btn-edge);background:var(--btn);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow);border-radius:50%;flex:none;padding:8px}.tj-icon svg{width:100%;height:100%}.tj-pill{border:var(--edge-w) solid var(--btn-edge);background:var(--btn);cursor:pointer;height:40px;box-shadow:var(--shadow);font:800 15px/1 var(--body);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px 0 6px;display:flex}.tj-pill b{background:var(--panel-edge);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;display:grid}.tj-line{text-align:center;font:800 16px/1.3 var(--body);background:var(--chip);border-bottom:2px solid #2f5d7c40;min-height:35px;padding:7px 12px}.tj-main{flex:1;gap:14px;min-height:0;padding:10px 14px 4px;display:flex}.tj-left{flex-direction:column;flex:none;gap:10px;width:clamp(360px,38%,540px);min-height:0;display:flex}.tj-root[data-level=code] .tj-left{width:clamp(420px,44%,640px)}.tj-right{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex;position:relative}.tj-stations{background:var(--panel);border:3px solid var(--panel-edge);box-shadow:var(--shadow);border-radius:16px;align-items:stretch;gap:8px;padding:8px;transition:box-shadow .15s,transform .15s;display:flex}.tj-stations.over{box-shadow:0 0 0 5px #ffcf3f, var(--shadow);transform:scale(1.01)}.tj-judge{flex:1;gap:8px;min-width:0;display:flex}.tj-judge-who{text-align:center;flex-direction:column;flex:none;align-items:center;width:84px;display:flex}.tj-judge-who b,.tj-st-head b{font:600 16px/1.1 var(--head)}.tj-judge-who small,.tj-st-head small{font:700 11px/1.1 var(--body);color:var(--muted)}.tj-robot{width:76px;height:70px;overflow:visible}.tj-arm{transform-origin:86px 84px}.tj-judge.working .tj-arm{animation:.16s ease-in-out infinite alternate tj-stampbob}.tj-judge.working .tj-eyes circle{fill:#ffe066}.tj-judge.working .tj-bulb{fill:#3fae5a}@keyframes tj-stampbob{0%{transform:rotate(-18deg)}to{transform:rotate(14deg)}}.tj-rubric{background:var(--paper);border:2px solid #c9b98f;border-radius:10px;flex:1;min-width:0;padding:7px 9px;position:relative;box-shadow:inset 0 -2px #0000000d}.tj-rubric:before{content:"";border:2px solid var(--panel-edge);background:#9aa3ad;border-radius:4px;width:44px;height:11px;margin-left:-22px;position:absolute;top:-7px;left:78%}.tj-rubric-title{font:800 10.5px/1.2 var(--body);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.tj-rubric-base{font:700 13px/1.3 var(--body);margin:3px 0 4px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.tj-rubric ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tj-rubric li{border-radius:7px;align-items:flex-start;gap:6px;padding:4px 6px;font:700 12px/1.25 ui-monospace,Menlo,monospace;display:flex}.tj-rubric li.locked{background:0 0;flex-wrap:wrap;gap:4px;padding:0;display:flex}.tj-rubric li.locked span{color:#3c4b57;background:#eef1f4;border-radius:6px;padding:3px 6px;font-size:11px}.tj-n{background:var(--panel-edge);color:#fff;width:20px;height:20px;font-style:normal;font:800 12px/20px var(--body);text-align:center;border-radius:50%;margin-bottom:2px;display:none}.tj-root[data-level=code] .tj-n{display:inline-block}.tj-order{font:800 18px/1 var(--body);text-align:center;width:10px;color:var(--panel-edge);white-space:nowrap;writing-mode:horizontal-tb;align-self:center}.tj-root[data-level=code] .tj-judge-who{width:70px}.tj-root[data-level=code] .tj-robot{width:58px;height:54px}.tj-root[data-level=code] .tj-rubric-base{font-size:11px}.tj-rubric li.mine,.tj-st-slot .mine{background:var(--note);border:2px solid var(--you);box-shadow:0 2px #00000026}.tj-rubric li.mine span{flex:1}.tj-rubric li.slot,.tj-st-slot .slot{color:#8a7a4c;font-family:var(--body);text-align:center;border:2px dashed #b8a774;border-radius:8px;justify-content:center;padding:6px;font-size:12px;font-weight:800}.tj-stations.over .slot{background:#fff4c2;border-color:#c9a227}.tj-peel{border:2px solid var(--you);width:24px;height:24px;font:800 13px/1 var(--body);cursor:pointer;background:#fff;border-radius:50%;flex:none;padding:0;color:var(--you)!important}.tj-station{background:#eef4f8;border:2px solid #b9cbd8;border-radius:10px;flex-direction:column;flex:none;gap:6px;width:112px;padding:6px;display:flex}.tj-station.blame{border-color:var(--fail);animation:.5s ease-in-out 3 tj-blame}.tj-st-head{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.tj-st-head svg{width:26px;height:26px;color:var(--panel-edge)}.tj-st-slot{flex-direction:column;flex:1;justify-content:center;display:flex}.tj-st-slot .mine{border-radius:7px;align-items:flex-start;gap:4px;padding:5px;font:700 11.5px/1.25 ui-monospace,Menlo,monospace;display:flex}.tj-st-slot .mine span{flex:1}.tj-st-slot .empty{text-align:center;color:#9aa7b1;font:700 12px/1 var(--body)}.tj-code{order:-1}.tj-desk{min-height:0;box-shadow:var(--shadow);background:#e9d3ad;border:3px solid #a87c4f;border-radius:16px;flex-direction:column;flex:1;padding:10px;display:flex;position:relative}.tj-stampdesk,.tj-tray,.tj-waiting{display:none}.tj-desk[data-mode=stamp] .tj-stampdesk,.tj-desk[data-mode=tray] .tj-tray,.tj-desk[data-mode=waiting] .tj-waiting{display:flex}.tj-stampdesk{flex-direction:column;flex:1;gap:8px;min-height:0}.tj-rule{border:2px solid var(--panel-edge);font:700 13px/1.3 var(--body);background:#fffaf0;border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.tj-rule b{font:800 11px/1.2 var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tj-slipwrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.tj-slip{background:var(--paper);border-radius:6px;width:100%;max-width:470px;padding:10px 12px;position:relative;transform:rotate(-.6deg);box-shadow:0 5px #5a3c1e40,0 0 0 1px #00000014}.tj-slip:before{content:"";background:#ffe98acc;width:70px;height:18px;margin-left:-35px;position:absolute;top:-9px;left:50%;transform:rotate(2deg)}.tj-slip.bounce{animation:.4s tj-shake}.tj-slip-head,.tj-mini-head{align-items:center;gap:6px;display:flex}.tj-issue{font:800 11px/1 var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tj-num{font:800 11px/1 var(--body);background:var(--panel-edge);color:#fff;border-radius:5px;padding:2px 5px}.tj-msg{font:700 15px/1.35 var(--body);border-radius:12px;margin-top:6px;padding:7px 10px}.tj-msg small{font:800 10.5px/1.2 var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px;display:block}.tj-msg.q{background:#e6f0f8;border-bottom-left-radius:3px;margin-right:18%}.tj-msg.a{background:#fff1de;border:2px solid #ffd6a6;border-bottom-right-radius:3px;margin-left:10%}.tj-inks{pointer-events:none;position:absolute;inset:0}.tj-ink{font:800 34px/1 var(--head);letter-spacing:.06em;transform:rotate(var(--rot));opacity:.88;mix-blend-mode:multiply;border:5px solid;border-radius:10px;padding:4px 14px;position:absolute;top:26%;right:8%}.tj-ink.pass{color:var(--pass);border-color:var(--pass)}.tj-ink.fail{color:var(--fail);border-color:var(--fail)}.tj-why{border:3px solid var(--fail);font:700 14px/1.3 var(--body);text-align:center;background:#fff;border-radius:10px;margin-top:8px;padding:5px 10px}.tj-stamps{justify-content:center;gap:28px;display:flex}.tj-stampbtn{cursor:pointer;z-index:4;filter:drop-shadow(0 4px #5a3c1e59);background:0 0;border:none;width:128px;height:96px;padding:0;transition:filter .1s;position:relative}.tj-stampbtn:hover{filter:drop-shadow(0 6px #5a3c1e59)brightness(1.05)}.tj-stamp-art{width:100%;height:100%;overflow:visible}.tj-stamp-art.pass .tj-rubber{fill:var(--pass)}.tj-stamp-art.fail .tj-rubber{fill:var(--fail)}.tj-ghost{z-index:40;pointer-events:none;margin:0;position:fixed;overflow:hidden;transform:none}.tj-waiting{flex:1;justify-content:center;align-items:center}.tj-wait-card{border:2px solid var(--panel-edge);text-align:center;font:700 15px/1.35 var(--body);background:#fffaf0;border-radius:12px;flex-direction:column;gap:6px;max-width:380px;padding:14px 16px;display:flex}.tj-wait-card b{font:800 17px/1.3 var(--body)}.tj-tray{flex-direction:column;flex:1;gap:8px;min-height:0}.tj-tray-title{font:800 12px/1 var(--body);text-transform:uppercase;letter-spacing:.06em;color:#6d4b2a}.tj-stickers{flex-direction:column;gap:9px;min-height:0;padding:2px 4px 6px;display:flex;overflow-y:auto}.tj-stickers.locked{opacity:.45}.tj-sticker{text-align:left;background:var(--note);cursor:grab;touch-action:none;border:none;border-radius:3px;flex-direction:column;gap:3px;padding:7px 11px 8px;transition:transform .1s;display:flex;box-shadow:0 3px #5a3c1e4d,0 0 0 1px #0000000f}.tj-sticker:first-child{transform:rotate(-.8deg)}.tj-sticker:nth-child(2){transform:rotate(.6deg)}.tj-sticker:nth-child(3){transform:rotate(-.4deg)}.tj-sticker:hover:not(:disabled){transform:translateY(-2px)rotate(0)}.tj-sticker:disabled{cursor:default}.tj-sticker.on{opacity:.4}.tj-sticker.lifted{opacity:.25}.tj-sticker.w-code{background:#cfe9ff}.tj-sticker.w-human{background:#e6dcff}.tj-sticker-tag{font:800 10.5px/1.2 var(--body);text-transform:uppercase;letter-spacing:.05em;color:#6d5a1e;flex-wrap:wrap;align-items:center;gap:5px;display:flex}.tj-sticker-tag i{color:#fff;background:#6d5a1e;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;font-style:normal;display:grid}.tj-sticker-tag em{color:#2f5d7c;text-transform:none;letter-spacing:0;font-size:11.5px;font-style:normal}.tj-sticker-text{font:700 13.5px/1.3 ui-monospace,Menlo,monospace}.tj-tried{font:800 11px/1.2 var(--body);color:#5b6b78}.tj-drag{z-index:45;pointer-events:none;opacity:.95;position:fixed;box-shadow:0 12px 20px #00000040;transform:rotate(-3deg)scale(1.04)!important}.tj-read{z-index:6;background:#e9d3ad99;border-radius:13px;align-items:stretch;padding:8px;display:flex;position:absolute;inset:0}.tj-read-card{background:var(--paper);border:3px solid var(--panel-edge);min-height:0;box-shadow:var(--shadow);border-radius:12px;flex:1;padding:10px 12px;position:relative;overflow-y:auto}.tj-read-card .tj-msg{font-size:14px}.tj-topick{margin:10px auto 2px;display:block}.tj-x{border:2px solid var(--panel-edge);width:32px;height:32px;font:800 15px/1 var(--body);cursor:pointer;background:#fff;border-radius:50%;position:absolute;top:6px;right:6px}.tj-verdicts{flex-direction:column;gap:6px;margin-top:8px;display:flex}.tj-verdict{background:#f3f5f7;border-radius:10px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.tj-verdict.off{background:var(--fail-bg);box-shadow:inset 0 0 0 2px var(--fail)}.tj-verdict b{font:800 13.5px/1.25 var(--body);display:block}.tj-verdict small{font:700 13px/1.3 var(--body);color:#3c4b57;display:block}.tj-agree{text-align:center;font:700 16px/1.2 var(--body);background:var(--panel);border:3px solid var(--panel-edge);box-shadow:var(--shadow);border-radius:999px;align-self:center;padding:6px 14px}.tj-agree b{font:600 20px/1 var(--head)}.tj-agree.none{color:var(--muted)}.tj-shelf{border:3px solid var(--panel-edge);box-shadow:var(--shadow);background:#fffaf0eb;border-radius:14px;padding:7px 10px 10px}.tj-shelf[data-h=fail]{border-top:8px solid var(--fail)}.tj-shelf[data-h=pass]{border-top:8px solid var(--pass)}.tj-shelf-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.tj-shelf-head b{font:600 17px/1.1 var(--head);display:block}.tj-shelf-head small{font:700 12px/1.1 var(--body);color:var(--muted)}.tj-meter{align-items:center;gap:7px;display:flex}.tj-meter em{font:800 13px/1.2 var(--body);white-space:nowrap;font-style:normal}.tj-meter-name{font:800 12px/1 var(--body);color:#fff;background:var(--panel-edge);border-radius:6px;padding:4px 7px;display:none}.tj-meter.named .tj-meter-name{display:inline-block}.tj-bar{border:2px solid var(--panel-edge);background:#e0e6eb;border-radius:6px;width:110px;height:12px;overflow:hidden}.tj-bar i{background:var(--pass);height:100%;display:block}.tj-meter.low .tj-bar i{background:var(--fail)}.tj-meter.low em{color:var(--fail-ink)}.tj-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:66px;display:grid}.tj-mini{text-align:left;background:var(--paper);cursor:pointer;border:3px solid #cfd8de;border-radius:8px;flex-direction:column;justify-content:space-between;min-width:0;height:84px;padding:5px 6px;display:flex;position:relative;box-shadow:0 2px #0000001a}.tj-mini:hover{transform:translateY(-2px)}.tj-mini.agree{border-color:#9fd4ab}.tj-mini.missed,.tj-mini.alarm{border-color:var(--fail);box-shadow:0 0 0 3px #d9534f40,0 2px #0000001a}.tj-mini.reading{outline-offset:1px;outline:4px solid #3b78d8}.tj-mini.blame{animation:.5s ease-in-out 4 tj-blame}.tj-mini-issue{font:800 11.5px/1.1 var(--body);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tj-flag{font:800 9.5px/1 var(--body);color:#fff;background:var(--you);letter-spacing:.05em;border-radius:5px;flex:none;padding:3px 5px}.tj-new{font:800 9.5px/1 var(--body);color:#fff;background:#7b61c9;border-radius:5px;flex:none;padding:3px 5px}.tj-mini .tj-num{flex:none;font-size:9.5px}.tj-mini-stamps{align-items:flex-end;gap:6px;display:flex}.tj-k,.tj-j{font:800 14px/1 var(--body);border-radius:6px;justify-content:center;align-items:center;gap:3px;display:inline-flex}.tj-k small,.tj-j small{font:800 8.5px/1 var(--body);letter-spacing:.04em}.tj-k{background:#fff;border:2px solid;padding:2px 4px}.tj-k.pass{color:var(--pass-ink);border-color:var(--pass)}.tj-k.fail{color:var(--fail-ink);border-color:var(--fail)}.tj-j{color:#fff;border:2px solid #0003;padding:4px 6px;font-size:17px;transform:rotate(-4deg)}.tj-j.pass{background:var(--pass)}.tj-j.fail{background:var(--fail)}.tj-j.none{color:#8a98a4;background:#e8ecef;border-style:dashed;transform:none}.tj-score{color:var(--ink);background:#fff;border-radius:50%;place-items:center;width:16px;height:16px;margin-left:3px;font-size:10.5px;display:grid}.tj-mini-tag{z-index:1;font:800 9.5px/1 var(--body);color:#fff;background:var(--fail);border-radius:5px;padding:3px 5px;position:absolute;top:-10px;left:6px}.tj-mini-line{z-index:1;font:800 9px/1 var(--body);color:var(--you);border:2px solid var(--you);background:#fff;border-radius:5px;padding:2px 4px;position:absolute;top:-10px;right:6px}.tj-mini-snip{font:600 11px/1.2 var(--body);color:#3c4b57;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tj-grid:empty:after{content:attr(data-empty);text-align:center;font:700 13px/1.3 var(--body);color:#9aa7b1;grid-column:1/-1;align-self:center}.tj-wait-card small{font:700 13px/1.3 var(--body);color:var(--muted)}.tj-mini-tag b{font:inherit}.tj-mini-tag .short{display:none}.tj-legend{text-align:center;font:700 12px/1.3 var(--body);color:var(--muted)}.tj-say{z-index:8;border:4px solid var(--fail-ink);text-align:center;background:#fffaf0;border-radius:16px;width:min(440px,94%);padding:12px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px #a3302c4d}.tj-say p{font:800 16px/1.35 var(--body);margin:0 0 8px}.tj-root.saying .tj-controls button,.tj-root.saying .tj-sticker{opacity:.4;pointer-events:none}.tj-controls{justify-content:center;align-items:center;gap:14px;min-height:66px;padding:8px 12px 12px;display:flex}.tj-btn{font:800 16px/1 var(--body);background:var(--btn);border:var(--edge-w) solid var(--btn-edge);box-shadow:var(--shadow);cursor:pointer;border-radius:16px;padding:12px 18px;transition:transform 80ms,opacity .2s}.tj-btn:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.tj-btn:disabled{opacity:.4;cursor:default}.tj-btn.primary{background:var(--accent);padding:13px 28px;font-size:18px;color:#fff!important}.tj-btn span{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.tj-btn b{font:600 19px/1 var(--head)}.tj-btn small{font:800 11.5px/1 var(--body);color:var(--muted)}.tj-run{background:#fff6d8;align-items:center;gap:10px;padding:8px 18px 8px 8px;display:flex}.tj-run-art{color:#fff;border:3px solid var(--panel-edge);background:#7b61c9;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;display:grid!important}.tj-run:not(:disabled){animation:1.4s ease-in-out infinite tj-glow}.tj-ship{font:600 19px/1 var(--head)!important}.tj-keep{background:#dff3d6;border-color:#2f7d45}.tj-keep b{color:#24733a}.tj-run:disabled{animation:none}.tj-hand{pointer-events:none;z-index:30;filter:drop-shadow(0 3px 2px #00000040);width:44px;height:52px;animation:.9s ease-in-out infinite tj-bob;position:fixed}.tj-hand svg{width:100%;height:100%}.tj-cover{z-index:20;background:#1e2d3c61;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tj-cover.tj-soft{background:#1e2d3c24;place-items:center start;padding-left:max(16px,4vw)}.tj-info{z-index:50}.tj-card{background:var(--panel);border:3px solid var(--panel-edge);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:10px;max-width:470px;padding:22px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px #2f5d7c59}.tj-card h2{font:600 30px/1.1 var(--head);margin:0}.tj-card p{font:700 17px/1.4 var(--body);margin:0}.tj-card-btns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.tj-count{font:800 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--panel-edge);border-radius:999px;padding:5px 10px}.tj-wincard{max-width:380px}.tj-wincard h2{font-size:24px}.tj-wincard p{font-size:16px}.tj-stars{align-items:center;gap:6px;display:flex}.tj-stars b{font:600 24px/1 var(--head)}.tj-star{fill:#d8dee3;stroke:#2f5d7c;stroke-width:1.5px;width:40px;height:40px}.tj-star.on{fill:#ffcf3f}.tj-end{max-width:560px}.tj-end ul{text-align:left;font:700 15px/1.35 var(--body);flex-direction:column;gap:6px;margin:4px 0;padding:0 0 0 20px;display:flex}.tj-info-card{text-align:left;align-items:stretch;max-width:640px;max-height:calc(100vh - 32px);overflow-y:auto}.tj-info-card h2{text-align:center}.tj-info-card dl{flex-direction:column;gap:7px;margin:0;display:flex}.tj-info-card dt{font:800 14px/1.2 var(--body);color:var(--panel-edge)}.tj-info-card dd{font:600 14px/1.38 var(--body);margin:1px 0 0}.tj-info-card .tj-btn{align-self:center}.tj-conf{pointer-events:none;border-radius:2px;width:8px;height:12px;position:absolute}@keyframes tj-bob{0%,to{transform:translate(0)}50%{transform:translate(-6px,-10px)}}@keyframes tj-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes tj-blame{0%,to{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 0 6px #d9534f73}}@keyframes tj-glow{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 5px #ffcf3fbf, var(--shadow)}}@media (height>=900px) and (width>=760px){.tj-mini{height:112px;padding:7px 8px}.tj-root[data-level=code] .tj-mini{height:100px}.tj-mini-issue{font-size:13px}.tj-mini-snip{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box}.tj-grid{gap:10px}.tj-k{font-size:16px}.tj-j,.tj-shelf-head b{font-size:20px}.tj-meter em{font-size:15px}.tj-bar{width:140px;height:14px}.tj-msg{font-size:17px}.tj-rule,.tj-sticker-text{font-size:15px}.tj-line{font-size:18px}.tj-legend{font-size:13px}}@media (height<=760px) and (width>=760px){.tj-line{min-height:30px;padding:5px 12px;font-size:15px}.tj-main{gap:12px;padding-top:7px}.tj-msg{margin-top:5px;padding:5px 9px;font-size:14px}.tj-mini{height:74px}.tj-grid{gap:6px;min-height:58px}.tj-stampbtn{width:112px;height:84px}.tj-controls{min-height:58px;padding:5px 12px 8px}.tj-shelf{padding:5px 9px 8px}.tj-shelf-head{margin-bottom:5px}.tj-root[data-level=code] .tj-mini{height:56px}.tj-root[data-level=code] .tj-mini-snip{display:none}}@media (width<=759px){.tj-top{gap:6px;padding:6px 8px}.tj-brand h1{font-size:18px}.tj-topic{font-size:9.5px}.tj-toy{display:none}.tj-dots{gap:4px}.tj-dots i{width:9px;height:9px}.tj-pill{justify-content:center;width:36px;height:36px;padding:0}.tj-pill span{display:none}.tj-icon{width:36px;height:36px;padding:6px}.tj-line{place-items:center;min-height:44px;padding:5px 8px;font-size:14px;display:grid}.tj-main{flex-direction:column;gap:6px;padding:6px 6px 2px}.tj-left,.tj-root[data-level=code] .tj-left{flex:1;gap:6px;width:auto}.tj-stations{border-radius:12px;gap:5px;padding:5px}.tj-judge-who{width:52px}.tj-robot{width:46px;height:42px}.tj-judge-who b{font-size:13px}.tj-judge-who small{font-size:9.5px}.tj-rubric{padding:5px 6px}.tj-rubric-title{font-size:8.5px}.tj-rubric-base{margin:2px 0 3px;font-size:10px}.tj-rubric li{padding:3px 4px;font-size:10px}.tj-rubric li.slot{padding:3px;font-size:10.5px}.tj-station{gap:3px;width:70px;padding:4px}.tj-order{width:6px;font-size:12px}.tj-n{width:15px;height:15px;font-size:9px;line-height:15px}.tj-rubric li.locked span{padding:2px 4px;font-size:9px}.tj-root[data-level=code] .tj-judge-who{width:44px}.tj-root[data-level=code] .tj-robot{width:36px;height:32px}.tj-root[data-level=code] .tj-rubric-title{display:none}.tj-root[data-level=code] .tj-rubric-base{font-size:9px}.tj-root[data-level=code] .tj-st-head small,.tj-root[data-level=code] .tj-judge-who small,.tj-root[data-level=code] .tj-st-head svg{display:none}.tj-root[data-level=code] .tj-sticker-text{font-size:10.5px}.tj-root[data-level=code] .tj-tried{display:none}.tj-st-head b{font-size:12px}.tj-st-head small{font-size:9px}.tj-st-head svg{width:18px;height:18px}.tj-st-slot .mine,.tj-st-slot .slot{padding:3px;font-size:9.5px}.tj-peel{width:22px;height:22px}.tj-desk{border-radius:12px;padding:6px}.tj-rule{padding:4px 8px;font-size:11.5px}.tj-rule b{font-size:9.5px}.tj-msg{margin-top:4px;padding:5px 8px;font-size:13px}.tj-msg small{font-size:9px}.tj-slip{padding:7px 9px}.tj-ink{border-width:4px;padding:3px 10px;font-size:26px}.tj-stampbtn{width:104px;height:78px}.tj-why{font-size:12.5px}.tj-sticker{padding:5px 8px 6px}.tj-sticker-text{font-size:11.5px}.tj-sticker-tag{font-size:9px}.tj-sticker-tag em{font-size:10px}.tj-tried{font-size:9.5px}.tj-stickers{gap:6px}.tj-tray{gap:4px}.tj-tray-title{font-size:10px}.tj-right{flex:none;gap:4px}.tj-agree{border-width:2px;padding:3px 10px;font-size:13px}.tj-agree b{font-size:15px}.tj-shelf{border-width:2px;border-radius:10px;padding:3px 5px 5px}.tj-shelf[data-h]{border-top-width:5px}.tj-shelf-head{gap:4px;margin-bottom:3px}.tj-shelf-head b{font-size:13px}.tj-shelf-head small{display:none}.tj-meter{gap:4px}.tj-meter em{font-size:10.5px}.tj-bar{width:34px;height:9px}.tj-meter-name{padding:2px 4px;font-size:9.5px}.tj-grid{gap:4px;min-height:44px}.tj-grid:empty:after{font-size:11px}.tj-mini{border-width:2px;border-radius:6px;height:44px;padding:3px 4px}.tj-mini-issue{font-size:8px}.tj-flag,.tj-new{padding:2px 3px;font-size:7.5px}.tj-mini .tj-num{padding:1px 3px;font-size:7.5px}.tj-k small,.tj-j small{display:none}.tj-k{padding:1px 3px;font-size:11px}.tj-j{padding:2px 4px;font-size:13px}.tj-mini-tag{padding:2px 3px;font-size:7px;top:-7px;left:2px}.tj-mini-snip{display:none}.tj-mini-line{background:var(--you);border-radius:50%;width:10px;height:10px;padding:0;font-size:0;top:-5px;right:3px}.tj-mini-tag .long{display:none}.tj-mini-tag .short{display:inline}:is(.tj-mini-head:has(.tj-flag) .tj-mini-issue,.tj-mini-head:has(.tj-num) .tj-mini-issue){display:none}.tj-mini-head{justify-content:flex-end;gap:2px}.tj-legend{font-size:10px}.tj-controls{gap:8px;min-height:54px;padding:4px 6px 8px}.tj-controls.empty{min-height:0;padding:0}.tj-btn{padding:9px 12px;font-size:14px}.tj-btn.primary{padding:10px 20px;font-size:16px}.tj-btn b{font-size:16px}.tj-btn small{font-size:10px}.tj-run{gap:6px;padding:5px 12px 5px 5px}.tj-run-art{width:32px;height:32px;font-size:14px}.tj-say{top:50%}.tj-say p{font-size:14px}.tj-cover.tj-soft{place-items:start center;padding:104px 12px 12px}.tj-card{padding:16px}.tj-card h2{font-size:24px}.tj-card p{font-size:15px}}.tj-steps{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tj-steps li{font:700 11px/1.1 var(--body);color:#8a7058;background:#ffffff73;border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 4px;display:flex}.tj-steps li i{color:#fff;background:#d9c3a5;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:grid}.tj-steps li.on{color:#2b3a46;box-shadow:0 0 0 2px var(--accent,#f08a3c);background:#fff}.tj-steps li.on i{background:var(--accent,#f08a3c)}.tj-steps li.done{color:#3f7d3a}.tj-steps li.done i{background:#4caf50}.tj-lock{font:500 13px/1.4 var(--body);color:#2b3a46;background:#fff;border:2px dashed #d9534f;border-radius:10px;padding:10px 12px}.tj-lock .red{color:#d9534f;font-weight:800}.tj-lock b{margin-bottom:3px;display:block}.tj-stickers.locked{opacity:.35;filter:grayscale(.6);pointer-events:none}.tj-app[data-phase=read] .tj-mini.missed,.tj-app[data-phase=read] .tj-mini.alarm,[data-phase=read] .tj-mini.missed,[data-phase=read] .tj-mini.alarm{animation:1.4s ease-in-out infinite tj-redpulse}@keyframes tj-redpulse{0%,to{box-shadow:0 0 0 3px #d9534f40}50%{box-shadow:0 0 0 7px #d9534f73}}.tj-read-agree{font:600 13px/1.35 var(--body);color:#6d4b2a;background:#fff7e0;border:1px solid #f0c95a;border-radius:8px;margin-top:8px;padding:8px 10px}@media (width<=760px){.tj-steps li{padding:2px 6px 2px 2px;font-size:9px}.tj-steps li i{width:14px;height:14px;font-size:8px}.tj-lock{padding:6px 8px;font-size:11px}}
