@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--bg-subtle:#f5f5f5;--bg-card:#fff;--border:#e0e0e0;--border-focus:#1a1a1a;--text:#111;--text-2:#555;--text-3:#888;--accent:#1a1a1a;--accent-fg:#fff;--accent-hover:#333;--teal:#0d9488;--teal-light:#ccfbf1;--teal-fg:#fff;--danger:#d93025;--success:#1e8a4c;--badge-get-bg:#e6f4ea;--badge-get:#1e8a4c;--badge-post-bg:#e8f0fe;--badge-post:#1a73e8;--badge-put-bg:#fef7e0;--badge-put:#b06000;--badge-patch-bg:#f3e8fd;--badge-patch:#7b1fa2;--badge-delete-bg:#fce8e6;--badge-delete:#d93025;--shadow:0 1px 4px #00000014;--shadow-md:0 4px 16px #0000001a;--radius:8px;--radius-lg:12px}[data-theme=dark]{--bg:#111;--bg-subtle:#1c1c1c;--bg-card:#1c1c1c;--border:#2e2e2e;--border-focus:#fff;--text:#f5f5f5;--text-2:#aaa;--text-3:#666;--accent:#f5f5f5;--accent-fg:#111;--accent-hover:#ddd;--teal:#2dd4bf;--teal-light:#042f2e;--teal-fg:#fff;--danger:#f28b82;--success:#81c995;--badge-get-bg:#0d2b18;--badge-get:#81c995;--badge-post-bg:#0d1f3c;--badge-post:#8ab4f8;--badge-put-bg:#2b1d00;--badge-put:#fdd663;--badge-patch-bg:#1e0a3c;--badge-patch:#ce93d8;--badge-delete-bg:#2d0c07;--badge-delete:#f28b82;--shadow:0 1px 4px #0006;--shadow-md:0 4px 16px #00000080}html{font-size:16px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif;transition:background .2s,color .2s}#root{min-height:100vh}h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}p{line-height:1.6}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--border-focus)}.btn-teal{background:var(--teal);color:var(--teal-fg)}.btn-teal:hover:not(:disabled){opacity:.88}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-label{color:var(--text-2);font-size:.8rem;font-weight:500}.form-input,.form-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:.6rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-input:focus,.form-textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 14%, transparent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-3)}.form-textarea{resize:vertical;min-height:90px;line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.alert{border-radius:var(--radius);padding:.65rem .9rem;font-size:.875rem}.alert-error{background:var(--badge-delete-bg);color:var(--danger);border:1px solid var(--danger)}.alert-success{background:var(--badge-get-bg);color:var(--success);border:1px solid var(--success)}.badge{letter-spacing:.04em;white-space:nowrap;border-radius:4px;padding:.15rem .45rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;display:inline-block}.badge-GET{background:var(--badge-get-bg);color:var(--badge-get)}.badge-POST{background:var(--badge-post-bg);color:var(--badge-post)}.badge-PUT{background:var(--badge-put-bg);color:var(--badge-put)}.badge-PATCH{background:var(--badge-patch-bg);color:var(--badge-patch)}.badge-DELETE{background:var(--badge-delete-bg);color:var(--badge-delete)}.mono{font-family:JetBrains Mono,monospace;font-size:.875rem}.container{max-width:860px;margin:0 auto;padding:0 1.25rem}.spinner{border:2px solid #8080804d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--teal)}@media (width<=600px){h1{font-size:1.4rem}.container{padding:0 1rem}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);pointer-events:all;border:1px solid #0000;align-items:center;gap:.75rem;min-width:220px;max-width:360px;padding:.7rem 1rem;font-size:.875rem;font-weight:500;animation:.25s both toastIn;display:flex}.toast-success{background:var(--badge-get-bg);color:var(--success);border-color:var(--success)}.toast-info{background:var(--badge-post-bg);color:var(--badge-post);border-color:var(--badge-post)}.toast-error{background:var(--badge-delete-bg);color:var(--danger);border-color:var(--danger)}.toast-msg{flex:1}.toast-close{cursor:pointer;color:currentColor;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.8rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.22s both dialogFadeIn;display:flex;position:fixed;inset:0}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:580px;max-height:88dvh;animation:.26s cubic-bezier(.34,1.56,.64,1) both dialogSlideUp;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000004d}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.dialog-title{color:var(--text);letter-spacing:.02em;font-size:.9rem;font-weight:800}.dialog-close-btn{background:var(--bg-subtle);cursor:pointer;width:30px;height:30px;color:var(--text-2);border:none;border-radius:7px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.dialog-close-btn:hover{background:var(--badge-delete-bg);color:var(--danger)}.dialog-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.dialog-intro{color:var(--text-2);font-size:.82rem;line-height:1.6}.dialog-endpoint-table{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.dialog-ep-row{border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:.2rem .65rem;padding:.65rem .85rem;display:grid}.dialog-ep-row:last-child{border-bottom:none}.dialog-badge{flex-shrink:0;grid-row:1/3;align-self:center}.dialog-ep-path{color:var(--text);word-break:break-all;font-size:.72rem;line-height:1.4}.dialog-ep-desc{color:var(--text-3);font-size:.7rem}.dialog-notes{flex-direction:column;gap:.6rem;display:flex}.dialog-note{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem}.dialog-note-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:.3rem;font-size:.62rem;font-weight:800;display:block}.dialog-note p{color:var(--text-2);font-size:.78rem;line-height:1.55}.dialog-code{color:var(--text-2);white-space:pre-wrap;background:0 0;margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.65}.dialog-tips-list{flex-direction:column;gap:.5rem;display:flex}.dialog-tip{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.65rem;padding:.65rem .85rem;display:flex}.dialog-tip-icon{flex-shrink:0;margin-top:.1rem;font-size:1rem}.dialog-tip-label{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.12rem;font-size:.72rem;font-weight:700;display:block}.dialog-tip-example{color:var(--teal);margin-bottom:.2rem;font-family:JetBrains Mono,monospace;font-size:.75rem;display:block}.dialog-tip-note{color:var(--text-3);font-size:.72rem;line-height:1.4;display:block}.nav-sidebar-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:299;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .28s;position:fixed;inset:0}.nav-sidebar-overlay.visible{opacity:1;pointer-events:auto}.nav-sidebar{background:var(--bg-card);border-right:1px solid var(--border);z-index:300;flex-direction:column;width:min(300px,88vw);height:100dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 40px #00000038}.nav-sidebar.open{transform:translate(0)}.nav-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.15rem;display:flex}.nav-sidebar-brand{align-items:center;gap:.65rem;text-decoration:none;display:flex}.nav-sidebar-brand-text{color:var(--text);letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.nav-sidebar-brand-text span{color:var(--teal)}.nav-sidebar-close{background:var(--bg-subtle);cursor:pointer;width:30px;height:30px;color:var(--text-2);border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.nav-sidebar-close:hover{background:var(--badge-delete-bg);color:var(--danger)}.nav-sidebar-user{background:var(--bg-subtle);align-items:center;gap:.75rem;padding:.9rem 1.15rem;display:flex}.nav-sidebar-user-avatar{background:linear-gradient(135deg, var(--teal), #6366f1);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:800;display:flex}.nav-sidebar-user-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.nav-sidebar-user-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-size:.6rem;font-weight:700}.nav-sidebar-user-email{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:185px;font-size:.78rem;font-weight:600;overflow:hidden}.nav-sidebar-divider{background:var(--border);flex-shrink:0;height:1px}.nav-sidebar-nav{flex-direction:column;flex:1;gap:.1rem;padding:.75rem .65rem;display:flex}.nav-sidebar-section-label{text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-top:.15rem;margin-bottom:.2rem;padding:0 .5rem;font-size:.6rem;font-weight:800}.nav-sidebar-item{cursor:pointer;width:100%;color:var(--text-2);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:.75rem;padding:.65rem .85rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-sidebar-item:hover{background:var(--bg-subtle);color:var(--text)}.nav-sidebar-item.active{background:var(--teal-light);color:var(--teal);font-weight:600}.nav-sidebar-item.danger-item:hover{background:var(--badge-delete-bg);color:var(--danger)}.nav-sidebar-item-icon{opacity:.75;flex-shrink:0;align-items:center;display:flex}.nav-sidebar-item.active .nav-sidebar-item-icon,.nav-sidebar-item:hover .nav-sidebar-item-icon{opacity:1}.nav-sidebar-item-label{flex:1}.nav-sidebar-item-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:6px;height:6px}.theme-pill{letter-spacing:.04em;border-radius:100px;padding:.15rem .5rem;font-size:.62rem;font-weight:700}.theme-pill.dark{color:#a78bfa;background:#1c1c2e;border:1px solid #3730a3}.theme-pill.light{color:#92400e;background:#fef9c3;border:1px solid #fbbf24}.nav-sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:.85rem 1.15rem}.nav-sidebar-footer-text{color:var(--text-3);font-size:.65rem;font-weight:500}.navbar{background:var(--bg);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 1.25rem;display:flex;position:sticky;top:0}.navbar-logo-btn{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:0;transition:opacity .15s;display:flex}.navbar-wordmark{letter-spacing:-.02em;color:var(--text);font-size:1.05rem;font-weight:800}.navbar-wordmark span{color:var(--teal)}.navbar-tagline{color:var(--text-3);letter-spacing:.02em;font-size:.68rem;font-weight:500;display:none}@media (width>=520px){.navbar-tagline{display:inline}}.hamburger-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4.5px;width:38px;height:38px;transition:background .15s,border-color .15s;display:flex}.hamburger-btn:hover{background:var(--bg-subtle);border-color:var(--teal)}.hamburger-line{background:var(--text-2);border-radius:2px;width:16px;height:2px;transition:background .15s;display:block}.hamburger-btn:hover .hamburger-line{background:var(--teal)}.nav-group{background:0 0;border-radius:9px;margin-bottom:.15rem;transition:background .2s}.nav-group.active{background:var(--teal-light)}.projects-root-btn{font-weight:600}.nav-group.active .projects-root-btn{color:var(--teal)}.nav-group-chevron{color:var(--text-3);align-items:center;margin-left:auto;transition:transform .2s;display:flex}.nav-tree{flex-direction:column;padding:.2rem 0 .5rem 1.6rem;display:flex;position:relative}.nav-tree:before{content:"";border-left:1px dashed var(--border);width:1px;position:absolute;top:0;bottom:.5rem;left:1.1rem}.nav-tree-item{flex-direction:column;display:flex;position:relative}.nav-tree-item:before{content:"";border-top:1px dashed var(--border);width:.6rem;position:absolute;top:14px;left:-.5rem}.nav-tree-btn{cursor:pointer;color:var(--text-2);z-index:1;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.15rem;padding:.35rem .6rem;font-family:inherit;font-size:.82rem;display:flex}.nav-tree-btn:hover{color:var(--text)}.nav-tree-btn.active{color:var(--text);font-weight:600}.nav-tree-btn>svg{opacity:.7}.nav-tree-label{white-space:nowrap;text-overflow:ellipsis;max-width:135px;overflow:hidden}.nav-tree-empty{color:var(--text-3);padding:.4rem .6rem;font-size:.75rem;font-style:italic}.nav-tree-children{flex-direction:column;padding-bottom:.3rem;padding-left:1rem;display:flex;position:relative}.nav-tree-children:before{content:"";border-left:1px dashed var(--border);width:1px;position:absolute;top:-.1rem;bottom:.9rem;left:.6rem}.nav-tree-child-btn{background:var(--bg-card);cursor:pointer;color:var(--text-2);border:none;border:1px solid var(--border);z-index:1;border-radius:99px;justify-content:space-between;align-items:center;margin:.2rem 0;padding:.4rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s;display:flex;position:relative;box-shadow:0 1px 3px #0000000d}.nav-tree-child-btn:hover{border-color:var(--teal);color:var(--text)}.nav-tree-child-btn.active-child{color:var(--teal);background:#dcfce7;border-color:#0000}[data-theme=dark] .nav-tree-child-btn.active-child{background:#0d948833}.nav-tree-child-btn:before{content:"";border-top:1px dashed var(--border);z-index:-1;width:.4rem;position:absolute;top:50%;left:-.4rem}.landing{padding:5rem 0 4rem;animation:.4s both fadeUp}.landing-hero{max-width:580px;margin-bottom:4rem}.landing-label{color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:.72rem;font-weight:700}.landing-title{letter-spacing:-.035em;margin-bottom:.5rem;font-size:clamp(2.8rem,10vw,5rem);font-weight:700;line-height:1}.landing-tagline{color:var(--teal);margin-bottom:1.25rem;font-size:1.15rem;font-weight:500}.landing-desc{color:var(--text-2);max-width:470px;margin-bottom:2.25rem;font-size:1rem;line-height:1.75}.landing-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.landing-cta{padding:.65rem 1.4rem;font-size:.95rem}.landing-features{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.landing-feature{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-subtle);padding:1.4rem;transition:border-color .18s}.landing-feature:hover{border-color:var(--teal)}.feat-icon{margin-bottom:.75rem;font-size:1.5rem;display:block}.landing-feature h3{margin-bottom:.4rem;font-size:.95rem}.landing-feature p{color:var(--text-2);font-size:.85rem;line-height:1.6}.landing-demo-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-subtle);flex-direction:column;gap:.5rem;padding:1.1rem 1.4rem;display:inline-flex}.landing-demo-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.landing-demo-url{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.landing-url-text{color:var(--text);font-size:.9rem}.landing-url-text .hl{color:var(--teal);font-weight:600}@media (width<=600px){.landing{padding:3rem 0 2.5rem}.landing-features{grid-template-columns:1fr 1fr}.landing-demo-box{width:100%}}@media (width<=400px){.landing-features{grid-template-columns:1fr}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 54px);padding:2rem 1rem;display:flex}.auth-box{width:100%;max-width:380px}.auth-box h1{margin-bottom:.3rem}.auth-sub{color:var(--text-2);margin-bottom:1.75rem;font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-submit{justify-content:center;width:100%;padding:.65rem}.auth-footer{text-align:center;color:var(--text-2);margin-top:1.25rem;font-size:.85rem}.auth-footer a{color:var(--text);font-weight:600;text-decoration:underline}.dashboard{flex-direction:column;gap:2rem;padding:2.5rem 1.25rem 4rem;animation:.35s both fadeUp;display:flex}.dash-header{flex-direction:column;gap:.35rem;display:flex}.dash-header h1{font-size:1.8rem}.dash-sub{color:var(--text-2);font-size:.875rem}.create-form{border-top:3px solid var(--teal)}.create-form h2{color:var(--teal);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.85rem;font-size:.72rem;font-weight:800}.create-row{gap:.6rem;display:flex}.create-row .form-input{flex:1}.proj-section-row{align-items:center;display:flex}.proj-section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);font-size:.72rem;font-weight:800}.dash-empty{color:var(--text-3);font-size:.9rem}.proj-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.proj-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;transition:border-color .18s,box-shadow .18s,transform .12s;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--teal);box-shadow:0 4px 18px color-mix(in srgb, var(--teal) 15%, transparent);transform:translateY(-2px)}.proj-card-strip{background:var(--teal);flex-shrink:0;height:3px}.proj-card-body{cursor:pointer;flex-direction:column;flex:1;gap:.45rem;padding:1.1rem 1.1rem .8rem;display:flex}.proj-card-icon{font-size:1.6rem;line-height:1}.proj-name{font-size:.95rem;font-weight:700;line-height:1.3}.proj-slug{color:var(--teal);background:var(--teal-light);letter-spacing:.02em;border-radius:4px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.proj-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem .9rem;display:flex}.proj-confirm{flex:1;align-items:center;gap:.4rem;display:flex}.proj-confirm-msg{color:var(--danger);flex:1;font-size:.78rem;font-weight:500}.proj-confirm-actions{gap:.35rem;display:flex}.bin-btn{border-radius:var(--radius);cursor:pointer;width:28px;height:28px;color:var(--text-3);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.proj-open-btn{color:var(--teal);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.proj-open-btn:hover{text-decoration:underline}.doc-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow:hidden}.doc-panel-toggle{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;padding:1rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.doc-panel-toggle:hover{background:var(--bg-subtle)}.doc-panel-icon{font-size:1.1rem}.doc-panel-title{flex:1}.doc-chevron{color:var(--text-3);flex-shrink:0;transition:transform .22s}.doc-chevron.open{transform:rotate(180deg)}.doc-panel-body{border-top:1px solid var(--border);flex-direction:column;gap:1.25rem;padding:0 1.25rem 1.5rem;display:flex}.doc-intro{color:var(--text-2);padding-top:1rem;font-size:.875rem;line-height:1.65}.doc-table{border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;overflow:hidden}.doc-table-head{background:var(--bg-subtle);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);border-bottom:1px solid var(--border);grid-template-columns:70px 1fr 1fr;gap:.75rem;padding:.5rem .85rem;font-size:.7rem;font-weight:700;display:grid}.doc-table-row{border-bottom:1px solid var(--border);grid-template-columns:70px 1fr 1fr;align-items:center;gap:.75rem;padding:.6rem .85rem;display:grid}.doc-table-row:last-child{border-bottom:none}.doc-path{color:var(--text);font-size:.78rem}.doc-row-desc{color:var(--text-2);font-size:.8rem}.doc-notes{flex-direction:column;gap:1rem;display:flex}.doc-note{flex-direction:column;gap:.45rem;display:flex}.doc-note-label{text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-size:.7rem;font-weight:800}.doc-note p{color:var(--text-2);font-size:.85rem;line-height:1.65}.doc-code{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);white-space:pre-wrap;margin:0;padding:.85rem 1rem;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7}@media (width<=540px){.proj-list{grid-template-columns:1fr 1fr}.create-row{flex-direction:column}.doc-table-head,.doc-table-row{grid-template-columns:60px 1fr}.doc-table-head span:last-child,.doc-table-row .doc-row-desc{display:none}}@media (width<=360px){.proj-list{grid-template-columns:1fr}}.proj-view{flex-direction:column;gap:2rem;padding:2.5rem 1.25rem 4rem;animation:.35s both fadeUp;display:flex}.proj-view-header{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.proj-view-title-group{flex-direction:column;gap:.3rem;display:flex}.proj-view-title-group h1{line-height:1.1}.proj-view-slug{color:var(--teal);background:var(--teal-light);letter-spacing:.02em;border-radius:5px;padding:.18rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.gen-form{border-top:3px solid var(--teal);flex-direction:column;gap:.9rem;display:flex}.gen-form-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gen-form-label{color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.prompt-hint-btn{color:var(--text-3);border:1px dashed var(--border);cursor:pointer;opacity:1;letter-spacing:.02em;background:0 0;border-radius:100px;align-items:center;gap:.35rem;padding:.2rem .65rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:opacity .3s,color .18s,border-color .18s;display:flex}.prompt-hint-btn:hover{color:var(--teal);border-color:var(--teal)}.prompt-hint-btn.hidden{opacity:0;pointer-events:none}.gen-form-footer{justify-content:flex-end;display:flex}.prompt-input-wrap{width:100%;position:relative}.prompt-textarea{box-sizing:border-box;width:100%;caret-color:var(--text);z-index:1;position:relative}.prompt-ghost-overlay{pointer-events:none;z-index:2;white-space:pre-wrap;word-break:break-word;opacity:1;width:100%;padding:.6rem .85rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:opacity .25s;position:absolute;top:0;left:0}.prompt-ghost-overlay.hidden{opacity:0}.ghost-prefix{color:#0000}.ghost-hint{color:var(--text-3);font-style:italic}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:199;opacity:0;pointer-events:none;background:#0006;transition:opacity .28s;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.help-sidebar{background:var(--bg-card);border-left:1px solid var(--border);z-index:200;flex-direction:column;width:min(420px,92vw);height:100dvh;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-8px 0 40px #00000040}.help-sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border);background:var(--bg-card);z-index:1;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;display:flex;position:sticky;top:0}.sidebar-header-title{letter-spacing:.04em;color:var(--text);font-size:.85rem;font-weight:800}.sidebar-close-btn{background:var(--bg-subtle);cursor:pointer;width:28px;height:28px;color:var(--text-2);border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.sidebar-close-btn:hover{background:var(--badge-delete-bg);color:var(--danger)}.sidebar-section{flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.sidebar-section-title{text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-size:.7rem;font-weight:800}.sidebar-section-intro{color:var(--text-2);font-size:.8rem;line-height:1.55}.sidebar-divider{background:var(--border);height:1px;margin:0 1.25rem}.prompt-tips-list{flex-direction:column;gap:.55rem;display:flex}.prompt-tip{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.65rem;padding:.65rem .85rem;display:flex}.tip-icon{flex-shrink:0;margin-top:.1rem;font-size:1rem}.tip-label{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem;font-size:.72rem;font-weight:700;display:block}.tip-example{color:var(--teal);margin-bottom:.2rem;font-family:JetBrains Mono,monospace;font-size:.75rem;display:block}.tip-note{color:var(--text-3);font-size:.72rem;line-height:1.4;display:block}.sidebar-endpoint-table{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.sidebar-ep-row{border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:.2rem .65rem;padding:.65rem .85rem;display:grid}.sidebar-ep-row:last-child{border-bottom:none}.sidebar-badge{flex-shrink:0;grid-row:1/3;align-self:center}.sidebar-ep-path{word-break:break-all;color:var(--text);font-size:.72rem;line-height:1.4}.sidebar-ep-desc{color:var(--text-3);font-size:.7rem}.sidebar-notes{flex-direction:column;gap:.6rem;display:flex}.sidebar-note{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem}.sidebar-note-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:.35rem;font-size:.65rem;font-weight:800;display:block}.sidebar-note p{color:var(--text-2);font-size:.78rem;line-height:1.55}.sidebar-code{color:var(--text-2);white-space:pre-wrap;background:0 0;margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.65}.auth-api-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow);margin-bottom:1.5rem;animation:.5s cubic-bezier(.2,.9,.3,1.3) both hammerThrust;overflow:hidden}.auth-api-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg, var(--teal-light) 0%, transparent 100%);align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.auth-api-panel-icon{flex-shrink:0;font-size:1.5rem}.auth-api-panel-title{color:var(--teal);margin-bottom:.1rem;font-size:1.1rem;font-weight:700}.auth-api-panel-sub{color:var(--text-2);font-size:.85rem}.auth-api-endpoints{flex-direction:column;display:flex}.auth-url-bar{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.auth-api-row{border-bottom:1px solid var(--border);flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.auth-api-row:last-child{border-bottom:none}.auth-api-row-top{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.auth-api-path{color:var(--teal);word-break:break-all;flex:1;font-size:.8rem;line-height:1.45}.auth-api-desc{color:var(--text-3);font-size:.78rem;line-height:1.4}.pill-type{color:var(--text-3);background:#0000000f;border-radius:3px;margin-left:.25rem;padding:0 .25rem;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600}[data-theme=dark] .pill-type{background:#ffffff14}.resources-section{flex-direction:column;gap:.9rem;display:flex}.resources-header-row{justify-content:space-between;align-items:center;display:flex}.section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);font-size:.72rem;font-weight:800}.empty-state{color:var(--text-3);font-size:.9rem}.empty-state-box{border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;display:flex}.empty-icon{font-size:2rem}.empty-title{font-size:1rem;font-weight:700}.empty-desc{color:var(--text-2);max-width:320px;font-size:.875rem;line-height:1.6}.resources-list{flex-direction:column;gap:1rem;display:flex}.resource-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s,transform .15s;overflow:hidden}.resource-card:hover{border-color:color-mix(in srgb, var(--card-from,var(--teal)) 40%, var(--border));box-shadow:0 4px 20px color-mix(in srgb, var(--card-from,var(--teal)) 12%, transparent);transform:translateY(-1px)}.resource-topbar{background:linear-gradient(90deg, var(--card-from,#0d9488), var(--card-to,#6366f1));height:3px}.resource-card-inner{flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.resource-meta-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.resource-identity{flex:1;align-items:flex-start;gap:.85rem;min-width:0;display:flex}.resource-name-group{flex:1;min-width:0}.resource-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:900;display:flex}.resource-name{margin-bottom:.35rem;font-size:1rem;font-weight:700}.endpoint-chips{flex-wrap:wrap;gap:.3rem;display:flex}.chip{letter-spacing:.04em;opacity:.85;border-radius:3px;padding:.1rem .35rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:700}.chip-more{color:var(--text-3);padding:.1rem .3rem;font-size:.65rem;font-weight:600}.resource-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.big-chevron{border:1px solid var(--border)!important;background:var(--bg-subtle)!important;border-radius:var(--radius)!important;width:38px!important;height:38px!important;color:var(--text-2)!important}.big-chevron:hover{background:var(--teal-light)!important;border-color:var(--teal)!important;color:var(--teal)!important}.icon-btn{border-radius:var(--radius);cursor:pointer;width:30px;height:30px;color:var(--text-3);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.bin-btn:hover{background:var(--badge-delete-bg);color:var(--danger)}.chevron-btn:hover{background:var(--bg-subtle);color:var(--text)}.auth-toggle-btn{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-3);cursor:pointer;white-space:nowrap;letter-spacing:.03em;border-radius:100px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-family:inherit;font-size:.7rem;font-weight:700;transition:background .18s,color .18s,border-color .18s;display:flex}.auth-toggle-btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.auth-toggle-btn.auth-on{background:var(--teal-light);border-color:var(--teal);color:var(--teal)}.auth-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.resource-url-bar{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.url-bar-text{color:var(--teal);word-break:break-all;flex:1;font-size:.82rem;line-height:1.4}.url-copy-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-2);cursor:pointer;flex-shrink:0;align-items:center;gap:.35rem;padding:.3rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.url-copy-btn:hover{border-color:var(--teal);color:var(--teal)}.url-copy-btn.copied{background:var(--teal-light);color:var(--teal);border-color:var(--teal)}.confirm-bar{background:var(--badge-delete-bg);border-top:1px solid color-mix(in srgb, var(--danger) 25%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.confirm-bar-msg{color:var(--danger);font-size:.82rem;font-weight:500}.confirm-bar-actions{gap:.4rem;display:flex}.confirm-cancel{border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.confirm-cancel:hover{border-color:var(--text)}.confirm-delete{background:var(--danger);color:#fff;border:none}.confirm-delete:hover:not(:disabled){opacity:.85}.confirm-delete:disabled{opacity:.45;cursor:not-allowed}.resource-endpoints{border-top:1px solid var(--border)}.endpoint-row{border-bottom:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.85rem 1.25rem;display:flex}.endpoint-row:last-child{border-bottom:none}.endpoint-top{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.endpoint-path{font-size:.85rem}.endpoint-desc{color:var(--text-2);font-size:.8rem;line-height:1.55}.endpoint-fields{flex-wrap:wrap;gap:.3rem;display:flex}.field-pill{border:1px solid var(--border);color:var(--text-2);background:var(--bg-subtle);border-radius:100px;padding:.1rem .5rem;font-size:.71rem}.field-type{color:var(--teal);font-weight:600}.endpoint-required-list{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.required-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.required-pill{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);background:var(--badge-delete-bg);color:var(--danger);letter-spacing:.03em;border-radius:100px;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.jwt-highlight{color:var(--teal);background:var(--teal-light);border-radius:4px;margin:0 .15rem;padding:.05rem .35rem;font-size:.9em;font-weight:700;display:inline-block}@keyframes hammerThrust{0%{opacity:0;transform:translateY(-20px)scale(.97)}60%{opacity:1;transform:translateY(8px)scale(1.01)}80%{transform:translateY(-2px)scale(.995)}to{transform:translateY(0)scale(1)}}@media (width<=600px){.proj-view{gap:1.25rem;padding:1.5rem .75rem 3rem}.url-bar-text{word-break:break-all;font-size:.73rem}.gen-form-top{flex-direction:column;align-items:flex-start}.auth-api-row{flex-direction:column;gap:.65rem}.auth-copy-btn{align-self:flex-start}.auth-api-path{word-break:break-all;font-size:.72rem}.auth-api-panel-sub{font-size:.78rem}.resource-meta-row{flex-wrap:wrap;gap:.65rem}.resource-actions{gap:.2rem}.auth-toggle-btn{padding:.2rem .45rem;font-size:.65rem}.resource-url-bar{flex-wrap:wrap;gap:.5rem}.url-copy-btn{padding:.25rem .55rem;font-size:.7rem}.sidebar-pull-tab{gap:.3rem;padding:.55rem .38rem}.pull-tab-label{letter-spacing:.08em;font-size:.5rem}.pull-tab-arrow{font-size:1rem}}@media (width<=400px){.pull-tab-label{display:none}.sidebar-pull-tab{padding:.5rem .42rem}}
