@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes borderSpin{to{--angle: 360deg}}.ambient{--nx: 0;--ny: 0;--spot-x: 50vw;--spot-y: 40vh;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.grid-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--text-soft) 1.2px,transparent 1.2px);background-size:26px 26px;opacity:0;transition:opacity .5s ease;-webkit-mask-image:radial-gradient(260px circle at var(--spot-x) var(--spot-y),black 0%,transparent 72%);mask-image:radial-gradient(260px circle at var(--spot-x) var(--spot-y),black 0%,transparent 72%)}.ambient.mouse-active .grid-layer{opacity:.35}.spotlight{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(480px circle at var(--spot-x) var(--spot-y),var(--accent-soft) 0%,transparent 60%);opacity:0;transition:opacity .6s ease}.ambient.mouse-active .spotlight{opacity:.7}:root[data-theme=dark] .ambient.mouse-active .spotlight{opacity:.22}.cursor-glow{position:fixed;top:0;left:0;z-index:50;opacity:0;transition:opacity .5s ease;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 50%);filter:blur(24px);animation:glowPulse 4s ease-in-out infinite alternate}.ambient.mouse-active .cursor-glow{opacity:.4}:root[data-theme=dark] .ambient.mouse-active .cursor-glow{opacity:.12}@keyframes glowPulse{0%{scale:.96}to{scale:1.04}}.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.8;animation:drift 16s ease-in-out infinite alternate;translate:calc(var(--nx) * var(--depth) * 1px) calc(var(--ny) * var(--depth) * 1px);transition:translate .45s cubic-bezier(.22,1,.36,1)}:root[data-theme=dark] .orb{opacity:.35}.orb-1{--depth: 46;width:380px;height:380px;background:var(--orb-a);top:-110px;left:-90px}.orb-2{--depth: -34;width:320px;height:320px;background:var(--orb-b);bottom:-100px;right:-70px;animation-delay:-4s;animation-duration:20s}.orb-3{--depth: 26;width:200px;height:200px;background:var(--orb-a);bottom:12%;left:12%;animation-delay:-9s;animation-duration:14s}.orb-4{--depth: -58;width:150px;height:150px;background:var(--orb-b);top:14%;right:16%;animation-delay:-13s;animation-duration:18s}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(50px,-35px) scale(1.12)}to{transform:translate(-35px,45px) scale(.94)}}.particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.particle{position:absolute;bottom:-12px;border-radius:50%;background:var(--accent);opacity:0;animation:rise linear infinite,twinkle ease-in-out infinite alternate}@keyframes rise{0%{transform:translateZ(0)}to{transform:translate3d(var(--drift, 0px),-108vh,0)}}@keyframes twinkle{0%{opacity:.08}to{opacity:.55}}@media (hover: none){.cursor-glow,.grid-layer,.spotlight{display:none}}@media (prefers-reduced-motion: reduce){.orb,.particle,.cursor-glow{animation:none}.cursor-glow,.particle{display:none}}.mg-logo{display:inline-block;flex-shrink:0;overflow:visible;vertical-align:middle}.mg-tile{filter:drop-shadow(0 3px 6px rgba(169,72,42,.28))}.mg-spark,.mg-dot{transform-box:fill-box;transform-origin:center}.mg-spark{animation:mgTwinkle 4.8s ease-in-out infinite}.mg-dot{animation:mgBlink 4.8s ease-in-out infinite}.mg-logo:hover .mg-spark,.brand:hover .mg-spark,.login-logo:hover .mg-spark{animation:mgSpin .9s cubic-bezier(.34,1.56,.64,1)}@keyframes mgTwinkle{0%,78%,to{transform:scale(1) rotate(0)}86%{transform:scale(.72) rotate(45deg)}93%{transform:scale(1.12) rotate(90deg)}}@keyframes mgBlink{0%,80%,to{opacity:.85;transform:scale(1)}90%{opacity:.2;transform:scale(.4)}}@keyframes mgSpin{0%{transform:scale(.6) rotate(-90deg)}to{transform:scale(1) rotate(90deg)}}.mg-animate .mg-tile{transform-box:fill-box;transform-origin:center;animation:mgTileIn .7s cubic-bezier(.34,1.56,.64,1) both}.mg-animate .mg-m{stroke-dasharray:100;animation:mgDraw 1.1s .25s cubic-bezier(.65,0,.35,1) both}.mg-animate .mg-spark{animation:mgPop .6s 1.1s cubic-bezier(.34,1.56,.64,1) both,mgTwinkle 4.8s 2s ease-in-out infinite}.mg-animate .mg-dot{animation:mgPop .5s 1.3s cubic-bezier(.34,1.56,.64,1) both,mgBlink 4.8s 2s ease-in-out infinite}@keyframes mgTileIn{0%{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes mgDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes mgPop{0%{opacity:0;transform:scale(0) rotate(-120deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.mg-logo *,.mg-logo:hover *{animation:none!important}.mg-animate .mg-m{stroke-dashoffset:0}}.login-page{height:100%;display:grid;place-items:center;position:relative;overflow:hidden;animation:pageIn .7s ease both}.login-page.page-leave{animation:pageOut .55s ease forwards}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes pageOut{to{opacity:0;transform:scale(1.04);filter:blur(6px)}}.card-wrap{position:relative;z-index:2;animation:cardIn .8s cubic-bezier(.22,1,.36,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(36px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.card-wrap.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.card-tilt{--rx: 0deg;--ry: 0deg;padding:2px;border-radius:26px;background:conic-gradient(from var(--angle),var(--border) 0%,var(--accent) 12%,var(--border) 30%,var(--border) 55%,var(--accent-strong) 70%,var(--border) 88%);animation:borderSpin 7s linear infinite;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .35s ease;will-change:transform;box-shadow:var(--shadow)}.card-tilt:hover{box-shadow:0 30px 70px #0000002e,0 0 40px var(--accent-soft)}.card-tilt.card-success{animation:borderSpin 1.5s linear infinite,successGlow .7s ease forwards}@keyframes successGlow{to{box-shadow:0 0 0 3px var(--accent),0 26px 70px var(--accent-soft)}}.login-card{width:min(410px,calc(100vw - 44px));background:var(--surface);border-radius:24px;padding:44px 38px 30px;position:relative;overflow:hidden;transition:background .6s ease}.card-glare{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:radial-gradient(300px circle at var(--gx, 50%) var(--gy, 30%),rgba(255,255,255,.22) 0%,transparent 60%);opacity:0;transition:opacity .4s ease}:root[data-theme=dark] .card-glare{background:radial-gradient(300px circle at var(--gx, 50%) var(--gy, 30%),rgba(255,255,255,.09) 0%,transparent 60%)}.card-tilt:hover .card-glare{opacity:1}.login-logo{display:grid;place-items:center;margin-bottom:14px;position:relative}.logo-halo{position:absolute;width:90px;height:90px;border-radius:50%;border:1.5px dashed var(--accent);opacity:.4;animation:haloSpin 12s linear infinite}@keyframes haloSpin{to{transform:rotate(-360deg)}}.logo-spark{display:grid;place-items:center;animation:sparkFloat 3s ease-in-out infinite alternate;filter:drop-shadow(0 12px 24px color-mix(in srgb,var(--accent) 32%,transparent))}.logo-spark .mg-logo{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.login-logo:hover .logo-spark .mg-logo{transform:scale(1.1) rotate(-6deg)}@keyframes sparkFloat{0%{translate:0 -3px}to{translate:0 3px}}.login-title{text-align:center;font-family:Georgia,Times New Roman,serif;font-weight:600;font-size:30px;letter-spacing:.3px;background:linear-gradient(100deg,var(--text) 30%,var(--accent) 50%,var(--text) 70%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:titleShimmer 5s linear infinite,riseIn .7s .15s cubic-bezier(.22,1,.36,1) both}@keyframes titleShimmer{to{background-position:-220% center}}.login-subtitle{text-align:center;color:var(--text-soft);font-size:14px;margin:8px 0 30px;animation:riseIn .7s .25s cubic-bezier(.22,1,.36,1) both}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.field{margin-bottom:18px}.field-1{animation:riseIn .7s .35s cubic-bezier(.22,1,.36,1) both}.field-2{animation:riseIn .7s .45s cubic-bezier(.22,1,.36,1) both}.field-3{animation:riseIn .7s .55s cubic-bezier(.22,1,.36,1) both}.field label{display:block;font-size:13px;font-weight:600;color:var(--text-soft);margin-bottom:7px;letter-spacing:.4px;transition:color .25s ease}.field:focus-within label{color:var(--accent)}.input-wrap{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:14px;padding:0 14px;position:relative;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background .6s ease}.input-wrap:hover{border-color:var(--accent);transform:translateY(-1px)}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);transform:translateY(-2px)}.input-icon{font-size:15px;opacity:.75;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.input-wrap:focus-within .input-icon{transform:scale(1.25) rotate(-8deg)}.input-wrap input{flex:1;border:none;outline:none;background:transparent;padding:13px 0;font-size:15px}.input-wrap input::placeholder{color:var(--text-soft);opacity:.6}.eye-btn{border:none;background:none;cursor:pointer;font-size:15px;opacity:.7;transition:transform .2s ease,opacity .2s ease}.eye-btn:hover{transform:scale(1.25);opacity:1}.login-error{background:#d957571a;border:1px solid rgba(217,87,87,.35);color:#c94f3d;border-radius:12px;padding:10px 14px;font-size:13.5px;margin-bottom:16px;animation:errorIn .35s cubic-bezier(.34,1.56,.64,1) both}:root[data-theme=dark] .login-error{color:#f0937e}@keyframes errorIn{0%{opacity:0;transform:scale(.9) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-btn{--btn-x: 0px;--btn-y: 0px;width:100%;position:relative;overflow:hidden;border:none;border-radius:14px;padding:14px;font-size:15.5px;font-weight:600;letter-spacing:.3px;color:#fff;background:linear-gradient(120deg,var(--accent),var(--accent-strong));cursor:pointer;transform:translate3d(var(--btn-x),var(--btn-y),0);transition:transform .16s ease-out,box-shadow .25s ease;min-height:50px}.login-btn:hover:not(:disabled){box-shadow:0 12px 28px var(--accent-soft),0 6px 16px #00000026}.login-btn:active:not(:disabled){transform:translate3d(var(--btn-x),var(--btn-y),0) scale(.97)}.login-btn:disabled{cursor:default}.login-btn.success{background:linear-gradient(120deg,#4caf7d,#3a9a6b);animation:pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.05)}to{transform:scale(1)}}.btn-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.35) 50%,transparent 75%);transform:translate(-100%);pointer-events:none}.login-btn:hover:not(:disabled) .btn-shimmer{animation:shimmerSweep .9s ease}@keyframes shimmerSweep{to{transform:translate(100%)}}.btn-spinner{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;color:var(--text-soft);font-size:11.5px;margin-top:26px;opacity:.8;animation:riseIn .7s .7s ease both}@media (max-width: 360px){.login-card{padding:36px 22px 24px}.logo-halo{width:74px;height:74px}.logo-spark .mg-logo{width:52px;height:52px}.login-title{font-size:23px}.login-subtitle{font-size:13px;margin:6px 0 24px}}@media (prefers-reduced-motion: reduce){.logo-halo,.logo-spark,.card-tilt{animation:none}}.pw-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:pwIn .2s ease both}@keyframes pwIn{0%{opacity:0}to{opacity:1}}.pw-card{width:min(380px,100%);min-width:0;max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px 24px 22px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.pw-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:14px;font-size:22px;background:var(--accent-soft)}.pw-title{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:600}.pw-text{margin:4px 0 18px;font-size:13.5px;line-height:1.5;color:var(--text-soft)}.pw-text b{color:var(--text)}.pw-label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--text-soft)}.pw-input-wrap{display:flex;align-items:center;gap:6px;padding:0 6px 0 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);transition:border-color .2s ease,box-shadow .2s ease}.pw-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.pw-input-wrap input{flex:1;min-width:0;height:42px;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:14px}.pw-eye{padding:5px 9px;border:none;border-radius:8px;background:transparent;color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pw-eye:hover{color:var(--accent);background:var(--accent-soft)}.pw-error{max-height:96px;margin-top:10px;padding:8px 10px;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word;border:1px solid color-mix(in srgb,#c43c32 30%,transparent);border-radius:10px;background:color-mix(in srgb,#c43c32 8%,transparent);font-size:12.5px;line-height:1.45;color:#c43c32}:root[data-theme=dark] .pw-error{color:#f08a80;border-color:color-mix(in srgb,#f08a80 30%,transparent);background:color-mix(in srgb,#f08a80 10%,transparent)}.pw-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.pw-btn{padding:9px 18px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.pw-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pw-btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.pw-btn.primary:hover:not(:disabled){color:#fff}.pw-btn:disabled{opacity:.5;cursor:not-allowed}.chat-page{--thread-max: 1180px;height:100%;display:flex;position:relative;overflow:hidden;animation:chatIn .6s ease both}.chat-area{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar,.chat-area{position:relative;z-index:1}.sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-soft) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border);padding:14px 12px;overflow:hidden;animation:sidebarIn .55s cubic-bezier(.22,1,.36,1) both;transition:width .35s cubic-bezier(.22,1,.36,1),background .6s ease,border-color .6s ease}@keyframes sidebarIn{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.sidebar.collapsed{width:64px;padding:14px 10px}.sidebar-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;min-height:34px}.sidebar-spark{flex-shrink:0;margin-left:4px}.sidebar-title{font-family:Georgia,Times New Roman,serif;font-weight:600;font-size:16px;flex:1;white-space:nowrap}.collapse-btn{width:30px;height:30px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-soft);font-size:16px;line-height:1;cursor:pointer;transition:all .25s ease}.collapse-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.12);box-shadow:0 4px 12px var(--accent-soft)}.new-chat-btn{display:flex;align-items:center;gap:10px;width:100%;border:none;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(120deg,var(--accent),var(--accent-strong));cursor:pointer;white-space:nowrap;overflow:hidden;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.new-chat-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 24px var(--accent-soft)}.new-chat-btn:active{transform:scale(.96)}.nc-plus{font-size:18px;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.new-chat-btn:hover .nc-plus{transform:rotate(90deg) scale(1.2)}.sidebar.collapsed .new-chat-btn{justify-content:center;padding:11px 0}.sidebar-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-soft);margin:18px 6px 8px;white-space:nowrap}.sidebar.collapsed .sidebar-title,.sidebar.collapsed .nc-label,.sidebar.collapsed .sidebar-label,.sidebar.collapsed .session-name,.sidebar.collapsed .session-del,.sidebar.collapsed .no-sessions{display:none}.session-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}.session-list::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.no-sessions{color:var(--text-soft);font-size:13px;text-align:center;padding:18px 6px;opacity:.7}.session-item{position:relative;display:flex;align-items:center;gap:9px;padding:10px;border-radius:11px;cursor:pointer;-webkit-user-select:none;user-select:none;animation:sessionIn .45s cubic-bezier(.22,1,.36,1) both;transition:background .2s ease,transform .2s ease}@keyframes sessionIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.session-item:hover{background:var(--surface);transform:translate(4px)}.session-item.active{background:var(--accent-soft)}.session-item.active:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;background:var(--accent);animation:barIn .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes barIn{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.session-icon{font-size:14px;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.session-item:hover .session-icon{transform:scale(1.2) rotate(-8deg)}.sidebar.collapsed .session-item{justify-content:center;padding:10px 0}.session-name{flex:1;min-width:0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.session-item.active .session-name{font-weight:600}.session-del{width:22px;height:22px;flex-shrink:0;border:none;border-radius:6px;background:transparent;color:var(--text-soft);font-size:12px;line-height:1;cursor:pointer;opacity:0;transform:scale(.6);transition:all .2s ease}.session-item:hover .session-del{opacity:.7;transform:scale(1)}.session-del:hover{opacity:1!important;background:#d9575726;color:#c94f3d;transform:scale(1.15) rotate(90deg)!important}@keyframes chatIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 78px 14px 22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 75%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .6s ease,border-color .6s ease}.brand{display:flex;align-items:center;gap:9px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:600;cursor:default}.brand-home{border:none;background:none;padding:0;color:inherit;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.brand-home:hover{opacity:.75}.brand-home:active{transform:scale(.97)}.brand-logo{width:30px;height:30px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.brand:hover .brand-logo{transform:rotate(-8deg) scale(1.08)}.brand-name{transition:letter-spacing .3s ease}.brand:hover .brand-name{letter-spacing:1px}.header-right{display:flex;align-items:center;gap:12px}.user-chip{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 14px 5px 6px;font-size:13px;color:var(--text-soft);transition:transform .25s ease,box-shadow .25s ease,background .6s ease}.user-chip:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.user-chip-btn{font:inherit;font-size:13px;cursor:pointer;padding-right:10px}.user-chip-btn:hover{border-color:var(--accent)}.user-chip-layouts{width:14px;height:14px;opacity:.55;flex-shrink:0;transition:opacity .25s ease,color .25s ease}.user-chip-btn:hover .user-chip-layouts{opacity:1;color:var(--accent)}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;font-size:11.5px;font-weight:700;display:grid;place-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.user-chip:hover .user-avatar{transform:rotate(360deg) scale(1.1)}.logout-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease}.logout-icon{display:none;width:15px;height:15px;flex-shrink:0}.logout-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-soft)}.chat-main{flex:1;overflow-y:auto;scroll-behavior:smooth}.chat-main::-webkit-scrollbar{width:8px}.chat-main::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.chat-main::-webkit-scrollbar-thumb:hover{background:var(--accent)}.chat-scroll{max-width:var(--thread-max);margin:0 auto;padding:28px 20px 12px;min-height:100%;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding-bottom:40px}@media (max-height: 500px){.empty-state{justify-content:flex-start}}.empty-spark{display:grid;place-items:center;animation:breathe 2.6s ease-in-out infinite alternate;margin-bottom:12px;filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--accent) 30%,transparent))}@keyframes sparkSpin{to{transform:rotate(360deg)}}@keyframes breathe{0%{scale:.92;opacity:.8}to{scale:1.1;opacity:1}}.empty-greeting{font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,4.5vw,38px);font-weight:500;animation:riseUp .8s .15s cubic-bezier(.22,1,.36,1) both}.grad-text{background:linear-gradient(100deg,var(--accent),var(--accent-strong),var(--accent));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradSlide 4s linear infinite}@keyframes gradSlide{to{background-position:-200% center}}.empty-hint{color:var(--text-soft);font-size:16px;animation:riseUp .8s .3s cubic-bezier(.22,1,.36,1) both}@keyframes riseUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.suggestion{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:10px 18px;font-size:14px;cursor:pointer;animation:riseUp .7s cubic-bezier(.22,1,.36,1) both;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease,background .6s ease}.suggestion:hover{transform:translateY(-4px) scale(1.05);border-color:var(--accent);box-shadow:0 10px 24px var(--accent-soft)}.suggestion:active{transform:scale(.95)}.messages{display:flex;flex-direction:column;gap:18px;padding-bottom:10px}.msg-row{display:flex;gap:12px;align-items:flex-end}.msg-row.user{justify-content:flex-end;animation:msgInRight .4s cubic-bezier(.22,1,.36,1) both}.msg-row.assistant{justify-content:flex-start;animation:msgInLeft .4s cubic-bezier(.22,1,.36,1) both}@keyframes msgInRight{0%{opacity:0;transform:translate(26px) translateY(8px) scale(.95)}to{opacity:1;transform:none}}@keyframes msgInLeft{0%{opacity:0;transform:translate(-26px) translateY(8px) scale(.95)}to{opacity:1;transform:none}}.msg-avatar{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:15px;border:1px solid var(--border);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.msg-row:hover .msg-avatar{transform:scale(1.18) rotate(20deg)}.msg-avatar.thinking{animation:breathe 1.2s ease-in-out infinite alternate}.bubble{max-width:78%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.55;white-space:pre-wrap;word-break:break-word;transition:transform .25s ease,box-shadow .25s ease,background .6s ease}.bubble:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.bubble.user{background:linear-gradient(135deg,var(--bubble-user),var(--accent-strong));color:var(--bubble-user-text);border-bottom-right-radius:6px}.bubble.assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px;flex:1 1 auto;max-width:calc(100% - 44px)}.user-msg,.msg-body{display:flex;flex-direction:column;gap:4px;min-width:0}.user-msg{align-items:flex-end;max-width:78%}.user-msg .bubble.user{max-width:100%}.msg-body{align-items:flex-start;flex:1 1 auto;max-width:calc(100% - 44px)}.msg-body .bubble.assistant{max-width:100%;align-self:stretch}.msg-row.assistant{align-items:flex-start}.msg-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.msg-row:hover .msg-actions,.msg-row:focus-within .msg-actions{opacity:1}@media (hover: none){.msg-actions{opacity:1}}.msg-action{display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:none;color:var(--text-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.msg-action svg{width:15px;height:15px}.msg-action:hover:not(:disabled),.msg-action.active{background:var(--surface-2);color:var(--text)}.msg-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.msg-action:disabled{opacity:.4;cursor:default}.msg-action.copied{color:var(--accent)}.msg-action-note{font-size:12px;color:var(--text-soft);padding-left:2px}.msg-share-menu{position:fixed;z-index:80;display:flex;flex-direction:column;padding:5px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow, 0 12px 32px rgba(0, 0, 0, .18));animation:shareIn .14s ease both}@keyframes shareIn{0%{opacity:0;transform:translateY(-4px)}}.msg-share-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:8px;background:none;color:inherit;font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.msg-share-menu button:hover,.msg-share-menu button:focus-visible{background:var(--surface-2);outline:none}.msg-share-menu svg{width:16px;height:16px;flex-shrink:0;color:var(--text-soft)}.msg-edit{display:flex;flex-direction:column;gap:8px;width:min(620px,86%);padding:10px;border:1px solid var(--accent);border-radius:16px;background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.msg-edit textarea{width:100%;min-height:44px;padding:4px 6px;border:none;background:none;color:var(--text);font:inherit;font-size:15px;line-height:1.55;resize:none;outline:none}.msg-edit-actions{display:flex;justify-content:flex-end;gap:6px}.msg-edit-btn{padding:7px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.msg-edit-btn:hover:not(:disabled){background:var(--surface-2)}.msg-edit-btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.msg-edit-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent),var(--accent-strong));filter:brightness(1.08)}.msg-edit-btn:disabled{opacity:.5;cursor:default}.msg-stopped{padding:8px 2px;font-size:13px;font-style:italic;color:var(--text-soft)}.msg-stopped.inline{display:block;padding:6px 0 0;font-size:12px}.msg-text strong{font-weight:700}.msg-text a{color:inherit;text-decoration:underline;text-underline-offset:2px}.msg-text code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88em;background:color-mix(in srgb,currentColor 13%,transparent);padding:1px 5px;border-radius:5px}.msg-text pre{margin:8px 0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,currentColor 10%,transparent);overflow-x:auto;white-space:pre}.msg-text .md-code{margin:10px 0;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:10px;overflow:hidden;background:color-mix(in srgb,currentColor 6%,transparent)}.msg-text .md-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 4px 12px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);background:color-mix(in srgb,currentColor 5%,transparent)}.msg-text .md-code-lang{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11.5px;opacity:.7;text-transform:lowercase}.msg-text .md-code-copy{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:none;border-radius:7px;background:none;color:inherit;font:inherit;font-size:12px;opacity:.75;cursor:pointer;transition:background .15s ease,opacity .15s ease}.msg-text .md-code-copy:hover,.msg-text .md-code-copy:focus-visible{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent);outline:none}.msg-text .md-code-copy.copied{opacity:1;color:var(--accent)}.bubble.user .msg-text .md-code-copy.copied{color:inherit}.msg-text .md-code-copy svg{width:14px;height:14px}.msg-text .md-code pre{margin:0;border-radius:0;background:none}.msg-text pre code{background:none;padding:0;font-size:.85em}.msg-text{display:block;white-space:normal}.msg-text>:first-child{margin-top:0}.msg-text>:last-child{margin-bottom:0}.msg-text p{margin:0 0 .55em}.msg-text h1,.msg-text h2,.msg-text h3,.msg-text h4,.msg-text h5,.msg-text h6{margin:.7em 0 .35em;line-height:1.3;font-weight:700}.msg-text h1{font-size:1.25em}.msg-text h2{font-size:1.16em}.msg-text h3{font-size:1.07em}.msg-text h4,.msg-text h5,.msg-text h6{font-size:1em;opacity:.9}.msg-text ul,.msg-text ol{margin:0 0 .55em;padding-left:1.4em}.msg-text li{margin:.18em 0}.msg-text li::marker{color:color-mix(in srgb,currentColor 55%,transparent)}.msg-text blockquote{margin:.5em 0;padding:2px 0 2px 12px;border-left:3px solid color-mix(in srgb,currentColor 30%,transparent);opacity:.9}.msg-text hr{border:none;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);margin:.75em 0}.msg-text table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:.5em 0;font-size:.92em}.msg-text th,.msg-text td{border:1px solid color-mix(in srgb,currentColor 22%,transparent);padding:6px 10px;text-align:left;vertical-align:top;word-break:normal;overflow-wrap:break-word}.msg-text th{background:color-mix(in srgb,currentColor 11%,transparent);font-weight:700;white-space:nowrap}.msg-text tbody tr:nth-child(2n) td{background:color-mix(in srgb,currentColor 5%,transparent)}.msg-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.msg-attachment-img{max-width:220px;max-height:220px;border-radius:12px;display:block;object-fit:cover;border:1px solid color-mix(in srgb,currentColor 18%,transparent)}.msg-attachment-file{display:inline-flex;align-items:center;gap:8px;max-width:220px;background:color-mix(in srgb,currentColor 14%,transparent);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:12px;padding:6px 12px 6px 6px;font-size:13px}.caret{display:inline-block;width:8px;height:15px;margin-left:3px;background:var(--accent);border-radius:2px;vertical-align:text-bottom;animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}.typing-bubble{display:flex;gap:6px;padding:16px 18px;flex:0 0 auto}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:bounce 1.2s ease-in-out infinite}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-7px);opacity:1}}.chat-footer{padding:10px 20px 14px}.shell-border{max-width:var(--thread-max);margin:0 auto;padding:1.5px;border-radius:23px;background:conic-gradient(from var(--angle),var(--border) 0%,var(--accent) 12%,var(--border) 30%,var(--border) 55%,var(--accent-strong) 70%,var(--border) 88%);animation:borderSpin 8s linear infinite;box-shadow:0 6px 24px #00000014;transition:transform .3s ease,box-shadow .3s ease}.shell-border:hover{transform:translateY(-2px)}.shell-border:focus-within{transform:translateY(-3px);box-shadow:0 0 0 4px var(--accent-soft),0 10px 30px #0000001a}.input-shell{display:flex;flex-direction:column;gap:8px;background:var(--surface);border-radius:21.5px;padding:12px 12px 12px 20px;transition:background .6s ease}.compose-row{display:flex;align-items:flex-end;gap:10px}.compose-row textarea{flex:1;border:none;outline:none;background:transparent;resize:none;font-size:15px;line-height:1.5;max-height:166px;overflow-y:auto;padding:4px 0}.compose-row textarea::placeholder{color:var(--text-soft);opacity:.65}.file-input-hidden{display:none}.attach-btn{width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);cursor:pointer;display:grid;place-items:center;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.attach-icon{width:18px;height:18px}.attach-btn:hover{background:var(--accent);color:#fff;box-shadow:0 6px 16px var(--accent-soft);transform:scale(1.1) rotate(-8deg)}.attach-btn:active{transform:scale(.9)}.attachment-strip{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}.attachment-chip{position:relative;display:flex;align-items:center;gap:8px;max-width:190px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:6px 22px 6px 6px;animation:riseUp .25s ease both}.attachment-thumb{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.file-icon{width:32px;height:32px;flex-shrink:0;border-radius:8px;background:color-mix(in srgb,var(--file-color, var(--accent)) 22%,var(--surface-2));font-size:16px;line-height:1;display:grid;place-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.attachment-chip:hover .file-icon,.msg-attachment-file:hover .file-icon{transform:scale(1.1) rotate(-6deg)}.file-info{display:flex;flex-direction:column;min-width:0;gap:1px}.file-name{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:10.5px;opacity:.7}.attachment-remove{position:absolute;top:4px;right:4px;width:16px;height:16px;border:none;border-radius:50%;background:var(--border);color:var(--text-soft);font-size:9px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.attachment-remove:hover{background:#c94f3d;color:#fff;transform:scale(1.15)}.mic-btn{position:relative;width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--text-soft);cursor:pointer;display:grid;place-items:center;transition:background .25s ease,color .25s ease,transform .15s ease-out}.mic-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.mic-btn:disabled{opacity:.35;cursor:default}.mic-btn.recording{background:linear-gradient(135deg,#e5484d,#c93a3e);color:#fff;transform:scale(1.08)}.mic-icon{position:relative;z-index:1;width:18px;height:18px}.mic-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #e5484d;animation:micPulse 1.4s ease-out infinite}@keyframes micPulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.9);opacity:0}}.mic-btn.hands-free{box-shadow:0 0 0 3px #e5484d59}.mic-btn.busy{color:var(--accent)}.mic-btn.busy:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:micSpin .7s linear infinite}@keyframes micSpin{to{transform:rotate(360deg)}}.voice-chat-btn{position:relative;width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--text-soft);cursor:pointer;display:grid;place-items:center;transition:background .25s ease,color .25s ease,transform .15s ease-out}.voice-chat-icon{position:relative;z-index:1;width:18px;height:18px}.voice-chat-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.voice-chat-btn:disabled{opacity:.35;cursor:default}.voice-chat-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;transform:scale(1.05)}.voice-chat-status{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface);background:#94a3b8}.voice-chat-status.listening{background:#3b82f6;animation:voiceStatusPulse 1.2s ease-in-out infinite}.voice-chat-status.thinking{background:#f5a524;animation:voiceStatusPulse .6s ease-in-out infinite}.voice-chat-status.speaking{background:#16a34a;animation:voiceStatusPulse .8s ease-in-out infinite}@keyframes voiceStatusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}.send-btn{--btn-x: 0px;--btn-y: 0px;width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:var(--border);color:var(--text-soft);font-size:18px;font-weight:700;cursor:pointer;display:grid;place-items:center;transform:translate3d(var(--btn-x),var(--btn-y),0);transition:transform .16s ease-out,background .3s ease,color .3s ease,box-shadow .3s ease}.send-btn.ready{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;animation:sendPulse 1.8s ease-in-out infinite}@keyframes sendPulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 8px transparent}}.send-btn.ready:hover{transform:translate3d(var(--btn-x),var(--btn-y),0) scale(1.15) rotate(-8deg);box-shadow:0 8px 20px var(--accent-soft)}.send-btn:active:not(:disabled){transform:translate3d(var(--btn-x),var(--btn-y),0) scale(.88)}.send-btn:disabled{cursor:default}.send-btn.stop-btn{animation:none}.send-btn.stop-btn:hover{transform:translate3d(var(--btn-x),var(--btn-y),0) scale(1.08)}.stop-square{width:12px;height:12px;border-radius:3px;background:currentColor}.composer-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 2px}.usage-pill{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-soft);white-space:nowrap}.usage-track{width:46px;height:5px;border-radius:999px;background:var(--border);overflow:hidden;flex-shrink:0}.usage-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .4s ease}.footer-note{text-align:center;color:var(--text-soft);font-size:11.5px;margin-top:10px;opacity:.7}@media (max-width: 720px){.sidebar.open{position:absolute;left:0;top:0;bottom:0;z-index:10;box-shadow:18px 0 40px #00000040}}@media (max-width: 560px){.chat-header{padding:10px 52px 10px 14px}.user-name{display:none}.user-chip{padding:5px 6px}.header-right{gap:6px}.brand-name{font-size:15px}.logout-btn{padding:6px 10px;font-size:11.5px}.sidebar.collapsed{width:52px;padding:12px 8px}.bubble,.user-msg{max-width:88%}.msg-edit{width:100%}.bubble.assistant{max-width:calc(100% - 44px)}.usage-resets{display:none}.chat-footer{padding:8px 10px 12px}.input-shell{padding:10px 8px 10px 14px;gap:6px}.compose-row{gap:4px}.attach-btn,.mic-btn,.voice-chat-btn,.send-btn{width:32px;height:32px}.attach-icon,.mic-icon,.voice-chat-icon{width:16px;height:16px}.composer-toolbar{flex-wrap:wrap;gap:6px}}@media (max-width: 340px){.logout-btn{width:30px;height:30px;padding:0;justify-content:center}.logout-label{display:none}.logout-icon{display:block}.chat-header{padding:8px 44px 8px 10px}.brand-logo{width:24px;height:24px}.brand-name{font-size:13.5px}.user-avatar{width:22px;height:22px;font-size:9.5px}.header-right{gap:4px}.sidebar.collapsed{width:46px;padding:10px 6px}}.gen-file-card{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);flex-wrap:wrap}.gen-file-card .file-info{min-width:0;flex:1}.gen-file-card .file-size{white-space:nowrap}.gen-file-actions{display:flex;gap:6px;margin-left:auto;flex-shrink:0}.gen-file-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.gen-file-btn:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}.gen-file-btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.gen-file-btn.primary:hover{color:#fff;box-shadow:0 6px 16px var(--accent-soft)}.preview-panel{position:relative;z-index:2;flex:0 0 46%;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:previewIn .35s cubic-bezier(.22,1,.36,1) both;transition:background .6s ease,border-color .6s ease}.preview-resizer{position:absolute;left:-4px;top:0;bottom:0;width:9px;z-index:6;cursor:col-resize;touch-action:none}.preview-resizer:before{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.preview-resizer:hover:before,.preview-resizer.dragging:before{background:var(--accent)}body.resizing-preview{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing-preview .preview-frame{pointer-events:none}@keyframes previewIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.preview-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 75%,transparent)}.preview-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.preview-badge{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 8px}.preview-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.preview-download{border:none;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.preview-download:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-soft)}.preview-close{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-soft);font-size:13px;cursor:pointer;transition:all .2s ease}.preview-close:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.preview-body{flex:1;min-height:0;display:flex;overflow:hidden}.preview-frame{flex:1;width:100%;border:none;background:#fff}.preview-scroll{flex:1;overflow:auto;padding:22px}.preview-scroll::-webkit-scrollbar{width:8px}.preview-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.preview-doc{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 36px;box-shadow:var(--shadow);color:var(--text);font-family:Georgia,Times New Roman,serif;line-height:1.65;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.preview-doc h1{font-size:25px;margin:0 0 14px}.preview-doc h2{font-size:18px;margin:22px 0 8px}.preview-doc h3{font-size:16px;margin:18px 0 6px}.preview-doc p{margin:0 0 12px}.preview-doc ul,.preview-doc ol{margin:0 0 12px 22px}.preview-doc li{margin:5px 0}.preview-doc blockquote{margin:0 0 12px;padding:4px 0 4px 14px;border-left:3px solid var(--border);color:var(--text-soft)}.preview-doc hr{border:none;border-top:1px solid var(--border);margin:18px 0}.preview-doc code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88em;background:var(--surface-2);padding:1px 5px;border-radius:5px}.preview-doc pre{background:var(--surface-2);padding:12px 14px;border-radius:8px;overflow-x:auto;margin:0 0 12px}.preview-doc pre code{background:none;padding:0}.preview-doc.is-table{font-family:Segoe UI,system-ui,sans-serif;padding:24px}.preview-doc table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13.5px}.preview-doc th,.preview-doc td{border:1px solid var(--border);padding:8px 10px;text-align:left}.preview-doc th{background:var(--surface-2);font-weight:700}.preview-empty{margin:auto;color:var(--text-soft);font-size:14px}@media (max-width: 900px){.preview-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;flex-basis:auto;border-left:none}}.copy-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-soft, var(--text));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.copy-btn svg{width:14px;height:14px;flex-shrink:0}.copy-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.copy-btn:active:not(:disabled){transform:scale(.96)}.copy-btn:disabled{opacity:.45;cursor:not-allowed}.copy-btn.copied{border-color:var(--accent);color:var(--accent)}@media (max-width: 560px){.copy-btn{padding:6px 9px}.copy-btn span{display:none}}.er-backdrop{z-index:700}.er-card{display:flex;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 32px);min-width:0;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.er-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.er-head h2{margin:0;font-size:18px}.er-head p{margin:3px 0 0;font-size:12.5px;color:var(--text-soft)}.er-body{flex:1;min-height:0;overflow-y:auto;padding:0 20px}.er-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.er-section:last-child{border-bottom:0}.er-section h3{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:0 0 2px;font-size:14px}.er-section h3 small{font-size:11.5px;font-weight:400;color:var(--text-soft)}.er-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:11px;color:#fff;background:var(--accent)}.er-count{padding:1px 8px;border-radius:999px;font-size:11px;font-style:normal;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.er-rule{display:grid;grid-template-columns:44px minmax(0,1fr) 70px minmax(0,1fr) 32px;align-items:center;gap:8px;width:100%}.er-set{grid-template-columns:44px minmax(0,1fr) 70px minmax(0,1fr) 32px}.er-and{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;color:var(--accent)}.er-eq{text-align:center;font-family:var(--mono);font-weight:700;color:var(--text-soft)}.er-rule input,.er-rule select{width:100%;min-width:0;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:12.5px}.er-rule select{cursor:pointer}.er-rule input:focus,.er-rule select:focus{outline:none;border-color:var(--accent)}.er-list{width:100%;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:12px}.er-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--border);font-size:12px}.er-item:last-child{border-bottom:0}.er-item.changing{background:color-mix(in srgb,var(--accent) 7%,transparent)}.er-id{font-family:var(--mono);font-weight:700;color:var(--accent)}.er-scn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.er-vals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0}.er-vals code{max-width:180px;padding:1px 6px;border-radius:6px;font-family:var(--mono);font-size:11px;background:color-mix(in srgb,var(--text) 7%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er-empty{margin:0;font-size:12.5px;color:var(--text-soft)}.er-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border)}.er-foot-actions{display:flex;gap:8px;margin-left:auto}@media (max-width: 600px){.er-backdrop{padding:8px}.er-card{max-height:calc(100dvh - 16px);border-radius:16px}.er-head,.er-foot{padding-left:14px;padding-right:14px}.er-body{padding:0 14px}.er-rule,.er-set{grid-template-columns:56px minmax(0,1fr) 32px}.er-rule>:nth-child(1){grid-row:1}.er-rule>:nth-child(2){grid-column:2 / -1;grid-row:1}.er-item{grid-template-columns:auto minmax(0,1fr)}.er-vals{grid-column:1 / -1;justify-content:flex-start}.er-foot-actions{flex:1 1 100%}.er-foot-actions .pw-btn.primary{flex:1;padding-left:12px;padding-right:12px;white-space:nowrap}}@media (max-height: 500px){.er-card{overflow-y:auto}.er-body{flex:none;overflow:visible}}.pane-tests{--r-pass: #3f8f4f;--r-fail: #d0453a;--r-error: #b97f12;--r-skip: #6f7da0;--r-none: var(--text-soft);--tc-check-x: 14px;container-type:inline-size}:root[data-theme=dark] .pane-tests{--r-pass: #7cc48a;--r-fail: #f08a80;--r-error: #e7b65a;--r-skip: #9aa8cc}.r-pass{--r: var(--r-pass)}.r-fail{--r: var(--r-fail)}.r-error{--r: var(--r-error)}.r-skipped{--r: var(--r-skip)}.r-not-run{--r: var(--r-none)}.tc-target{position:relative;z-index:6;padding:10px 14px 8px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.tc-target-row{display:flex;align-items:center;gap:6px;min-width:0}.tc-method,.tc-base,.tc-path{height:34px;border:1px solid var(--border);background:var(--surface);color:inherit;font-family:var(--mono);font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.tc-method{flex-shrink:0;padding:0 6px 0 10px;border-radius:10px;font-weight:700;color:var(--accent);cursor:pointer}.tc-base{flex:1.4;min-width:0;padding:0 12px;border-radius:10px}.tc-path{flex:1;min-width:0;padding:0 12px;border-radius:10px}.tc-base.bad{border-color:var(--r-fail)}.tc-method:focus-visible,.tc-base:focus,.tc-path:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.tc-method:disabled,.tc-base:disabled,.tc-path:disabled{opacity:.6}.pane-tests{--m-get: #3f8f4f;--m-post: #c15f3c;--m-put: #3c67a3;--m-patch: #7a52b3;--m-delete: #c43c32}:root[data-theme=dark] .pane-tests{--m-get: #7cc48a;--m-post: #ef9a78;--m-put: #8fb4e8;--m-patch: #bb9bea;--m-delete: #f08a80}.m-get{--m: var(--m-get)}.m-post{--m: var(--m-post)}.m-put{--m: var(--m-put)}.m-patch{--m: var(--m-patch)}.m-delete{--m: var(--m-delete)}.method-select{position:relative;flex-shrink:0}.method-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;min-width:92px;height:34px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--m) 9%,var(--surface));color:var(--m);font-family:var(--mono);font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.method-trigger:hover:not(:disabled),.method-select.open .method-trigger{border-color:color-mix(in srgb,var(--m) 55%,var(--border))}.method-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.method-trigger:disabled{opacity:.6;cursor:not-allowed}.method-chevron{width:13px;height:13px;color:var(--text-soft);transform:rotate(90deg);transition:transform .2s ease}.method-select.open .method-chevron{transform:rotate(-90deg)}.method-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:150px;padding:6px;list-style:none;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 38px #00000029,0 2px 6px #0000000f;transform-origin:top left;animation:methodMenuIn .16s cubic-bezier(.22,1,.36,1) both}:root[data-theme=dark] .method-menu{box-shadow:0 16px 38px #00000080,0 2px 6px #0000004d}.method-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer;transition:background .12s ease}.method-option.active{background:color-mix(in srgb,var(--accent) 9%,transparent)}.method-option.selected{background:color-mix(in srgb,var(--accent) 13%,transparent)}.method-badge{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:3px 9px;border-radius:7px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--m);background:color-mix(in srgb,var(--m) 14%,transparent)}.method-check{width:14px;height:14px;stroke-width:3;color:var(--accent)}@keyframes methodMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}.apigen-btn.slim{flex-shrink:0;height:34px;padding:0 14px;font-size:12.5px}.tc-target-note{margin-top:6px;font-size:11.5px;color:var(--text-soft);overflow-wrap:anywhere}.tc-target-note code{font-family:var(--mono);font-size:11px;color:var(--text)}.tc-target-note .bad{color:var(--r-fail)}.tc-advanced{display:flex;gap:10px;margin-top:8px}.tc-advanced label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-soft)}.tc-advanced label:first-child{flex:1}.tc-advanced textarea,.tc-advanced input{padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:12px;resize:vertical}.tc-timeout input{width:90px}.tc-summary-strip{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px 14px 9px var(--tc-check-x);border-bottom:1px solid var(--border)}.tc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease}.tc-chip b{font-weight:700;opacity:.7}.tc-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--r)}.tc-chip:hover,.tc-chip.on{border-color:var(--r, var(--accent));background:color-mix(in srgb,var(--r, var(--accent)) 12%,var(--surface))}.tc-search{display:flex;align-items:center;gap:7px;flex:1 1 100%;min-width:0;height:32px;margin-top:2px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.tc-search .ag-icon{width:13px;height:13px;color:var(--text-soft)}.tc-search input{flex:1;width:100%;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:12.5px}.tc-search:focus-within{border-color:var(--accent)}.tc-run-progress{display:flex;align-items:center;gap:10px;flex-basis:100%;font-size:12px;font-weight:600;color:var(--accent)}.tc-run-bar{flex:1;height:5px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--border) 80%,transparent)}.tc-run-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .25s ease}.tc-warn{display:flex;align-items:flex-start;gap:8px;padding:9px 16px;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.45;color:var(--r-error);background:color-mix(in srgb,var(--r-error) 9%,transparent)}.tc-warn .ag-icon{margin-top:1px}.tc-list{list-style:none;padding:2px 0 10px}.tc-row{border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:inset 3px 0 0 var(--r);transition:background .2s ease}.tc-row.r-not-run{box-shadow:none}.tc-row:hover,.tc-row.open{background:color-mix(in srgb,var(--accent) 4%,transparent)}.tc-line{display:flex;align-items:center}.tc-check{display:grid;place-items:center;flex-shrink:0;align-self:stretch;padding:0 2px 0 var(--tc-check-x);cursor:pointer}.tc-check input,.tc-select-all input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:18px;height:18px;margin:0;border:1.6px solid color-mix(in srgb,var(--text-soft) 70%,var(--border));border-radius:50%;background:var(--surface) center / 11px 11px no-repeat;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease,box-shadow .15s ease}.tc-check input:hover:not(:disabled),.tc-select-all input:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.tc-check input:checked,.tc-select-all input:checked{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");animation:tcPop .2s cubic-bezier(.34,1.56,.64,1)}.tc-select-all input:indeterminate{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round'%3E%3Cline x1='6' y1='12' x2='18' y2='12'/%3E%3C/svg%3E")}.tc-check input:focus-visible,.tc-select-all input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-check input:disabled,.tc-select-all input:disabled{cursor:not-allowed;opacity:.5}@keyframes tcPop{0%{transform:scale(.7)}to{transform:scale(1)}}.tc-row.checked{background:color-mix(in srgb,var(--accent) 3%,transparent)}.tc-select-all{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}.tc-strip-sep{width:1px;height:18px;margin:0 4px;background:var(--border)}.tc-summary{flex:1;min-width:0;display:grid;grid-template-columns:14px 62px minmax(0,1fr) 92px 92px 74px;align-items:center;gap:10px;padding:10px 14px 10px 8px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.tc-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.tc-chevron{width:14px;height:14px;color:var(--text-soft);transition:transform .2s ease}.tc-row.open .tc-chevron{transform:rotate(90deg);color:var(--accent)}.tc-id{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.tc-scenario{min-width:0;font-size:13.5px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tc-row.open .tc-scenario{-webkit-line-clamp:unset;font-weight:600}.tc-pill{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-soft)}.tc-pill small{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.tc-pill.success{color:var(--r-pass)}.tc-pill.failure{color:var(--r-fail)}.tc-pill.error{color:var(--r-error)}.tc-result{justify-self:end;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;color:var(--r);background:color-mix(in srgb,var(--r) 14%,transparent)}.tc-result.r-not-run{font-weight:600;background:transparent;border:1px dashed var(--border)}.tc-result i{margin-left:2px;font-style:normal}.tc-detail{padding:2px 14px 14px 38px;animation:agFadeUp .2s ease both}.tc-checks{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:9px 12px;border-radius:10px;font-size:12.5px;line-height:1.5;background:color-mix(in srgb,var(--r-fail) 8%,transparent)}.tc-checks li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px}.tc-checks .ag-icon{width:12px;height:12px;stroke-width:3;color:var(--r-fail);align-self:center}.tc-checks code,.tc-checks-ok{font-family:var(--mono);font-size:11.5px}.tc-checks-ok{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-family:inherit;font-size:12.5px;color:var(--r-pass)}.tc-checks-ok .ag-icon{width:13px;height:13px;stroke-width:3}.tc-json-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tc-json{min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.tc-json.actual:not(.r-not-run){border-color:color-mix(in srgb,var(--r) 45%,var(--border))}.tc-json-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:4px 6px 4px 12px;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:700;color:var(--text-soft);background:color-mix(in srgb,var(--accent) 4%,transparent)}.tc-json-head>span{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;min-width:0}.tc-json-head code{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.tc-json-head .copy-btn{padding:3px 9px;font-size:11px}.tc-json pre{max-height:300px;margin:0;padding:10px 12px;overflow:auto;font-family:var(--mono);font-size:11.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.tc-detail-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px}.tc-override{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.tc-override select{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.tc-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:320px;height:100%;padding:32px 24px;text-align:center}.tc-progress-count{display:flex;align-items:baseline;gap:8px}.tc-progress-count b{font-size:14px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.tc-progress-count span{font-size:14px;color:var(--text-soft)}.tc-progress-bar{position:relative;width:min(320px,80%);height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--border) 80%,transparent)}.tc-progress-bar span{position:absolute;inset:0 auto 0 0;width:35%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));animation:tcSlide 1.4s ease-in-out infinite}@keyframes tcSlide{0%{transform:translate(-100%)}to{transform:translate(290%)}}.tc-progress p{max-width:52ch;font-size:13px;line-height:1.55;color:var(--text-soft)}.tc-nomatch{min-height:200px}.tc-mini-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.tc-mini-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tc-mini-btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.tc-mini-btn.primary:hover{color:#fff;filter:brightness(1.08)}.tc-mini-btn:disabled{opacity:.5;cursor:default}.tc-mini-btn .ag-icon{width:12px;height:12px}.tc-json-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tc-json.editing{border-color:var(--accent)}.tc-json-edit{display:block;width:100%;max-height:320px;margin:0;padding:10px 12px;border:0;outline:none;resize:vertical;background:transparent;color:var(--text);font-family:var(--mono);font-size:11.5px;line-height:1.6}.tc-json-err{margin:0;padding:6px 12px;border-top:1px solid var(--border);font-size:11.5px;color:var(--r-fail)}.tc-edited{padding:1px 7px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.tc-edited-dot{display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;vertical-align:middle;background:var(--accent)}@container (max-width: 760px){.tc-json-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-json.actual{grid-column:1 / -1}}@container (max-width: 620px){.tc-summary{grid-template-columns:14px minmax(0,1fr) auto auto;grid-template-areas:"chev id id result" "chev scen scen scen" "chev exp act act";row-gap:6px;column-gap:14px}.tc-chevron{grid-area:chev;align-self:start;margin-top:2px}.tc-id{grid-area:id}.tc-scenario{grid-area:scen}.tc-pill.exp{grid-area:exp}.tc-pill.act{grid-area:act}.tc-pill{flex-direction:row;align-items:baseline;gap:5px}.tc-result{grid-area:result}.tc-json-grid{grid-template-columns:minmax(0,1fr)}.tc-detail{padding-left:30px}.tc-line{align-items:flex-start}.tc-check{align-self:auto;padding-top:11px}.tc-target-row{flex-wrap:wrap}.tc-base{flex:1 1 100%;order:-1}.tc-path{flex:1 1 120px}}@container (max-width: 380px){.tc-detail{padding:2px 10px 12px}.tc-advanced{flex-direction:column}}.tc-edit-notice{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:7px 10px 7px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.tc-edit-notice>.ag-icon{width:14px;height:14px;stroke-width:3;color:var(--accent)}.tc-edit-notice>span{flex:1 1 220px}.apigen-page{--tk-kw: #0000ff;--tk-str: #a31515;--tk-num: #098658;--tk-fn: #795e26;--tk-com: #008000;--tk-head: #c15f3c;--mono: ui-monospace, "Cascadia Code", SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark] .apigen-page{--tk-kw: #569cd6;--tk-str: #ce9178;--tk-num: #b5cea8;--tk-fn: #dcdcaa;--tk-com: #6a9955;--tk-head: #ef9a78}.apigen-page{height:100%;display:flex;position:relative;overflow:hidden;animation:chatIn .6s ease both}.apigen-area{flex:1;min-width:0;position:relative;z-index:1;display:flex;flex-direction:column}.apigen-main{flex:1;min-height:0;overflow-y:auto}.apigen-shell{width:100%;max-width:1720px;margin:0 auto;padding:20px 24px 28px;display:flex;flex-direction:column;gap:16px}.ag-icon{width:15px;height:15px;flex-shrink:0}.ag-icon.spin{animation:sparkSpin 1.6s linear infinite}.apigen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;animation:agFadeUp .5s ease both}.apigen-title{display:flex;align-items:center;gap:13px;min-width:0}.apigen-badge{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.apigen-badge .ag-icon{width:21px;height:21px}.apigen-title-text{min-width:0}.apigen-title h1{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600;line-height:1.2}.apigen-title p{margin-top:2px;font-size:13px;color:var(--text-soft)}.apigen-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.mode-select .app-trigger{height:48px;padding:0 8px;border-radius:14px;font-size:14px}.mode-select .app-trigger-text{flex-direction:column;align-items:flex-start;gap:1px;padding-right:6px}.mode-select .app-trigger-label{font-size:10px;line-height:1.2}.mode-select .app-trigger-value{line-height:1.25}.stage-rail{display:flex;align-items:center;list-style:none;padding:4px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 75%,transparent);transition:background .6s ease,border-color .6s ease}.stage-step{display:flex;align-items:center}.stage-step button{display:flex;align-items:center;gap:8px;padding:5px 13px 5px 5px;border:1px solid transparent;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;opacity:.7;transition:opacity .25s ease,border-color .25s ease,background .3s ease}.stage-step button:hover:not(:disabled){opacity:1;background:color-mix(in srgb,var(--accent) 9%,transparent)}.stage-step button:disabled{cursor:default}.stage-step.locked button{opacity:.38}.stage-step.active button{opacity:1;border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.stage-num{width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;color:var(--text-soft);background:var(--border);transition:background .3s ease,color .3s ease}.stage-num .ag-icon{width:13px;height:13px;stroke-width:3}.stage-step.active .stage-num,.stage-step.done .stage-num{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.stage-sep{width:18px;height:2px;margin:0 2px;border-radius:2px;background:var(--border);transition:background .3s ease}.stage-step.done .stage-sep,.stage-step.active .stage-sep{background:color-mix(in srgb,var(--accent) 60%,var(--border))}.apigen-error{display:flex;align-items:flex-start;gap:10px;padding:11px 12px 11px 16px;border:1px solid color-mix(in srgb,#d9534f 45%,var(--border));border-radius:14px;background:color-mix(in srgb,#d9534f 9%,var(--surface));font-size:13.5px;line-height:1.5;animation:agFadeUp .3s ease both}.apigen-error-text{flex:1;min-width:0;overflow-wrap:anywhere}.apigen-error-close{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:inherit;opacity:.6;cursor:pointer}.apigen-error-close:hover{opacity:1;background:color-mix(in srgb,#d9534f 14%,transparent)}.apigen-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.pane{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 30px color-mix(in srgb,var(--text) 6%,transparent);overflow:hidden;animation:agFadeUp .5s .06s ease both;transition:background .6s ease,border-color .25s ease,box-shadow .25s ease}.pane-output{animation-delay:.12s}.pane:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;flex-wrap:wrap;min-height:56px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 4%,transparent)}.pane-heading{display:flex;align-items:center;gap:10px;min-width:0}.pane-step{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;font-size:11.5px;font-weight:700;color:var(--accent);background:var(--accent-soft)}.pane-step .ag-icon{width:12px;height:12px;stroke-width:2.6}.pane-title{margin:0;font-size:14.5px;font-weight:700;white-space:nowrap}.panel-tag{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;color:var(--accent);background:var(--accent-soft)}.file-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:240px;padding:3px 10px;border-radius:999px;font-family:var(--mono);font-size:11.5px;color:var(--accent);background:var(--accent-soft)}.file-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip .ag-icon{width:12px;height:12px}.file-chip.strong{font-weight:600}.panel-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-soft, var(--text));font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.tool-btn .ag-icon{width:14px;height:14px}.tool-btn.icon-only{padding:6px 8px}.tool-btn.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-soft)}.tool-btn.accent{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.tool-btn.accent:hover:not(:disabled){color:#fff;border-color:transparent;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 30%,transparent)}.tool-btn:hover:not(:disabled):not(.is-disabled):not(.accent){border-color:var(--accent);color:var(--accent)}.tool-btn:active:not(:disabled):not(.is-disabled){transform:scale(.96)}.tool-btn:disabled,.tool-btn.is-disabled{opacity:.5;cursor:not-allowed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.visually-hidden:focus-visible+.tool-btn,.tool-btn:has(+.visually-hidden:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.pane-strip{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:8px 16px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-soft)}.pane-strip>span:not(.file-chip):not(:first-child):before,.pane-meta>span:not(:first-child):before{content:"·";margin-right:14px;opacity:.6}.pane-opened{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-opened code{font-family:var(--mono);font-size:11.5px}.pane-body{position:relative;min-height:0}.pane-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px 12px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.pane-meta{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0;font-size:12px;color:var(--text-soft)}.pane-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.narrow-only.narrow-only{display:none}.pane.is-full{position:fixed;top:14px;right:14px;bottom:14px;left:14px;z-index:300;display:flex!important;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--surface);box-shadow:0 30px 80px #00000047;animation:fsIn .22s cubic-bezier(.22,1,.36,1) both}.pane.is-full .pane-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.pane.is-full .pane-body>.code-view{flex:1;min-height:0;max-height:none}.pane.is-full .review-body{max-height:none;overflow:visible}.pane.is-full .source-body{overflow:hidden}.pane.is-full .steps-input{flex:1;min-height:0;resize:none}.pane-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:290;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:agFadeUp .2s ease both}.tool-btn.fs-exit{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft)}@keyframes fsIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media (max-width: 560px){.pane.is-full{top:0;right:0;bottom:0;left:0;border-radius:0}}.split-resizer{display:none;position:relative;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;outline:none}.split-resizer:before{content:"";position:absolute;top:18px;bottom:18px;left:50%;width:2px;transform:translate(-50%);border-radius:2px;background:transparent;transition:background .2s ease}.split-grip{position:relative;width:6px;height:46px;border-radius:999px;background:var(--border);box-shadow:0 0 0 3px var(--bg);transition:background .2s ease,height .25s ease,transform .2s ease}.split-resizer:hover:before,.split-resizer:focus-visible:before,.is-resizing .split-resizer:before{background:color-mix(in srgb,var(--accent) 45%,transparent)}.split-resizer:hover .split-grip,.split-resizer:focus-visible .split-grip,.is-resizing .split-grip{height:64px;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.split-resizer:focus-visible .split-grip{box-shadow:0 0 0 3px var(--bg),0 0 0 5px color-mix(in srgb,var(--accent) 50%,transparent)}.split-readout{position:absolute;top:calc(50% + 44px);left:50%;transform:translate(-50%);z-index:3;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 30%,transparent);pointer-events:none}body.apigen-resizing,body.apigen-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.is-resizing .pane{transition:none}.steps-input{display:block;width:100%;min-height:380px;resize:vertical;padding:16px 18px;border:none;background:transparent;color:inherit;font-family:var(--mono);font-size:12.5px;line-height:1.7;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-wrap:normal;overflow:auto}.steps-input::placeholder{color:var(--text-soft);opacity:.6}.steps-input:focus{outline:none}.steps-input[readonly]{opacity:.6}.code-editor{position:relative;width:100%;height:460px;min-width:0}.code-editor-host{position:absolute;top:0;right:0;bottom:0;left:0}.code-editor-host[hidden]{display:none}.code-editor>.steps-input,.code-editor>.code-view{height:100%;min-height:0;resize:none}.code-editor-placeholder{position:absolute;top:12px;right:18px;font-family:var(--mono);font-size:13px;line-height:21px;white-space:pre-wrap;color:var(--text-soft);opacity:.6;pointer-events:none}.code-editor-zoom{position:absolute;top:10px;left:50%;z-index:5;transform:translate(-50%);padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:12px;font-weight:600;color:var(--accent);pointer-events:none;animation:pwIn .15s ease both}.code-editor .monaco-editor .suggest-widget,.code-editor .monaco-editor .parameter-hints-widget,.code-editor .monaco-editor .monaco-hover{border-radius:10px;overflow:hidden}.pane.is-full .code-editor{flex:1;height:auto;min-height:0}.pane-source.dragging{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.drop-overlay{position:absolute;top:10px;right:10px;bottom:10px;left:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--accent));color:var(--accent);font-size:14px;font-weight:600;pointer-events:none;animation:agFadeUp .2s ease both}.drop-overlay .ag-icon{width:28px;height:28px}.apigen-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 17px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease}.apigen-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.apigen-btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)}.apigen-btn.primary:hover:not(:disabled){color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 32%,transparent);transform:translateY(-1px)}.apigen-btn:active:not(:disabled){transform:scale(.97)}.apigen-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.kbd-hint{padding:1px 6px;border-radius:6px;font-family:inherit;font-size:10.5px;font-weight:600;background:#ffffff38}.code-view{height:100%;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.7;-moz-tab-size:2;tab-size:2}.code-lines{padding:12px 0 16px}.code-view.nowrap .code-lines{width:max-content;min-width:100%}.code-line{display:grid;grid-template-columns:auto minmax(0,1fr)}.code-line:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.code-ln{position:sticky;left:0;min-width:3.4em;padding:0 14px 0 10px;text-align:right;color:var(--text-soft);opacity:.55;background:color-mix(in srgb,var(--surface) 96%,transparent);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none}.code-line:hover .code-ln{opacity:1;color:var(--accent)}.code-text{padding:0 18px 0 14px}.code-view.wrap .code-text{white-space:pre-wrap;overflow-wrap:anywhere}.code-view.nowrap .code-text{white-space:pre}.tk-kw{color:var(--tk-kw);font-weight:600}.tk-str{color:var(--tk-str)}.tk-num,.tk-lit{color:var(--tk-num)}.tk-fn{color:var(--tk-fn)}.tk-com{color:var(--tk-com);font-style:italic}.tk-head{color:var(--tk-head);font-weight:700}.pane-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:360px;height:100%;padding:32px 24px;text-align:center}.pane-empty-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;color:var(--accent);background:var(--accent-soft);animation:breathe 2.4s ease-in-out infinite alternate}.pane-empty-icon .ag-icon{width:26px;height:26px}.pane-empty h3{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600}.pane-empty-steps{list-style:none;display:flex;flex-direction:column;gap:9px;text-align:left;font-size:13px;color:var(--text-soft)}.pane-empty-steps li{display:flex;align-items:center;gap:10px}.pane-empty-steps .es-num{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border))}.pane-empty-steps b{color:var(--text)}.review-checks{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:460px}.review-checks li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;font-size:12.5px;background:var(--surface)}.review-checks .ag-icon{width:12px;height:12px;stroke-width:3;color:var(--accent)}.ag-skeleton{display:flex;flex-direction:column;gap:11px;padding:20px 22px}.ag-skeleton-label{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:13.5px;color:var(--text-soft)}.ag-skeleton-label .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:bounce 1.2s ease-in-out infinite}.ag-skeleton-label .dot:nth-child(2){animation-delay:.15s}.ag-skeleton-label .dot:nth-child(3){animation-delay:.3s;margin-right:5px}.ag-skeleton-stop{margin-left:auto}.ag-skeleton-row{height:11px;border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--border) 70%,transparent),color-mix(in srgb,var(--accent) 18%,var(--border)),color-mix(in srgb,var(--border) 70%,transparent));background-size:200% 100%;animation:agShimmer 1.6s ease-in-out infinite}.review-body{padding:18px 22px 24px;font-size:14px;line-height:1.65}.review-body table{font-size:.86em}@keyframes agFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes agShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (min-width: 1024px){.apigen-workspace{grid-template-columns:minmax(0,var(--split, 46%)) 18px minmax(0,1fr);gap:0}.split-resizer{display:flex}.pane-body .code-view{max-height:none}}@media (min-width: 1024px) and (min-height: 600px){.apigen-main{overflow:hidden}.apigen-shell{height:100%}.apigen-workspace{flex:1;min-height:0}.pane-body{flex:1;overflow:auto;display:flex;flex-direction:column}.pane-body>.code-view{flex:1;min-height:0}.source-body{display:flex;overflow:hidden}.steps-input{flex:1;min-height:0;resize:none}.code-editor{flex:1;height:auto;min-height:0}.pane-empty{min-height:100%}}@media (min-width: 1024px) and (max-height: 599px){.code-view,.review-body{max-height:70vh;overflow:auto}.code-editor{height:70vh}}@media (max-width: 1023px){.apigen-shell[data-stage="1"] .pane-output,.apigen-shell:not([data-stage="1"]) .pane-source{display:none}.narrow-only.narrow-only{display:inline-flex}.code-view,.review-body{max-height:68vh;overflow:auto}.code-editor{height:max(320px,68vh)}}@media (max-width: 1023px) and (min-height: 600px){.apigen-toolbar{display:contents}.apigen-controls{position:sticky;top:0;z-index:5;margin:0 -24px;padding:10px 24px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:background .6s ease,border-color .6s ease}}@media (max-width: 720px){.apigen-shell{padding:16px 14px 28px;gap:14px}.apigen-toolbar{gap:12px}.apigen-controls{width:100%;flex-direction:column;align-items:stretch;gap:10px}.stage-rail{display:flex;width:100%}.stage-step{flex:1;min-width:0}.stage-step:not(:first-child){flex:1.15}.stage-step button{flex:1;min-width:0;justify-content:center}.stage-sep{width:10px}.pane-head{padding:10px 10px 10px 14px}.pane-foot{padding:10px 12px}.steps-input{min-height:300px;padding:14px;font-size:12px}.code-view{font-size:11.8px}.review-body{padding:14px 16px 18px}.pane-empty{min-height:300px;padding:26px 16px}}@media (max-width: 720px) and (min-height: 600px){.apigen-controls{display:contents}.stage-rail{position:sticky;top:8px;z-index:5;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px color-mix(in srgb,var(--text) 12%,transparent)}}@media (max-width: 560px){.apigen-badge{width:38px;height:38px;border-radius:12px}.apigen-title h1{font-size:19px}.apigen-title p{font-size:12px}.stage-step button{padding:4px 8px 4px 4px;gap:6px;font-size:12px}.stage-num{width:22px;height:22px}.tool-btn{padding:6px 10px;font-size:12px}.file-chip{max-width:150px}.pane-strip .file-chip{max-width:100%}.pane-strip>span:not(.file-chip):not(:first-child):before,.pane-meta>span:not(:first-child):before{content:none}.pane-actions,.pane-foot>.apigen-btn{width:100%}.pane-actions .apigen-btn,.pane-foot>.apigen-btn{flex:1;min-width:0;padding:10px 12px}.pane-foot .pane-meta{width:100%}.kbd-hint{display:none}}@media (max-width: 380px){.apigen-title p{display:none}.stage-label{font-size:11.5px}.stage-sep{display:none}}@media (max-width: 340px){.pane-actions{flex-direction:column}.pane-actions .apigen-btn{width:100%}}.es-menu{position:fixed;z-index:500;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 16px 38px #00000029,0 2px 6px #0000000f;font-size:13px;transform-origin:top right;animation:esMenuIn .16s cubic-bezier(.22,1,.36,1) both}:root[data-theme=dark] .es-menu{box-shadow:0 16px 38px #00000080,0 2px 6px #0000004d}@keyframes esMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.es-section{padding:6px 4px 8px}.es-section+.es-section{border-top:1px solid var(--border)}.es-heading{padding:4px 6px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.es-group{padding:8px 8px 3px;font-size:11.5px;font-weight:600;color:var(--text-soft);opacity:.8}.es-theme,.es-action,.es-switch{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:none;border-radius:9px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.es-theme:hover,.es-action:hover:not(:disabled),.es-switch:hover,.es-theme:focus-visible,.es-action:focus-visible,.es-switch:focus-visible{outline:none;background:color-mix(in srgb,var(--text) 6%,transparent)}.es-theme.active{background:color-mix(in srgb,var(--accent) 10%,transparent);font-weight:600}.es-theme-name{display:flex;flex:1;flex-direction:column;min-width:0}.es-theme-name small{font-size:11px;font-weight:400;color:var(--text-soft)}.es-check{width:15px;height:15px;color:var(--accent)}.es-swatch{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:3px;width:38px;height:22px;border:1px solid;border-radius:6px}.es-swatch span{width:6px;height:6px;border-radius:50%}.es-swatch-auto{border-color:var(--border);background:linear-gradient(135deg,#fdfcf9 0,#fdfcf9 50%,#30302e 50%,#30302e)}.es-action:disabled{opacity:.45;cursor:not-allowed}.es-action .ag-icon{width:15px;height:15px;color:var(--accent)}.es-action span{flex:1}.es-action kbd{padding:1px 6px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:10.5px;color:var(--text-soft)}.es-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px}.es-seg{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft)}.es-seg button{padding:4px 10px;border:none;border-radius:999px;background:transparent;color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.es-seg button.on{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.es-switch-label{flex:1}.es-switch-track{position:relative;flex:none;width:32px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent);transition:background .18s ease}.es-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s ease}.es-switch.on .es-switch-track{background:var(--accent)}.es-switch.on .es-switch-thumb{transform:translate(14px)}.es-zoom{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden}.es-zoom button{width:32px;height:28px;border:none;background:transparent;color:inherit;font:inherit;font-size:16px;cursor:pointer}.es-zoom button:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.es-zoom button:disabled{opacity:.35;cursor:not-allowed}.es-zoom-value{min-width:48px;font-size:12.5px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.es-link{border:none;background:none;color:var(--accent);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.es-link:disabled{opacity:.4;cursor:default}@media (pointer: coarse) and (max-width: 720px){.es-trigger{display:none}}.app-select{position:relative}.app-trigger{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 5px 0 14px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:12px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 92%,var(--bg)));color:inherit;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #0000000f,0 4px 14px color-mix(in srgb,var(--text) 9%,transparent),inset 0 1px #ffffff80;transition:border-color .2s ease,background .6s ease,box-shadow .2s ease,transform .2s ease}:root[data-theme=dark] .app-trigger{box-shadow:0 1px 2px #0006,0 6px 18px #00000059,inset 0 1px #ffffff0d}.app-trigger:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 2px 4px #0000000f,0 10px 24px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px #ffffff80}.app-select.open .app-trigger{transform:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),0 8px 22px color-mix(in srgb,var(--accent) 14%,transparent)}.app-trigger:active:not(:disabled){transform:translateY(0) scale(.99)}.app-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent),0 4px 14px color-mix(in srgb,var(--text) 9%,transparent)}.app-trigger:disabled{opacity:.6;cursor:not-allowed}.app-trigger-text{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.app-trigger-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}.app-trigger-value{overflow:hidden;text-overflow:ellipsis;font-weight:700;color:var(--text)}.app-trigger-icon,.app-option-icon{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--accent);background:var(--accent-soft)}.app-trigger-icon svg,.app-option-icon svg{width:16px;height:16px}.app-chevron-wrap{display:grid;flex:none;place-items:center;width:28px;height:28px;margin-left:2px;border-radius:8px;color:var(--accent);background:var(--accent-soft);transition:background .2s ease,color .2s ease}.app-trigger:hover:not(:disabled) .app-chevron-wrap,.app-select.open .app-chevron-wrap{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.app-chevron{width:14px;height:14px;transform:rotate(90deg);transition:transform .2s ease}.app-select.open .app-chevron{transform:rotate(-90deg)}.app-menu{position:fixed;z-index:500;margin:0;padding:6px;list-style:none;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 38px #00000029,0 2px 6px #0000000f;transform-origin:top left;animation:esMenuIn .16s cubic-bezier(.22,1,.36,1) both}.app-menu.up{transform-origin:bottom left}:root[data-theme=dark] .app-menu{box-shadow:0 16px 38px #00000080,0 2px 6px #0000004d}.app-option{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;font-size:13px;white-space:nowrap;cursor:pointer}.app-option.active{background:color-mix(in srgb,var(--accent) 9%,transparent)}.app-option.selected{font-weight:700;color:var(--accent)}.app-check{flex:none;margin-left:auto;width:15px;height:15px}.app-option-text{display:flex;flex-direction:column;gap:2px}.app-option-hint{font-size:11.5px;font-weight:500;color:var(--text-soft)}.mode-select-menu .app-option{padding:9px 12px}@media (max-width: 720px){.app-select,.app-trigger{width:100%}.app-trigger-text{flex:1}}.pane-source .pane-foot>.pane-meta{flex:1 1 0;min-width:36px;flex-wrap:nowrap;overflow:hidden}.pane-source .pane-foot>.pane-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-source .pane-foot>.pane-actions{margin-left:0}.reload-notice{position:fixed;left:50%;bottom:24px;z-index:650;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-size:13px;line-height:1.45;text-align:center;transform:translate(-50%);animation:pwIn .2s ease both}.struct-tabs{display:flex;gap:4px;margin:10px 16px 0;padding:4px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 60%,var(--surface))}.struct-tab{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-width:0;padding:8px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-soft);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.struct-tab:hover:not(:disabled):not(.active){color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.struct-tab.active{color:var(--accent);background:var(--surface);box-shadow:0 1px 2px #00000014,0 3px 10px color-mix(in srgb,var(--text) 8%,transparent)}.struct-tab:disabled{opacity:.55;cursor:not-allowed}.struct-tab:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.struct-tab-badge{padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--text-soft);background:color-mix(in srgb,var(--text) 8%,transparent)}.struct-tabs+.pane-strip{border-top:none}.pane-empty-text{max-width:360px;margin:0 auto;font-size:13px;line-height:1.55;color:var(--text-soft)}@media (max-width: 400px){.struct-tabs{margin:10px 12px 0}.struct-tab{gap:6px;padding:7px 6px;font-size:12.5px}.struct-tab-badge{width:7px;height:7px;padding:0;overflow:hidden;font-size:0;background:var(--accent);opacity:.5}}.usage-wrap{display:inline-flex;min-width:0}.usage-chip{display:inline-flex;align-items:center;gap:7px;min-width:0;height:24px;padding:0 9px 0 7px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--text-soft);font:inherit;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.usage-chip:hover,.usage-chip.open{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.usage-chip:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.usage-chip svg{width:13px;height:13px;flex:none;color:var(--accent)}.usage-total{font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}.usage-split,.usage-cost{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.usage-cost{color:var(--text)}.usage-cost:before{content:"·";margin-right:6px;opacity:.6;color:var(--text-soft)}.usage-bar,.usage-card-bar{position:relative;flex:none;width:34px;height:5px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,#f59e0b 55%,var(--surface))}.usage-bar>span,.usage-card-bar>span{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:inherit}.usage-chip.cut{border-color:color-mix(in srgb,#f59e0b 55%,var(--border));background:color-mix(in srgb,#f59e0b 10%,var(--surface))}.usage-chip.cut svg{color:#d97706}.usage-card{position:fixed;z-index:1200;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-size:12.5px;box-shadow:0 14px 40px #0f172a2e,0 2px 6px #0f172a14;animation:pwIn .16s ease-out}[data-theme=dark] .usage-card{box-shadow:0 16px 44px #0000008c,0 2px 8px #00000059}.usage-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.usage-flag{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309;letter-spacing:0;text-transform:none}[data-theme=dark] .usage-flag{color:#fbbf24}.usage-card-bar{width:100%;height:6px;margin-bottom:10px}.usage-rows{margin:0;display:grid;gap:5px}.usage-rows>div{display:flex;justify-content:space-between;gap:12px;min-width:0}.usage-rows dt{color:var(--text-soft);flex:none}.usage-rows dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.usage-rows>.strong{padding-top:5px;border-top:1px dashed var(--border);font-weight:650}.usage-rows>.warn dd{color:#d97706}.usage-rows>.mono dd{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.usage-meta{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.usage-note{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:var(--text-soft)}@media (max-width: 480px){.usage-split,.usage-bar{display:none}}.bf-doc h1{font-size:1.45em;margin-bottom:10px}.bf-doc h2{margin-top:26px;padding-bottom:6px;border-bottom:1px solid var(--border)}.bf-doc h3{margin-top:16px}.bf-doc table{width:100%;display:block;overflow-x:auto}.bf-doc .md-code.bf-code-hidden{display:none}.bf-diagram{margin:12px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.bf-diagram-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:6px 8px 6px 14px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:12.5px;font-weight:700;color:var(--text-soft)}.bf-diagram-tools{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.bf-diagram-btn{min-width:28px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.bf-diagram-btn:hover{border-color:var(--accent);color:var(--accent)}.bf-diagram-zoom{min-width:42px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.bf-diagram-canvas{padding:12px;overflow:auto;max-height:80vh;text-align:center}.bf-diagram-canvas svg{max-width:none;height:auto}.bf-diagram-error{margin:0;text-align:left;font-size:13px;color:var(--danger, #c0392b)}.bf-view-switch{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.bf-view-switch button{padding:5px 11px;border:none;border-radius:999px;background:none;color:var(--text-soft);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.bf-view-switch button.active{background:var(--accent-soft);color:var(--accent)}@media (max-width: 600px){.bf-diagram-canvas{padding:8px}}.home-page{height:100%;display:flex;position:relative;overflow:hidden;animation:chatIn .6s ease both}.home-area{flex:1;min-width:0;position:relative;z-index:1;display:flex;flex-direction:column}.home-main{flex:1;min-height:0;overflow-y:auto;display:flex}.home-inner{margin:auto;width:100%;max-width:1080px;padding:40px 22px;text-align:center}.home-greeting{font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:600;margin-bottom:8px;animation:fadeUp .6s ease both}.home-hint{color:var(--text-soft, var(--text));opacity:.7;margin-bottom:34px;animation:fadeUp .6s .08s ease both}.layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.layout-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 24px;text-align:left;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:inherit;font:inherit;cursor:pointer;animation:fadeUp .6s ease both;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,border-color .3s ease,background .6s ease}.layout-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 22%,transparent)}.layout-card:active{transform:translateY(-1px) scale(.99)}.layout-icon{font-size:26px;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--accent-soft);margin-bottom:4px}.layout-title{font-size:18px;font-weight:700}.layout-desc{font-size:13.5px;line-height:1.5;opacity:.72}.layout-go{margin-top:6px;font-size:13px;font-weight:600;color:var(--accent);opacity:0;transform:translate(-6px);transition:opacity .3s ease,transform .3s ease}.layout-card:hover .layout-go{opacity:1;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (max-width: 900px){.layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.layout-grid{grid-template-columns:1fr;gap:14px}.home-greeting{font-size:26px}.home-hint{margin-bottom:24px}.layout-card{padding:20px 18px}}@media (max-height: 560px){.home-main{display:block}.home-inner{padding:24px 22px}.home-greeting{font-size:22px}.home-hint{margin-bottom:18px}}.client-page{--m-get: #3f8f4f;--m-post: #c15f3c;--m-put: #3c67a3;--m-patch: #7a52b3;--m-delete: #c43c32;--ok: #3f8f4f;--warn: #b97f12;--bad: #d0453a;--info: #3c67a3}:root[data-theme=dark] .client-page{--m-get: #7cc48a;--m-post: #ef9a78;--m-put: #8fb4e8;--m-patch: #bb9bea;--m-delete: #f08a80;--ok: #7cc48a;--warn: #e7b65a;--bad: #f08a80;--info: #8fb4e8}.ac-main{flex:1;min-height:0;overflow-y:auto}.ac-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;width:100%;max-width:1720px;min-height:100%;margin:0 auto;padding:14px 20px 20px}.ac-card{min-width:0;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 2px 10px color-mix(in srgb,var(--text) 5%,transparent)}.ac-muted{margin:0;font-size:12px;color:var(--text-soft)}.ac-muted code,.ac-note code{font-family:var(--mono);font-size:11.5px}.ac-grow{flex:1}.ac-warn-text{font-size:11.5px;color:var(--warn)}.ac-side-wide{min-width:0;min-height:0}.ac-side{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);overflow:hidden}.ac-side-head{display:flex;align-items:center;gap:6px;padding:8px 8px 0}.ac-side-head .ac-sub-tabs{flex:1}.ac-side-search{display:flex;align-items:center;gap:6px;margin:8px 10px 4px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-soft);background:var(--surface)}.ac-side-search .ag-icon{width:14px;height:14px}.ac-side-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:12.5px}.ac-side-body{flex:1;min-height:0;overflow-y:auto;padding:4px 6px 10px}.ac-side-empty{margin:14px 8px;font-size:12.5px;color:var(--text-soft)}.ac-list{margin:0;padding:0;list-style:none}.ac-list-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:6px;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ac-list-item:hover{background:var(--surface-2)}.ac-list-item.current{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}.ac-list-text{display:flex;flex-direction:column;min-width:0}.ac-list-title{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-list-text small{font-size:11px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-dot{font-weight:700}.ac-dot.good{color:var(--ok)}.ac-dot.warn{color:var(--warn)}.ac-dot.bad{color:var(--bad)}.ac-dot.info{color:var(--info)}.ac-saved-row{position:relative;display:flex;align-items:center}.ac-saved-row .ac-list-item{flex:1;min-width:0;padding-right:34px}.ac-saved-remove{position:absolute;right:6px;opacity:0}.ac-saved-row:hover .ac-saved-remove,.ac-saved-remove:focus-visible{opacity:1}.ac-confirm{position:absolute;right:4px;display:flex;gap:4px;padding:2px;border-radius:999px;background:var(--surface)}.tc-mini-btn.danger{border-color:var(--bad);color:#fff;background:var(--bad)}.ac-more{width:calc(100% - 8px);margin:6px 4px 0}.ac-vars{display:flex;flex-direction:column;gap:8px;padding:6px 4px}.ac-method{font-family:var(--mono);font-size:10.5px;font-weight:800;letter-spacing:.02em;color:var(--m)}.ac-method.m-get{--m: var(--m-get)}.ac-method.m-post{--m: var(--m-post)}.ac-method.m-put{--m: var(--m-put)}.ac-method.m-patch{--m: var(--m-patch)}.ac-method.m-delete{--m: var(--m-delete)}.ac-work{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.ac-tabs{display:flex;align-items:center;gap:6px;min-width:0}.ac-side-toggle{display:none}.ac-plus{display:inline-block;width:14px;font-size:17px;line-height:14px;text-align:center}.ac-tab-strip{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.ac-tab-strip::-webkit-scrollbar{display:none}.ac-tab{display:flex;align-items:center;flex-shrink:0;max-width:230px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 80%,transparent)}.ac-tab.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface);box-shadow:inset 0 -2px 0 var(--accent)}.ac-tab-btn{display:flex;align-items:center;gap:6px;min-width:0;height:32px;padding:0 4px 0 10px;border:0;background:none;color:inherit;font:inherit;font-size:12.5px;cursor:pointer}.ac-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-tab-busy{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--accent);animation:acPulse 1s ease-in-out infinite}@keyframes acPulse{50%{opacity:.3}}.ac-tab-close{display:grid;place-items:center;width:24px;height:24px;margin-right:4px;border:0;border-radius:6px;background:none;color:var(--text-soft);cursor:pointer;opacity:.55}.ac-tab:hover .ac-tab-close,.ac-tab.on .ac-tab-close{opacity:1}.ac-tab-close:hover{color:var(--accent);background:var(--surface-2)}.ac-tab-close .ag-icon{width:12px;height:12px}.ac-req{display:flex;flex-direction:column;padding:14px}.ac-bar{display:flex;align-items:center;gap:8px}.ac-bar .method-trigger{height:40px}.ac-url{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:13px}.ac-url:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.ac-send,.ac-save{height:40px;border-radius:10px}.ac-send{min-width:100px}.ac-send .ag-icon,.ac-save .ag-icon{width:14px;height:14px}.ac-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:8px 0 0;font-size:12px;color:var(--text-soft)}.ac-note.warn{color:var(--warn)}.ac-note code{padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--text)}.ac-req-tabs{display:flex;align-items:center;gap:8px;margin-top:12px;border-bottom:1px solid var(--border)}.ac-req-tabs .ac-sub-tabs{flex:1}.ac-req-tabs .copy-btn{margin-bottom:4px}.ac-sub-tabs{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.ac-sub-tabs button{position:relative;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;height:34px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-soft);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.ac-sub-tabs button:hover{color:var(--text)}.ac-sub-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.ac-sub-tabs small{padding:0 6px;border-radius:999px;font-size:10.5px;color:var(--accent);background:var(--accent-soft)}.ac-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.ac-req-body{padding-top:10px;min-height:0;overflow-y:auto}.kv-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.kv-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1.4fr) 32px;align-items:center;border-bottom:1px solid var(--border)}.kv-row:last-of-type{border-bottom:0}.kv-head{font-size:11px;font-weight:700;color:var(--text-soft);background:var(--surface-2)}.kv-head>span{padding:6px 10px}.kv-row>span:first-child{display:flex;justify-content:center}.kv-row input:not([type=checkbox]){min-width:0;height:32px;padding:0 10px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--mono);font-size:12.5px}.kv-row input:not([type=checkbox]):focus{outline:none;background:color-mix(in srgb,var(--accent) 6%,transparent)}.kv-row.off input:not([type=checkbox]){color:var(--text-soft);text-decoration:line-through}.kv-row.ghost input::placeholder{font-style:italic}.kv-remove{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:none;color:var(--text-soft);cursor:pointer}.kv-remove:hover{color:var(--bad);background:var(--surface-2)}.kv-remove .ag-icon{width:12px;height:12px}.ac-auth{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.ac-auth label{display:flex;flex-direction:column;gap:4px;min-width:180px;font-size:11.5px;font-weight:600;color:var(--text-soft)}.ac-auth label.wide{flex:1}.ac-auth select,.ac-auth input{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:12.5px}.ac-auth .ac-muted{flex-basis:100%}.ac-body-tools,.ac-res-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.ac-seg{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.ac-seg button{height:26px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.ac-seg button.on{color:#fff;background:var(--accent)}.ac-nobody{padding:18px 4px}.ac-editor{overflow:hidden;border:1px solid var(--border);border-radius:10px}.client-page .ac-body-editor .code-editor{height:clamp(160px,26vh,300px)}.ac-pre{width:100%;height:100%;margin:0;padding:10px 12px;overflow:auto;border:0;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.ac-textarea{resize:none;outline:none}.ac-res-card{display:flex;flex-direction:column;min-height:320px;padding:10px 14px 14px}.ac-res-title{display:flex;align-items:baseline;gap:10px}.ac-res-title h2{margin:0;font-size:14px}.ac-res{display:flex;flex-direction:column;flex:1;min-height:0}.ac-res-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px;border-bottom:1px solid var(--border)}.ac-res-bar .ac-sub-tabs{flex:1}.ac-res-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-bottom:6px;font-size:12px}.ac-status{padding:2px 9px;border-radius:999px;font-family:var(--mono);font-weight:700}.ac-status.good{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.ac-status.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.ac-status.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.ac-status.info{color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent)}.ac-meta-item{color:var(--text-soft);font-family:var(--mono)}.ac-stat{max-width:260px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-stat.good{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)}.ac-stat.bad{color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent)}.ac-res-editor{flex:1;min-height:0}.client-page .ac-res-editor .code-editor{height:max(280px,46vh)}.ac-headers-list{overflow:auto}.ac-headers-list table{width:100%;border-collapse:collapse;font-size:12.5px}.ac-headers-list th,.ac-headers-list td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere}.ac-headers-list th{width:35%;font-family:var(--mono);font-weight:600;color:var(--text-soft)}.ac-headers-list td{font-family:var(--mono)}.ac-res-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:220px;padding:20px;text-align:center;color:var(--text-soft)}.ac-res-empty p{margin:0;font-size:13px}.ac-res-icon{font-size:38px;opacity:.8}.ac-res-empty kbd{padding:1px 6px;border:1px solid var(--border);border-radius:5px;font-family:var(--mono);font-size:11px;background:var(--surface-2)}.ac-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:acSpin .8s linear infinite}@keyframes acSpin{to{transform:rotate(360deg)}}.ac-res-error{display:flex;gap:10px;margin-top:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--bad) 40%,var(--border));border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--bad) 7%,transparent)}.ac-res-error>.ag-icon{flex-shrink:0;width:18px;height:18px;color:var(--bad)}.ac-res-error p{margin:4px 0;font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere}.ac-res-error small{color:var(--text-soft)}.ac-panes{display:flex;flex-direction:column;gap:12px;min-width:0}.ac-split,.ac-layout-btn{display:none}@media (min-width: 1024px) and (min-height: 600px){.ac-shell{height:100%}.ac-main{overflow:hidden}.ac-layout-btn{display:inline-flex}.ac-panes{display:grid;flex:1;gap:0;min-height:0}.ac-panes[data-dir=vertical]{grid-template-rows:minmax(0,var(--ac-a)) 12px minmax(0,var(--ac-b))}.ac-panes[data-dir=horizontal]{grid-template-columns:minmax(min(420px,56%),var(--ac-a)) 12px minmax(min(320px,40%),var(--ac-b))}.ac-req,.ac-res-card{min-height:0;overflow:hidden}.ac-req-body{flex:1;display:flex;flex-direction:column}.ac-body{flex:1;display:flex;flex-direction:column;min-height:0}.ac-body-editor{flex:1;min-height:90px}.client-page .ac-body-editor .code-editor,.client-page .ac-res-editor .code-editor{height:100%}.ac-res-editor{min-height:80px}.ac-headers-list{flex:1;min-height:0}.ac-split{display:flex;align-items:center;justify-content:center;touch-action:none;border-radius:6px;outline:none}.ac-panes[data-dir=vertical] .ac-split{cursor:row-resize}.ac-panes[data-dir=horizontal] .ac-split{cursor:col-resize}.ac-split span{border-radius:999px;background:var(--border);transition:background .15s ease}.ac-panes[data-dir=vertical] .ac-split span{width:44px;height:4px}.ac-panes[data-dir=horizontal] .ac-split span{width:4px;height:44px}.ac-split:hover span,.ac-split:focus-visible span,.ac-split:active span{background:var(--accent)}.ac-panes[data-dir=horizontal] .ac-send{min-width:0;padding:0 14px}.ac-panes[data-dir=horizontal] .ac-save{width:40px;padding:0}.ac-panes[data-dir=horizontal] .ac-save span{display:none}.ac-panes[data-dir=horizontal] .ac-req-tabs{flex-wrap:wrap;border-bottom:0}.ac-panes[data-dir=horizontal] .ac-req-tabs .ac-sub-tabs{flex:1 1 auto;border-bottom:1px solid var(--border)}}.ac-shell.side-collapsed{grid-template-columns:52px minmax(0,1fr)}.ac-rail{align-items:center;gap:4px;padding:8px 0}.ac-rail-sep{width:24px;height:1px;margin:2px 0;background:var(--border)}.ac-rail-btn{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text-soft);cursor:pointer}.ac-rail-btn:hover{border-color:var(--border);color:var(--accent);background:var(--surface-2)}.ac-rail-btn .ag-icon{width:17px;height:17px}.ac-rail-btn small{position:absolute;top:1px;right:0;min-width:16px;padding:0 4px;border-radius:999px;font-size:9.5px;font-weight:700;line-height:15px;color:#fff;background:var(--accent)}.ac-save-wrap{position:relative;flex-shrink:0}.ac-save.is-saved{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.ac-save-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:8px;width:min(320px,calc(100vw - 32px));padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);animation:pwIn .15s ease both}.ac-save-pop label{font-size:12px;font-weight:700;color:var(--text-soft)}.ac-save-pop input{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:13px}.ac-save-pop input:focus{outline:none;border-color:var(--accent)}.ac-save-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.ac-toast{position:fixed;left:50%;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:13px;transform:translate(-50%);animation:pwIn .2s ease both}.ac-toast .ag-icon{width:15px;height:15px;color:var(--ok);stroke-width:3}@media (max-width: 1023px){.ac-shell{grid-template-columns:minmax(0,1fr);padding:12px 14px 18px}.ac-side-wide{display:none}.ac-shell.side-collapsed{grid-template-columns:minmax(0,1fr)}.ac-side-toggle{display:inline-flex}}.ac-drawer{--mono: ui-monospace, "Cascadia Code", SFMono-Regular, Menlo, Consolas, monospace;position:fixed;top:0;right:0;bottom:0;left:0;z-index:640;padding:10px;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:smFade .18s ease both}.ac-drawer .ac-side{width:min(340px,100%);height:100%;box-shadow:var(--shadow);background:var(--surface);animation:smIn .22s ease both}@media (max-width: 600px){.ac-shell{padding:10px 10px 16px}.ac-bar{flex-wrap:wrap}.ac-url{flex:1 1 100%;order:5}.ac-send{flex:1;min-width:0}.ac-req,.ac-res-card{padding:10px}.kv-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 28px}.ac-auth label{min-width:0;flex:1 1 100%}.ac-sub-tabs button{padding:0 7px}.client-page .ac-res-editor .code-editor{height:50vh}}.ac-timing-btn{padding:2px 8px;border:1px dashed transparent;border-radius:999px;background:none;font-size:inherit;cursor:pointer}.ac-timing-btn:hover,.ac-timing-btn.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}.ac-timing-pop{--mono: ui-monospace, "Cascadia Code", SFMono-Regular, Menlo, Consolas, monospace;position:fixed;z-index:680;width:min(420px,calc(100vw - 16px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-size:12.5px;animation:pwIn .15s ease both}.ac-timing-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:13px}.ac-timing-head span{font-family:var(--mono);font-weight:700;color:var(--accent)}.ac-timing-rows{margin:0;padding:0;list-style:none}.ac-timing-rows li{display:grid;grid-template-columns:140px minmax(0,1fr) 70px;align-items:center;gap:10px;padding:4px 0}.ac-timing-label{color:var(--text-soft);white-space:nowrap}.ac-timing-track{position:relative;height:10px;border-radius:3px;background:color-mix(in srgb,var(--text) 6%,transparent)}.ac-timing-bar{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--bar, var(--accent))}.ac-timing-bar.p-redirectsMs{--bar: #9aa8cc}.ac-timing-bar.p-socket{--bar: #b9a77a}.ac-timing-bar.p-dns{--bar: #3c8f9b}.ac-timing-bar.p-tcp{--bar: #c48a2c}.ac-timing-bar.p-tls{--bar: #7a52b3}.ac-timing-bar.p-ttfb{--bar: #3f8f4f}.ac-timing-bar.p-download{--bar: #3c67a3}.ac-timing-ms{font-family:var(--mono);font-size:11.5px;text-align:right}.ac-timing-note{margin:8px 0 0;font-size:11.5px;color:var(--text-soft)}.ac-timing-net{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.ac-timing-net dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 10px;margin:8px 0 0}.ac-timing-net dt{color:var(--text-soft)}.ac-timing-net dd{margin:0;font-family:var(--mono);font-size:11.5px;overflow-wrap:anywhere}@media (max-width: 420px){.ac-timing-rows li{grid-template-columns:110px minmax(0,1fr) 62px;gap:6px}}.side-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:650;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:smFade .18s ease both}.side-menu{position:absolute;top:10px;left:10px;bottom:10px;display:flex;flex-direction:column;width:min(340px,calc(100vw - 20px));border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;transform-origin:top left;animation:smIn .24s cubic-bezier(.2,.8,.2,1) both}@keyframes smFade{0%{opacity:0}}@keyframes smIn{0%{opacity:0;transform:translate(-16px) scale(.97)}}.sm-head{display:flex;align-items:center;gap:9px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--border)}.sm-brand{flex:1;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:600}.sm-close{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-soft);font-size:13px;cursor:pointer}.sm-close:hover{border-color:var(--accent);color:var(--accent)}.sm-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 12px 14px}.sm-label{margin:6px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.sm-screens,.sm-items{margin:0;padding:0;list-style:none}.sm-screen{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.sm-screen:hover{background:var(--surface-2)}.sm-screen.current{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}.sm-screen-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;font-size:17px;background:var(--surface-2)}.sm-screen.current .sm-screen-icon{background:var(--surface)}.sm-screen-text{display:flex;flex-direction:column;min-width:0}.sm-screen-text b{font-size:13.5px}.sm-screen-text small{font-size:11.5px;color:var(--text-soft)}.sm-activity-head{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.sm-count{font-size:11px;color:var(--text-soft)}.sm-search{width:100%;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-size:12.5px}.sm-search:focus{outline:none;border-color:var(--accent)}.sm-filters{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 4px}.sm-filters button{height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-soft);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.sm-filters button.on{border-color:transparent;color:#fff;background:var(--accent)}.sm-day{position:sticky;top:-10px;z-index:1;margin:10px 0 2px;padding:4px;font-size:11px;font-weight:700;color:var(--text-soft);background:var(--surface)}.sm-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:8px;width:100%;padding:7px 8px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left}.sm-item.link{cursor:pointer}.sm-item.link:hover{background:var(--surface-2)}.sm-item-icon{font-size:14px;line-height:20px;text-align:center}.sm-item-text{display:flex;flex-direction:column;min-width:0}.sm-item-title{font-size:12.5px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-item-detail{font-size:11.5px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-item-time{font-size:11px;line-height:20px;color:var(--text-soft);white-space:nowrap}.sm-empty{margin:14px 4px;font-size:12.5px;color:var(--text-soft)}.sm-more{display:block;width:100%;margin-top:8px;padding:8px;border:1px dashed var(--border);border-radius:10px;background:none;color:var(--text-soft);font:inherit;font-size:12px;cursor:pointer}.sm-more:hover{border-color:var(--accent);color:var(--accent)}.sm-foot{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-2)}.sm-user{display:flex;flex-direction:column;min-width:0}.sm-user b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-user small{font-size:11px;color:var(--text-soft)}@media (max-height: 500px){.side-menu{top:6px;bottom:6px}}.nl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:nlFade .16s ease both}.nl-panel{display:flex;flex-direction:column;width:min(1180px,100%);height:min(820px,100%);border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);overflow:hidden;animation:nlIn .2s cubic-bezier(.2,.8,.2,1) both}@keyframes nlFade{0%{opacity:0}}@keyframes nlIn{0%{opacity:0;transform:translateY(10px) scale(.98)}}.nl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.nl-head h2{margin:0;font-size:17px}.nl-head p{margin:2px 0 0;font-size:12px;color:var(--text-soft)}.nl-head kbd{padding:0 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);font:inherit;font-size:11px}.nl-head-tools{display:flex;align-items:center;gap:8px}.nl-btn{padding:6px 13px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.nl-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.nl-btn:disabled{opacity:.5;cursor:default}.nl-close{width:32px;height:32px;border:none;border-radius:50%;background:var(--surface-2);color:var(--text-soft);font-size:20px;line-height:1;cursor:pointer}.nl-close:hover{color:var(--text)}.nl-body{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);flex:1;min-height:0}.nl-list-col{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.nl-tools{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.nl-tools input{height:34px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit;font-size:13px}.nl-tools input:focus{outline:none;border-color:var(--accent)}.nl-filters{display:flex;flex-wrap:wrap;gap:4px}.nl-filters button{padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:none;color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.nl-filters button.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-soft);color:var(--accent)}.nl-list{flex:1;margin:0;padding:6px;list-style:none;overflow-y:auto}.nl-day{padding:10px 8px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.nl-none{padding:30px 10px;text-align:center;font-size:13px;color:var(--text-soft)}.nl-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:11px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.nl-row:hover{background:var(--surface-2)}.nl-row.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft)}.nl-method{flex-shrink:0;min-width:44px;padding:2px 6px;border-radius:6px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:10.5px;font-weight:700;text-align:center;background:var(--surface-2);color:var(--text-soft)}.nl-method.m-get{color:#2e7d32}.nl-method.m-post{color:#b26a00}.nl-method.m-put,.nl-method.m-patch{color:#1565c0}.nl-method.m-delete{color:#c62828}.nl-row-main{display:flex;flex-direction:column;flex:1;min-width:0}.nl-row-label,.nl-row-url{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nl-row-label{font-size:13px;font-weight:600}.nl-row-url{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;color:var(--text-soft)}.nl-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.nl-row-meta{font-size:11px;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.nl-status{padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.nl-status.t-good{background:color-mix(in srgb,#2e7d32 15%,transparent);color:#2e7d32}.nl-status.t-warn{background:color-mix(in srgb,#b26a00 16%,transparent);color:#b26a00}.nl-status.t-bad{background:color-mix(in srgb,#c62828 15%,transparent);color:#c62828}.nl-status.t-pending{background:var(--surface-2);color:var(--text-soft);animation:nlPulse 1.2s ease-in-out infinite alternate}:root[data-theme=dark] .nl-status.t-good,:root[data-theme=dark] .nl-method.m-get{color:#81c784}:root[data-theme=dark] .nl-status.t-warn,:root[data-theme=dark] .nl-method.m-post{color:#ffb74d}:root[data-theme=dark] .nl-status.t-bad,:root[data-theme=dark] .nl-method.m-delete{color:#ef9a9a}:root[data-theme=dark] .nl-method.m-put,:root[data-theme=dark] .nl-method.m-patch{color:#90caf9}@keyframes nlPulse{to{opacity:.5}}.nl-detail-col{min-width:0;min-height:0;overflow-y:auto}.nl-placeholder{display:grid;place-items:center;height:100%;padding:24px;text-align:center;font-size:13.5px;color:var(--text-soft)}.nl-detail{display:flex;flex-direction:column;gap:14px;padding:16px 18px 24px}.nl-back{display:none;align-self:flex-start;margin-bottom:8px;padding:4px 0;border:none;background:none;color:var(--accent);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.nl-title-row{display:flex;align-items:center;gap:10px}.nl-title-row h3{margin:0;font-size:16px;word-break:break-word}.nl-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.nl-chip{padding:1px 8px;border:1px solid var(--border);border-radius:999px;font-size:11.5px;color:var(--text-soft);font-variant-numeric:tabular-nums}.nl-block{border:1px solid var(--border);border-radius:12px;overflow:hidden}.nl-block-head{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 8px 4px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.nl-block-head h4{margin:0;font-size:12.5px}.nl-size{margin-left:auto;font-size:11.5px;color:var(--text-soft);font-variant-numeric:tabular-nums}.nl-dl{padding:4px 11px;font-size:12px}.nl-tag{padding:0 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.nl-url-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:12.5px}.nl-url-row+.nl-url-row{border-top:1px solid var(--border)}.nl-url-row>span{flex-shrink:0;width:56px;color:var(--text-soft)}.nl-url-row code{flex:1;min-width:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;word-break:break-all}.nl-pre{max-height:420px;margin:0;padding:10px 12px;overflow:auto;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.nl-empty{margin:0;padding:10px 12px;font-size:12.5px;color:var(--text-soft)}.nl-error{margin:0;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,#c62828 12%,transparent);color:#c62828;font-size:13px}.nl-timeline{display:flex;gap:2px;margin:12px 12px 4px;height:8px}.nl-timeline span{border-radius:4px}.nl-tl-wait,.nl-dot.wait{background:#d97757}.nl-tl-dl,.nl-dot.dl{background:#5c9ded}.nl-timing{margin:0;padding:6px 12px 10px}.nl-timing>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12.5px}.nl-timing dt{display:flex;align-items:center;gap:8px}.nl-timing dd{margin:0;font-variant-numeric:tabular-nums}.nl-timing .nl-total{margin-top:4px;border-top:1px solid var(--border);padding-top:7px;font-weight:700}.nl-dot{display:inline-block;width:9px;height:9px;border-radius:3px}.nl-headers{border:1px solid var(--border);border-radius:12px;font-size:12.5px}.nl-headers summary{padding:9px 12px;font-weight:600;cursor:pointer}.nl-headers summary span{color:var(--text-soft);font-weight:400}.nl-headers dl{margin:0;padding:0 12px 10px}.nl-headers dl>div{display:grid;grid-template-columns:minmax(110px,34%) 1fr;gap:10px;padding:3px 0}.nl-headers dt{color:var(--text-soft);word-break:break-all}.nl-headers dd{margin:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11.5px;word-break:break-all}@media (max-width: 899px){.nl-backdrop{padding:0}.nl-panel{width:100%;height:100%;border-radius:0;border:none}.nl-body{grid-template-columns:minmax(0,1fr)}.nl-list-col{border-right:none}.nl-detail-col,.nl-panel.has-detail .nl-list-col{display:none}.nl-panel.has-detail .nl-detail-col{display:block}.nl-back{display:inline-block}.nl-head{padding:12px 14px}.nl-detail{padding:12px 14px 20px}}:root,:root[data-theme=light]{--bg: #f4f1ea;--bg-soft: #efeadf;--surface: #fdfcf9;--surface-2: #f7f4ec;--border: #e3ddcf;--text: #3d3929;--text-soft: #8a8471;--accent: #d97757;--accent-strong: #c15f3c;--accent-soft: rgba(217, 119, 87, .14);--orb-a: rgba(217, 119, 87, .28);--orb-b: rgba(196, 167, 108, .25);--shadow: 0 18px 50px rgba(61, 57, 41, .12);--bubble-user: #d97757;--bubble-user-text: #fff;--scroll-thumb: #d2c9b6;--scroll-thumb-hover: #b9ad96;color-scheme:light}:root[data-theme=dark]{--bg: #262624;--bg-soft: #21201e;--surface: #30302e;--surface-2: #383735;--border: #46443f;--text: #ece9df;--text-soft: #a29e8f;--accent: #d97757;--accent-strong: #e58a68;--accent-soft: rgba(217, 119, 87, .18);--orb-a: rgba(217, 119, 87, .16);--orb-b: rgba(120, 100, 60, .18);--shadow: 0 18px 50px rgba(0, 0, 0, .45);--bubble-user: #d97757;--bubble-user-text: #fff;--scroll-thumb: #57544d;--scroll-thumb-hover: #6f6b62;color-scheme:dark}:root{scrollbar-color:var(--scroll-thumb) transparent}*{scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--scroll-thumb) padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover) padding-box}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);transition:background .6s ease,color .6s ease;overflow:hidden}.app{height:100%;position:relative}.theme-toggle{position:fixed;top:16px;right:18px;z-index:200;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:20px;display:grid;place-items:center;box-shadow:0 4px 14px #0000001a;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .6s ease,border-color .6s ease,box-shadow .25s ease}.theme-toggle:hover{transform:scale(1.15) rotate(12deg);box-shadow:0 8px 22px var(--accent-soft),0 4px 14px #0000001f}.theme-toggle:active{transform:scale(.92)}body.preview-open .theme-toggle,body.apigen-full .theme-toggle{display:none}@media (max-width: 560px){.theme-toggle{top:10px;right:10px;width:36px;height:36px;font-size:16px}}@media (max-width: 340px){.theme-toggle{top:8px;right:8px;width:30px;height:30px;font-size:14px}}.toggle-icon{display:inline-block;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes iconPop{0%{transform:rotate(-120deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}::selection{background:var(--accent-soft)}button{font-family:inherit}input,textarea{font-family:inherit;color:inherit}
