:root{--c-bg:var(--milgo-colors-background,#f7f7f7);--c-surface:var(--milgo-colors-surface,#fff);--c-surface-subtle:var(--milgo-colors-neutral_weak,#fafafa);--c-text:var(--milgo-colors-on_background,#111);--c-text-muted:var(--milgo-colors-on_surface,#555);--c-border:var(--milgo-colors-gray-100,#e8e8e8);--c-border-strong:var(--milgo-colors-gray-200,#dadada);--c-ink:var(--milgo-colors-gray-900,#111);--c-success:var(--milgo-colors-success,#0a7a2f);--c-error:var(--milgo-colors-error,#b00020);--r-sm:10px;--r-md:12px;--r-lg:16px;--ff-sans:system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--ff-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--shadow-elev-1:0 6px 16px #0000000f;--shadow-elev-2:0 10px 30px #0003}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--ff-sans);color:var(--c-text);background:var(--c-bg);margin:0}.appRoot{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.topBar{border-bottom:1px solid var(--c-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fdfcfceb;justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 16px;display:flex}.topBarTitleRow{align-items:baseline;gap:10px;min-width:0;display:flex}.topBarTitle{white-space:nowrap;font-weight:900}.topBarDash{color:var(--c-text-muted);opacity:.7}.topBarLink{color:var(--c-ink);font-size:13px;font-family:var(--ff-mono);text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;overflow:hidden}.mainRow{flex:1;min-height:0;display:flex;overflow:hidden}.mainContent{flex:1;min-width:0}.sideMenu{border-right:1px solid var(--c-border);background:var(--c-surface-subtle);flex-direction:column;flex:0 0 84px;justify-content:flex-start;align-items:stretch;gap:10px;width:84px;height:100%;padding:16px 10px 10px;display:flex}.sideMenuButtons{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;display:flex}.sideMenuBtn{border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);height:46px;color:var(--c-ink);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:800;line-height:16px}.sideMenuBtn:hover{background:var(--c-surface-subtle)}.sideMenuBtnActive{background:var(--c-ink);color:#fff;border-color:var(--c-border-strong)}.sideMenuBtnActive:hover{background:var(--c-ink);opacity:.94}.panel{background:var(--c-surface)}.panelPadded{padding:16px}.panelScrollable{min-width:0;overflow:auto}.editorLayout{align-items:stretch;height:100%;min-height:0;display:flex}.editorLayoutResizing{cursor:col-resize}.editorPane{flex:0 0 70%;min-width:0}.splitGutter{cursor:col-resize;background:var(--c-surface);border-left:1px solid var(--c-border);border-right:1px solid var(--c-border);flex:0 0 6px;width:6px}.splitGutter:hover,.splitGutterDragging{background:var(--c-surface-subtle)}.previewPane{flex-direction:column;flex:1 1 0;min-width:200px;display:flex}.previewHeader{border-bottom:1px solid var(--c-border);background:var(--c-surface-subtle);padding:12px;font-size:12px;font-weight:800}.previewHeaderRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.previewHeaderTitle{font-size:12px;font-weight:800}.previewControls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.previewControl{color:var(--c-text-muted);align-items:center;gap:4px;margin-inline-end:12px;font-weight:700;display:inline-flex}.checkbox{width:16px;height:16px;margin:0}.numInput{border-radius:var(--r-sm);border:1px solid var(--c-border-strong);background:var(--c-surface);width:55px;color:var(--c-text);font-family:var(--ff-mono);padding:8px 10px}.numInput:disabled{background:var(--c-surface-subtle);cursor:not-allowed}.previewActions{background:var(--c-surface);padding:10px 12px}.previewActionsRow{align-items:center;gap:10px;display:flex}.previewBody{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.previewIframe{border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-lg);display:block}.iconBtnActive{border-color:var(--c-ink);color:var(--c-ink)}.btnCompact{padding:8px 10px;font-size:12px;font-weight:800}.card{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface)}.cardSubtle{background:var(--c-surface-subtle)}.cardPadded{padding:12px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gridGap12{gap:12px;display:grid}.viewLabel{color:var(--c-text-muted);font-size:12px;font-weight:800}.rowBetweenBaseline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rowEnd{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.formRow{flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:14px;display:flex}.field{flex:240px;min-width:0}.fieldWide{flex:2 520px}.fieldFit{flex:none}.selectFit{width:auto}.fieldLabel{color:var(--c-text-muted);margin-bottom:6px;font-size:12px}.heading18{margin-bottom:6px;font-size:18px;font-weight:900}.subText13{color:var(--c-text-muted);font-size:13px}.errorText{color:var(--c-error);margin-top:10px;font-size:13px}.mt14{margin-top:14px}.mt16{margin-top:16px}.mt5{margin-top:5px}.pad12{padding:12px}.mt8{margin-top:8px}.mb8{margin-bottom:8px}.text13{font-size:13px}.heading16{font-size:16px;font-weight:800}.rowBetweenTop{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.spacer{flex:1}.muted{color:var(--c-text-muted)}.mono{font-family:var(--ff-mono)}.btn{border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-ink);cursor:pointer;padding:10px 12px;font-size:12px;font-weight:800}.btn:hover{background:var(--c-surface-subtle)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.65;cursor:not-allowed}.btnPrimary{border:1px solid var(--c-ink);background:var(--c-ink);color:#fff;font-size:13px;font-weight:900}.btnPrimary:hover{background:var(--c-ink);opacity:.92}.btnGhost{color:var(--c-text-muted);background:0 0;border:none;padding:6px;font-weight:700;text-decoration:underline}.btnGhost:hover{opacity:.85;background:0 0}.btnPill{border-radius:999px}.btnIcon{border-radius:var(--r-sm);justify-content:center;align-items:center;padding:8px;display:inline-flex}.btnDanger{color:var(--c-error);border-color:var(--c-border-strong)}.seg{border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);display:inline-flex;overflow:hidden}.segBtn{cursor:pointer;color:var(--c-ink);background:0 0;border:none;padding:8px 10px;font-size:12px;font-weight:800}.segBtn:hover{background:var(--c-surface-subtle)}.segBtnActive{background:var(--c-ink);color:#fff}.segBtnActive:hover{background:var(--c-ink);opacity:.94}.segBtn+.segBtn{border-left:1px solid var(--c-border-strong)}.segBtn:disabled{opacity:.65;cursor:not-allowed}.input,.select,.textarea{border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);width:100%;color:var(--c-text);outline:none;padding:10px 12px;font-family:inherit}.textarea{resize:vertical;min-height:120px}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface-subtle);cursor:not-allowed}.w160{width:160px;max-width:100%}.w200{width:200px;max-width:100%}.w220{width:220px;max-width:100%}.w360{width:360px;max-width:100%}.iconBtn{border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-muted);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;padding:8px;display:inline-flex}.iconBtn:hover{background:var(--c-surface-subtle)}.iconBtn:active{transform:translateY(1px)}.iconBtn:disabled{opacity:.65;cursor:not-allowed}.btnUpload{justify-content:center;align-items:center;width:fit-content;display:inline-flex}.hiddenFileInput{display:none}.jsonEditor{gap:10px;display:grid}.jsonTitle{font-size:16px;font-weight:900}.jsonToolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jsonApplied{color:var(--c-success);font-size:12px}.jsonBox{border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);overflow:hidden}.jsonBoxDisabled{background:var(--c-surface-subtle)}.jsonGrid{grid-template-columns:64px 1fr;display:grid}.jsonGutter{background:var(--c-surface-subtle);color:var(--c-text-muted);border-right:1px solid var(--c-border);font-family:var(--ff-mono);white-space:pre;-webkit-user-select:none;user-select:none;max-height:520px;margin:0;padding:12px 8px 12px 12px;font-size:12px;line-height:1.5;overflow:hidden}.jsonTextarea{width:100%;min-height:520px;font-family:var(--ff-mono);white-space:pre;resize:vertical;background:0 0;border:none;outline:none;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.jsonError{color:var(--c-error);font-size:13px}.jsonErrorTitle{font-weight:700}.jsonList{margin:6px 0 0 18px}.builder{gap:14px;display:grid}.builder .input,.builder .select{height:40px}.builder input.input[type=file]{padding:0}.builder input.input[type=file]::file-selector-button{border:0;border-right:1px solid var(--c-border-strong);background:var(--c-surface-subtle);height:100%;color:var(--c-ink);cursor:pointer;margin:0;padding:0 12px;font-weight:800}.builder input.input[type=file]::file-selector-button{border:0;border-right:1px solid var(--c-border-strong);background:var(--c-surface-subtle);height:100%;color:var(--c-ink);cursor:pointer;margin:0;padding:0 12px;font-weight:800}.builderTitle{font-size:16px;font-weight:900}.builderSettings{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-subtle);gap:12px;padding:12px;display:grid}.builderSettingsRow{flex-wrap:wrap;gap:12px;display:flex}.builderSettingsRowTight{justify-content:flex-start;align-items:flex-start;gap:8px}.builderLabelRow{align-items:center;gap:10px;display:flex}.builderLabel{color:var(--c-text-muted);white-space:nowrap;width:110px;font-size:12px}.builderPartsHeader{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.builderPartsTitle{font-weight:700}.builderPartsButtons{flex-wrap:wrap;gap:8px;display:flex}.partsList{gap:12px;padding-bottom:64px;display:grid}.partCard{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);gap:10px;padding:12px;display:grid}.partCardDragOver{background:var(--c-surface-subtle)}.partHeader{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dragHandle{border:1px solid var(--c-border-strong);background:var(--c-surface);cursor:grab;-webkit-user-select:none;user-select:none;width:28px;height:28px;font-family:var(--ff-mono);color:var(--c-text-muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.dragHandleDisabled{cursor:not-allowed;opacity:.6}.partMeta{font-weight:700;font-family:var(--ff-mono)}.hint{color:var(--c-text-muted);font-size:13px}.previewCard{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-subtle);overflow:hidden}.previewPaper{background:var(--c-surface);border-radius:var(--r-md);box-shadow:var(--shadow-elev-1);white-space:pre-wrap;margin:16px;padding:18px}.previewText{font-size:18px;line-height:1.7}.previewNum{color:#00000059;font-size:.8em}.previewBold{font-weight:700}.previewHeading{margin:10px 0 8px;font-weight:800;line-height:1.2}.previewHeadingCenter{text-align:center}.previewHeadingStart{text-align:start}.previewHeadingSm{font-size:16px}.previewHeadingBase{font-size:20px}.previewHeadingMd{font-size:24px}.previewHeadingLg{font-size:28px}.previewHeadingXl{font-size:34px}.previewImg{border-radius:var(--r-sm);width:100%;height:auto;margin:10px 0;display:block}.previewAnimStub{border:1px dashed var(--c-border-strong);border-radius:var(--r-sm);color:var(--c-text-muted);margin:10px 0;padding:12px;font-size:13px}.statusBar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:flex}.pill{border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-muted);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.pillSuccess{color:var(--c-success)}.pillError{color:var(--c-error)}.overlay{z-index:80;background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.overlayTop{justify-content:center;align-items:flex-start;display:flex}.modal{background:var(--c-surface);border-radius:var(--r-lg);width:min(640px,100%);box-shadow:var(--shadow-elev-2);padding:20px}.modalWide{width:min(720px,100%)}.modalMaxH{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.modalScroll{flex:auto;min-height:0;overflow:auto}.section{margin-top:18px}.sectionHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.sectionTitle{font-weight:700}.tableBox{border:1px solid var(--c-border);overscroll-behavior:contain;background:var(--c-surface);border-radius:14px;max-height:600px;margin-top:10px;overflow:auto}.tableHeaderRow{background:var(--c-surface-subtle);border-bottom:1px solid var(--c-border);color:var(--c-text);grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:11px 14px;font-size:13px;font-weight:700;display:grid}.tableRowBtn{text-align:left;border:none;border-top:1px solid var(--c-surface-subtle);background:var(--c-surface);cursor:pointer;grid-template-columns:1.2fr 1fr 1fr;gap:10px;width:100%;padding:11px 14px;font-family:inherit;display:grid}.tableRowBtn:hover{background:var(--c-surface-subtle)}.cellStrong{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.cell{color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cellMono{color:var(--c-text-muted);font-family:var(--ff-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pillGrid{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.tagPill{border:1px solid var(--c-border-strong);background:var(--c-surface);cursor:pointer;text-align:left;border-radius:999px;gap:2px;padding:9px 12px;display:grid}.tagPill:hover{background:var(--c-surface-subtle)}.publishForm{flex-wrap:wrap;align-items:flex-end;gap:10px;width:100%;max-width:530px;display:flex}.publishBtn{width:160px}@media (width<=640px){.publishBtn{width:100%}}.versionsBox{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-subtle);width:100%;max-width:530px;max-height:320px;padding:10px;overflow:auto}.versionsList{gap:10px;margin:0;padding-left:18px;display:grid}.versionRow{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.versionLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:160px;font-weight:700;overflow:hidden}.versionTime{color:var(--c-text-muted);font-size:12px;font-family:var(--ff-mono)}.versionBtn{width:140px}@media (width<=640px){.versionBtn{width:100%}.versionLabel{white-space:normal}}
