:root{--ink:#17211b;--paper:#f5f1e8;--panel:#fffdf8;--line:#d6d0c3;--muted:#6d746e;--accent:#f05a28;--green:#2d6b4f;--editor-width:50%}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{color:inherit}
.topbar{height:68px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--paper);background:var(--ink);font-family:Georgia,serif;font-weight:700}.tool-nav{display:flex;align-items:center;gap:6px}.tool-nav a{padding:8px 11px;color:var(--muted);border-radius:5px;text-decoration:none;font-size:12px;font-weight:700}.tool-nav a:hover{color:var(--ink);background:#ebe6dc}.topbar-actions{justify-self:end;display:flex;align-items:center;gap:18px}
.button{border:0;padding:11px 16px;background:var(--ink);color:#fff;cursor:pointer;font-weight:700;transition:transform .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.4;cursor:not-allowed}.button-primary{background:var(--accent)}.button-dark{min-width:136px;display:flex;align-items:center;justify-content:space-between;gap:14px}.button-small{padding:8px 12px;font-size:13px}.shortcut{margin-left:7px;opacity:.65;font-size:12px}
.switch-label{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:650;cursor:pointer}.switch-label input{position:absolute;opacity:0}.switch{width:34px;height:19px;padding:2px;border-radius:99px;background:#b9b8b0;transition:.2s}.switch::after{content:"";display:block;width:15px;height:15px;border-radius:50%;background:#fff;transition:.2s}.switch-label input:checked+.switch{background:var(--green)}.switch-label input:checked+.switch::after{transform:translateX(15px)}
main{height:calc(100% - 68px)}.welcome{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,620px);align-items:center;gap:8vw;padding:7vw;position:relative;overflow:hidden}.welcome::before{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(23,33,27,.1);border-radius:50%;left:-260px;bottom:-220px;box-shadow:0 0 0 80px rgba(23,33,27,.025),0 0 0 160px rgba(23,33,27,.018)}.welcome-copy,.open-card{position:relative;z-index:1}.eyebrow{margin:0 0 22px;color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.16em}h1{max-width:650px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6.3vw,104px);line-height:.9;letter-spacing:-.06em;font-weight:500}h1 em{color:var(--accent);font-weight:inherit}.intro{max-width:570px;margin:28px 0 0;color:var(--muted);font-size:18px;line-height:1.6}
.open-card{padding:34px;background:var(--panel);border:1px solid var(--line);box-shadow:12px 12px 0 rgba(23,33,27,.08)}.open-card label{display:block;margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.path-row{display:flex}.path-row input{min-width:0;flex:1;padding:14px;border:1px solid var(--line);border-right:0;background:#fff;outline:none;font-family:"SFMono-Regular",Consolas,monospace;font-size:13px}.path-row input:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.field-help{margin:11px 0 0;color:var(--muted);font-size:12px}.form-error{margin:14px 0 0;padding:10px;color:#8f2e1f;background:#fdebe4;font-size:13px}.open-divider{margin:24px 0 18px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.open-divider::before,.open-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.drop-zone{min-height:108px;padding:18px;display:flex;align-items:center;gap:14px;border:1px dashed #aaa398;background:#faf7f0;outline:none;cursor:pointer;transition:.18s}.drop-zone:hover,.drop-zone:focus-visible,.drop-zone.dragging{border-color:var(--accent);background:#fff2e9;box-shadow:inset 0 0 0 1px var(--accent)}.upload-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;color:var(--accent);border:1px solid var(--accent);border-radius:50%;font-size:24px}.drop-zone div{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.drop-zone strong{font-size:14px}.drop-zone div span{color:var(--muted);font-size:12px}.button-outline{flex:0 0 auto;padding:9px 12px;color:var(--ink);background:transparent;border:1px solid var(--ink);font-size:12px}
.paste-markdown{width:100%;min-height:70px;margin-top:12px;padding:13px 16px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:.18s}.paste-markdown:hover,.paste-markdown:focus-visible{border-color:var(--accent);background:#fff8f3;box-shadow:inset 3px 0 var(--accent)}.paste-icon{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:var(--accent);font:700 20px Georgia,serif}.paste-markdown>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.paste-markdown strong{font-size:13px}.paste-markdown small{color:var(--muted);font-size:11px}.paste-markdown b{color:var(--accent);font-size:18px}
.paste-openapi .paste-icon{font:900 9px/1 ui-monospace,monospace;letter-spacing:.04em;background:var(--green)}.paste-openapi:hover,.paste-openapi:focus-visible{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}
.workspace{height:100%;padding:16px 20px 20px;display:flex;flex-direction:column}.document-bar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4px 14px}.file-identity{min-width:0;display:flex;align-items:center;gap:11px}.file-type{flex:0 0 auto;padding:5px 7px;color:#fff;background:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em}.file-identity div{min-width:0;display:flex;flex-direction:column;gap:2px}.file-identity strong{font-size:14px}.file-identity span:last-child{max-width:60vw;overflow:hidden;color:var(--muted);font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.document-actions{display:flex;align-items:center;gap:22px}.save-state{color:var(--muted);font-size:12px}.state-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green)}.save-state.dirty .state-dot{background:var(--accent)}.text-button{padding:2px 0;border:0;border-bottom:1px solid currentColor;background:transparent;font-size:12px;font-weight:700;cursor:pointer}
.file-type.openapi{background:var(--green)}
.document-tools{min-height:43px;margin:-3px 0 10px;padding:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--panel)}.document-tool-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.document-tools button{padding:7px 10px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.document-tools button:hover,.document-tools button:focus-visible,.document-tools button[aria-pressed="true"]{color:var(--ink);border-color:var(--line);background:var(--paper)}.document-tools .publish-button{color:#fff;background:var(--green);border-color:var(--green)}
.change-banner{margin-bottom:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff0cb;border:1px solid #e2c77e;font-size:13px}.change-banner div{display:flex;align-items:center;gap:14px}.panes{min-height:0;flex:1;display:flex;border:1px solid var(--line);background:var(--panel);box-shadow:7px 7px 0 rgba(23,33,27,.07)}.pane{min-width:0;display:flex;flex-direction:column}.editor-pane{width:var(--editor-width)}.preview-pane{flex:1}.pane-header{height:40px;flex:0 0 40px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);background:#ebe7de;border-bottom:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#editor{width:100%;flex:1;resize:none;padding:22px;border:0;outline:0;color:#d8e1da;background:#17211b;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:14px;line-height:1.65;tab-size:2}#preview{width:100%;flex:1;border:0;background:#fff}.divider{width:10px;flex:0 0 10px;display:grid;place-items:center;background:var(--paper);border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize}.divider span{width:2px;height:34px;background:#aaa79e}.icon-button{padding:4px 7px;border:0;background:transparent;font-size:17px;cursor:pointer}.toast{position:fixed;right:24px;bottom:24px;max-width:360px;padding:12px 16px;color:#fff;background:var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.18);font-size:13px;transform:translateY(90px);opacity:0;transition:.25s;z-index:10}.toast.show{transform:translateY(0);opacity:1}
.preview-header{padding-left:7px}.preview-tabs{height:100%;display:flex;align-items:stretch;gap:2px}.preview-tabs button{padding:0 10px;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.preview-tabs button:hover,.preview-tabs button:focus-visible{color:var(--ink);background:rgba(255,255,255,.45)}.preview-tabs button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--accent);background:var(--panel)}
.swagger-preview{min-width:0;min-height:0;flex:1;position:relative;overflow:auto;overscroll-behavior:contain;background:#fff}.openapi-status{position:sticky;z-index:4;top:0;padding:10px 14px;color:#385344;background:#edf7f0;border-bottom:1px solid #c9dfcf;font-size:11px;font-weight:700}.openapi-status:empty{display:none}.openapi-status.error{padding:14px;color:#8f2e1f;background:#fff0eb;border-color:#edc5b8;white-space:pre-wrap;font:12px/1.55 "SFMono-Regular",Consolas,monospace}.swagger-preview .swagger-ui{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.swagger-preview .swagger-ui .topbar{display:none}.swagger-preview .swagger-ui .information-container.wrapper{padding:26px 24px 8px}.swagger-preview .swagger-ui .wrapper{max-width:none;padding:0 24px}.swagger-preview .swagger-ui .scheme-container{margin:10px 0 22px;padding:18px 24px;box-shadow:none;border-block:1px solid #e5e7eb}.swagger-preview .swagger-ui .info{margin:0}.swagger-preview .swagger-ui .info .title{font-family:Georgia,"Times New Roman",serif}.swagger-preview .swagger-ui .opblock-tag{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.outline-panel{width:220px;flex:0 0 220px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel)}.outline-panel>header{height:40px;flex:0 0 40px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#ebe7de;border-bottom:1px solid var(--line)}.outline-panel>header div{display:flex;flex-direction:column}.outline-panel>header span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.outline-panel>header strong{font-size:11px}.outline-panel>header>span{min-width:22px;padding:3px 5px;color:#fff;background:var(--green);text-align:center}.outline-panel nav{min-height:0;padding:9px;overflow:auto}.outline-panel nav p{padding:8px;margin:0;color:var(--muted);font-size:11px}.outline-panel nav button{width:100%;padding:7px 8px;border:0;border-left:2px solid transparent;color:var(--muted);background:transparent;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-size:11px}.outline-panel nav button:hover,.outline-panel nav button:focus-visible{color:var(--ink);border-left-color:var(--accent);background:var(--paper)}.outline-level-2{padding-left:17px!important}.outline-level-3{padding-left:28px!important}.outline-level-4,.outline-level-5,.outline-level-6{padding-left:39px!important}
.download-name-field{display:flex;flex-direction:row!important;align-items:center;gap:8px!important}.download-name-field[hidden]{display:none}.download-name-field>span{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.download-name-field input{width:min(340px,45vw);padding:7px 9px;border:1px solid var(--line);color:var(--ink);background:#fff;font:600 13px/1.2 "SFMono-Regular",Consolas,monospace}.download-name-field input:hover{border-color:#aaa196}
.diagram-viewer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.diagram-viewer-backdrop{position:absolute;inset:0;border:0;background:rgba(7,11,22,.76);cursor:zoom-out}.diagram-viewer-panel{width:min(1500px,96vw);height:min(920px,92vh);position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;border:1px solid #4b514d;box-shadow:18px 18px 0 rgba(0,0,0,.28)}.diagram-viewer-header{min-height:64px;padding:10px 14px 10px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:var(--ink)}.diagram-viewer-header>div:first-child{display:flex;flex-direction:column;gap:2px}.diagram-viewer-header span{font-size:11px}.diagram-viewer-header>div:first-child>span{color:#aeb9b2;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.diagram-viewer-header strong{font-size:15px}.diagram-viewer-controls{display:flex;align-items:center;gap:6px}.diagram-viewer-controls button{min-width:38px;height:38px;padding:0 11px;border:1px solid #53625a;color:#fff;background:#26342c;cursor:pointer;font-size:18px;font-weight:800}.diagram-viewer-controls button:hover,.diagram-viewer-controls button:focus-visible{background:var(--accent);border-color:var(--accent)}.diagram-viewer-controls #diagramZoomReset{min-width:72px;font-size:11px}.diagram-viewer-controls .diagram-viewer-close{margin-left:8px;font-size:24px;font-weight:400}.diagram-viewport{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background-color:#f8f6f0;background-image:linear-gradient(#e6e1d7 1px,transparent 1px),linear-gradient(90deg,#e6e1d7 1px,transparent 1px);background-size:24px 24px;outline:none}.diagram-canvas{min-width:100%;min-height:100%;padding:48px;display:flex;align-items:center;justify-content:center}.diagram-canvas svg{display:block;max-width:none!important;height:auto}.diagram-viewer-panel footer{padding:9px 16px;color:var(--muted);background:#f2eee6;border-top:1px solid var(--line);font-size:11px;text-align:center}.diagram-viewer-open{overflow:hidden}
.diagram-viewport{background:#fff;background-image:none}
.studio-dialog{width:min(760px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));padding:0;color:var(--ink);background:var(--panel);border:1px solid var(--ink);box-shadow:12px 12px 0 rgba(0,0,0,.22)}.studio-dialog::backdrop{background:rgba(7,11,22,.68)}.studio-dialog>header{min-height:64px;padding:12px 14px 12px 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--ink)}.studio-dialog>header span{color:#b8c2bc;font-size:9px;font-weight:900;letter-spacing:.12em}.studio-dialog>header h2{margin:2px 0 0;font-size:19px}.studio-dialog>header button{width:38px;height:38px;border:1px solid #53625a;color:#fff;background:#26342c;cursor:pointer;font-size:22px}.dialog-body{padding:22px}.dialog-intro{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6}.studio-dialog label,.mermaid-preview-label{display:block;margin:14px 0 7px;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.studio-dialog input,.studio-dialog select,.studio-dialog textarea{width:100%;padding:11px;border:1px solid var(--line);color:var(--ink);background:#fff}.link-check-results{max-height:480px;overflow:auto;border:1px solid var(--line)}.link-check-item{padding:11px 12px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid var(--line)}.link-check-item:last-child{border-bottom:0}.link-check-item i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#9ca3af}.link-check-item.ok i{background:#2d6b4f}.link-check-item.broken i,.link-check-item.error i{background:#c2412d}.link-check-item.redirect i,.link-check-item.restricted i{background:#d88a20}.link-check-item code{overflow-wrap:anywhere;font-size:11px}.link-check-item small{color:var(--muted);font-size:10px}.mermaid-editor-dialog{width:min(1120px,calc(100vw - 32px))}.mermaid-editor-grid{height:min(620px,65vh);display:grid;grid-template-columns:1fr 1fr}.mermaid-editor-grid>section{min-width:0;min-height:0;padding:18px;display:flex;flex-direction:column}.mermaid-editor-grid>section:first-child{border-right:1px solid var(--line)}.mermaid-editor-grid textarea{flex:1;resize:none;color:#d8e1da;background:#17211b;font:13px/1.6 "SFMono-Regular",Consolas,monospace}.mermaid-editor-preview{min-height:0;flex:1;display:grid;place-items:center;overflow:auto;background:#fff;border:1px solid var(--line)}.mermaid-editor-preview svg{max-width:100%;height:auto}.mermaid-editor-preview.error{place-items:start;padding:15px;color:#a22;font:12px/1.6 monospace}.studio-dialog>footer{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.studio-dialog>footer>span{color:var(--muted);font-size:11px}.studio-dialog>footer div{display:flex;gap:8px}.studio-dialog>footer button:not(.button){padding:10px 14px;border:1px solid var(--line);background:transparent;cursor:pointer}.publish-dialog{width:min(560px,calc(100vw - 32px))}.publish-dialog .button{width:100%;margin-top:18px}.publish-result{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.publish-result>div{display:flex}.publish-result input{min-width:0;flex:1;font:11px monospace}.publish-result button,.publish-result a{padding:10px 12px;display:grid;place-items:center;border:1px solid var(--line);border-left:0;color:var(--ink);background:var(--paper);text-decoration:none;cursor:pointer;font-size:11px;font-weight:800}.publish-result small{display:block;margin-top:8px;color:var(--muted);font-size:10px}
.published-formats{margin-top:10px;padding:10px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper)}.published-formats span{margin-right:auto;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.published-formats a{padding:6px 8px!important;border:1px solid var(--line)!important;background:#fff!important}.publish-dialog #publishCustomExpiry{margin-top:12px;padding:12px;border:1px solid var(--line);background:var(--paper)}.publish-dialog #publishCustomExpiry label{margin-top:0}.publish-dialog #publishCustomExpiry small{display:block;margin-top:7px;color:var(--muted);font-size:10px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.tool-nav{display:none}.welcome{grid-template-columns:1fr;align-content:center;padding:42px 24px}.open-card{padding:24px}.document-tools{align-items:flex-start;flex-direction:column}.panes{flex-direction:column}.outline-panel{width:100%;height:150px;flex:0 0 150px;border-right:0;border-bottom:1px solid var(--line)}.editor-pane{width:100%;height:auto;flex:0 0 var(--editor-height,50%)}.preview-pane{width:100%;height:auto;flex:1}.divider{width:auto;height:10px;flex:0 0 10px;cursor:row-resize;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.divider span{width:34px;height:2px}.shortcut{display:none}.mermaid-editor-grid{height:70vh;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.mermaid-editor-grid>section:first-child{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:560px){.topbar{padding:0 16px}.brand>span:last-child{display:none}.path-row{flex-direction:column}.path-row input{border-right:1px solid var(--line);border-bottom:0}.button-dark{width:100%}.drop-zone{flex-wrap:wrap}.drop-zone .button-outline{width:100%}.workspace{padding:10px}.file-identity span:last-child,.save-state{display:none}}
@media(max-width:700px){.diagram-viewer{padding:0}.diagram-viewer-panel{width:100vw;height:100vh;border:0;box-shadow:none}.diagram-viewer-header{padding:9px 10px 9px 14px}.diagram-viewer-header>div:first-child>span{display:none}.diagram-viewer-controls{gap:3px}.diagram-viewer-controls button{min-width:34px;height:36px;padding:0 8px}.diagram-viewer-controls .diagram-viewer-close{margin-left:2px}.diagram-canvas{padding:28px}.diagram-viewer-panel footer{font-size:9px}}

.saved-files-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}.saved-file-row{display:flex;flex-direction:column;gap:5px;width:100%;padding:14px;text-align:left;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.saved-file-row:hover,.saved-file-row:focus-visible{border-color:var(--accent)}.saved-file-row span{font-size:12px;color:var(--muted)}#confirmCloudSave{margin-top:16px}
