:root{font-family:Yu Gothic UI,Meiryo,system-ui,sans-serif;color:#24314d;background:#f4f6fc;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:1px solid #cbd4e5;background:#fff;border-radius:8px;color:#3f506c;padding:8px 12px;font-weight:600;line-height:1.5}button:hover{background:#edf2ff}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #eab04a;outline-offset:3px}a{color:#3559d1}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:16px;margin:0}p{line-height:1.75}header{height:66px;display:flex;align-items:center;gap:24px;padding:0 26px;border-bottom:1px solid #dce3ef;background:#fff}.brand{display:flex;align-items:center;gap:10px;color:#253456;text-decoration:none;font-weight:800;font-size:23px}.brand-icon{width:36px;height:38px;border-radius:10px;background:#4564e9;color:#fff;display:grid;place-items:center;font-size:29px}.brand small{display:block;letter-spacing:.12em;font-size:10px;color:#657592}.stage{color:#667691;font-size:13px}.help-button{margin-left:auto;color:#3558c9;border-color:#cfd9fb}main{max-width:1820px;margin:auto;padding:14px 24px 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro h1{font-size:23px;line-height:1.4;margin:0}.intro h1 span{color:#4160d5}.intro p{margin:5px 0;font-size:13px;color:#536480}.save-state{font-size:13px;color:#326c56;white-space:nowrap}.storage-note{font-size:13px;line-height:1.6;background:#eaf0ff;color:#405777;padding:7px 12px;border-radius:7px;margin:9px 0}details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;line-height:1.6;min-height:42px}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸";color:#4a65bc;flex-shrink:0}details[open]>summary:before{transform:rotate(90deg)}.program-manager{background:#fff;border:1px solid #dce3ef;border-radius:10px;margin-bottom:12px}.program-manager>summary{padding:7px 15px;font-weight:700;flex-wrap:wrap}.program-manager>summary span{font-size:12px;font-weight:400;color:#62738e}.program-manager>summary strong{margin-left:auto;font-size:13px;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3f5dc8}.program-content{padding:16px;border-top:1px solid #e2e7f1}.program-content>p{font-size:13px;color:#556782;margin:12px 0}.program-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.program-heading h2{margin-right:auto}.program-list{display:flex;overflow:auto;gap:10px;padding:3px;margin:13px 0;max-height:220px}.program-item{min-width:190px;max-width:310px;flex-shrink:0;text-align:left;padding:12px}.program-item strong{display:block;overflow-wrap:anywhere}.program-item small{display:block;font-size:12px;font-weight:400;color:#63748e;margin-top:6px}.program-item.active{border:2px solid #5772dd;background:#f0f3ff;color:#3556c5}.program-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.program-actions>span{margin-right:auto;font-size:13px;overflow-wrap:anywhere}.danger{color:#ae3653}.editor-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #27386406}.editing-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 14px;background:#fafbff;border-bottom:1px solid #e0e6f1}.editing-tools button{font-size:13px}.code-toggle{margin-left:auto;color:#395ac8;background:#eef2ff}.editor-toolbar{display:flex;align-items:center;gap:14px;min-height:46px;padding:7px 16px;border-bottom:1px solid #e5e9f1;flex-wrap:wrap}.editor-toolbar span{font-size:13px;color:#60718e}.editor-toolbar button{margin-left:auto;border:0;font-size:13px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:stretch}.workspace-column{min-width:0}.workspace-hint{font-size:13px;color:#556883;padding:10px 16px;line-height:1.7;background:#fcfdff}.blockly-host{height:var(--workspace-height);width:100%;position:relative}.workspace-footer{display:flex;justify-content:space-between;gap:12px;padding:9px 15px;border-top:1px solid #e4e9f2;font-size:12px;line-height:1.6;color:#60718c}.workspace-footer>span:last-child{white-space:nowrap}.editing-blocked .blockly-host{pointer-events:none;opacity:.55}.blocklyToolboxDiv{background:#fff!important;border-right:1px solid #e3e8f1;padding:12px 7px!important}.blocklyTreeRow{height:38px!important;margin-bottom:8px!important;padding:8px 11px!important;border-radius:7px}.blocklyTreeLabel{font-family:inherit!important;font-size:14px!important}.blocklySvg{font-family:inherit!important}.blocklyMainBackground{stroke:none!important}.blocklyFlyoutBackground{fill:#eef1f8!important}.rm-block-error>.blocklyPath{stroke:#df2447!important;stroke-width:3px!important;stroke-dasharray:6 3}.code-column{border-left:1px solid #dfe6f1;background:#fafbfe;padding:16px;display:flex;flex-direction:column;gap:9px;min-width:0;min-height:0;height:calc(var(--workspace-height) + 80px)}.code-title h2{font-size:15px}.comment-option{font-size:13px;display:flex;gap:7px;align-items:center}.code-description{font-size:12px;color:#586a85;margin:0;line-height:1.65}pre{height:0;min-height:180px;flex:1;background:#202d45;color:#e1ecff;border-radius:8px;padding:14px;font-size:13px;line-height:1.85;overflow:auto;white-space:pre;margin:0;tab-size:4}pre code{font-family:Consolas,Courier New,monospace}.code-placeholder{flex:1;min-height:180px;background:#edf1f8;padding:20px;border-radius:8px;color:#596d8c;line-height:1.8}.code-bottom{padding-top:4px}.ready{font-size:13px;color:#356e58;margin-bottom:8px}.primary{background:#4260de;color:#fff;border-color:#4260de;width:100%;padding:11px;font-size:14px;box-shadow:0 2px #304bc0}.primary:hover{background:#3452d0}.code-bottom p{font-size:12px;color:#5b6e8b;text-align:center;margin:10px 0 0}.text-link{font-size:13px;color:#3a5ac8;border:0;background:transparent;padding:2px 4px}.issues{padding:12px 17px;background:#fff4df;border-bottom:1px solid #e8cf9a;color:#79511d;font-size:13px;max-height:155px;overflow:auto;line-height:1.6}.issues ul{padding-left:20px;margin:5px 0}.issues button{text-align:left;font-size:13px;color:#79511d;background:transparent;border:0;padding:2px 4px}.notice{position:fixed;right:20px;top:78px;z-index:2000;width:max-content;max-width:min(540px,calc(100vw - 32px));background:#fff7db;border:1px solid #e7cf8c;padding:14px 16px;border-radius:10px;box-shadow:0 8px 30px #27385b25;display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.notice button{flex-shrink:0;padding:0 8px;margin-left:auto}.recovery-panel{border:1px solid #e4bd85;background:#fff6e6;border-radius:10px;padding:16px;margin:12px 0}.recovery-panel h2{color:#805323}.recovery-panel p{font-size:13px;margin:8px 0 12px}.recovery-actions,.cleanup-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cleanup-list{margin-top:12px;border-top:1px solid #e9d6b7;padding-top:10px}.cleanup-list p{width:100%}.cleanup-list button{max-width:100%;overflow-wrap:anywhere}.mini-guide,.requirements{background:#fff;border:1px solid #dce3ef;border-radius:9px;padding:0 15px;margin-top:12px;font-size:13px;line-height:1.9}.mini-guide>summary,.requirements>summary{font-weight:600}.mini-guide dt{font-weight:700;color:#3c567c;margin-top:10px}.mini-guide dd{margin:4px 0 12px}.requirements ul{padding-left:20px}.guide{background:#fff;border:1px solid #cdd9f6;border-radius:10px;padding:20px;margin:12px 0;font-size:14px;line-height:1.8}.guide ol{padding-left:24px}.guide li{margin:7px 0}.guide p{color:#4c6081}.modal-backdrop{position:fixed;inset:0;background:#15244077;z-index:2100;display:grid;place-items:center;padding:20px}.rename-dialog{background:#fff;border-radius:14px;padding:25px;width:min(440px,100%)}.rename-dialog input{width:100%;border:1px solid #a1b1cf;border-radius:7px;padding:12px;margin:20px 0}.rename-dialog form>div{display:flex;justify-content:flex-end;gap:10px}footer{max-width:1820px;display:flex;justify-content:space-between;gap:20px;margin:20px auto;padding:0 24px;font-size:12px;color:#60718b}footer small{display:block;font-size:12px;margin-top:5px}@media(max-width:1050px){.editor-layout{grid-template-columns:minmax(0,1fr) 320px}.intro{align-items:flex-start}.intro h1{font-size:21px}.stage{display:none}.editing-tools{gap:6px}.workspace-hint{padding:9px 12px}.editor-toolbar span{display:none}.workspace-footer{flex-wrap:wrap}.storage-note{line-height:1.7}.code-column{padding:13px}}@media(max-width:780px){header{padding:0 15px;height:62px;gap:8px}.brand{font-size:21px}.help-button{font-size:12px;padding:7px 9px}.brand small{font-size:9px}main{padding:12px 12px 0}.intro{flex-direction:column;gap:4px}.intro h1{font-size:21px}.intro p{font-size:13px}.save-state{font-size:12px}.program-manager>summary{gap:7px}.program-manager>summary strong{max-width:60%;margin-left:0}.program-manager>summary span{font-size:12px}.program-heading h2,.program-actions>span{width:100%;margin-bottom:6px}.program-content{padding:12px}.editing-tools{padding:9px}.editing-tools button{font-size:12px;padding:7px 9px}.code-toggle{margin-left:0}.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-toolbar{padding:7px 12px;gap:7px}.editor-toolbar h2{font-size:14px}.editor-toolbar button,.workspace-hint{font-size:12px}.blockly-host{height:400px}.code-column{height:auto;border-left:0;border-top:1px solid #dfe6f1}.code-column pre{height:320px;flex:auto}.workspace-footer{font-size:12px}.notice{right:12px;top:70px;font-size:13px}footer{padding:0 15px;flex-wrap:wrap}.guide{padding:15px}.recovery-actions{align-items:stretch}.recovery-actions button{font-size:13px}}html,body,#root{width:100%;height:100%;overflow:hidden}.app{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app>header{height:54px;padding:0 16px;gap:14px;min-width:0}.brand{font-size:22px;flex-shrink:0}.brand-icon{width:30px;height:32px;font-size:25px}.current-program{font-size:13px;font-weight:600;min-width:0;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#536783}header .save-state{font-size:12px;max-width:210px;overflow:hidden;text-overflow:ellipsis}header nav{display:flex;align-items:center;gap:8px;flex-shrink:0}header nav button{font-size:13px;padding:7px 11px}.help-button{margin-left:0}.recovery-toggle{color:#9a5622;border-color:#d4ac6c;background:#fff4df}.app>main{max-width:none;width:100%;margin:0;padding:0;min-height:0;overflow:hidden}.editor-card{height:100%;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none}.editing-tools{flex-shrink:0;padding:6px 10px;gap:6px;min-height:44px}.editing-tools button{padding:6px 10px}.event-count{font-size:12px;color:#63748f;margin-left:auto;white-space:nowrap}.code-toggle{margin-left:6px}.editor-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:minmax(0,1fr);overflow:hidden}.editor-layout.code-collapsed{grid-template-columns:minmax(0,1fr)}.workspace-column{position:relative;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.blockly-host{min-height:0;height:100%;flex:1;width:100%;overflow:hidden}.code-column{height:auto;min-height:0;overflow:hidden;align-self:stretch;padding:12px;gap:8px}.code-column pre{min-height:0;height:0;flex:1;overflow:auto}.code-title,.comment-option,.code-description,.code-bottom{flex-shrink:0}.code-placeholder{min-height:0;overflow:auto}.issues{flex-shrink:0;max-height:min(200px,30dvh);overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere;min-width:0;border:1px solid #e8cf9a;border-radius:8px;padding:10px 12px}.issues button{max-width:100%;overflow-wrap:anywhere;white-space:normal}.workspace-column>.issues{position:absolute;top:12px;right:24px;z-index:20;width:min(380px,calc(100% - 48px));max-height:min(240px,40%);box-shadow:0 3px 14px #27386425}.panel-backdrop{position:fixed;inset:54px 0 0;background:#1b29474d;z-index:900}.floating-panel{position:fixed;top:66px;left:50%;transform:translate(-50%);z-index:1000;width:min(1000px,calc(100vw - 32px));max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain;margin:0;box-shadow:0 12px 45px #152d5933;border-radius:12px}.floating-panel[hidden],.program-manager:not([open]){display:none!important}.program-manager>summary{position:sticky;top:0;z-index:1;background:#fff;cursor:default;gap:8px}.program-manager>summary button{margin-left:8px;flex-shrink:0}.program-manager>summary strong{max-width:35%}.panel-close{display:block;margin:0 0 12px auto}.guide footer{padding:12px 0 0;margin:16px 0 0;border-top:1px solid #dce3ef}.recovery-panel{width:min(850px,calc(100vw - 32px))}.notice{top:108px;max-height:calc(100dvh - 130px);overflow:auto}@media(max-width:1050px){.editor-layout{grid-template-columns:minmax(0,1fr) 320px}header nav button{font-size:12px;padding:6px 8px}.current-program{max-width:180px}.app>header{gap:10px}.editing-tools button{font-size:12px}.event-count{display:none}.code-toggle{margin-left:auto}}@media(max-width:780px){.app>header{height:auto;min-height:54px;flex-wrap:wrap;padding:7px 10px;gap:7px}.current-program{max-width:none}header nav{width:100%;justify-content:flex-end}.panel-backdrop{inset:0}.floating-panel{top:12px;max-height:calc(100dvh - 24px);width:calc(100vw - 20px)}.program-manager>summary strong{max-width:100%;order:2;width:100%}.program-manager>summary button{margin-left:auto}.editing-tools{padding:5px;gap:4px}.editing-tools button{font-size:12px;padding:5px 7px}.editor-layout{grid-template-columns:minmax(0,1fr) minmax(0,40%)}.editor-layout.code-collapsed{grid-template-columns:minmax(0,1fr)}.blockly-host{height:100%}.code-column{height:auto;padding:9px}.code-column pre{height:0;min-height:0;flex:1}.code-title h2{font-size:13px}.code-bottom p{margin-top:6px}.code-description{display:none}.notice{top:105px}.code-toggle{margin-left:0}}header nav{flex-wrap:wrap}.license-link{font-size:12px;padding:6px 4px;white-space:nowrap;color:#526987}
