:root{color:#182f38;font-synthesis:none;--ink:#182f38;--muted:#54666c;--accent:#226648;--pale:#e8f0e9;--line:#d6ded8;--paper:#fff;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f6f7f4;font-family:Aptos,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-decoration:none}button{color:inherit}p{margin:0 0 1rem;line-height:1.65}h1,h2,h3{letter-spacing:-.035em;margin:0 0 1rem;line-height:1.15}h1{font-size:clamp(2.3rem,4.6vw,4rem)}h2{font-size:clamp(1.7rem,3vw,2.6rem)}h3{font-size:1.2rem}ul,ol{line-height:1.6}svg{flex-shrink:0}small,.small{font-size:.84rem}strong,b{font-weight:650}button,input,select,summary{min-height:44px}:focus-visible{outline-offset:4px;outline:3px solid #226648}input,select{color:var(--ink);background:#fff;border:1px solid #96a89d;border-radius:8px;width:100%;max-width:100%;margin:.5rem 0 1rem;padding:.85rem 1rem}input::placeholder{color:#5d6c70}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0;margin:0}input[type=checkbox]:focus-visible{outline-offset:3px}fieldset{border:0;min-width:0;margin:0;padding:0}legend,.question{width:100%;margin-bottom:1rem;font-size:1.12rem;font-weight:650;line-height:1.5;display:block}figure{margin:0}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.muted{color:var(--muted)}.lead{max-width:700px;font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.76rem;font-weight:650}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;min-height:48px;padding:.8rem 1.2rem;font-weight:650;line-height:1.3;display:inline-flex}.btn:hover:not(:disabled){background:#174d35}.btn.secondary{color:var(--ink);border-color:var(--line);background:0 0}.btn.secondary:hover:not(:disabled){background:var(--pale);border-color:var(--accent)}.text-button{min-height:44px;color:var(--accent);background:0 0;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 0;font-weight:600;display:inline-flex}.text-button:hover{text-decoration:underline}.inline-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.icon-button{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:44px;display:grid}.skip-link{z-index:100;background:var(--accent);color:#fff;padding:16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1320px;height:88px;margin:auto;padding:0 40px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:12px;font-size:1rem;font-weight:750;line-height:1.12;display:flex}.brand-second{color:var(--muted);font-weight:450;display:block}.brand-icon{width:44px;height:44px;color:var(--accent);border:1px solid #aec2b3;border-radius:12px;place-items:center;display:grid}.site-header nav{align-items:center;gap:30px;display:flex}.site-header nav a{align-items:center;gap:10px;min-height:44px;font-size:.91rem;display:flex}.site-header nav a:hover{color:var(--accent)}.home{max-width:1320px;margin:auto;padding:0 40px}.home-hero{padding:60px 0 44px}.home-hero h1{letter-spacing:-.065em;margin:19px 0;font-size:clamp(3.2rem,6.5vw,6rem);font-weight:550;line-height:1.02}.home-hero h1 span{color:var(--accent)}.hero-tagline{color:var(--muted);margin-bottom:0;font-size:1.25rem}.catalog{padding:20px 0 56px}.catalog-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.catalog-top h2{letter-spacing:-.025em;margin:0;font-size:1.45rem}.catalog-top>.muted{font-size:.88rem}.grade-tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:28px;display:flex}.grade-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:12px;padding:13px 22px;display:flex}.grade-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.grade-tabs button span{color:var(--muted);background:#e9ede7;border-radius:4px;padding:3px 7px;font-size:.72rem}.lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.lesson-card:hover{border-color:#779d86;transform:translateY(-4px);box-shadow:0 10px 24px #182f380b}.card-visual{color:#3e6250;background:#e7ece6;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:195px;display:flex;position:relative}.lesson-02 .card-visual{background:#eef0e9}.lesson-03 .card-visual{background:#e3e9e7}.lesson-04 .card-visual{background:#edf1e7}.visual-labels{letter-spacing:.03em;color:#496553;gap:10px;font-family:ui-monospace,monospace;font-size:.68rem;display:flex}.visual-labels span{border:1px solid #b6c9ba;border-radius:4px;padding:3px 7px}.card-content{flex-direction:column;flex:1;padding:21px;display:flex}.card-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:.74rem;display:flex}.card-meta span:last-child{align-items:center;gap:4px;display:flex}.card-content h3{letter-spacing:-.045em;min-height:3.2rem;font-size:1.35rem;line-height:1.18}.card-content p{color:var(--muted);margin-bottom:26px;font-size:.9rem;line-height:1.6}.card-bottom{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px;font-size:.82rem;font-weight:650;display:flex}.home-note{border-top:1px solid var(--line);align-items:center;gap:22px;padding:32px 0 42px;display:flex}.home-note>svg{color:var(--accent)}.home-note h2{margin:0 0 6px;font-size:1.12rem}.home-note p{color:var(--muted);margin:0;font-size:.9rem}.home-note a{white-space:nowrap;margin-left:auto}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:1240px;margin:30px auto 0;padding:28px 0 36px;display:flex}.site-footer strong{font-size:.86rem}.site-footer p{color:var(--muted);margin:6px 0 0;font-size:.8rem}.site-footer button{font-size:.8rem}.empty-state{text-align:center;border-radius:var(--radius);border:1px dashed #a8b9aa;padding:60px 24px}.empty-state>svg{color:var(--accent);margin-bottom:20px}.empty-state p{max-width:560px;color:var(--muted);margin:0 auto 24px}.lesson-shell{max-width:1100px;margin:auto;padding:32px 40px 0}.lesson-header{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.lesson-heading{width:100%;padding:14px 0 16px}.lesson-heading h1{margin-bottom:12px;font-size:clamp(2.2rem,4.3vw,3.4rem)}.lesson-heading>p:last-child{color:var(--muted);margin:0;font-size:1.05rem}.lesson-progress{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f7f4f5;padding:16px 0 10px;scroll-margin-top:0;position:sticky;top:0}.lesson-progress ol{grid-template-columns:repeat(6,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.lesson-progress button{width:100%;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:10px 2px;font-size:.77rem;display:flex}.lesson-progress button>span{border:1px solid #abb8b0;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.74rem;display:grid}.lesson-progress button.current{color:var(--accent)}.lesson-progress button.current>span{background:var(--accent);color:#fff;border-color:var(--accent)}.lesson-progress button.done>span{background:var(--pale);border-color:var(--accent);color:var(--accent)}.progress-track{background:#dce4dd;border-radius:3px;height:3px;margin-top:8px}.progress-track>span{background:var(--accent);height:3px;transition:width .2s;display:block}.lesson-stage{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:20px 0 32px;padding:40px}.stage-meta{color:var(--muted);justify-content:space-between;margin-bottom:20px;font-size:.8rem;display:flex}.lesson-stage h2{max-width:740px;font-size:clamp(1.9rem,3.5vw,2.8rem)}.lesson-stage h2:focus{outline:none}.stage-intro{color:var(--muted);max-width:720px;margin-bottom:28px;font-size:1.08rem}.activities{flex-direction:column;gap:28px;display:flex}.activity{min-width:0}.choices{gap:10px;margin-bottom:20px;display:grid}.choice{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:15px;width:100%;min-height:58px;padding:14px 18px;font-size:.98rem;line-height:1.4;display:flex}.choice:hover{background:#f8faf7;border-color:#7e9e88}.choice.selected,.selected{border-color:var(--accent)!important;background:#edf4ee!important}.choice>span:nth-child(2){flex:1}.choice-letter{border:1px solid var(--line);border-radius:5px;flex-shrink:0;place-items:center;width:27px;height:27px;font-family:ui-monospace,monospace;font-size:.8rem;display:grid}.feedback{background:var(--pale);border:1px solid #b5cdbb;border-radius:9px;gap:12px;margin-top:16px;padding:16px;font-size:.93rem;line-height:1.65;display:flex}.feedback>svg{color:var(--accent);margin-top:2px}.feedback.retry{background:#f6f5f1;border-color:#c9c7b8}.feedback ul{margin:8px 0;padding-left:18px}.info-card,.info-notice{border:1px solid var(--line);background:#f2f5f1;border-radius:9px;padding:18px 20px;line-height:1.6}.info-notice{color:var(--muted);margin:16px 0;font-size:.9rem}.stage-navigation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:32px;padding-top:26px;display:flex}.progress-caption{color:var(--muted);text-align:right;margin:16px 0 0;font-size:.76rem}.completion{border-radius:var(--radius);background:#f1f6ef;border:1px solid #a8c4ae;margin-top:30px;padding:28px}.completion>svg{color:var(--accent);margin-bottom:16px}.completion p{max-width:650px}.hardware-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.hardware-card{border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:20px;display:flex}.hardware-art{color:#496653;background:#f1f4ee;border-radius:8px;place-items:center;height:120px;margin-bottom:20px;display:grid}.hardware-card h3{margin:0 0 16px}.hardware-card dl{flex-direction:column;gap:10px;margin:0 0 20px;font-size:.8rem;display:flex}.hardware-card dl div{justify-content:space-between;gap:6px;display:flex}.hardware-card dt{color:var(--muted)}.hardware-card dd{text-align:right;margin:0}.price{letter-spacing:-.04em;margin:8px 0 20px;font-size:1.7rem;display:block}.hardware-card .btn{width:100%;margin-top:auto}.reveal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reveal-card{border:1px solid var(--line);background:#fafbf8;border-radius:10px;align-self:start}.reveal-card summary{align-items:center;gap:14px;padding:20px;display:flex}.reveal-card summary>svg:first-child{color:var(--accent)}.reveal-card summary>svg:last-child{margin-left:auto}.reveal-card strong{font-size:1.05rem;display:block}.reveal-card small{color:var(--muted);margin-top:6px;line-height:1.4;display:block}.reveal-card p{margin:0;padding:0 20px 20px;font-size:.95rem}.reveal-card[open] summary>svg:last-child,.scenario[open]>summary>svg:last-child{transform:rotate(180deg)}.computer-diagram{background:#f4f6f1;border-radius:10px;padding:24px}.computer-diagram>div{justify-content:center;align-items:center;gap:20px;display:flex}.computer-diagram span{flex-direction:column;align-items:center;gap:8px;font-family:ui-monospace,monospace;font-size:.9rem;display:flex}.computer-diagram b{color:#658b70;font-size:1.3rem}.computer-diagram figcaption{color:var(--muted);text-align:center;margin-top:24px;font-size:.83rem;line-height:1.6}.matching{flex-direction:column;gap:16px;display:flex}.match-row{border:1px solid var(--line);background:#f9faf7;border-radius:10px;grid-template-columns:1fr 1fr;align-items:center;gap:12px 20px;padding:20px;display:grid}.match-row label{font-weight:600;line-height:1.5}.match-row select{margin:0}.match-row .feedback{grid-column:1/-1;margin:0}.file-cloud{background:#f1f4ee;border-radius:12px;flex-wrap:wrap;gap:12px;padding:24px;display:flex}.file-cloud>span{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:6px;align-items:center;gap:8px;max-width:100%;padding:12px;font-size:.85rem;display:flex}.filename-demo{background:#f1f4ee;border-radius:10px;padding:24px}.filename-demo>div{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:clamp(.8rem,2.2vw,1.5rem)}.filename-demo strong{color:#174b30;background:#d7e9d8;padding:5px}.filename-demo p{color:var(--muted);margin:18px 0 0;font-size:.88rem}.file-tray{border:1px dashed #adbdaf;border-radius:10px;flex-wrap:wrap;gap:8px;min-height:70px;margin-bottom:14px;padding:16px;display:flex}.file-card{overflow-wrap:anywhere;background:#fff;border:1px solid #bac8bd;border-radius:7px;align-items:center;gap:8px;max-width:100%;padding:10px;font-size:.85rem;display:flex}.file-card[aria-pressed=true]{outline:2px solid var(--accent);background:var(--pale)}.folder-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.folder-target{border:1px solid var(--line);background:#f4f6f0;border-radius:10px;min-height:150px;padding:14px}.folder-target>button{width:100%;color:var(--accent);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:8px;display:flex}.folder-target>button:hover{border-color:var(--accent)}.folder-target ul{margin:10px 0 0;padding:0;font-size:.76rem;list-style:none}.folder-target li{overflow-wrap:anywhere;align-items:center;gap:5px;padding:4px 0;display:flex}.flow ol{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.flow li{background:#f0f5ef;border:1px solid #d4e0d2;border-radius:8px;align-items:flex-start;gap:16px;padding:16px;transition:background .2s;display:flex}.flow li.pending{border:1px dashed var(--line);color:#697a6e;background:#fafbf9}.step-number{border:1px solid #8ba58e;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-family:ui-monospace,monospace;font-size:.8rem;display:grid}.flow p{color:var(--muted);margin:5px 0 0;font-size:.93rem}.flow strong{line-height:1.5}.download-material{border:1px solid var(--line);background:#f3f6f0;border-radius:10px;align-items:center;gap:20px;padding:24px;display:flex}.download-material>svg{color:var(--accent)}.download-material p{color:var(--muted);margin:10px 0 0;font-size:.83rem}.checklist label{border-bottom:1px solid #e5eae3;align-items:center;gap:14px;padding:14px 0;line-height:1.5;display:flex}.micro-video{border:1px solid var(--line);background:#fafbf8;border-radius:10px}.micro-video>summary{align-items:center;gap:14px;padding:16px 20px;display:flex}.micro-video summary span{flex:1;font-size:.92rem;font-weight:600}.micro-video summary small{color:var(--muted);margin-top:5px;font-size:.75rem;font-weight:400;display:block}.micro-video>p{color:var(--muted);margin:0;padding:0 20px 20px;font-size:.9rem}.micro-video video{width:100%;max-height:450px}.micro-video>details{padding:16px}.connection-scene{background:#eaf0e8;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;padding:36px;display:flex}.connection-scene>div{flex-direction:column;align-items:center;gap:8px;display:flex}.connection-scene>p{text-align:center;color:#34563d;border:1px dashed #96ad96;border-radius:7px;width:100%;margin:0;padding:12px;font-family:ui-monospace,monospace}.cable{flex-direction:column;align-items:center;gap:6px;font-size:.8rem;display:flex}.scenarios{gap:12px;display:grid}.scenario{border:1px solid var(--line);border-radius:10px}.scenario>summary{align-items:center;gap:12px;padding:18px;font-size:1rem;font-weight:600;display:flex}.scenario-status{white-space:nowrap;color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.scenario>.activity{padding:8px 20px 20px}.laptop-edge{background:#e8eeea;border:1px solid #adbdb3;border-radius:12px;justify-content:space-around;gap:4px;margin-bottom:20px;padding:20px 8px;display:flex}.device-port{background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:10px;font-size:.76rem;display:flex}.port-shape{background:#263b35;border:3px solid #84958b;width:45px;height:21px;display:block;position:relative;box-shadow:inset 0 0 0 2px #d5ddd6}.port-shape i{background:#a6b5a8;height:4px;display:block;position:absolute;top:5px;left:6px;right:6px}.port-shape.usb-c{border-radius:20px;width:34px;height:17px}.port-shape.usb-c i{height:2px;top:4px}.port-shape.hdmi{clip-path:polygon(0 0,100% 0,100% 68%,82% 100%,18% 100%,0 68%)}.port-shape.jack{border-radius:50%;width:23px;height:23px}.port-shape.jack i{display:none}.port-shape.displayport{clip-path:polygon(0 0,100% 0,100% 100%,20% 100%,0 70%)}.port-detail{align-items:center;gap:28px;display:flex}.port-detail h3{margin-bottom:8px}.port-detail p{margin-bottom:8px;font-size:.95rem}.port-detail small{color:var(--muted)}.port-detail .plug{flex-shrink:0;margin:10px;transform:scale(1.3)}.phone-scene{color:#345e43;background:#edf2e9;border-radius:12px;justify-content:center;align-items:center;gap:34px;padding:32px 20px;display:flex}.phone-functions{flex-direction:column;gap:24px;display:flex}.phone-functions>span{align-items:center;gap:12px;font-size:.9rem;display:flex}.check-chips{flex-wrap:wrap;gap:10px;margin:16px 0 24px;display:flex}.check-chips label{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:13px 16px;display:flex}.activity>label:not(.question){margin:12px 0 0;display:block}dialog{border:1px solid var(--line);color:var(--ink);background:#fff}dialog::backdrop{background:#122b3559}.teacher-drawer{border:0;border-left:1px solid var(--line);width:min(520px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0}.drawer-content{padding:28px}.drawer-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.drawer-top>span{align-items:center;gap:10px;font-size:.9rem;font-weight:650;display:flex}.drawer-content h2{font-size:2rem}.time{color:var(--accent);align-items:center;gap:8px;font-size:.9rem;display:flex}.teacher-notes{margin:24px 0}.teacher-notes dt{color:var(--accent);margin:24px 0 8px;font-size:.82rem;font-weight:700}.teacher-notes dd{margin:0;font-size:.98rem;line-height:1.7}.drawer-content>.text-button{margin-top:20px}.reset-dialog{border-radius:var(--radius);width:calc(100% - 32px);max-width:500px;padding:30px}.reset-dialog h2{font-size:1.75rem}.teacher-index,.teacher-plan{max-width:1050px;margin:auto;padding:52px 40px}.teacher-list{flex-direction:column;gap:12px;margin:36px 0;display:flex}.teacher-list>a{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:24px;padding:24px;display:flex}.teacher-list>a:hover{border-color:var(--accent)}.teacher-list>a>span{color:var(--accent);font-family:ui-monospace,monospace;font-size:1.4rem}.teacher-list h2{margin:0 0 6px;font-size:1.25rem}.teacher-list p{color:var(--muted);margin:0;font-size:.85rem}.teacher-list svg{margin-left:auto}.plan-actions{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.plan-intro{grid-template-columns:1fr 1fr;gap:32px;margin-top:32px;display:grid}.teacher-plan h2{margin-top:32px;font-size:1.5rem}.teacher-plan h3{font-size:1.16rem;line-height:1.4}.teacher-plan p,.teacher-plan li{font-size:.95rem}.teacher-timeline{margin:24px 0;padding:0;list-style:none}.teacher-timeline>li{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:28px;padding:28px 0;display:grid}.timeline-time{color:var(--accent);padding-top:5px;font-family:ui-monospace,monospace;font-size:.8rem}.teacher-timeline p{margin:0 0 10px}.print-note{color:var(--muted);border-top:1px solid var(--line);padding-top:20px}@media (width>=1400px){.home-hero{padding-top:70px}.card-visual{height:205px}}@media (width<=1100px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-visual{height:175px}.card-content h3{min-height:0}.site-footer{margin-left:40px;margin-right:40px}.card-content p{max-width:320px}.lesson-shell{padding-left:28px;padding-right:28px}}@media (width<=700px){.site-header{height:76px;padding:0 20px}.site-header nav{gap:15px}.site-header nav>a{font-size:.78rem}.site-header nav>a>svg{display:none}.brand{gap:8px;font-size:.87rem}.brand-icon{border-radius:9px;width:36px;height:36px}.home{padding:0 20px}.home-hero{padding:38px 0 30px}.home-hero h1{font-size:3.7rem}.hero-tagline{font-size:1.05rem}.eyebrow{letter-spacing:.08em;font-size:.68rem}.catalog-top{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}.grade-tabs{justify-content:space-between;gap:0}.grade-tabs button{gap:6px;padding:12px 10px;font-size:.88rem}.grade-tabs button span{padding:2px 4px;font-size:.65rem}.lesson-grid{gap:16px}.card-visual{height:145px}.card-visual>svg{width:78px;height:78px}.card-content{padding:18px}.card-meta{margin-bottom:14px;font-size:.68rem}.card-content h3{font-size:1.18rem}.card-content p{font-size:.86rem}.home-note{flex-wrap:wrap;align-items:flex-start;gap:14px}.home-note>div{flex:1}.home-note a{margin:0 0 0 44px}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;margin-left:20px;margin-right:20px}.site-footer button{justify-content:flex-start}.lesson-shell{padding:22px 16px 0}.lesson-header{gap:8px}.lesson-header>.btn{padding:10px;font-size:.8rem}.lesson-header>.text-button{font-size:.82rem}.lesson-heading{padding:22px 0 10px}.lesson-heading>p:last-child{font-size:.95rem}.lesson-progress button{flex-direction:column;gap:5px;padding:6px 0;font-size:.61rem;line-height:1.2}.lesson-progress button>span{width:23px;height:23px}.lesson-progress ol{gap:1px}.lesson-stage{margin-top:12px;padding:24px 20px}.stage-meta{font-size:.73rem}.lesson-stage h2{font-size:1.9rem}.stage-intro{font-size:.98rem}.hardware-grid{grid-template-columns:1fr}.hardware-card{grid-template-columns:100px 1fr;gap:8px 18px;padding:16px;display:grid}.hardware-art{grid-row:1/3;height:100px;margin:0}.hardware-art>svg{width:85px;height:85px}.hardware-card h3,.hardware-card dl{margin:0}.hardware-card .price{align-self:center;margin:8px 0;font-size:1.3rem}.hardware-card .btn{align-self:end}.reveal-grid{grid-template-columns:1fr}.match-row{grid-template-columns:1fr;padding:16px}.folder-grid{grid-template-columns:1fr}.folder-target{min-height:80px}.folder-target>button{justify-content:flex-start}.folder-target ul{flex-wrap:wrap;gap:5px 15px;display:flex}.file-tray{padding:10px}.computer-diagram{padding:20px 12px}.computer-diagram>div{gap:10px}.computer-diagram>div svg{width:24px}.computer-diagram span{font-size:.76rem}.connection-scene{gap:18px;padding:24px 12px}.connection-scene>div svg{width:62px;height:62px}.laptop-edge{flex-wrap:wrap;gap:12px;padding:18px 6px}.device-port{min-width:78px}.port-detail{align-items:flex-start;gap:20px}.port-detail .plug{margin-top:20px}.scenario>summary{gap:10px;padding:16px;font-size:.9rem}.scenario-status{display:none}.scenario>.activity{padding:8px 14px 16px}.phone-scene{gap:8px;padding:26px 10px}.phone-scene>svg{width:95px}.phone-functions>span{gap:6px;font-size:.75rem}.phone-functions svg{width:20px}.download-material{align-items:flex-start;gap:12px;padding:18px}.download-material>svg{width:28px}.download-material .btn{font-size:.86rem}.choice{gap:10px;padding:13px;font-size:.94rem}.feedback{padding:14px;font-size:.9rem}.teacher-index,.teacher-plan{padding:36px 20px}.teacher-list>a{gap:16px;padding:18px}.teacher-timeline>li{grid-template-columns:1fr;gap:8px}.plan-intro{grid-template-columns:1fr;gap:0}.plan-actions{gap:12px}.plan-actions .btn{font-size:.85rem}.drawer-content{padding:22px}.stage-navigation{gap:15px}.stage-navigation>.btn{font-size:.88rem}.check-chips{gap:8px}.check-chips label{padding:12px;font-size:.9rem}}@media (width<=430px){.lesson-grid{grid-template-columns:1fr}.card-visual{height:160px}.card-content h3{font-size:1.4rem}.card-content p{max-width:none;margin-bottom:18px}.visual-labels{font-size:.72rem}.home-hero h1{font-size:3.4rem}.site-header nav>a:first-child{display:none}.grade-tabs button{padding:12px 8px}.lesson-stage{padding:22px 15px}.hardware-card{grid-template-columns:86px 1fr;gap:10px}.hardware-art{height:90px}.hardware-card dd{max-width:100px}.phone-functions>span{font-size:.68rem}.phone-scene>svg{width:75px}.computer-diagram>div{gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.lesson-card:hover{transform:none}}@page{size:A4;margin:16mm}@media print{body{color:#000;background:#fff;font-family:Arial,sans-serif}.site-header,.site-footer,.plan-actions,.skip-link,.teacher-drawer,.reset-dialog{display:none!important}.teacher-plan{max-width:none;padding:0}.teacher-plan h1{font-size:24pt}.teacher-plan h2{break-after:avoid;margin-top:18pt;font-size:14pt}.teacher-plan h3{break-after:avoid;font-size:11pt}.teacher-plan p,.teacher-plan li{font-size:9.5pt;line-height:1.45}.teacher-plan .lead{font-size:11pt}.teacher-timeline>li{break-inside:avoid;grid-template-columns:82px 1fr;gap:16px;padding:14pt 0}.timeline-time{color:#222;font-size:9pt}.plan-intro{gap:20pt}.print-note{font-size:8pt!important}.teacher-plan .eyebrow{color:#333;font-size:8pt}.teacher-timeline p{margin-bottom:6pt}a{color:#000}.lesson-shell{padding:0}.lesson-progress{position:static}.lesson-stage{border:0;padding:0}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-footer.project-footer{padding-top:32px;display:block}.footer-project-intro{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.footer-project-intro>div{max-width:820px}.footer-project-intro strong{font-size:1rem}.footer-project-intro p{margin-top:10px;font-size:.9rem}.footer-project-intro>.text-button{white-space:nowrap;flex-shrink:0;font-size:.9rem}.project-logos{background:#fff;border-radius:10px;align-items:center;gap:48px;margin:26px 0 20px;padding:24px 30px;display:flex}.project-logos a{justify-content:center;align-items:center;min-height:44px;display:flex}.project-logos img{object-fit:contain;max-width:100%;height:auto;display:block}.project-logos .logo-win4smes{width:80px}.project-logos .logo-cove{width:170px}.project-logos .eu-logo-link{flex:0 280px;max-width:280px;margin-left:auto}.project-logos .logo-eu{width:280px}.project-links{flex-wrap:wrap;align-items:center;gap:4px 24px;display:flex}.project-links a,.footer-partners a,.project-resource-links a{min-height:44px;color:var(--accent);text-underline-offset:4px;align-items:center;gap:7px;font-size:.85rem;text-decoration:underline;display:inline-flex}.project-links a:hover,.footer-partners a:hover,.project-resource-links a:hover{text-decoration-thickness:2px}.footer-partners{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 20px;margin:5px 0 18px;font-size:.78rem;display:flex}.footer-partners a{font-size:.78rem}.project-footer .funding-disclaimer{max-width:1080px;color:var(--muted);margin:8px 0 28px;font-size:.76rem;line-height:1.7}.footer-utility{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:23px;display:flex}.project-page{max-width:1020px;margin:auto;padding:30px 40px 20px}.project-page-header{padding:30px 0 18px}.project-page-header h1{font-size:clamp(2.1rem,4.5vw,3.8rem);line-height:1.1}.project-page-header .lead{max-width:820px;color:var(--muted);margin-bottom:10px}.project-page>section{border-top:1px solid var(--line);padding:32px 0}.project-page section>p{max-width:820px}.project-page h2{font-size:1.7rem;line-height:1.3}.project-page p{font-size:1rem;line-height:1.8}.project-page a>svg{vertical-align:middle;margin-left:5px}.method-list{grid-template-columns:1fr 1fr;gap:28px 36px;margin:28px 0;display:grid}.method-list article{align-items:flex-start;gap:16px;display:flex}.method-list article>svg{color:var(--accent);margin-top:3px}.method-list h3{letter-spacing:-.025em;margin-bottom:8px;font-size:1.13rem;line-height:1.3}.method-list p{color:var(--muted);margin:0;font-size:.94rem}.partner-list{margin:25px 0 8px}.partner-list article{padding:15px 0}.partner-list h3{letter-spacing:-.02em;margin-bottom:8px;font-size:1.12rem;line-height:1.4}.partner-list h3 a{text-underline-offset:4px;min-height:44px;padding:9px 0;-webkit-text-decoration:underline #aabfaf;text-decoration:underline #aabfaf;display:inline-block}.partner-list p{color:var(--muted);margin:0}.project-resource-links{flex-wrap:wrap;gap:5px 28px;display:flex}@media (width<=1000px){.project-logos{gap:30px}.project-logos .logo-win4smes{width:64px}.project-logos .logo-cove{width:135px}.project-logos .eu-logo-link{flex-basis:260px;max-width:260px}.project-logos .logo-eu{width:260px}}@media (width<=700px){.footer-project-intro{display:block}.footer-project-intro>.text-button{margin-top:8px}.project-logos{flex-wrap:wrap;justify-content:center;gap:20px 36px;padding:22px 18px}.project-logos .logo-win4smes{width:48px}.project-logos .logo-cove{width:110px}.project-logos .eu-logo-link{flex-basis:100%;max-width:100%;margin:0}.project-logos .logo-eu{width:240px}.project-links{gap:0 18px}.project-links a{font-size:.81rem}.footer-partners{display:block}.footer-partners>span{margin-top:12px;display:block}.footer-partners a{width:fit-content;display:flex}.footer-utility{flex-direction:column;align-items:flex-start;gap:10px}.project-page{padding:24px 20px}.project-page-header{padding-top:22px}.project-page-header h1{font-size:2.4rem}.project-page-header h1 br{display:none}.project-page-header .lead{font-size:1.02rem}.method-list{grid-template-columns:1fr;gap:24px}.project-page>section{padding:27px 0}.project-page h2{font-size:1.5rem}.project-page p{font-size:.95rem}}@media print{.site-footer.project-footer{break-inside:avoid;margin:18pt 0 0;padding:12pt 0 0;display:block!important}.footer-project-intro,.project-links,.footer-partners,.footer-utility{display:none!important}.project-logos{flex-wrap:nowrap;justify-content:flex-start;gap:22pt;margin:0 0 9pt;padding:0}.project-logos .logo-win4smes{width:40pt}.project-logos .logo-cove{width:80pt}.project-logos .eu-logo-link{flex:0 250pt;max-width:250pt;margin-left:auto}.project-logos .logo-eu{width:250pt}.project-footer .funding-disclaimer{color:#222;margin:0;font-size:7pt;line-height:1.45}.project-page{padding:0}.project-page>.text-button{display:none}.project-page h1{font-size:24pt}.project-page h2{break-after:avoid;font-size:15pt}.project-page section,.method-list article,.partner-list article{break-inside:avoid}.project-page p{font-size:10pt}.project-page-header h1 br{display:none}:root{color:#000;background:#fff}}.hardware-reference{background:#edf3eb;border:1px solid #becfbe;border-radius:12px;padding:20px}.hardware-reference>h3{margin-bottom:16px;font-size:1rem}.hardware-reference>div{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.hardware-reference section{background:#fff;border-radius:8px;padding:16px}.hardware-reference h4{justify-content:space-between;gap:8px;margin:0 0 12px;display:flex}.hardware-reference h4 span{color:#365e44;font-size:.85rem}.hardware-reference dl{margin:0;font-size:.85rem}.hardware-reference dl div{justify-content:space-between;gap:10px;margin:8px 0;display:flex}.hardware-reference dt{color:#536358}.hardware-reference dd{text-align:right;margin:0}.hardware-reference>p{color:#536358;margin:14px 0 0;font-size:.75rem}.activities:has(.hardware-reference){grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.activities:has(.hardware-reference)>.hardware-reference{grid-area:1/2;position:sticky;top:100px}.activities:has(.hardware-reference)>.activity{grid-area:1/1}.activities:has(.hardware-reference) .hardware-reference>div{grid-template-columns:1fr}@media (width<=900px){.activities:has(.hardware-reference){flex-direction:column;display:flex}.activities:has(.hardware-reference)>.hardware-reference{width:100%;position:static}.activities:has(.hardware-reference)>.activity{width:100%}.activities:has(.hardware-reference) .hardware-reference>div{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.activities:has(.hardware-reference) .hardware-reference>div{grid-template-columns:1fr}.hardware-reference section{padding:12px}}
