:root{--cc-board-bg:#eceff1;--cc-grid-dot:#b0bec5;--cc-wire:#d35400;--cc-wire-glow:#d3540026;--cc-wire-on:#f1c40f;--cc-wire-on-glow:#f1c40f66;--cc-danger:#e74c3c;--cc-danger-glow:#e74c3c66;--cc-accent:#f1c40f;--cc-accent-ink:#1a1a1a;--cc-sidebar-w:320px;--cc-badge-h:40px;--sk-accent:#e0a800;--sk-accent-fg:#1a1a1a;--sk-ring:#f1c40f73}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cc-board-bg);color:var(--fg);-webkit-tap-highlight-color:transparent;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;overflow:hidden}.screen{display:none}.screen.active{display:flex}.screen [tabindex="-1"]:focus{outline:none}.intro-screen{text-align:center;background:radial-gradient(circle at 10% 20%, #f1c40f1a 0, transparent 40%), radial-gradient(circle at 90% 80%, #e67e2214 0, transparent 35%), var(--cc-board-bg)}.intro-emoji{margin-bottom:12px;font-size:80px;line-height:1;animation:2.5s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.intro-screen h1{margin-bottom:6px;font-size:32px;font-weight:800}.intro-sub{color:var(--fg-muted);margin-bottom:24px;font-size:15px;line-height:1.7}.intro-card{background:var(--card-bg);border:2px dashed var(--sk-accent);border-radius:16px;width:100%;max-width:440px;margin-bottom:24px;padding:20px 24px;box-shadow:0 8px 32px #0000000d}.intro-card h3{color:#8a5a00;margin-bottom:8px;font-size:17px;font-weight:700}.intro-card p{color:var(--fg-muted);font-size:15px;line-height:1.7}.big-btn{min-height:52px;padding:0 28px;font-size:16px}.explore-screen{width:100vw;height:100dvh}.explore-layout{grid-template-columns:1fr var(--cc-sidebar-w);width:100%;height:100%;display:grid}.canvas-zone{background:var(--cc-board-bg);flex-direction:column;display:flex;position:relative;overflow:hidden}.canvas-header{top:calc(var(--sk-stage-top) - 4px);z-index:10;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.canvas-title-badge{backdrop-filter:blur(6px);color:#fff;background:#263238e0;border:1px solid #fff3;border-radius:14px;align-items:center;gap:8px;min-height:36px;padding:6px 14px;font-size:14px;font-weight:700;display:flex}.canvas-title-badge .num{background:var(--cc-accent);color:var(--cc-accent-ink);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:inline-flex}.canvas-toolbar{z-index:10;flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.seg{outline:none}.seg:focus-visible .seg-focus{stroke:var(--sk-accent);stroke-opacity:1}.seg-focus{stroke:#0000;stroke-width:3px;fill:none;stroke-dasharray:3 3}.tool-btn{pointer-events:auto;background:#fff;box-shadow:0 4px 12px #00000014}.tool-btn[aria-pressed=true]{background:var(--cc-accent);color:var(--cc-accent-ink);box-shadow:0 0 0 3px var(--sk-ring);border-color:#c99700}.tool-btn.sk-btn--danger{background:#fff}.canvas-viewport{flex:1;width:100%;height:100%;position:relative}.canvas-svg{width:100%;left:0;right:0;top:calc(var(--sk-stage-top) + var(--cc-badge-h));height:calc(100% - var(--sk-stage-top) - var(--cc-badge-h) - var(--sk-stage-bottom));z-index:1;position:absolute}.short-circuit-banner{background:var(--cc-danger);color:#fff;min-height:36px;box-shadow:0 4px 16px var(--cc-danger-glow);border-radius:18px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:800;animation:1s infinite alternate blink;display:inline-flex}.short-circuit-banner[hidden]{display:none}@keyframes blink{0%{opacity:.75}to{opacity:1}}.sidebar{background:var(--card-bg);border-left:2px solid var(--border);flex-direction:column;display:flex;overflow-y:auto;box-shadow:-4px 0 24px #0000000f}.side-head{background:linear-gradient(135deg, var(--cc-accent) 0%, #e67e22 100%);color:var(--cc-accent-ink);flex-shrink:0;padding:16px 20px 14px;position:relative;overflow:hidden}.side-head:after{content:"";background:radial-gradient(circle at 80% -20%,#fff3 0,#0000 55%);position:absolute;inset:0}.side-head h2{z-index:1;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex;position:relative}.side-head .side-sub{opacity:.85;z-index:1;margin-top:2px;font-size:13px;position:relative}.side-body{flex-direction:column;flex:1;padding:14px 16px 20px;display:flex}.mode-tabs{flex-shrink:0;gap:4px;margin-bottom:14px;display:flex}.mode-tab{border:2px solid var(--border);background:var(--bg-sec);text-align:center;cursor:pointer;color:var(--fg-muted);border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:52px;padding:8px 4px;font-family:inherit;font-size:13px;font-weight:800;transition:all .15s;display:flex}.mode-tab.active{border-color:var(--sk-accent);color:var(--fg);background:#f1c40f24}.mode-tab .em{font-size:16px;display:inline-flex}.mission-card{border:1px solid var(--border);background:var(--bg-sec);border-radius:14px;margin-bottom:14px;padding:12px 14px}.mission-title{color:var(--fg-muted);letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:700}.mission-desc{font-size:15px;font-weight:600;line-height:1.6}.mission-nav{justify-content:center;gap:8px;margin-top:10px;display:flex}.mission-exit{margin-top:10px}.feedback-box{text-align:center;border-radius:10px;margin:10px 0;padding:10px;font-size:15px;line-height:1.5}.feedback-box.ok{color:#1e7e46;background:#2ecc711f}.feedback-box.no{color:#b03a2e;background:#e74c3c1a}.feedback-box .ic{vertical-align:-.18em}.prediction-box{background:var(--bg-sec);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:12px}.prediction-title{color:var(--fg);margin-bottom:8px;font-size:15px;font-weight:800}.prediction-title .ic{vertical-align:-.18em}.prediction-btns{gap:6px;display:flex}.pred-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;min-height:44px;color:var(--fg-muted);border-radius:8px;flex:1;padding:8px;font-family:inherit;font-size:14px;font-weight:800;transition:all .15s}.pred-btn.active{background:var(--cc-accent);color:var(--cc-accent-ink);border-color:#c99700}.palette-section{flex-direction:column;flex:1;min-height:0;display:flex}.palette-title{color:var(--fg-muted);margin-bottom:8px;font-size:13px;font-weight:700}.palette-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.palette-item{border:1px solid var(--border);background:var(--bg-sec);min-height:44px;color:var(--fg);text-align:center;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.palette-item.active{border-color:var(--cc-accent);box-shadow:0 0 0 2px var(--cc-accent) inset;background:#f1c40f2e}.help-text{color:var(--fg-muted);margin-top:10px;font-size:14px;line-height:1.6}.help-text ul{margin:4px 0 0 18px}.help-text .ic{vertical-align:-.18em}.action-panel{flex-direction:column;flex-shrink:0;gap:6px;margin-bottom:14px;display:flex}.result-screen{text-align:center;background:radial-gradient(circle at 30% 30%, #f1c40f1a 0, transparent 40%), radial-gradient(circle at 70% 70%, #e67e2214 0, transparent 35%), var(--cc-board-bg)}.result-icon{color:#c99700;font-size:72px;line-height:1}.result-stars{color:#e0a800;margin:12px 0;font-size:40px}.result-summary{background:var(--card-bg);border:1px solid var(--border);text-align:left;border-radius:16px;width:100%;max-width:440px;margin:16px 0;padding:20px;font-size:15px;line-height:1.8;box-shadow:0 4px 16px #00000008}.result-summary strong{color:#8a5a00}.result-summary .ic{color:#1e7e46;vertical-align:-.18em}.result-actions{justify-content:center;width:100%;max-width:440px}@media (width<=800px){body{overflow:auto}.explore-layout{flex-direction:column;height:auto;min-height:100vh;display:flex}.canvas-zone{z-index:40;flex-shrink:0;height:52vh;min-height:340px;position:sticky;top:0}.canvas-toolbar{flex-wrap:nowrap;gap:6px;bottom:8px;left:8px;right:8px}.canvas-toolbar .sk-btn{flex:1 1 0;gap:4px;min-width:0;padding:0 6px;font-size:13px}.canvas-svg{height:calc(100% - var(--sk-stage-top) - var(--cc-badge-h) - 56px)}.short-circuit-banner{padding:6px 12px;font-size:13px}.sidebar{border-left:none;border-top:2px solid var(--border);height:auto}}
