:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--fg:#111;--muted:#3a3a3a;--line:#111;--fill:#111;--on-fill:#fff;--wash:#efefef;--danger:#8a0000;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:20px}body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font);margin:0;line-height:1.65}.brand-mark{object-fit:contain;width:36px;height:36px;display:block}a{color:inherit}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--fg);outline-offset:3px}.skip{z-index:20;background:var(--fill);color:var(--on-fill);padding:.5rem .85rem;position:absolute;top:-8rem;left:.75rem}.skip:focus{top:.75rem}.stack{width:min(40rem,100% - 2rem);margin:0 auto;padding:2.5rem 0 4rem}.stack h1,.school-main h1{margin:0 0 .75rem;font-size:2rem;line-height:1.3}.lead{color:var(--muted);margin:0 0 1.5rem}.button{border:2px solid var(--line);background:var(--fill);width:100%;min-height:3.25rem;color:var(--on-fill);cursor:pointer;justify-content:center;align-items:center;padding:.65rem 1rem;display:inline-flex}.button-secondary{background:var(--bg);color:var(--fg)}.button-inline{width:auto;min-width:8rem}.button:disabled{opacity:.55;cursor:not-allowed}.field{gap:.35rem;margin-bottom:1rem;display:grid}.field input,.field textarea{border:2px solid var(--line);background:var(--bg);min-height:3rem;color:var(--fg);padding:.5rem .75rem}.field textarea{resize:vertical;min-height:10rem}.actions{gap:.75rem;display:grid}.backup{border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1rem}.backup summary{cursor:pointer;font-weight:700}.alert{border:2px solid var(--danger);color:var(--danger);margin:0 0 1rem;padding:.75rem .9rem}.field-error{color:var(--danger);margin:0;font-weight:700}.notice{border:2px solid var(--line);margin:0 0 1rem;padding:.75rem .9rem}.meta{color:var(--muted);margin:0}.school-shell{min-height:100vh}.school-header{border-bottom:2px solid var(--line)}.school-header-inner,.school-body{width:min(48rem,100% - 2rem);margin:0 auto}.school-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.brand{font-size:1.35rem;font-weight:700;text-decoration:none}.school-user{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.school-user .button{width:auto;min-width:8rem}.school-main{padding:2rem 0 4rem}.crumb{margin:0 0 1rem}.crumb a{text-underline-offset:.18em;text-decoration:underline}.code{letter-spacing:.04em;margin:0;font-weight:700}.badge{border:2px solid var(--line);padding:.05rem .5rem;font-size:.85rem;font-weight:700;line-height:1.5;display:inline-block}.badge-muted{color:var(--muted);border-color:var(--muted)}.card-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.card-link{border:2px solid var(--line);padding:1.05rem 1.15rem;text-decoration:none;display:block}.card-link:hover{background:var(--wash)}.card-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.card-link h2,.card-link h3{margin:.35rem 0 .4rem;font-size:1.35rem;line-height:1.3}.card-link p{color:var(--muted);margin:0 0 .75rem}.card-action{font-weight:700}.card-static{border:2px solid var(--line);padding:1.05rem 1.15rem}.card-static h3{margin:.35rem 0 .4rem;font-size:1.35rem;line-height:1.3}.billing-legal{text-align:center;justify-items:center;gap:.6rem;margin-top:2rem;display:grid}.billing-legal__note{margin:0}.billing-legal__links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;display:flex}.legal-dl{gap:.85rem;margin:1.25rem 0 0;display:grid}.legal-dl div{border-top:2px solid var(--line);padding-top:.75rem}.legal-dl dt{margin:0 0 .25rem;font-weight:700}.legal-dl dd{margin:0}.legal-section{margin:1.5rem 0 0}.legal-section h2{margin:0 0 .4rem;font-size:1.1rem}.legal-section p{margin:0}.site-legal-footer{border-top:2px solid var(--line);color:var(--muted);margin-top:2.5rem;padding-top:1.25rem;font-size:.9rem}.site-legal-footer nav{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.site-legal-footer a{color:inherit;text-underline-offset:.18em;text-decoration:underline}.site-legal-footer p{margin:0 0 .4rem}.lesson-group{margin-top:1.75rem}.lesson-group h2{margin:0 0 .75rem;font-size:1.2rem}.video-frame{aspect-ratio:16/9;border:2px solid var(--line);background:var(--wash);text-align:center;place-items:center;margin-top:1.25rem;padding:1rem;display:grid}.video-frame.is-player{background:#000;padding:0;overflow:hidden}.video-frame.is-player video{object-fit:contain;width:100%;height:100%;display:block}.video-title{margin:0;font-size:1.25rem;font-weight:700}.video-hint{color:var(--muted);margin:.35rem 0 0}@media (max-width:40rem){html{font-size:18px}.school-user{justify-content:space-between;width:100%}}.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}.lab-launch{margin-top:1.5rem}.stack-wide{width:min(48rem,100% - 2rem)}.button-compact{width:auto;min-width:0;min-height:2.75rem;padding:.4rem .75rem}.lab-toolbar-actions a.button{text-decoration:none}.template-picker{gap:.85rem;display:grid}.template-card{text-align:left;border:2px solid var(--line);background:var(--bg);width:100%;color:var(--fg);cursor:pointer;font:inherit;gap:.4rem;padding:1.1rem 1.2rem;display:grid}.template-card:hover:not(:disabled){background:var(--wash)}.template-card-featured{min-height:8.5rem;padding:1.3rem 1.35rem}.template-card-featured strong{font-size:1.85rem;line-height:1.25}.template-grid{gap:.75rem;display:grid}.lab-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.lab-toolbar{border-bottom:2px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.65rem .85rem;display:flex}.lab-toolbar-start,.lab-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;display:flex}.lab-back{text-underline-offset:.18em;font-weight:700}.lab-name-form{flex-wrap:wrap;gap:.4rem;display:flex}.lab-name-form input,.lab-chat-form textarea{border:2px solid var(--line);background:var(--bg);color:var(--fg);font:inherit;padding:.4rem .6rem}.lab-name-form input{min-width:10rem;min-height:2.75rem}.lab-name-readonly{margin:0;font-weight:700}.lab-inline-alert{margin:0}.lab-grid{grid-template-columns:minmax(14rem,16rem) minmax(0,1fr) minmax(22rem,28rem);min-height:0;display:grid}.lab-grid.is-preview-hidden{grid-template-columns:minmax(16rem,1fr) minmax(22rem,28rem)}.lab-left,.lab-preview,.lab-chat{min-width:0;min-height:0}.lab-left{border-right:2px solid var(--line);grid-template-rows:auto 1fr;display:grid}.lab-files,.lab-editor,.lab-preview-head,.lab-chat{padding:.75rem .85rem}.lab-files{border-bottom:2px solid var(--line)}.lab-files h2,.lab-editor h2,.lab-preview-head h2,.lab-chat h3{margin:0 0 .35rem;font-size:1rem}.lab-files ul{margin:0;padding:0;list-style:none}.lab-files button{text-align:left;width:100%;min-height:2.5rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:.35rem .5rem}.lab-files button.is-active,.ed-line.is-selected,.lab-chat-tabs button.is-active{background:var(--fill);color:var(--on-fill)}.lab-editor{grid-template-rows:auto auto auto 1fr;min-height:0;display:grid}.lab-anchor{margin:.5rem 0}.lab-editor-body{border:2px solid var(--line);max-height:100%;overflow:auto}.ed-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:3rem 1fr;margin:0;padding:0;font-size:.85rem;line-height:1.45;display:grid}.ed-num{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding:0 .4rem}.ed-code{white-space:pre;overflow-wrap:anywhere;padding:0 .4rem}.lab-preview{background:var(--wash);grid-template-rows:auto 1fr;display:grid}.lab-preview-scroll{height:100%;min-height:0;overflow:hidden}.lab-preview-frame{border:0;border-top:2px solid var(--line);background:var(--bg);width:100%;height:100%;min-height:0}.lab-chat{border-left:2px solid var(--line);flex-direction:column;gap:.5rem;display:flex}.lab-chat-tabs{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.lab-chat-tabs button{border:2px solid var(--line);background:var(--bg);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;font-weight:700}.lab-changes{border:2px solid var(--line);padding:.6rem .7rem;overflow:hidden}.lab-messages{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.lab-messages li{margin:0 0 .75rem}.lab-messages p{white-space:pre-wrap;margin:.25rem 0 0}.lab-chat-form{gap:.5rem;display:grid}.lab-chat-form .button{justify-self:end;width:auto}.lab-chat-form textarea{resize:vertical;width:100%;min-height:3.75rem}@media (max-width:64rem){.lab-grid{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.lab-preview{flex-direction:column;flex:0 0 32%;order:-1;height:32%;min-height:0;max-height:32%;display:flex;overflow:hidden}.lab-preview-head .meta,.lab-left{display:none}.lab-chat{border:0;border-top:2px solid var(--line);flex:1 1 0;gap:10px;min-height:0;overflow:hidden}.lab-preview-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;flex:1;height:auto;min-height:0;position:relative;overflow:hidden auto}.lab-preview-frame{pointer-events:auto;touch-action:pan-y;border:0;width:100%;height:100%;min-height:0;display:block;position:static}.lab-messages{display:none}.lab-changes{flex-shrink:0;max-height:9rem;display:block;overflow-y:auto}.lab-chat-form{flex-shrink:0}.lab-chat-form textarea{height:3.25rem;min-height:3.25rem}.lab-editor-body{max-height:18rem}}@media (max-width:767px){.lab-preview{flex:0 0 50vh;height:50vh;max-height:50vh;display:none}.lab-preview.is-mobile-open{display:flex}.lab-live-banner{white-space:nowrap;text-overflow:ellipsis;margin:0;padding:.25rem .85rem;font-size:.75rem;line-height:1.4;overflow:hidden}.lab-live-banner .meta{display:none}.lab-live-banner a{overflow-wrap:normal}}@media (min-width:768px){.lab-toolbar-preview{display:none}}@media (min-width:40rem){.template-grid{grid-template-columns:1fr 1fr 1fr}}.lab-quota{font-weight:700}.lab-quota.is-empty{color:var(--muted)}.lab-banner{border-left:0;border-right:0;margin:0}.lab-changes ul{margin:.35rem 0 0;padding-left:1.2rem}.lab-dialog{border:2px solid var(--line);background:var(--bg);width:min(28rem,100% - 2rem);color:var(--fg);padding:1.25rem}.lab-dialog::backdrop{background:#00000073}.lab-dialog h2{margin:0 0 .65rem;font-size:1.25rem}.lab-dialog p{margin:0 0 .85rem}.lab-dialog .field{margin-top:.25rem}.lab-dialog .field input{width:100%}.lab-dialog-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.lab-dialog-actions .button{width:auto;min-width:8rem}.lab-live-banner a{overflow-wrap:anywhere;margin-left:.35rem;font-weight:700}.lab-dialog .live-address{overflow-wrap:anywhere;margin-top:.75rem;font-weight:700}.button-danger{background:var(--bg);color:var(--danger);border-color:var(--danger)}.school-brand-row{flex-wrap:wrap;align-items:baseline;gap:.85rem;display:flex}.staff-link{text-underline-offset:.18em;font-weight:700}.checklist,.kind-note{border-top:2px solid var(--line);margin:2rem 0 0;padding-top:1.25rem}.checklist h2,.kind-note h2{margin:0 0 .5rem;font-size:1.25rem}.kind-note p{margin:0}.kind-note p+p{margin-top:.65rem}.kind-note ul{margin:.65rem 0 0;padding-left:1.25rem}.kind-note li+li{margin-top:.25rem}.lesson-nav{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin:2rem 0 0;display:flex}.lesson-nav .button{text-align:center;width:auto;min-width:8rem;text-decoration:none}.course-memo,.c1-examples,.c1-constraints,.c1-weblab{border-top:2px solid var(--line);margin:2rem 0 0;padding-top:1.25rem}.course-memo h2,.c1-examples h2,.c1-constraints h2,.c1-weblab h2,.c1-examples h3{margin:0 0 .5rem;font-size:1.25rem}.c1-examples h3{font-size:1.05rem}.course-memo-form{margin-top:1rem}.course-memo-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.course-memo-actions .button,.course-memo-actions .lesson-nav .button{width:auto;min-width:8rem}.course-memo-actions .lesson-nav{flex:auto;justify-content:flex-end;margin:0}@media (max-width:640px){.course-memo-actions{flex-direction:column;align-items:stretch}.course-memo-actions .button,.course-memo-actions .lesson-nav .button{width:100%;min-width:0}.course-memo-actions .lesson-nav{justify-content:stretch;width:100%}.course-memo-actions .lesson-nav .button{flex:1 1 0}}.c1-example-grid{gap:1rem;margin-top:1rem;display:grid}.c1-example{border:2px solid var(--line);padding:.85rem .95rem}.c1-example-kicker{letter-spacing:.04em;margin:0 0 .35rem;font-weight:700}.c1-example-prompt{background:var(--wash);margin:0 0 .65rem;padding:.65rem .75rem}.c1-shot{border:2px solid var(--line);width:100%;height:auto;margin-top:.75rem;display:block}.c1-shot-wide{margin-top:1rem}.c1-mock{border:2px solid var(--line);margin-top:.75rem;padding:.85rem .9rem}.c1-mock p{margin:0 0 .35rem}.c1-mock p:last-child{margin-bottom:0}.c1-mock-brand{font-weight:700}.c1-mock-bad{background:#fff4e8}.c1-mock-good{background:#eef4f8}.c1-mock-btn{border:2px solid var(--line);margin-top:.35rem;padding:.25rem .6rem;font-size:.85rem;font-weight:700;display:inline-block}.c1-constraints ul{margin:.65rem 0 0;padding-left:1.25rem}.c1-constraints li+li,.c1-constraints ol li+li{margin-top:.25rem}.c1-constraints ol{margin:.65rem 0 0;padding-left:1.25rem}.c1-lab{border:2px solid var(--line);margin-top:1rem}.c1-lab-bar,.c1-lab-body{justify-content:space-between;gap:.75rem;display:flex}.c1-lab-bar{border-bottom:2px solid var(--line);align-items:center;padding:.55rem .75rem;font-weight:700}.c1-lab-pub,.c1-lab-run{border:2px solid var(--line);padding:.2rem .65rem;font-size:.85rem;display:inline-block}.c1-lab-body{align-items:stretch}.c1-lab-ask,.c1-lab-preview{flex:1 1 0;padding:.75rem}.c1-lab-ask{border-right:2px solid var(--line)}.c1-lab-label{margin:0 0 .35rem;font-weight:700}.c1-lab-ask p,.c1-lab-preview p{margin:0 0 .35rem}.c1-lab-preview{background:#eef4f8}@media (max-width:640px){.c1-lab-body{flex-direction:column}.c1-lab-ask{border-right:0;border-bottom:2px solid var(--line)}}@media (min-width:720px){.c1-example-grid{grid-template-columns:1fr 1fr}}.c5-record{border-top:2px solid var(--line);margin:2rem 0 0;padding-top:1.25rem}.c5-record h2{margin:0 0 .5rem;font-size:1.25rem}.c5-record h3{margin:0 0 .5rem;font-size:1.05rem}.c5-current{border:2px solid var(--line);margin:1rem 0;padding:.85rem .95rem}.c5-current p{overflow-wrap:anywhere;margin:0 0 .4rem}.c5-current p:last-child{margin-bottom:0}.c5-form{gap:.85rem;margin-top:1rem;display:grid}.c5-form .field{margin-bottom:0}.c5-form .field textarea{border:2px solid var(--line);background:var(--bg);width:100%;min-height:4.5rem;color:var(--fg);font:inherit;resize:vertical;padding:.5rem .75rem}.c5-form .checklist-item{margin:0}.checklist ul{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.checklist-item{cursor:pointer;grid-template-columns:1.35rem 1fr;align-items:start;gap:.65rem;display:grid}.checklist-item input{width:1.1rem;height:1.1rem;margin-top:.3rem}.checklist-label{font-weight:700;display:block}.checklist-how{margin-top:.25rem;display:block}.kind-picker{border:2px solid var(--line);gap:.35rem;margin:0;padding:.55rem .65rem;display:grid}.kind-picker legend{padding:0 .25rem;font-weight:700}.kind-picker label{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-height:2rem;display:flex}.kind-picker label.is-disabled{color:var(--muted)}.lab-messages .badge{margin-left:.4rem}.text-link{width:auto;min-height:0;color:inherit;font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.text-link:disabled{opacity:.55;cursor:not-allowed}.lab-dialog-help{width:min(32rem,100% - 2rem)}.help-meta{gap:.35rem;margin:0 0 1rem;display:grid}.help-meta div{gap:.1rem;display:grid}.help-meta dt{color:var(--muted);font-size:.85rem}.help-meta dd{overflow-wrap:anywhere;margin:0}.help-form .field textarea{border:2px solid var(--line);background:var(--bg);width:100%;min-height:4.5rem;color:var(--fg);font:inherit;resize:vertical;padding:.5rem .75rem}.help-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.help-card{border:2px solid var(--line);padding:.85rem .95rem}.help-card p{overflow-wrap:anywhere;margin:0 0 .4rem}.help-card p:last-child{margin-bottom:0}.feedback-shot,.feedback-shot p{margin:0 0 .4rem}.feedback-thumb{border:2px solid var(--line);object-fit:contain;width:auto;max-width:min(16rem,100%);height:auto;max-height:10rem;display:block}.lab-c4{border-bottom:2px solid var(--line);padding:.85rem .95rem 1.1rem}.lab-c4 h2,.lab-c4 h3{margin:0 0 .45rem;font-size:1.1rem}.lab-c4 h3{margin-top:1.1rem}.lab-c4-form{gap:.65rem;max-width:40rem;margin:.75rem 0 0;display:grid}.lab-c4-form .field input{width:100%}.lab-c4-form .c4-example{border:2px solid var(--line);background:var(--wash);overflow-wrap:anywhere;margin:0;padding:.35rem .5rem;display:block}.c4-steps .c4-redirects{margin-top:.5rem}.lab-c4-actions{flex-wrap:wrap;gap:.5rem;display:flex}.lab-c4-actions .button{width:auto;text-decoration:none}.c4-steps{gap:.4rem;margin:.4rem 0 0;padding-left:1.3rem;display:grid}.lab-sql{border:2px solid var(--line);background:var(--wash);white-space:pre-wrap;margin:.5rem 0 0;padding:.85rem;font-size:.85rem;line-height:1.5;overflow:auto}.c4-chain{gap:.4rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.c4-redirects{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.c4-redirects code{overflow-wrap:anywhere;margin-top:.25rem;display:block}.invite-card{border-top:2px solid var(--line);margin:0 0 2rem;padding:1rem 0 0}.invite-card h2{margin:0 0 .5rem;font-size:1.25rem}.invite-link{overflow-wrap:anywhere}.invite-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.invite-actions .button{width:auto}:is(.school-shell:has(.school-main-wide) .school-header-inner,.school-shell:has(.school-main-wide) .school-body){width:min(72rem,100% - 2rem)}.staff-table-wrap{margin-top:1rem;overflow-x:auto}.staff-table{border-collapse:collapse;width:100%}.staff-table th,.staff-table td{border:2px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .65rem}.staff-table th{font-size:.9rem}.staff-table .button{margin-top:.35rem}.field input[type=file]{border:0;min-height:0;padding:.45rem 0}
