:root{--ink:#17243a;--ink-soft:#536176;--navy:#17243a;--navy-2:#233657;--blue:#315ce8;--blue-dark:#2548bd;--blue-pale:#edf2ff;--orange:#f59e47;--orange-pale:#fff4e7;--green:#1b9a78;--green-pale:#e8f7f1;--surface:#fff;--canvas:#f4f6fa;--line:#dfe4ed;--line-strong:#c7ceda;--shadow:0 14px 40px #1927411a;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #315ce861}.skip-link{z-index:100;color:var(--blue-dark);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:750;position:fixed;top:10px;left:-999px}.skip-link:focus{left:12px}.site{min-height:100vh}.topbar{z-index:50;border-bottom:4px solid var(--orange);background:var(--navy);color:#fff;align-items:center;gap:14px;height:72px;padding:0 28px;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 4px 18px #101a2d33}.brand-mark{background:linear-gradient(135deg, #ffffff2e, transparent), var(--blue);letter-spacing:-1px;border:2px solid #ffffff8c;border-radius:11px;place-items:center;width:42px;height:42px;font-family:SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:800;display:grid}.brand-copy{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-copy strong{letter-spacing:.09em;font-size:15px}.brand-copy span{color:#aebbd1;letter-spacing:.04em;margin-top:5px;font-size:11px}.local-badge{color:#d9e2f2;background:#ffffff12;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:7px;margin-left:18px;padding:7px 12px;font-size:12px;display:flex}.local-badge span{color:#63d5ad;font-size:9px}.top-progress{color:#bdc7d7;align-items:baseline;gap:9px;margin-left:auto;font-size:12px;display:flex}.top-progress strong{color:#fff;font-size:20px}.menu-button{background:0 0;border:0;width:40px;height:40px;padding:8px;display:none}.menu-button span{background:#fff;border-radius:2px;width:22px;height:2px;margin:4px auto;display:block}.app-shell{grid-template-columns:310px minmax(0,1fr);min-height:100vh;padding-top:72px;display:grid}.sidebar{z-index:30;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:310px;display:flex;position:fixed;inset:72px auto 0 0;overflow-y:auto}.sidebar-heading{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;gap:15px;padding:23px 20px;display:grid}.progress-orb{background:conic-gradient(var(--blue) var(--progress), #e7eaf1 var(--progress));border-radius:50%;place-items:center;width:70px;height:70px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #17243a0a}.progress-orb:before{content:"";background:#fff;border-radius:50%;width:54px;height:54px;position:absolute}.progress-orb div{z-index:1;text-align:center;flex-direction:column;display:flex;position:relative}.progress-orb strong{font-size:17px}.progress-orb span{color:var(--ink-soft);font-size:10px}.sidebar-heading p,.eyebrow,.section-heading p,.workspace-heading p{color:var(--blue);letter-spacing:.16em;margin:0;font-size:10px;font-weight:800}.sidebar-heading h2{margin:3px 0;font-size:20px}.sidebar-heading>div>span{color:var(--ink-soft);font-size:11px}.stage-list{flex-direction:column;flex:1;padding:12px 10px;display:flex}.stage-link{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;padding:11px 10px;transition:background .15s,transform .15s;display:grid;position:relative}.stage-link:hover{background:#f4f6fb}.stage-link.active{background:var(--blue-pale)}.stage-link.active:before{background:var(--blue);content:"";border-radius:0 6px 6px 0;width:4px;position:absolute;inset:9px auto 9px 0}.stage-number{border:1px solid var(--line-strong);color:#758197;background:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;display:grid}.stage-link.complete .stage-number{background:var(--green-pale);color:var(--green);border-color:#a8dccb}.stage-link.optional .stage-number{background:var(--orange-pale);color:#c46a12;border-color:#f6c98d}.stage-link-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.stage-link-copy small{color:#8993a4;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:800;overflow:hidden}.stage-link-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.stage-link.active .stage-link-copy strong{color:var(--blue-dark)}.stage-chevron{color:#a7afbc;font-size:22px}.reset-progress{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;margin:8px 20px 20px;padding:10px;font-size:11px}.content{grid-column:2;min-width:0}.lesson-toolbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;height:54px;padding:0 34px;display:flex;position:sticky;top:72px}.breadcrumbs{color:#8993a4;align-items:center;gap:9px;font-size:11px;display:flex}.breadcrumbs strong{color:var(--ink);letter-spacing:.08em}.lesson-nav{gap:8px;display:flex}.lesson-nav button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;padding:7px 11px;font-size:11px}.lesson-nav button:disabled,.lesson-footer button:disabled{cursor:not-allowed;opacity:.4}.lesson{width:min(1180px,100% - 64px);margin:30px auto 70px}.lesson-hero{background:radial-gradient(circle at 90% 10%,#315ce829,#0000 30%),linear-gradient(135deg,#fff 0%,#f5f7ff 68%,#eef2ff 100%);border:1px solid #d8e0f3;border-radius:24px;padding:34px 38px 30px;position:relative;overflow:hidden;box-shadow:0 10px 30px #31477812}.lesson-hero:after{content:"";border:22px solid #315ce80f;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-66px;right:-42px}.hero-topline{z-index:1;color:#738099;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:relative}.stage-pill{background:var(--blue);color:#fff;letter-spacing:.13em;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:800}.stage-pill.optional{background:#cf731f}.stage-kicker{color:var(--blue);letter-spacing:.16em;margin:25px 0 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.lesson-hero h1{z-index:1;letter-spacing:-.045em;margin:0;font-size:clamp(31px,4vw,48px);line-height:1.12;position:relative}.english-title{color:#8490a5;margin:8px 0 0;font-size:15px;font-weight:550}.hero-summary{z-index:1;color:#46556e;max-width:760px;margin:22px 0 28px;font-size:16px;line-height:1.8;position:relative}.hero-meta{z-index:1;border-top:1px solid #d8dfec;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);max-width:780px;padding-top:20px;display:grid;position:relative}.hero-meta div{flex-direction:column;gap:5px;min-width:0;padding-right:24px;display:flex}.hero-meta div+div{border-left:1px solid #d8dfec;padding-left:24px}.hero-meta span{color:#8b96a8;letter-spacing:.08em;font-size:10px;font-weight:700}.hero-meta strong{text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow:hidden}.segmented-tabs{border:1px solid var(--line);background:#fff;border-radius:12px;margin:24px 0 18px;padding:4px;display:inline-flex;box-shadow:0 4px 14px #17243a0d}.segmented-tabs button{color:#6f7b8f;cursor:pointer;background:0 0;border:0;border-radius:9px;min-width:150px;padding:10px 17px;font-size:13px;font-weight:650}.segmented-tabs button span{color:#a4adba;margin-left:5px;font-size:10px}.segmented-tabs button.active{background:var(--navy);color:#fff}.segmented-tabs button.active span{color:#b9c4d6}.lesson-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.main-column,.side-column{flex-direction:column;gap:20px;min-width:0;display:flex}.side-column{position:sticky;top:146px}.content-card,.check-card,.command-card,.ap-card,.workspace-panel,.board-lab{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 20px #17243a0e}.content-card{padding:27px 30px 30px}.section-heading{align-items:center;gap:13px;margin-bottom:22px;display:flex}.section-index{background:var(--blue-pale);width:34px;height:34px;color:var(--blue);border-radius:10px;flex:none;place-items:center;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800;display:grid}.section-heading h2,.workspace-heading h2{margin:3px 0 0;font-size:19px}.goal-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.goal-list li{color:#405069;background:#f7f8fc;border-left:3px solid #96abed;border-radius:0 9px 9px 0;padding:13px 15px;font-size:14px;line-height:1.65;position:relative}.task-list{gap:17px;margin:0;padding:0;list-style:none;display:grid}.task-list li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:13px;display:grid}.task-list li>span{width:30px;height:30px;color:var(--blue);border:1px solid #d5dced;border-radius:50%;place-items:center;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;display:grid}.task-list p{color:#405069;margin:3px 0 0;font-size:14px;line-height:1.75}.code-card{background:var(--navy);color:#fff;border-color:#263957;overflow:hidden}.section-heading.inverse p{color:#90a8f5}.section-heading.inverse .section-index{color:#a9bcff;background:#6e8fff29}.copy-button{color:#dbe4f4;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;margin-left:auto;padding:7px 11px;font-size:11px}pre{border-top:1px solid #ffffff1a;margin:0;padding-top:22px;overflow-x:auto}pre code{color:#d8e3fb;white-space:pre;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.75}.hint-stack{gap:10px;display:grid}.hint-stack details{border:1px solid var(--line);background:#fbfcfe;border-radius:11px;overflow:hidden}.hint-stack summary{color:#33425a;cursor:pointer;padding:14px 16px;font-size:13px;font-weight:700}.hint-stack details[open] summary{border-bottom:1px solid var(--line);background:var(--blue-pale);color:var(--blue-dark)}.hint-stack p{color:#536176;margin:0;padding:15px 16px 17px;font-size:13px;line-height:1.75}.check-card,.command-card,.ap-card{padding:24px}.check-card h2,.command-card h2,.ap-card h2{margin:5px 0 17px;font-size:19px}.check-card ul{gap:13px;margin:0 0 21px;padding:0;list-style:none;display:grid}.check-card li{color:#4c5b70;grid-template-columns:20px 1fr;gap:8px;font-size:12px;line-height:1.6;display:grid}.check-card li span{background:var(--green-pale);width:18px;height:18px;color:var(--green);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.complete-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:12px 14px;font-size:12px;font-weight:750;transition:background .15s,transform .15s}.complete-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.complete-button.completed{background:var(--green)}.command-card{background:#fffaf5}.command-card .eyebrow{color:#c46713}.command-card code{color:#7d4a1b;white-space:nowrap;background:#fff;border:1px solid #f0d5b5;border-radius:9px;padding:12px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:block;overflow-x:auto}.command-card button{color:#a55a15;cursor:pointer;background:0 0;border:1px solid #e6c093;border-radius:9px;width:100%;margin-top:10px;padding:9px;font-size:11px;font-weight:700}.ap-card{background:radial-gradient(circle at 100% 0, #ffffff21, transparent 35%), var(--navy);color:#fff;overflow:hidden}.ap-card>span{background:var(--orange);color:#38220e;letter-spacing:.1em;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-block}.ap-card p{color:#b9c6da;margin:0;font-size:12px;line-height:1.75}.workspace-grid{grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);align-items:start;gap:20px;display:grid}.workspace-panel,.board-lab{padding:28px}.workspace-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}.workspace-heading>span{background:var(--blue-pale);color:var(--blue);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750}.workspace-heading>button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;padding:8px 11px;font-size:11px}.lab-actions{gap:7px;display:flex}.lab-actions button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;padding:8px 11px;font-size:11px}.lab-actions button:disabled{cursor:not-allowed;opacity:.45}.test-cases{gap:11px;margin:0;padding:0;list-style:none;display:grid}.test-cases li{border:1px solid var(--line);border-radius:11px;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.test-cases li>span{background:var(--navy);color:#fff;border-radius:7px;place-items:center;height:30px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;display:grid}.test-cases p{color:#45546b;margin:0;font-size:12px;line-height:1.55}.workspace-note{border-left:4px solid var(--orange);background:var(--orange-pale);border-radius:0 10px 10px 0;margin-top:20px;padding:15px 17px}.workspace-note strong{color:#8c4a10;font-size:12px}.workspace-note p{color:#725235;margin:5px 0 0;font-size:12px;line-height:1.7}.board-instructions{color:var(--ink-soft);margin:-9px 0 17px;font-size:12px}.board-status{color:#46556d;background:#f4f6fa;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:10px;font-size:12px;font-weight:650;display:flex}.turn-dot{border-radius:50%;width:10px;height:10px}.turn-dot.player-1{background:#f2c84b}.turn-dot.player-2{background:#ef655f}.column-buttons{grid-template-columns:repeat(7,1fr);gap:7px;max-width:470px;margin:0 auto 8px;display:grid}.column-buttons button{color:var(--blue-dark);cursor:pointer;background:#edf2ff;border:1px solid #bfd0ff;border-radius:8px;padding:7px 0;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.column-buttons button:hover:not(:disabled){border-color:var(--blue);background:var(--blue);color:#fff}.demo-board{background:#2d58db;border-radius:17px;grid-template-columns:repeat(7,1fr);gap:8px;max-width:470px;margin:0 auto;padding:14px;display:grid;box-shadow:inset 0 -8px #13329061,0 14px 26px #1e43b333}.board-cell{aspect-ratio:1;background:#1d45bd;border-radius:50%;padding:10%;box-shadow:inset 0 2px 5px #091c5366}.board-cell span{color:#0000;background:#f0f2f7;border-radius:50%;place-items:center;width:100%;height:100%;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(10px,2vw,19px);font-weight:900;display:grid;box-shadow:inset 0 3px 5px #1f335929}.board-cell.player-1 span{color:#6e5100;background:#f4ca4c;box-shadow:inset 0 3px 4px #ffffff73,inset 0 -4px 4px #a06f0033}.board-cell.player-2 span{color:#fff;background:#ed625e;box-shadow:inset 0 3px 4px #ffffff59,inset 0 -4px 4px #811a162e}.coordinate-note{color:#8a95a7;justify-content:space-between;max-width:470px;margin:12px auto 0;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;display:flex}.lesson-footer{border-top:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(100px,.6fr) minmax(160px,1fr);align-items:center;gap:20px;margin-top:26px;padding-top:22px;display:grid}.lesson-footer button{color:#43526a;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;min-width:0;font-size:12px;font-weight:650;display:flex}.lesson-footer button:last-child{text-align:right}.lesson-footer button span{color:#9aa3b1;letter-spacing:.14em;margin-bottom:4px;font-size:8px;font-weight:800}.footer-progress{background:#e3e7ef;border-radius:999px;height:5px;overflow:hidden}.footer-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #6d8cff);height:100%;transition:width .25s;display:block}.sidebar-scrim{display:none}@media (width<=1120px){.app-shell{grid-template-columns:280px minmax(0,1fr)}.sidebar{width:280px}.lesson-grid{grid-template-columns:minmax(0,1fr) 280px}.workspace-grid{grid-template-columns:1fr}}@media (width<=900px){.menu-button{display:block}.brand-mark,.local-badge{display:none}.app-shell{display:block}.sidebar{box-shadow:var(--shadow);transition:transform .18s;transform:translate(-102%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:25;opacity:0;pointer-events:none;background:#0f18286b;transition:opacity .18s;display:block;position:fixed;inset:72px 0 0}.sidebar-scrim.visible{opacity:1;pointer-events:auto}.content{grid-column:auto}.lesson-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr;display:grid;position:static}.ap-card{grid-column:1/-1}}@media (width<=640px){.topbar{height:64px;padding:0 14px}.brand-copy strong{font-size:12px}.brand-copy span,.top-progress span{display:none}.top-progress strong{font-size:16px}.app-shell{padding-top:64px}.sidebar{width:min(88vw,320px);top:64px}.sidebar-scrim{top:64px}.lesson-toolbar{height:48px;padding:0 15px;top:64px}.breadcrumbs{text-overflow:ellipsis;white-space:nowrap;max-width:53%;overflow:hidden}.lesson-nav button{padding:6px 8px;font-size:0}.lesson-nav button:first-child:after{content:"←";font-size:14px}.lesson-nav button:last-child:after{content:"→";font-size:14px}.lesson{width:calc(100% - 24px);margin-top:14px}.lesson-hero{border-radius:18px;padding:24px 20px}.lesson-hero h1{font-size:30px}.hero-summary{font-size:14px}.hero-meta{grid-template-columns:1fr;gap:14px}.hero-meta div+div{border-top:1px solid #d8dfec;border-left:0;padding-top:14px;padding-left:0}.segmented-tabs{grid-template-columns:1fr 1fr;display:grid}.segmented-tabs button{min-width:0;padding:10px 12px}.segmented-tabs button span{display:none}.content-card,.workspace-panel,.board-lab{padding:22px 18px}.side-column{display:flex}.workspace-heading{align-items:flex-start}.demo-board{border-radius:13px;gap:5px;padding:9px}.column-buttons{gap:5px}.coordinate-note{font-size:8px}.lesson-footer{grid-template-columns:1fr 1fr}.footer-progress{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.task-navigation{gap:9px}.task-group{gap:2px;display:grid}.task-group+.task-group{border-top:1px solid var(--line);padding-top:9px}.task-group h3{color:#7b8799;letter-spacing:.14em;margin:2px 10px 5px;font-size:9px}.method-link{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;min-height:58px;padding-block:8px}.method-link .stage-number{width:38px;height:30px;font-size:10px}.method-link.locked{cursor:not-allowed;opacity:.62}.method-link.locked:hover{background:0 0}.task-status{color:#68758a;text-align:center;background:#edf0f5;border-radius:999px;max-width:48px;padding:4px 6px;font-size:8px;font-weight:800;line-height:1.25}.method-link.complete .task-status{background:var(--green-pale);color:#08745a}.method-link.active .task-status{color:var(--blue-dark);background:#dce6ff}.task-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.verification-badge{color:#55647a;background:#fff;border:1px solid #cfd8eb;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:750}.verification-badge.optional{background:var(--orange-pale);color:#9b5517;border-color:#f0c58d}.hero-meta strong{white-space:normal}.storage-banner{background:var(--blue-pale);color:#294388;border:1px solid #b8c9f3;border-radius:12px;margin-bottom:14px;padding:12px 15px;font-size:12px;line-height:1.6}.storage-banner.warning{background:var(--orange-pale);color:#7b4818;border-color:#efc48f}.test-data-card{overflow:hidden}.expected-output{color:#35445b;margin:0;font-size:14px;line-height:1.75}.output-example{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:20px;display:grid}.output-example>div{min-width:0}.output-example span{color:#6b778b;letter-spacing:.08em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.output-example pre{color:#eef3ff;white-space:pre-wrap;overflow-wrap:anywhere;background:#17253b;border:0;border-radius:10px;min-height:86px;padding:14px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.65;overflow-x:auto}.table-scroll{overflow-x:auto}.test-data-table{border-collapse:collapse;color:#3f4f67;width:100%;font-size:12px;line-height:1.55}.test-data-table caption{color:#667389;text-align:left;padding:0 0 12px}.test-data-table th,.test-data-table td{border:1px solid var(--line);vertical-align:top;text-align:left;min-width:170px;padding:12px}.test-data-table tbody td:last-child{white-space:pre-wrap}.test-data-table th:first-child{min-width:145px;font-family:SFMono-Regular,Consolas,monospace}.test-data-table thead th{color:#2f4059;letter-spacing:.06em;background:#f1f4fa;font-size:10px}.test-data-table tbody th{color:var(--blue-dark);background:#fafbfd}.dependency-card h2,.submission-card h2,.final-card h2{margin:5px 0 14px;font-size:19px}.dependency-list{margin-bottom:13px!important}.dependency-list li div{flex-direction:column;gap:2px;min-width:0;display:flex}.dependency-list li strong{color:#32435c;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.dependency-list li small{color:#667389;font-size:10px;line-height:1.45}.empty-dependencies,.locked-explanation{color:#536176;margin:0;font-size:12px;line-height:1.65}.locked-explanation{border-left:3px solid var(--orange);background:var(--orange-pale);color:#704616;margin-top:12px;padding:10px 11px}.submission-card,.final-card{border:1px solid var(--line);border-radius:var(--radius);background:#fffaf5;padding:24px;box-shadow:0 6px 20px #17243a0e}.submission-card{order:-1}.submission-card>p:not(.eyebrow),.final-card>p:not(.eyebrow){color:#56647a;margin:0 0 15px;font-size:12px;line-height:1.65}.submission-card.passed{background:#f5fcf9;border-color:#a6dac9}.submission-card.failed{background:#fff8f7;border-color:#efb7b1}.bridge-status{color:#667389;background:#edf0f5;border-radius:999px;align-items:center;margin:-5px 0 12px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.bridge-status.connected{background:var(--green-pale);color:#08745a}.snippet-editor{margin-bottom:14px}.snippet-editor label{color:#32435c;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.snippet-editor p{color:#667389;margin:0 0 9px;font-size:10px;line-height:1.5}.snippet-method-frame{border:1px solid var(--line-strong);background:#17253b;border-radius:10px;overflow:hidden}.snippet-method-line{color:#bfd0ec;overflow-wrap:anywhere;white-space:pre-wrap;padding:9px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;display:block}.snippet-editor textarea{resize:vertical;color:#eef3ff;tab-size:4;background:#17253b;border:1px solid #34445c;border-left:0;border-right:0;border-radius:0;width:100%;min-height:170px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.6;display:block}.snippet-editor textarea:focus-visible{outline-offset:-2px;outline:2px solid #85a5ff}.snippet-editor textarea::placeholder{color:#8e9bb0}.snippet-editor textarea:disabled{cursor:wait;opacity:.68}.task-action-buttons{gap:9px;display:grid}.editor-button{width:100%;color:var(--blue-dark);cursor:pointer;background:#fff;border:1px solid #aabbe7;border-radius:10px;padding:11px 13px;font-size:11px;font-weight:750}.editor-button:hover{border-color:var(--blue);background:var(--blue-pale)}.submission-card .complete-button:disabled,.submission-card .editor-button:disabled,.final-card button:disabled{cursor:not-allowed;opacity:.48}.bridge-notice{color:#7e4c19;background:#fff;border:1px solid #eac28f;border-radius:9px;margin-bottom:12px;padding:10px;font-size:11px;line-height:1.55}.cloud-access{background:#f7f9ff;border:1px solid #cdd8ee;border-radius:10px;margin-bottom:14px;padding:12px}.cloud-access label{color:#32435c;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.cloud-access input{width:100%;color:var(--ink);background:#fff;border:1px solid #aebbd1;border-radius:8px;padding:10px 11px;font-size:12px}.cloud-access input:disabled{cursor:wait;opacity:.68}.cloud-access p{color:#667389;margin:7px 0 0;font-size:9px;line-height:1.55}.evidence-summary{border-top:1px solid #43567429;margin-top:15px;padding-top:14px}.evidence-summary>strong{color:#08745a;font-size:12px}.submission-card.failed .evidence-summary>strong{color:#a13f36}.evidence-summary dl{gap:8px;margin:12px 0 0;display:grid}.evidence-summary dl div{grid-template-columns:70px minmax(0,1fr);gap:8px;display:grid}.evidence-summary dt{color:#778398;font-size:10px}.evidence-summary dd{overflow-wrap:anywhere;color:#374861;min-width:0;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.submission-diagnostics,.submission-tests{margin-top:14px}.submission-diagnostics>span,.submission-tests>span{color:#4f5f75;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.submission-diagnostics pre{color:#f3f6fb;white-space:pre-wrap;overflow-wrap:anywhere;background:#17253b;border:1px solid #39485f;border-radius:8px;max-height:260px;margin:0;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;line-height:1.55;overflow:auto}.submission-tests ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.submission-tests li{background:#fff;border:1px solid #e8b6b1;border-radius:8px;padding:9px 10px}.submission-tests li.passed{background:#f8fcfa;border-color:#b9ddcf}.submission-tests li>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.submission-tests li strong{color:#a13f36;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.submission-tests li.passed strong{color:#08745a}.submission-tests li small{color:#7b8799;font-size:9px}.submission-tests li p{color:#56647a;margin:7px 0 0;font-size:10px;line-height:1.5}.submission-tests li dl{gap:4px;margin:7px 0 0;display:grid}.submission-tests li dl div{grid-template-columns:38px minmax(0,1fr);gap:6px;display:grid}.submission-tests li dt{color:#7b8799;font-size:9px}.submission-tests li dd{overflow-wrap:anywhere;color:#374861;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.final-card{background:#f7f9fd}.final-card button{width:100%;color:var(--blue-dark);cursor:pointer;background:#fff;border:1px solid #aabbe7;border-radius:9px;padding:10px;font-size:11px;font-weight:750}.final-card>span{color:#69768b;text-align:center;margin-top:9px;font-size:10px;display:block}.ap-card small{color:#9eacc1;border-top:1px solid #ffffff24;margin-top:14px;padding-top:12px;font-size:9px;line-height:1.6;display:block}.single-lab{grid-template-columns:minmax(0,1fr)}.lab-guide>p{color:#536176;margin:-5px 0 18px;font-size:12px;line-height:1.65}.lab-guide>p code{font-family:SFMono-Regular,Consolas,monospace}.test-cases p strong{color:var(--blue-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.task-notice{color:#4c5b70;background:#fff;border:1px solid #cdd6e7;border-radius:11px;margin-top:18px;padding:12px 15px;font-size:12px;line-height:1.55}@media (width<=1120px){.single-lab{grid-template-columns:1fr}}@media (width<=900px){.submission-card,.final-card,.dependency-card{min-width:0}}@media (width<=640px){.output-example{grid-template-columns:1fr}.task-status{display:none}.method-link{grid-template-columns:42px minmax(0,1fr)}.test-data-table th,.test-data-table td{min-width:190px}.side-column{grid-template-columns:1fr}}
