:root{font-family:system-ui,Yu Gothic,sans-serif;color:#243b3b;background:#f4f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}#app{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}a{color:#246757}button,input,select,textarea{font:inherit}button,.file-button{cursor:pointer;border:1px solid #285f52;border-radius:4px;background:#285f52;color:#fff;font-weight:600;padding:10px 15px;font-size:13px;text-align:center;text-decoration:none}button:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:default}button.secondary{background:#fff;color:#315e53;border-color:#becfc7}button.text{background:transparent;color:#2d6759;border:0;padding:5px;text-decoration:underline}.danger{background:#fff;color:#a02f2f;border-color:#d2a3a3}.sidebar{min-width:0;max-width:100%;background:#e9efec;border-right:1px solid #d4ded8;padding:29px 18px;display:flex;flex-direction:column;gap:22px}.brand{color:#254b40;text-decoration:none;font-size:26px;font-weight:700}.brand span{display:block;font-size:10px;font-weight:400;letter-spacing:.04em;margin-top:9px}.version{font-size:10px;color:#687e73}.sidebar nav{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:5px}.sidebar nav button{text-align:left;border:0;background:transparent;color:#536f61;padding:12px}.sidebar nav .active{background:#d4e3da;color:#214f40}.privacy{margin-top:auto;font-size:11px;line-height:1.9;border-top:1px solid #cbd8cf;padding-top:18px}.workspace{padding:30px clamp(16px,3vw,48px);min-width:0;max-width:1600px;width:100%}header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #ccd9d1;padding-bottom:18px;margin-bottom:18px}.eyebrow{font-size:11px;color:#6b7d73;letter-spacing:.05em}h1{font-size:24px;font-weight:650;margin:8px 0 0;overflow-wrap:anywhere}h2{font-size:20px;margin:24px 0 15px}h3{font-size:15px;margin:0 0 16px}p{font-size:13px;line-height:1.9}small,.muted{color:#708077;font-size:11px;line-height:1.8}td small{display:block;font-size:10px;max-width:240px;overflow-wrap:anywhere}.state-tag{font-size:11px;background:#e0eade;color:#47604d;padding:7px 10px;border-radius:4px;white-space:nowrap}.development{font-size:11px;color:#886e38;padding:8px 0}.notice{min-height:24px;font-size:13px;color:#226950;overflow-wrap:anywhere;margin-bottom:12px}.error{color:#a32c2c;background:#fff0ee;padding:9px;border-radius:3px}.hero{display:flex;gap:30px;justify-content:space-between;align-items:center;background:#e6eeea;border:1px solid #d1dfd6;padding:28px}.hero h2{margin-top:0}.summary-numbers{display:flex;gap:24px;font-size:11px;white-space:nowrap}.summary-numbers strong{display:block;font-size:28px;font-weight:500;color:#2d6654;margin-bottom:9px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sample-grid article{background:#fff;border:1px solid #dae3dd;padding:22px 18px;display:flex;flex-direction:column;align-items:start;gap:6px}.sample-grid p{flex:1}.sample-grid h3{margin-bottom:0}.status-line{background:#ebece6;padding:14px;font-size:14px}.good{background:#e3f0e6;color:#225d38}.panel{background:#fff;border:1px solid #d8e2da;border-radius:5px;padding:22px;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.form-grid>.actions,.form-grid>p,.form-grid>.check{grid-column:1/-1}.form-grid>button{justify-self:start}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin:9px 0;min-width:0}input,select,textarea{min-width:0;width:100%;border:1px solid #bccdc1;color:#244638;background:#fff;border-radius:3px;padding:9px;font-size:13px}select[multiple]{padding:4px}select[multiple] option{padding:3px}input[type=number]{max-width:180px}input[type=file]{display:none}.excel-file-input{margin:18px 0;min-width:0}.excel-file-input [hidden]{display:none!important}.excel-file-input input[type=file]{display:block;max-width:100%;width:100%;color:inherit}.excel-file-input .file-button{display:flex;flex-direction:column;gap:8px;text-align:left;overflow-wrap:anywhere}.input-workbook-download{margin:18px 0;padding-top:14px;border-top:1px solid #cbdad0}.input-workbook-download button{max-width:100%;white-space:normal;line-height:1.7;overflow-wrap:anywhere}.check{flex-direction:row;align-items:center;font-weight:400;gap:10px}.check input{width:auto}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tabs .active{background:#285f52;color:#fff}.two-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.two-columns>.panel{margin-top:15px}.scroll{width:100%;max-width:100%;overflow:auto;border:1px solid #d7e0d9;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{color:#4e6b5b;background:#eaf0eb;font-weight:600}td,th{padding:10px;border-bottom:1px solid #dce5dd;vertical-align:top}td{overflow-wrap:anywhere}th{white-space:nowrap}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.run-bar{display:flex;gap:12px;align-items:end;padding:16px;background:#e3ede5;flex-wrap:wrap}.run-bar label{width:100px;margin:0}.run-bar button{margin:0}.run-bar #run-status{font-size:12px;flex:1;min-width:150px;align-self:center}.board-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px}.board-controls label{min-width:150px}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.board{align-self:start;max-height:75vh}.board th{position:sticky;top:0;z-index:1}.board td{min-width:135px;border-right:1px solid #e2e8e1;padding:6px}.board td>small{display:block}.board th:first-child{left:0;z-index:2;min-width:65px}.lesson{display:block;width:100%;padding:8px;background:#edf3ea;color:#285341;border-color:#c8dac9;text-align:left;font-size:11px;margin:3px 0}.lesson span{display:block;font-size:10px;font-weight:400;margin:5px 0}.lesson small{font-size:10px;font-weight:400}.lesson.selected{outline:2px solid #32765a;outline-offset:-2px}.inspector{margin:0;align-self:start;padding:17px;max-height:75vh;overflow:auto}.inspector button{margin:6px 0}.diagnostics{padding-left:18px;font-size:11px;line-height:1.9;overflow-wrap:anywhere;max-height:300px;overflow:auto}.history{font-size:11px;padding-left:16px;line-height:1.8}.history time{color:#7a8b7f}.mapping{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mapping label{font-size:11px}.print-dialog{border:1px solid #bacbbc;border-radius:5px;max-width:95vw;max-height:90vh;padding:20px}.print-dialog>.scroll{max-height:65vh}.print-dialog::backdrop{background:#1d352c66}footer{font-size:10px;line-height:1.8;color:#718579;border-top:1px solid #d4dfd6;margin-top:35px;padding-top:18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b38a3b;outline-offset:2px}@media(min-width:1600px){.workspace{margin:0 auto}}@media(max-width:1100px){#app{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:24px 12px}.board-layout{grid-template-columns:minmax(0,1fr)}.inspector{max-height:none}.two-columns{grid-template-columns:1fr}.summary-numbers{gap:12px}.sample-grid{gap:8px}.sample-grid article{padding:16px 12px}.mapping{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){#app{grid-template-columns:1fr}.sidebar{padding:16px;border-bottom:1px solid #ccd8cd;gap:8px}.brand{font-size:22px}.brand span,.privacy,.version{display:none}.sidebar nav{flex-direction:row;overflow:auto;white-space:nowrap;padding-bottom:4px}.sidebar nav button{font-size:12px;padding:9px;flex-shrink:0}.workspace{padding:20px 14px}.hero{flex-direction:column;align-items:start;padding:20px}.summary-numbers{gap:32px}.sample-grid{grid-template-columns:1fr}.sample-grid article{padding:20px}header{flex-direction:column;align-items:start;gap:10px}.state-tag{white-space:normal}h1{font-size:22px}.panel{padding:16px}.form-grid{gap:10px}.actions{gap:7px}.actions button{font-size:12px}.mapping{grid-template-columns:1fr 1fr}.run-bar{padding:12px;gap:10px}.run-bar label{width:90px}.board-controls{gap:12px}.board-controls label{min-width:130px}.form-grid>label select[multiple]{height:115px}.section-heading{align-items:start;flex-direction:column}}@media print{.sidebar,header,.notice,.development,footer{display:none}.workspace{padding:0}#app{display:block}}pre.panel,#calendar-result{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;overflow:auto}.lab-back{font-size:13px;color:#254b40;text-underline-offset:3px}.header-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.input-example{display:block;white-space:pre-line;overflow-wrap:anywhere;color:#53695e;font-size:12px;font-weight:400;line-height:1.7;margin-top:4px}.setup-start,.setup-guide{padding:24px;background:#e6eeea;border:1px solid #bfcfc5;border-radius:6px;margin-bottom:24px}.setup-start h2,.setup-guide h2{margin-top:0;line-height:1.6}.setup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.setup-progress{display:flex;list-style:none;gap:6px;padding:0;margin:16px 0 22px;flex-wrap:wrap}.setup-progress li{flex:1;min-width:85px}.setup-progress button{width:100%;background:#fff;color:#315e53;border-color:#c2d2c8;padding:10px 7px;font-size:12px}.setup-progress button[aria-current]{background:#285f52;color:#fff;border-color:#285f52}.setup-progress span{display:inline-block;margin-right:7px;font-weight:700}.setup-register-note{font-size:12px}.setup-error{color:#972f28;font-weight:600;line-height:1.8}.setup-error:empty{display:none}.setup-controls{border:1px solid #bfcfc5;border-top:4px solid #285f52;padding:20px 24px;margin-top:26px;background:#fff;border-radius:5px}.setup-controls .actions{margin-bottom:0}.setup-controls p{margin-top:0}.setup-mode #content>.tabs{display:none}.setup-original-hidden{display:none}.setup-batch-existing{grid-template-columns:1fr}.setup-batch h2{margin-top:0}.setup-batch-entry{padding:18px;border:1px solid #c7d7cc;border-radius:5px;margin:18px 0;background:#f8faf8}.setup-batch-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.setup-batch-heading h3{margin:0}.setup-batch-advanced{grid-column:1/-1;font-size:13px;line-height:1.8;border-top:1px solid #d5e1d9;padding-top:12px}.setup-batch-advanced summary{cursor:pointer}.clipboard-input{padding:18px;border:1px solid #bfcfc5;background:#eef4f0;border-radius:5px;margin:18px 0;font-size:13px;line-height:1.8;min-width:0}.clipboard-input summary{font-weight:700;cursor:pointer}.clipboard-input textarea{display:block;width:100%;min-height:120px;white-space:pre;overflow:auto;font:13px/1.8 ui-monospace,monospace}.clipboard-input .mapping{margin:16px 0}.clipboard-input .mapping label{font-size:12px}.clipboard-input .error{overflow-wrap:anywhere}.import-problems{padding-left:22px;max-height:560px;overflow:auto}.import-problems li{white-space:pre-line;padding:12px 8px;margin:10px 0;background:#fff4ef;border-left:3px solid #b84427;line-height:1.9}.import-problems label{margin:14px 0;color:#233c35;white-space:normal}.import-problems textarea{white-space:pre-wrap;min-height:72px;background:#fff}.import-problems button{white-space:normal;max-width:100%;margin-top:10px}.setup-error{white-space:pre-line}.clipboard-input .scroll{margin:12px 0;max-height:280px}.template-download-area{margin:18px 0;padding-bottom:12px;border-bottom:1px solid #cbdad0}.template-download{display:inline-block;max-width:100%;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.clipboard-input td{min-width:100px;max-width:260px;overflow-wrap:anywhere}@media(max-width:720px){.clipboard-input{padding:14px 10px}.clipboard-input .mapping{grid-template-columns:1fr}}@media(max-width:720px){.setup-batch-entry{padding:14px 10px}.setup-batch.panel{padding:16px 10px}}@media(max-width:720px){.setup-start,.setup-guide,.setup-controls{padding:18px 16px}.setup-progress li{flex:0 1 calc((100% - 12px)/3);min-width:0}.setup-progress button{font-size:11px;padding:10px 4px}.setup-guide h2{font-size:19px}}input::placeholder,textarea::placeholder{color:#718179;opacity:1}.getting-started{padding:22px 24px;background:#fff;border:1px solid #cbded3;border-left:4px solid #285f52;margin-bottom:22px;border-radius:5px}.getting-started h2{margin:8px 0 12px;font-size:19px}.getting-started p:last-child{margin-bottom:0}.guide-save-note{background:#f2f4e9;padding:12px 15px;border-radius:4px}.page-help{border:1px solid #cbded3;background:#eef4f0;border-radius:5px;padding:14px 18px;margin:0 0 22px;font-size:13px;line-height:1.8}.page-help summary,.guide-faq summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}.page-help p{margin-bottom:14px}.usage-guide{max-width:880px;overflow-wrap:anywhere}.usage-guide h2{margin-top:10px;font-size:26px}.usage-guide h3{font-size:19px;line-height:1.6;margin:0 0 12px}.usage-guide h4{font-size:16px;margin:0 0 10px;line-height:1.6}.usage-guide .guide-lead{font-size:15px}.guide-index{display:flex;flex-wrap:wrap;gap:10px 18px;border-block:1px solid #d4dfd6;padding:16px 0;margin:22px 0;font-size:13px;line-height:1.8}.guide-section{scroll-margin-top:24px;margin-top:28px}.usage-guide ol,.usage-guide ul{font-size:14px;line-height:1.95;padding-left:24px}.usage-guide li{margin-bottom:12px}.usage-guide .guide-steps{padding-left:30px}.guide-steps>li{padding:20px;margin:14px 0}.guide-steps>li::marker{font-size:19px;font-weight:700;color:#285f52}.guide-steps p{margin:8px 0 13px}.guide-glossary{margin:0;font-size:13px;line-height:1.9}.guide-glossary dt{font-weight:700;color:#285f52;margin-top:16px}.guide-glossary dd{margin:4px 0 0}.guide-faq{padding:17px 20px;background:#fff;border:1px solid #d8e2da;border-radius:5px;margin:10px 0;font-size:14px;line-height:1.8}summary:focus-visible{outline:3px solid #b38a3b;outline-offset:4px}@media(max-width:720px){.getting-started{padding:18px 16px}.getting-started h2{font-size:18px;line-height:1.6}.header-tools{gap:8px}.usage-guide h2{font-size:22px}.usage-guide .guide-steps{padding-left:24px}.guide-steps>li{padding:16px 12px}.guide-faq{padding:16px 14px}.page-help{padding:12px 14px}}
