:root{font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223b43;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,select{cursor:pointer}button{border:1px solid #d8e2e6;background:white;color:#3c525c;border-radius:8px;padding:10px 15px;font-size:14px;font-weight:600;min-height:44px}button:hover{background:#eff6f6}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #18a99a;outline-offset:3px}[hidden]{display:none!important}header{max-width:1360px;margin:auto;display:flex;align-items:center;gap:15px;padding:30px 40px}.brand-icon{background:#087c72;color:white;border-radius:12px;width:48px;height:48px;font-size:38px;text-align:center;line-height:42px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#69838b;margin:0 0 7px}h1{font-size:24px;margin:0;font-weight:750;letter-spacing:.04em}.header-note{margin-left:auto;color:#71858d;font-size:14px}main{max-width:1360px;padding:0 40px 20px;margin:auto}nav{display:flex;gap:8px;padding:5px;background:#e6edef;width:fit-content;border-radius:12px;margin:12px 0 24px}.mode{background:transparent;border:0;padding:13px 22px}.mode span{font-size:12px;opacity:.65;margin-right:8px}.mode.active{background:white;color:#087c72;box-shadow:0 2px 5px #233b4310}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:24px;align-items:start}.graph-panel,.conditions{background:white;border:1px solid #dce5e9;border-radius:16px;overflow:hidden}.toolbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:12px;border-bottom:1px solid #e5ecef}.toolbar label{font-size:14px;font-weight:600}select{border:1px solid #d6e1e5;background:white;border-radius:8px;min-height:42px;padding:6px 27px 6px 12px;margin-left:8px}.actions{display:flex;gap:8px}.primary{background:#087c72;color:white;border-color:#087c72}.primary:hover{background:#05665e}.canvas{background-image:radial-gradient(#b9cbd055 1px,transparent 1px);background-size:22px 22px;position:relative}.canvas-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 0;font-size:14px;color:#71858d;gap:10px}.counts{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#60777e}.counts b{font-size:20px;color:#23454b}.counts i{height:18px;border-left:1px solid #cedce0;margin:0 5px}svg{display:block;width:100%;height:auto;max-height:540px;min-height:320px;touch-action:none;user-select:none}.edge{stroke:#77949f;stroke-width:3;pointer-events:none}.edge-hit{stroke:transparent;stroke-width:22;cursor:pointer}.edge-group:hover .edge{stroke:#cf685a;stroke-width:4}.vertex{cursor:grab;outline:none}.vertex circle{fill:white;stroke:#0c8076;stroke-width:2.5;filter:drop-shadow(0 3px 3px #244a4912)}.vertex text{fill:#126d66;font-size:21px;font-weight:650;pointer-events:none;text-anchor:middle;dominant-baseline:central}.vertex.selected circle{fill:#0c8076;stroke:#98d9cf;stroke-width:8}.vertex.selected text{fill:white}.vertex:focus-visible circle{stroke:#e6a42f;stroke-width:5}.vertex:active{cursor:grabbing}#selection{text-align:center;color:#087c72;min-height:49px;font-size:14px;padding:9px 15px 20px}.instructions{border-top:1px solid #e5ecef;display:flex;justify-content:center;gap:22px;padding:20px 10px;font-size:12px;color:#7c8c92}.instructions b{font-size:14px;color:#45626b;margin-right:7px}.condition-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 22px;border-bottom:1px solid #e8edef}h2{font-size:18px;margin:0}.switch-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600;position:relative}.switch-label input{position:absolute;right:0;opacity:0;width:44px;height:30px}.switch{display:block;background:#cad6da;width:40px;height:24px;border-radius:20px;position:relative;pointer-events:none}.switch:after{content:"";width:18px;height:18px;position:absolute;top:3px;left:3px;background:white;border-radius:50%;transition:transform .15s}input:checked+.switch{background:#087c72}input:checked+.switch:after{transform:translateX(16px)}input:focus-visible+.switch{outline:3px solid #e6a42f;outline-offset:4px}#hidden-note{text-align:center;padding:62px 16px 65px}.observe-icon{font-size:32px;letter-spacing:8px;color:#acc0c5;margin-bottom:22px}h3{font-size:16px;margin:0 0 16px}#hidden-note p{font-size:14px;line-height:1.9;color:#6c8289}#hidden-note .small{font-size:12px;margin-top:25px}ol{list-style:none;padding:0 20px;margin:4px 0}li{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid #edf1f3;font-size:14px;line-height:1.65}.number{color:#8da1a7;font-size:12px}.property-text{flex:1}.verdict{font-size:25px;font-weight:600;line-height:1;color:#b16b60}.verdict.yes{color:#078378}.verdict.na{color:#83969c}#tree{margin:16px 20px 0;padding:14px;background:#e5f5ef;color:#14715d;border-radius:8px;text-align:center;font-size:14px;font-weight:600}.legend{font-size:12px;color:#6e858d;margin:19px 20px}details{font-size:12px;color:#6f8188;margin:0 20px 22px;line-height:1.8}summary{cursor:pointer}.prompt{border-left:3px solid #6bb3aa;margin:24px 2px 0;padding:2px 0 3px 20px}.prompt p:not(.eyebrow){font-size:17px;line-height:1.8;margin:10px 0}.prompt span{font-size:12px;color:#80949a}footer{font-size:12px;color:#8a9ba2;margin:24px 0;text-align:center}#problem-label{font-size:14px;color:#087c72;margin-left:12px}@media(min-width:1400px){header{padding-top:45px}.workspace{grid-template-columns:minmax(0,1fr) 380px}}@media(max-width:1000px){main{padding:0 22px}header{padding:24px 22px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:16px}.toolbar{padding:12px}.instructions{gap:10px;flex-wrap:wrap}.condition-heading{padding:20px 16px}.canvas-heading{padding:18px 14px 0}}@media(max-width:760px){header{padding:22px 16px}h1{font-size:21px}.header-note{display:none}main{padding:0 12px}.workspace{grid-template-columns:1fr}nav{width:100%;gap:2px;margin:4px 0 16px}.mode{flex:1;padding:12px 7px;font-size:13px}.mode span{margin-right:4px}svg{min-height:290px;max-height:430px}.toolbar{flex-wrap:wrap}.canvas-heading{font-size:12px}.instructions{gap:12px;padding:16px 6px}.instructions b{margin-right:4px}.prompt{margin-bottom:24px}#hidden-note{padding:25px 15px}.observe-icon{margin-bottom:12px}.toolbar button{padding:9px 10px}.brand-icon{width:42px;height:42px}.eyebrow{font-size:11px}footer{margin-top:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
