body:has(.redstone-lab) main{max-width:1320px}.block-explanation-link{min-height:44px;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:8px 0;font:800 .8rem Nunito,sans-serif;text-decoration:underline;display:block}.challenge-introduction{border:2px solid var(--line);background:var(--card-strong);border-radius:16px;margin:0 0 18px;padding:20px 24px}.challenge-introduction h2{margin:6px 0 16px;font-size:1.5rem}#introduction-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-bottom:18px;display:grid}.introduction-card{align-items:flex-start;gap:12px;min-width:0;display:flex}.introduction-symbol{background:var(--sun-soft);width:44px;height:44px;color:var(--warning);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.25rem;font-weight:900;display:grid}.introduction-card h3{margin:0 0 6px;font-size:1.08rem}.introduction-card p{font-size:.88rem;line-height:1.55}.introduction-card .introduction-use{color:var(--muted);margin-top:8px;font-size:.8rem}@media (width<=600px){.challenge-introduction{padding:17px}}.redstone-heading{justify-content:space-between;align-items:center;gap:20px;margin:5px 0 26px;display:flex}.redstone-heading h1{margin:7px 0;font-size:clamp(2.6rem,5vw,4rem);line-height:1.1}.redstone-heading h1 span{color:var(--pink);margin-left:12px;display:inline-block;transform:rotate(-12deg)}.redstone-heading p{color:var(--muted)}.discovery-badge{border:2px solid var(--line);background:var(--sun-soft);border-radius:14px;align-items:center;gap:10px;padding:12px 18px;font-size:.85rem;font-weight:900;display:flex;transform:rotate(2deg)}.discovery-badge>span:first-child{color:var(--warning);font-size:1.6rem}.workshop-tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;display:grid}.workshop-tabs button{text-align:left;color:var(--ink);background:var(--panel);border:2px solid var(--line);cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:13px 18px;font:900 1.1rem Nunito,sans-serif;display:grid}.workshop-tabs button>span{grid-row:span 2;font-size:1.7rem}.workshop-tabs small{color:var(--muted);font-size:.75rem;font-weight:700;display:block}.workshop-tabs button[aria-pressed=true]{background:var(--cyan-soft);box-shadow:3px 4px 0 var(--line);transform:translateY(-3px)}.mission-card{background:var(--panel);border:2px solid var(--line);border-radius:18px;align-items:center;gap:18px;margin-bottom:18px;padding:20px 24px;display:flex}.mission-icon{background:var(--sun-soft);border:1.5px solid var(--line);border-radius:14px;flex-shrink:0;place-items:center;width:56px;height:60px;font-size:2rem;display:grid;transform:rotate(-5deg)}.mission-copy{flex:1}.mission-copy h2{margin:4px 0;font-size:1.9rem}.mission-copy p{max-width:760px;font-size:.92rem}#challenge-bonus{color:var(--muted);margin-top:7px;font-size:.73rem}.redstone-lab .overline{letter-spacing:.13em;color:var(--muted);font-size:.69rem;font-weight:900}.redstone-lab .btn{min-height:44px;padding:10px 14px;font-size:.83rem}.workshop-layout{grid-template-columns:225px minmax(0,1fr);align-items:start;gap:16px;display:grid}.parts-panel{background:var(--panel);border:2px solid var(--line);border-radius:16px;overflow:hidden}.panel-heading{background:var(--card-strong);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.panel-heading h3{font-size:1.35rem}.panel-heading button,.guide-card button{cursor:pointer;min-height:44px;color:var(--ink);background:0 0;border:0;font:800 .8rem Nunito,sans-serif;text-decoration:underline}#parts-content{max-height:770px;padding:12px;overflow:auto}.redstone-lab input:not([type=checkbox]):not([type=range]),.redstone-lab select{border:1.5px solid var(--line);background:var(--panel);width:100%;font:inherit;color:var(--ink);border-radius:9px;min-height:44px;padding:10px}.redstone-lab label{font-size:.82rem;font-weight:800}.search-label{gap:5px;display:grid}#palette fieldset{border:0;min-width:0;margin:15px 0;padding:0}#palette legend,.custom-palette-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px;font-size:.69rem;font-weight:900}#palette fieldset>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}#palette button,.custom-part{border:1.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:57px;padding:6px;font:800 .75rem Nunito,sans-serif;display:flex}#palette button .part-symbol{font-size:1.2rem;line-height:1.1}#palette button[data-tool=wire],#palette button[data-tool=repeater],#palette button[data-tool=bridge]{background:var(--sun-soft)}#palette button[data-tool=lever],#palette button[data-tool=button],#palette button[data-tool=input]{background:var(--cyan-soft)}#palette button[data-tool=lamp],#palette button[data-tool=display]{background:var(--sun-soft)}#palette button[aria-pressed=true],.custom-part[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}#palette button:hover,.custom-part:hover{border-color:var(--ink)}#custom-palette{gap:7px;display:grid}.custom-part{text-align:left;background:var(--grape-soft);flex-direction:row;justify-content:flex-start}.make-block-link{background:var(--grape-soft);border:1.5px dashed var(--grape);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;min-height:44px;margin-top:12px;padding:12px 8px;font:900 .8rem Nunito,sans-serif}.canvas-panel{background:var(--panel);border:2px solid var(--line);border-radius:16px;min-width:0;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.tool-cluster{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.canvas-toolbar button{border:1px solid var(--line);background:var(--panel);min-width:38px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:7px;padding:6px 9px;font:800 .75rem Nunito,sans-serif}.canvas-toolbar span{font-size:.75rem}.redstone-lab button:disabled{opacity:.45;cursor:default}.tool-help{background:var(--card-strong);border-bottom:1px solid var(--line);min-height:47px;padding:11px 16px;font-size:.8rem}.board-scroll{overscroll-behavior:contain;background:#172c32;min-height:300px;max-height:680px;padding:16px;overflow:auto}.circuit-board{--tile:54px;background:#172c32;border-radius:8px;gap:2px;width:max-content;padding:4px;display:grid}.circuit-board button{width:var(--tile);height:var(--tile);color:#c8d8d5;cursor:pointer;background:#223b42;border:1px solid #3c535a;border-radius:7px;padding:0;font:900 1.3rem/1 Nunito,sans-serif;position:relative}.circuit-board button[data-type=empty]{background:#1c3239;border:1px solid #2e444b}.circuit-board button[data-type=empty]:after{content:"·";color:#557077}.circuit-board button:hover{outline-offset:-2px;outline:2px solid #c2e9e3}.circuit-board button:focus-visible{outline-offset:0;z-index:3;outline:3px solid #fff}.circuit-board button[data-fixed=true]{border-style:double;border-width:3px}.circuit-board button[data-powered=true]{color:#ffe1a2;background:#5c4a2e;border-color:#b89350}.circuit-board button[data-type=lamp][data-powered=true]{color:#3b301c;background:#ffda78;box-shadow:0 0 16px #ffce6e55}.circuit-board button[data-type=input],.circuit-board button[data-type=output]{color:#d5edff;background:#2c5067;border-color:#a3c6eb}.circuit-board button[data-type=custom]{color:#f4e9ff;background:#52416b;border-color:#b398d4;border-radius:5px}.circuit-board button[data-selected=true]{z-index:2;outline:3px solid #fff}.circuit-board button[data-type=custom][data-colour=blue]{background:#314e75}.circuit-board button[data-type=custom][data-colour=green]{background:#38543f}.circuit-board button[data-type=custom][data-colour=orange]{background:#725033}.circuit-board button[data-type=custom][data-powered=true]{border-color:#ffe2a2;box-shadow:inset 0 0 0 1px #ffe2a2}.circuit-board button>*{pointer-events:none}.circuit-board small{color:#fff;background:#172c32;border-radius:3px;padding:1px 3px;font:900 9px Nunito,sans-serif;position:absolute;bottom:3px;right:3px}.circuit-board{margin-inline:auto}.gate-pin{width:clamp(6px, calc(var(--tile) * .14), 11px);height:clamp(6px, calc(var(--tile) * .14), 11px);z-index:1;position:absolute}.gate-input{background:#223b42;border:2px solid #c5e3df;border-radius:50%}.gate-output{clip-path:polygon(0 0,100% 50%,0 100%);background:#ffdc95}.gate-pin.pin-0{top:50%;right:1px;transform:translateY(-50%)}.gate-pin.pin-1{bottom:1px;left:50%;transform:translate(-50%)rotate(90deg)}.gate-pin.pin-2{top:50%;left:1px;transform:translateY(-50%)rotate(180deg)}.gate-pin.pin-3{top:1px;left:50%;transform:translate(-50%)rotate(270deg)}.circuit-board .port-label{white-space:nowrap;text-overflow:ellipsis;font-size:9px;position:absolute;top:3px;left:2px;right:2px;overflow:hidden}.circuit-board .custom-ports{bottom:3px;justify-content:space-between;gap:2px;font-size:8px;display:flex;position:absolute;inset-inline:2px}.circuit-board .custom-ports span{text-overflow:ellipsis;max-width:48%;overflow:hidden}.board-legend{color:var(--muted);flex-wrap:wrap;gap:16px;padding:9px 16px;font-size:.7rem;display:flex}.playbar{border-top:1px solid var(--line);background:var(--card-strong);flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.playbar .btn{box-shadow:none}#simulation-state{margin-left:auto;font-size:.7rem}.workshop-bottom{grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:16px;margin-top:18px;display:grid}.guide-card,.test-card{border:1.5px solid var(--line);background:var(--panel);border-radius:14px;padding:20px}.guide-card{background:var(--card-strong)}.guide-card h3{margin:4px 0 8px;font-size:1.5rem}.guide-card p{font-size:.85rem;line-height:1.6}.guide-card details{margin-top:8px;font-size:.8rem}.guide-card details p,.guide-card details label{margin-top:10px;display:block}.lab-actions{flex-wrap:wrap;gap:9px;display:flex}.redstone-lab .lab-feedback{text-align:left;min-height:1.5em;margin:15px 0 10px;font-family:Nunito,sans-serif;font-size:.94rem}.redstone-lab .lab-feedback[data-good=true]{color:var(--good)}.test-results{max-height:360px;overflow:auto}.test-results table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.78rem}.test-results caption{text-align:left;margin-bottom:8px;font-weight:900}.test-results th,.test-results td{text-align:left;border-bottom:1px solid var(--line);padding:9px 6px}.test-results th{background:var(--card-strong)}.test-results tr[data-pass=false]{background:var(--pink-soft)}#save-note{margin-top:14px;font-size:.73rem}.block-context{border:2px solid var(--grape);background:var(--grape-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:flex}#editing-block{flex:1;font-weight:900}.project-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.project-controls label{gap:4px;min-width:200px;display:grid}.library-intro{align-items:center;gap:25px;margin:30px 0;display:flex}.library-intro>div{flex:1}.library-intro h2{margin:10px 0;font-size:2.4rem}.library-intro p{max-width:720px;font-size:.94rem}.library-tools{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.library-tools label{flex:1;gap:5px;display:grid}.library-cards{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;margin-bottom:20px;display:grid}.block-card{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:22px}.block-card .block-emblem{background:var(--grape-soft);border:2px solid var(--grape);width:62px;height:62px;box-shadow:3px 4px 0 var(--line);border-radius:13px;place-items:center;margin-bottom:15px;font-size:2rem;display:grid}.block-card[data-colour=blue] .block-emblem{background:var(--cyan-soft)}.block-card[data-colour=green] .block-emblem{background:var(--mint-soft)}.block-card[data-colour=orange] .block-emblem{background:var(--sun-soft)}.block-card h3{font-size:1.7rem}.block-card p{margin:8px 0;font-size:.85rem}.block-card .compile-badge{background:var(--mint-soft);color:var(--good);border-radius:6px;padding:4px 8px;font-size:.7rem;font-weight:900;display:inline-block}.block-card .card-actions{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.block-card .card-actions button{font-size:.75rem}.empty-library{border:2px dashed var(--grape);text-align:center;background:var(--grape-soft);border-radius:18px;grid-column:1/-1;padding:32px}.empty-library h3{font-size:2rem}.empty-library p{max-width:600px;margin:12px auto}.redstone-lab dialog{border:2px solid var(--line);background:var(--panel);width:min(600px,100% - 28px);max-height:90dvh;color:var(--ink);border-radius:20px;margin:auto;padding:28px;overflow:auto;box-shadow:10px 14px #172c3233}.redstone-lab dialog::backdrop{backdrop-filter:blur(3px);background:#142d3ac2}.redstone-lab dialog p{margin:12px 0 18px;font-size:.9rem}.redstone-lab dialog label{gap:6px;margin:14px 0;display:grid}.redstone-lab dialog .check-label{align-items:center;gap:10px;display:flex}.form-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.redstone-lab #challenge-picker{width:min(940px,100% - 28px)}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.challenge-grid button{border:1.5px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;color:var(--ink);border-radius:12px;min-height:96px;padding:15px;font:800 .86rem Nunito,sans-serif}.challenge-grid button small{color:var(--muted);margin:5px 0;font-size:.67rem;display:block}.challenge-grid button[aria-pressed=true]{background:var(--cyan-soft);border:2px solid var(--cyan)}.port-setting{grid-template-columns:55px 1fr 135px;align-items:center;gap:8px;padding:6px 0;font-size:.75rem;display:grid}.redstone-lab .port-setting label{margin:3px 0}.workshop-notice:not(:empty){z-index:10;border:2px solid var(--line);background:var(--sun-soft);box-shadow:var(--shadow);border-radius:12px;margin-top:15px;padding:14px 20px;font-size:.9rem;font-weight:800;position:sticky;bottom:20px}.model-note{border-top:1px solid var(--line);color:var(--muted);margin:30px 0 10px;padding-top:18px;font-size:.8rem}.model-note p{margin-top:12px}.redstone-lab :is(button,input,select,summary):focus-visible{outline:3px solid var(--ring);outline-offset:3px}.redstone-lab .circuit-board button:focus-visible{outline-color:#fff}.redstone-lab input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);vertical-align:middle}@media (width<=850px){.workshop-layout{grid-template-columns:180px minmax(0,1fr);gap:10px}.mission-card{padding:17px}.mission-icon{display:none}.workshop-tabs button{padding:12px;font-size:.95rem}.workshop-tabs small{font-size:.65rem}.workshop-bottom{grid-template-columns:1fr}.board-scroll{max-height:550px}}@media (width<=600px){body:has(.redstone-lab) main{padding:20px 12px}.redstone-heading{align-items:flex-start;gap:10px}.redstone-heading>div:first-child{flex:1;min-width:0}.redstone-heading h1{font-size:2rem}.redstone-heading p{font-size:.85rem}.discovery-badge{flex-shrink:0;gap:4px;width:88px;padding:7px;font-size:.6rem;line-height:1.35}.discovery-badge>span:first-child{font-size:1.2rem}.redstone-heading h1 span{display:none}.workshop-tabs{gap:7px}.workshop-tabs button{text-align:center;flex-direction:column;padding:10px 5px;font-size:.8rem;display:flex}.workshop-tabs button>span{font-size:1.3rem}.workshop-tabs small{display:none}.mission-card{flex-wrap:wrap;gap:10px}.mission-copy{flex-basis:100%}.mission-copy h2{font-size:1.6rem}.mission-copy p{font-size:.85rem}.workshop-layout{grid-template-columns:1fr}#parts-content{max-height:245px}#palette{flex-wrap:wrap;gap:10px;display:flex}#palette fieldset{margin:5px 0}#palette fieldset>div{flex-wrap:wrap;display:flex}#palette button{min-width:72px;min-height:55px}#custom-palette{grid-template-columns:repeat(2,1fr)}.canvas-toolbar{padding:8px}.board-scroll{max-height:480px;padding:10px}.playbar{gap:10px}#simulation-state{width:100%}.library-intro{flex-direction:column;align-items:flex-start}.library-intro h2{font-size:2rem}.challenge-grid{grid-template-columns:1fr 1fr}.redstone-lab dialog{padding:20px}.port-setting{grid-template-columns:40px 1fr}.port-setting label:last-child{grid-column:2}.block-context{gap:8px}#editing-block{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.redstone-lab *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
