:root{--jo-bg:#1b2130;--jo-panel:#10141ee0;--jo-border:#ffffff1f;--jo-text:#e6ebf5;--jo-muted:#9aa6bd;--jo-accent:#4aa8ff;--jo-senior:#ffc83d;--jo-junior:#3ddc84;--jo-qa:#f472b6;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--jo-touch:44px}*{box-sizing:border-box}html,body{background:var(--jo-bg);height:100%;color:var(--jo-text);overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.jo-root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100dvh;position:fixed;top:0;left:0;overflow:hidden}.jo-root canvas{touch-action:none;display:block}.jo-root button{touch-action:manipulation}.jo-labels{pointer-events:none;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.jo-cinematic .jo-labels{opacity:0}.jo-gemtags,.jo-bugtags,.jo-blocktags{z-index:1}.jo-tags,.jo-bubbles{z-index:2}.jo-hud{z-index:3}.jo-mock{z-index:4}.jo-live{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));z-index:3;background:var(--jo-panel);border:1px solid var(--jo-border);color:var(--jo-muted);border-radius:999px;padding:4px 10px;font:600 11px system-ui,sans-serif;position:absolute}.jo-live[data-state=live]{color:#8fd0ff;border-color:var(--jo-accent);box-shadow:0 0 12px #4aa8ff66}.jo-live[data-state=offline]{color:#ff8a96;border-color:#ff5d6e99}.jo-sound{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));z-index:4;font:inherit;color:var(--jo-text);background:var(--jo-panel);border:1px solid var(--jo-border);cursor:pointer;min-height:var(--jo-touch);min-width:var(--jo-touch);border-radius:8px;padding:7px 12px;font-size:13px;position:absolute}.jo-sound:hover{border-color:var(--jo-accent)}.jo-sound.muted{color:var(--jo-muted)}.jo-bugtag{white-space:nowrap;will-change:transform;color:#fff;background:#a3132ad9;border:1px solid #ff5d6ecc;border-radius:6px;padding:1px 6px;font:700 10px ui-monospace,monospace;box-shadow:0 0 12px #ff4d5e99}.jo-bugtag.minor{background:#8a3a0ad9;border-color:#ff8a3dd9;box-shadow:0 0 10px #ff8a3d80}.jo-hud{top:calc(14px + var(--safe-top));pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(460px,100vw - 180px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.jo-toast{background:var(--jo-panel);border:1px solid var(--jo-border);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:8px 14px;animation:.25s ease-out jo-toast-in;display:flex}.jo-toast strong{font-size:14px}.jo-toast span{color:var(--jo-muted);font-size:12px}.jo-toast.alert{border-color:#ff5d6e;box-shadow:0 0 18px #ff4d5e59}.jo-toast.alert strong{color:#ff8a96}.jo-toast.release{border-color:var(--jo-accent);box-shadow:0 0 22px #4aa8ff73}.jo-toast.release strong{color:#8fd0ff}@keyframes jo-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.jo-toast{animation:none}}.jo-gemtag{white-space:nowrap;will-change:transform;color:#dff1ff;background:#1f6fd1c7;border:1px solid #8fd0ff99;border-radius:6px;padding:1px 6px;font:600 10px ui-monospace,monospace;box-shadow:0 0 10px #4aa8ff73}.jo-gemtag.bug{color:#ffe3e6;background:#a3132acc;border-color:#ff5d6eb3;box-shadow:0 0 10px #ff4d5e73}.jo-tag{background:var(--jo-panel);border:1px solid var(--jo-border);white-space:nowrap;will-change:transform;border-radius:8px;flex-direction:column;align-items:center;padding:3px 8px 4px;font-size:11px;line-height:1.25;display:flex}.jo-tag-head{justify-content:center;align-items:center;gap:4px;display:flex}.jo-tag-icon:empty{display:none}.jo-tag-icon{font-size:12px;line-height:1}.jo-tag-name{font-size:12px;font-weight:700}.jo-far .jo-tag{padding:1px 6px 2px}.jo-far .jo-tag-role,.jo-far .jo-tag-key{display:none}.jo-far .jo-tag.selected .jo-tag-key{display:block}.jo-far .jo-gemtags{display:none}.jo-far .jo-bugtag.minor,.jo-far .jo-blocktag:not(.critical){display:none!important}.jo-tag-role{text-transform:uppercase;letter-spacing:.06em;font-size:10px}.jo-tag-key{color:var(--jo-muted);font-family:ui-monospace,monospace;font-size:10px}.jo-tag.has-key .jo-tag-key{color:var(--jo-accent)}.role-senior .jo-tag-role{color:var(--jo-senior)}.role-junior .jo-tag-role{color:var(--jo-junior)}.role-qa .jo-tag-role{color:var(--jo-qa)}.role-po .jo-tag-role{color:#ff8a8a}.role-sm .jo-tag-role{color:#5eead4}.role-ops .jo-tag-role{color:#fbbf24}.role-ux .jo-tag-role{color:#f9a8d4}.role-bot .jo-tag-role{color:#7fb2ff}.role-sec .jo-tag-role{color:#cbd5e1}.role-e2e .jo-tag-role{color:#6ee7b7}.jo-bubble{color:#0d1424;white-space:nowrap;will-change:transform;background:#f4f8ff;border-radius:12px;max-width:190px;margin-top:-64px;padding:6px 10px;font:600 12px system-ui,sans-serif;position:relative;box-shadow:0 4px 14px #00000059}.jo-bubble:after{content:"";border:6px solid #0000;border-top-color:#f4f8ff;border-bottom:0;margin-left:-6px;position:absolute;bottom:-6px;left:50%}.jo-bubble.pop{animation:.28s cubic-bezier(.2,1.4,.4,1) jo-pop}@keyframes jo-pop{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.jo-bubble.pop{animation:none}}.jo-agent-bubble{color:#0d1424;border:1.5px solid var(--jo-accent);will-change:transform;background:#eaf4ff;border-radius:14px;width:max-content;max-width:min(340px,80vw);margin-top:-64px;padding:10px 14px;font:500 15px/1.4 system-ui,sans-serif;transition:opacity .2s;position:relative;box-shadow:0 0 16px #4aa8ff73,0 4px 14px #00000059}.jo-agent-bubble:after{content:"";border:7px solid #0000;border-bottom:0;border-top-color:var(--jo-accent);margin-left:-7px;position:absolute;bottom:-7px;left:50%}.jo-agent-bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;flex-direction:column;justify-content:flex-end;max-height:9.8em;display:flex;overflow:hidden}.jo-agent-bubble[data-mode=speaking] .jo-agent-bubble-text{-webkit-mask-image:linear-gradient(#0000 0,#000 .9em);mask-image:linear-gradient(#0000 0,#000 .9em)}.jo-agent-bubble[data-mode=error]{background:#fff1f2;border-color:#fb7185}.jo-agent-bubble[data-mode=error]:after{border-top-color:#fb7185}.jo-agent-bubble[data-mode=working]{font-style:italic}.jo-agent-bubble[data-mode=working] .jo-agent-bubble-text:before{content:"📖 "}.jo-agent-bubble[data-mode=thinking] .jo-agent-bubble-text:before{content:"•••";letter-spacing:3px;animation:1.1s ease-in-out infinite jo-think}@keyframes jo-think{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.jo-agent-bubble[data-mode=working]{font-style:italic}.jo-agent-bubble[data-mode=working] .jo-agent-bubble-text:before{content:"📖 "}.jo-agent-bubble[data-mode=thinking] .jo-agent-bubble-text:before{animation:none}}.jo-far .jo-agent-bubble{max-width:none;padding:2px 6px}.jo-far .jo-agent-bubble-text{display:none}.jo-far .jo-agent-bubble:before{content:"💬";font-size:14px}.jo-agent-chips{z-index:2}.jo-agent-chip{pointer-events:auto;cursor:pointer;min-width:var(--jo-touch);min-height:var(--jo-touch);color:var(--jo-text);background:var(--jo-panel);border:1.5px solid var(--jo-accent);touch-action:manipulation;will-change:transform;border-radius:999px;place-items:center;margin-top:-58px;font:600 18px/1 system-ui,sans-serif;display:grid;box-shadow:0 0 14px #4aa8ff8c}.jo-agent-chip[hidden]{display:none}.jo-agent-chip:hover{background:#4aa8ff59}.jo-far .jo-agent-chip{font-size:15px}.jo-agent-dock{z-index:3;left:calc(12px + var(--safe-left));flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.jo-agent-dock[hidden]{display:none}.jo-agent-dock-btn{min-width:var(--jo-touch);min-height:var(--jo-touch);cursor:pointer;color:var(--jo-text);text-align:left;white-space:nowrap;background:var(--jo-panel);border:1px solid var(--jo-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:manipulation;border-radius:999px;padding:6px 12px;font:600 13px system-ui,sans-serif}.jo-agent-dock-btn:hover{border-color:var(--jo-accent);background:#4aa8ff47}.jo-cinematic .jo-agent-dock{display:none}@media (max-width:640px){.jo-agent-dock{top:auto;bottom:calc(220px + var(--safe-bottom));transform:none}}.jo-agent-helpers{z-index:2}.jo-helper-tag{white-space:nowrap;color:var(--jo-text);background:var(--jo-panel);border:1px solid var(--jo-accent);will-change:transform;border-radius:999px;margin-top:-14px;padding:2px 8px;font:600 11px system-ui,sans-serif}.jo-far .jo-helper-tag{display:none}.jo-proposal{z-index:5;right:calc(12px + var(--safe-right));top:calc(70px + var(--safe-top));width:min(460px,100vw - 24px);max-height:calc(100dvh - 140px - var(--safe-top) - var(--safe-bottom));background:var(--jo-panel);border:1px solid var(--jo-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--jo-text);border-radius:12px;padding:10px 12px;font:13px system-ui,sans-serif;position:absolute;overflow-y:auto;box-shadow:0 0 22px #4aa8ff59}.jo-proposal[hidden]{display:none}.jo-proposal[data-status=failed],.jo-proposal[data-status=rejected]{border-color:#fb7185}.jo-proposal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.jo-proposal button{font:inherit;color:var(--jo-text);border:1px solid var(--jo-border);cursor:pointer;min-height:var(--jo-touch);min-width:var(--jo-touch);touch-action:manipulation;background:#ffffff0f;border-radius:8px;padding:7px 14px}.jo-proposal button.primary{border-color:var(--jo-accent);background:#4aa8ff47}.jo-proposal button:hover{background:#4aa8ff59}.jo-proposal-title{margin-bottom:2px;font-size:14px;font-weight:700}.jo-proposal-summary,.jo-proposal-status{color:var(--jo-muted);margin-bottom:6px}.jo-proposal-file{margin:4px 0}.jo-proposal-file summary{cursor:pointer;color:#8fd0ff;min-height:24px;padding:6px 0;font:12px ui-monospace,monospace}.jo-proposal-diff,.jo-proposal-output{white-space:pre-wrap;overflow-wrap:anywhere;background:#00000059;border-radius:6px;max-height:240px;margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,monospace;overflow:auto}.jo-proposal-diff .add{color:#86efac;background:#22c55e1f}.jo-proposal-diff .del{color:#fca5a5;background:#ef44441f}.jo-proposal-diff .hunk{color:var(--jo-muted)}.jo-proposal-check.ok{color:#86efac}.jo-proposal-check.bad{color:#fca5a5}.jo-proposal-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.jo-proposal-branch{color:#8fd0ff;overflow-wrap:anywhere;font:12px ui-monospace,monospace}.jo-cinematic .jo-proposal{display:none}@media (max-width:640px){.jo-proposal{width:auto;max-height:60dvh;padding-bottom:calc(10px + var(--safe-bottom));z-index:6;border-radius:16px 16px 0 0;inset:auto 0 0}}.jo-mock{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 24px);display:flex;position:absolute}.jo-mock button{font:inherit;color:var(--jo-text);border:1px solid var(--jo-border);cursor:pointer;min-height:var(--jo-touch);min-width:var(--jo-touch);background:#ffffff0f;border-radius:8px;padding:7px 12px}.jo-mock button:hover{border-color:var(--jo-accent);background:#4aa8ff38}.jo-mock button.danger{border-color:#ff5d6e8c}.jo-mock button.danger:hover{background:#ff4d5e38;border-color:#ff5d6e}.jo-mock button.release{border-color:#4aa8ff99}.jo-mock button.autopilot{flex-basis:100%}.jo-mock button.autopilot.on{color:#a8f0c4;background:#3ddc841f;border-color:#3ddc84}.jo-mock-toggle{background:var(--jo-panel)!important}.jo-mock-toggle.open{border-color:var(--jo-accent)}.jo-mock kbd{border:1px solid var(--jo-border);border-radius:4px;margin-left:4px;padding:1px 4px;font-size:10px}.jo-mock-panel{width:min(520px,100vw - 24px);max-height:calc(100dvh - 80px - var(--safe-top) - var(--safe-bottom));overscroll-behavior:contain;touch-action:pan-y;background:var(--jo-panel);border:1px solid var(--jo-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-user-select:text;user-select:text;border-radius:12px;padding:14px;overflow-y:auto}.jo-mock-panel[hidden]{display:none}.jo-mock-panel h2{margin:0 0 10px;font-size:15px}.jo-mock-actions{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.jo-mock-board{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.jo-col h3{color:var(--jo-muted);letter-spacing:.05em;margin:0 0 4px;font-size:10px}.jo-card{border-left:3px solid var(--jo-accent);text-overflow:ellipsis;white-space:nowrap;background:#ffffff12;border-radius:5px;margin-bottom:4px;padding:4px 5px;font-size:10px;overflow:hidden}.jo-card.bug{border-left-color:#ff5d5d}.jo-mock-log{max-height:120px;color:var(--jo-muted);margin:0;padding-left:18px;font-family:ui-monospace,monospace;font-size:11px;overflow:auto}.jo-perf{left:calc(12px + var(--safe-left));top:calc(66px + var(--safe-top));z-index:6;border:1px solid var(--jo-border);color:#cfe3ff;pointer-events:none;background:#080e1adb;border-radius:8px;min-width:210px;padding:8px 10px;font:11px/1.45 ui-monospace,monospace;position:absolute}.jo-perf div{justify-content:space-between;gap:14px;display:flex}.jo-perf b{color:#fff;font-weight:600}.jo-perf .over b,.jo-perf .over span{color:#ff8a96}.jo-perf hr{border:0;border-top:1px solid var(--jo-border);margin:5px 0}.jo-tag.selected{border-color:var(--jo-accent);box-shadow:0 0 14px #4aa8ffb3}.jo-select{z-index:4;left:50%;bottom:calc(16px + var(--safe-bottom) + var(--jo-kb,0px));background:var(--jo-panel);border:1px solid var(--jo-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;grid-template-columns:1fr auto;grid-template-areas:"title actions""detail actions""state actions""chat chat";align-items:center;gap:2px 10px;width:min(440px,100vw - 24px);padding:10px 12px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 0 22px #4aa8ff59}.jo-select[hidden]{display:none}.jo-select-title{grid-area:title;align-items:baseline;gap:8px;display:flex}.jo-select-title strong{font-size:15px}.jo-select-title span{color:var(--jo-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.jo-select-detail{color:#8fd0ff;text-overflow:ellipsis;white-space:nowrap;grid-area:detail;font:12px ui-monospace,monospace;overflow:hidden}.jo-select-state{color:var(--jo-muted);grid-area:state;font-size:12px}.jo-select-actions{grid-area:actions;gap:6px;display:flex}.jo-select button{font:inherit;color:var(--jo-text);border:1px solid var(--jo-border);min-height:var(--jo-touch);min-width:var(--jo-touch);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:0 12px;font-size:13px}.jo-select button.on{border-color:var(--jo-accent);background:#4aa8ff2e}.jo-select-chat{border-top:1px solid var(--jo-border);grid-area:chat;gap:6px;margin-top:8px;padding-top:8px;display:grid}.jo-select-chat[hidden]{display:none}.jo-select-chat-note{color:var(--jo-muted);font-size:12px}.jo-select-chat-form{gap:6px;display:flex}.jo-select-chat-form[hidden]{display:none}.jo-select-chat-form input{min-width:0;min-height:var(--jo-touch);border:1px solid var(--jo-border);color:var(--jo-text);font:inherit;background:#ffffff0f;border-radius:8px;flex:1;padding:0 10px;font-size:16px}.jo-select-chat-form input:focus{border-color:var(--jo-accent);outline:none}.jo-select-chat-form button[hidden]{display:none}.jo-select-chat-form button:disabled{opacity:.45;cursor:default}.jo-select-kill.armed{color:#fecdd3;background:#fb71852e;border-color:#fb7185}.jo-touch{z-index:3;pointer-events:none;position:absolute;inset:0}.jo-stick{left:calc(20px + var(--safe-left));bottom:calc(20px + var(--safe-bottom));pointer-events:auto;touch-action:none;background:radial-gradient(circle,#4aa8ff1a 0%,#10141e8c 70%);border:1px solid #8fd0ff59;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute}.jo-stick-knob{background:#4aa8ff8c;border:2px solid #8fd0ff;border-radius:50%;width:54px;height:54px;transition:transform 80ms ease-out;box-shadow:0 0 14px #4aa8ff99}.jo-touch-buttons{right:calc(16px + var(--safe-right));bottom:calc(54px + var(--safe-bottom));pointer-events:auto;flex-direction:column;gap:10px;display:flex;position:absolute}.jo-touch-buttons button{width:52px;height:52px;color:var(--jo-text);touch-action:none;background:var(--jo-panel);border:1px solid var(--jo-border);cursor:pointer;border-radius:50%;font:600 22px system-ui,sans-serif}.jo-touch-buttons button:active{border-color:var(--jo-accent);background:#4aa8ff40}.jo-has-touch .jo-select{bottom:calc(156px + var(--safe-bottom))}@media (max-width:700px),(max-height:500px){.jo-panel-open .jo-select,.jo-panel-open .jo-touch{display:none}.jo-toast{padding:6px 10px}.jo-toast span{font-size:11px}.jo-mock-panel{z-index:5;width:auto;max-height:min(70dvh,560px);padding:14px calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left));border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0}.jo-mock-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jo-mock-actions button{width:100%}.jo-mock button.autopilot{grid-column:1/-1}.jo-mock-board{touch-action:pan-x pan-y;grid-template-columns:none;grid-auto-columns:minmax(118px,1fr);grid-auto-flow:column;overflow-x:auto}.jo-hud{top:calc(66px + var(--safe-top));width:calc(100vw - 24px)}.jo-toast strong{font-size:13px}.jo-tag{padding:2px 6px 3px}.jo-tag-role{display:none}.jo-tag-name{font-size:11px}.jo-bubble{max-width:150px;margin-top:-44px;font-size:11px}}@media (max-height:500px) and (min-width:560px){.jo-hud{top:calc(12px + var(--safe-top));width:min(420px,100vw - 340px)}.jo-toast span{display:none}.jo-select{width:min(420px,100vw - 320px)}.jo-has-touch .jo-select{bottom:calc(12px + var(--safe-bottom))}}.jo-fametags{z-index:1}.jo-fametag{white-space:nowrap;will-change:transform;pointer-events:none;background:#2e2100d1;border:1px solid #ffd36bd9;border-radius:8px;flex-direction:column;align-items:center;padding:3px 9px;display:flex;box-shadow:0 0 12px #ffc83d73}.jo-fametag strong{color:#ffd36b;font:800 13px system-ui,sans-serif}.jo-fametag span{color:#f3e2b0;font:600 10px ui-monospace,monospace}.jo-blocktag{white-space:nowrap;will-change:transform;color:#ffe3b0;background:#462800d1;border:1px solid #ffb02ed9;border-radius:6px;padding:2px 7px;font:700 10px ui-monospace,monospace;box-shadow:0 0 10px #ffb02e73}.jo-blocktag.critical{color:#fff;background:#780a1cdb;border-color:#ff3048e6;box-shadow:0 0 14px #ff304899}@media (max-width:700px),(max-height:500px){.jo-blocktag{padding:1px 5px;font-size:9px}}.jo-help{z-index:4;top:calc(12px + var(--safe-top));left:calc(20px + var(--safe-left) + var(--jo-sound-w,100px));min-width:var(--jo-touch);min-height:var(--jo-touch);color:var(--jo-text);background:var(--jo-panel);border:1px solid var(--jo-accent);cursor:pointer;border-radius:50%;font:700 18px system-ui,sans-serif;position:absolute;box-shadow:0 0 12px #4aa8ff59}.jo-help.on{background:#4aa8ff4d}.jo-guide{z-index:5;left:50%;bottom:calc(16px + var(--safe-bottom));background:var(--jo-panel);border:1px solid var(--jo-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;width:min(460px,100vw - 24px);padding:14px 16px 12px;animation:.25s ease-out jo-toast-in;position:absolute;transform:translate(-50%);box-shadow:0 0 26px #4aa8ff59}.jo-guide[hidden]{display:none}.jo-guide-head{align-items:center;gap:10px;display:flex}.jo-guide-icon{font-size:26px;line-height:1}.jo-guide-title{margin:0;font-size:17px}.jo-guide-body{color:var(--jo-text);margin:8px 0 12px;font-size:14px;line-height:1.45}.jo-guide-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.jo-guide-dots{gap:2px;display:flex}.jo-guide-dots button{width:22px;height:var(--jo-touch);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.jo-guide-dots button:after{content:"";background:#ffffff40;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.jo-guide-dots button.on:after{background:var(--jo-accent);box-shadow:0 0 8px #4aa8ffcc}.jo-guide-buttons{gap:6px;display:flex}.jo-guide-buttons button{font:inherit;color:var(--jo-text);border:1px solid var(--jo-border);min-height:var(--jo-touch);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:0 14px;font-size:14px}.jo-guide-buttons button:disabled{opacity:.35;cursor:default}.jo-guide-buttons button.primary{border-color:var(--jo-accent);background:#4aa8ff40;font-weight:600}.jo-guiding .jo-touch,.jo-guiding .jo-select,.jo-guiding .jo-narrator{display:none}.jo-guiding .jo-bubbles{opacity:.45}.jo-narrator{z-index:3;left:50%;bottom:calc(16px + var(--safe-bottom));pointer-events:none;background:var(--jo-panel);border:1px solid var(--jo-border);text-align:center;border-radius:999px;max-width:min(560px,100vw - 24px);padding:8px 14px;font-size:13px;line-height:1.35;position:absolute;transform:translate(-50%)}.jo-narrator[hidden],.jo-select:not([hidden])~.jo-narrator{display:none}.jo-narrator.pop{animation:.25s ease-out jo-toast-in}@media (prefers-reduced-motion:reduce){.jo-narrator.pop,.jo-guide{animation:none}}.jo-has-touch .jo-narrator{bottom:calc(156px + var(--safe-bottom));max-width:min(560px,100vw - 168px)}@media (max-width:700px),(max-height:500px){.jo-narrator{border-radius:12px;width:max-content;max-width:calc(100vw - 24px);padding:6px 10px;font-size:12px}.jo-has-touch .jo-narrator{max-width:calc(100vw - 168px)}.jo-guide{padding:12px 12px 10px}.jo-guide-body{margin:6px 0 8px;font-size:13px}.jo-guide-title{font-size:15px}.jo-guide-buttons button{padding:0 10px}}@media (max-height:500px) and (min-width:560px){.jo-has-touch .jo-narrator{bottom:calc(12px + var(--safe-bottom));max-width:min(420px,100vw - 340px)}.jo-guide{width:min(460px,100vw - 300px);bottom:calc(8px + var(--safe-bottom))}}.jo-jettags{z-index:2}.jo-jettag{white-space:nowrap;will-change:transform;color:#dff1ff;background:#0a1e3cd1;border:1px solid #8fd0ffb3;border-radius:6px;padding:2px 7px;font:700 10px ui-monospace,monospace;box-shadow:0 0 10px #4aa8ff66}.jo-jettag.jet1{color:#c9faff;border-color:#62e6ffcc;box-shadow:0 0 10px #62e6ff73}.jo-jettag.finding{color:#c9faff;background:#002834e0;border-color:#62e6ffe6;font-size:11px}.jo-jettag.scope{color:#fff3d6;background:#78460ae0;border-color:#ffbe5ae6}.jo-jettag.ship{color:#fff;background:#145a32e6;border-color:#64ffaae6;font-size:12px}@media (max-width:700px),(max-height:500px){.jo-jettag{padding:1px 5px;font-size:9px}}.jo-reactions{z-index:3}.jo-reaction{pointer-events:none;will-change:transform;margin-top:-62px}.jo-reaction-icon{opacity:0;will-change:transform, opacity;font-size:28px;line-height:1;display:block}.jo-reaction-icon.go{animation:1.6s ease-out forwards jo-react}@keyframes jo-react{0%{opacity:0;transform:translateY(8px)scale(.6)}18%{opacity:1;transform:translateY(-6px)scale(1.2)}70%{opacity:1}to{opacity:0;transform:translateY(-40px)scale(1)}}@media (prefers-reduced-motion:reduce){.jo-reaction-icon.go{opacity:1;animation:none}}.jo-qualitytags{z-index:2}.jo-qtag{white-space:nowrap;will-change:transform;color:#e8f6ff;background:#081e2cdb;border:1px solid #8fd0ffbf;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:3px 9px 4px;font:700 11px ui-monospace,monospace;display:flex;box-shadow:0 0 12px #4aa8ff66}.jo-qtag small{opacity:.85;font:600 10px ui-monospace,monospace}.jo-qtag.pass{border-color:#3ddc84e6;box-shadow:0 0 14px #3ddc8480}.jo-qtag.fail{color:#ffe3e6;background:#5a0816e6;border-color:#ff4d5ef2;box-shadow:0 0 16px #ff4d5e99}.jo-qtag.ci{font-size:10px}@media (max-width:700px),(max-height:500px){.jo-qtag{padding:2px 6px;font-size:9px}.jo-qtag small{font-size:8px}}
