*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef3f6;color:#0c1524;font-family:DM Sans,Segoe UI,sans-serif;margin:0;min-height:100vh}code{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ink:#0c1524;--ink-soft:#3d4f63;--ink-muted:#6b7c8f;--mist:#eef3f6;--mist-2:#f7fafc;--paper:#fff;--line:#0c15241a;--line-strong:#0c15242e;--accent:#0d7377;--accent-bright:#14919b;--accent-soft:#0d73771f;--accent-glow:#14919b47;--panel:#111827;--panel-2:#0b1220;--panel-line:#ffffff14;--good:#0f9f6e;--warn:#c27803;--bad:#d64545;--info:#2f6fed;--radius:14px;--radius-sm:10px;--shadow:0 18px 50px #0c15241a;--font-display:"Sora","DM Sans",sans-serif;--font-serif:"Instrument Serif",Georgia,serif;--font-body:"DM Sans","Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono",Menlo,Consolas,monospace}.brand-mark{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;line-height:.95}.brand-mark .ai{color:#0d7377;color:var(--accent);margin-left:.08em}.btn{align-items:center;border:none;border-radius:999px;display:inline-flex;font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.95rem;font-weight:700;gap:.55rem;justify-content:center;letter-spacing:-.01em;padding:.95rem 1.6rem;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:#0c1524;background:var(--ink);box-shadow:0 12px 30px #0c15242e;color:#fff}.btn-primary:hover{background:#162338}.btn-accent{background:#0d7377;background:var(--accent);box-shadow:0 12px 28px #14919b47;box-shadow:0 12px 28px var(--accent-glow);color:#fff}.btn-accent:hover{background:#14919b;background:var(--accent-bright)}.btn-ghost{background:#0000;border:1px solid #0c15242e;border:1px solid var(--line-strong);color:#0c1524;color:var(--ink)}.btn-ghost:hover{border-color:#0c1524;border-color:var(--ink)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.fade-up{animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both}.fade-up-delay-1{animation-delay:.08s}.fade-up-delay-2{animation-delay:.16s}.fade-up-delay-3{animation-delay:.24s}.fade-up-delay-4{animation-delay:.32s}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.03)}}@keyframes sheen{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes pulseLine{0%,to{opacity:.35}50%{opacity:.9}}.landing{--land-ink:#081018;--land-mist:#edf2f5;background:radial-gradient(1100px 620px at 78% -8%,#14919b33,#0000 58%),radial-gradient(900px 520px at 8% 18%,#08101814,#0000 52%),linear-gradient(180deg,#e7eef3,#f3f7f9 42%,#edf2f5);color:var(--land-ink);min-height:100vh;overflow:clip;position:relative}.landing:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;opacity:.035;pointer-events:none;position:fixed;z-index:40}.landing-nav{align-items:center;-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);background:#ffffff9e;border:1px solid #08101814;border-radius:999px;box-shadow:0 10px 30px #0810180d;display:flex;justify-content:space-between;margin:.85rem auto 0;padding:.7rem 1rem .7rem 1.15rem;position:-webkit-sticky;position:sticky;top:.85rem;width:min(1120px,calc(100% - 2rem));z-index:30}.landing-nav .brand-mark{color:var(--land-ink);font-size:.98rem}.landing-nav .btn-ghost{background:#ffffff8c;font-size:.86rem;padding:.62rem 1.1rem}.hero{display:grid;min-height:calc(100vh - 88px);padding:3.5rem 1.5rem 4.5rem;place-items:center;position:relative}.hero-atmosphere{inset:0;overflow:hidden;pointer-events:none;position:absolute}.hero-vignette{background:radial-gradient(ellipse at 50% 42%,#0000 18%,#edf2f559 58%,#edf2f5eb 100%),linear-gradient(180deg,#e7eef333,#0000 30%,#edf2f5bf);inset:0;position:absolute}.hero-grid{background-image:linear-gradient(#0810180d 1px,#0000 0),linear-gradient(90deg,#0810180d 1px,#0000 0);background-size:56px 56px;inset:-10% 0;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 12%,#0000 72%);mask-image:radial-gradient(ellipse at 50% 40%,#000 12%,#0000 72%);opacity:.9;position:absolute;transform:perspective(900px) rotateX(52deg) scale(1.35);transform-origin:center top}.hero-orb{animation:drift 14s ease-in-out infinite;border-radius:50%;filter:blur(48px);position:absolute}.hero-orb-a{background:#14919b47;height:min(520px,55vw);right:2%;top:2%;width:min(520px,55vw)}.hero-orb-b{animation-delay:-5s;background:#0810181a;bottom:8%;height:min(420px,50vw);left:-4%;width:min(420px,50vw)}.hero-orb-c{animation-delay:-9s;background:#7ee0e429;height:280px;left:42%;top:42%;width:280px}.hero-codeplane{height:78%;inset:8% -2% auto;-webkit-mask-image:linear-gradient(180deg,#0000,#000 16%,#000 68%,#0000);mask-image:linear-gradient(180deg,#0000,#000 16%,#000 68%,#0000);opacity:.38;overflow:hidden;position:absolute}.hero-codeplane pre{-webkit-text-fill-color:#0000;animation:sheen 20s linear infinite;background:linear-gradient(90deg,#08101880,#0d7377d1,#08101880);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:clamp(11px,1.15vw,13.5px);line-height:1.75;margin:0;padding:2.5rem 2rem;white-space:pre}.hero-content{position:relative;text-align:center;width:min(860px,100%);z-index:1}.hero-brand{animation:brandReveal 1s cubic-bezier(.22,1,.36,1) both;font-size:clamp(3.8rem,12vw,8rem);letter-spacing:-.055em;margin:0 0 1.4rem}.hero-brand .ai{-webkit-text-fill-color:#0000;animation:sheen 8s linear infinite;background:linear-gradient(120deg,#0d7377,#1aa7b0 50%,#0d7377);-webkit-background-clip:text;background-clip:text;background-size:200% 100%}@keyframes brandReveal{0%{letter-spacing:-.02em;opacity:0;transform:translateY(28px) scale(.985)}to{letter-spacing:-.055em;opacity:1;transform:translateY(0) scale(1)}}.hero-headline{color:var(--land-ink);font-family:"Instrument Serif",Georgia,serif;font-family:var(--font-serif);font-size:clamp(1.7rem,3.6vw,2.55rem);font-style:italic;font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0 auto 1.05rem;max-width:16ch}.hero-support{color:#3d4f63;color:var(--ink-soft);font-size:1.06rem;line-height:1.6;margin:0 auto 2.1rem;max-width:36ch}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.hero-cta .btn-primary{box-shadow:0 16px 36px #0810182e;min-width:168px}.hero-scroll{align-items:center;animation:fadeUp 1s .5s both;bottom:1.4rem;color:#6b7c8f;color:var(--ink-muted);display:inline-flex;flex-direction:column;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.66rem;gap:.45rem;left:50%;letter-spacing:.16em;position:absolute;text-decoration:none;text-transform:uppercase;transform:translateX(-50%);z-index:2}.hero-scroll i{animation:pulseLine 1.8s ease-in-out infinite;background:linear-gradient(180deg,#0d7377,#0000);background:linear-gradient(180deg,var(--accent),#0000);height:28px;width:1px}.landing-section{margin:0 auto;padding:5.5rem 0 2rem;position:relative;width:min(1120px,calc(100% - 2rem));z-index:1}.section-kicker{color:#0d7377;color:var(--accent);font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;margin:0 0 .85rem;text-transform:uppercase}.section-title{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:clamp(2rem,4.2vw,3rem);font-weight:700;letter-spacing:-.04em;margin:0 0 .85rem;max-width:14ch}.section-copy{color:#3d4f63;color:var(--ink-soft);font-size:1.08rem;line-height:1.65;margin:0 0 2.75rem;max-width:42ch}.tools-rail{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(5,minmax(0,1fr))}.tool-cell{background:#ffffffa8;border:1px solid #08101814;border-radius:18px;min-height:176px;overflow:hidden;padding:1.35rem 1.15rem 1.4rem;position:relative;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}.tool-cell:before{background:linear-gradient(90deg,#0000,#0d73778c,#0000);content:"";height:2px;inset:0 auto auto 0;opacity:0;position:absolute;transition:opacity .25s ease;width:100%}.tool-cell:hover{background:#fff;border-color:#0d737738;box-shadow:0 18px 40px #08101814;transform:translateY(-3px)}.tool-cell:hover:before{opacity:1}.tool-cell .tool-index{color:#6b7c8f;color:var(--ink-muted);display:block;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;margin-bottom:1.1rem}.tool-cell h3{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.02em;margin:0 0 .45rem}.tool-cell p{color:#6b7c8f;color:var(--ink-muted);font-size:.9rem;line-height:1.45;margin:0}.tool-icon{color:#0d7377;color:var(--accent);height:30px;margin-bottom:.85rem;width:30px}.feature-split{grid-gap:2.8rem;align-items:center;display:grid;gap:2.8rem;grid-template-columns:.95fr 1.05fr;padding:1rem 0 2rem}.feature-visual{background:radial-gradient(420px 220px at 100% 0,#14919b38,#0000 60%),linear-gradient(160deg,#0b1220,#121c2d);border:1px solid #ffffff0f;border-radius:22px;box-shadow:0 28px 70px #08101838;color:#d7e0ea;min-height:320px;overflow:hidden;padding:1.15rem 1.15rem 1.25rem;position:relative}.feature-visual:after{background:linear-gradient(180deg,#0000,#0d737747);content:"";height:42%;inset:auto 0 0;pointer-events:none;position:absolute}.feature-visual-top{align-items:center;color:#ffffff73;display:flex;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.72rem;gap:.45rem;margin-bottom:1rem}.feature-score{background:radial-gradient(circle at center,#101826 56%,#0000 57%),conic-gradient(#14919b 88%,#ffffff1a 0);border-radius:50%;display:grid;height:78px;place-items:center;position:absolute;right:1.1rem;top:3.4rem;width:78px;z-index:1}.feature-score strong{color:#7ee0e4;font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.04em}.dot{background:#fff3;border-radius:50%;height:8px;width:8px}.dot.live{animation:pulseLine 1.8s ease-in-out infinite;background:#14919b;background:var(--accent-bright)}.feature-visual pre{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.8rem;line-height:1.7;margin:0;white-space:pre-wrap}.landing-cta{align-items:center;background:radial-gradient(700px 240px at 90% 0,#14919b29,#0000 55%),linear-gradient(135deg,#ffffffd9,#f7fafceb);border:1px solid #08101814;border-radius:28px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:2.5rem auto 0;padding:2.6rem 2rem;width:min(1120px,calc(100% - 2rem))}.landing-cta h2{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.04em;margin:0 0 .4rem}.landing-cta p{color:#3d4f63;color:var(--ink-soft);line-height:1.55;margin:0;max-width:36ch}.landing-footer{align-items:center;border-top:1px solid #08101814;color:#6b7c8f;color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:.84rem;gap:1rem;justify-content:space-between;margin:3rem auto 0;padding:1.6rem 0 2rem;width:min(1120px,calc(100% - 2rem))}.landing-footer .brand-mark{color:var(--land-ink);font-size:.9rem}@media (max-width:980px){.tools-rail{grid-template-columns:1fr 1fr}.feature-split{gap:1.75rem;grid-template-columns:1fr}}@media (max-width:560px){.landing-nav{padding:.6rem .7rem .6rem .95rem;top:.65rem;width:calc(100% - 1.2rem)}.tools-rail{grid-template-columns:1fr}.hero{min-height:auto;padding:4rem 1.15rem 3.5rem}.hero-codeplane{inset:14% -28% auto;opacity:.26}.hero-scroll{display:none}.landing-section{padding:3.25rem 0 1.25rem}.landing-cta,.landing-footer,.landing-section{width:calc(100% - 1.5rem)}.landing-cta{padding:1.6rem 1.25rem}.feature-score{height:66px;top:3.2rem;width:66px}}.signin{background:#eef3f6;background:var(--mist);display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.signin-visual{background:radial-gradient(800px 500px at 20% 20%,#14919b47,#0000 55%),linear-gradient(160deg,#0b1220,#122033 55%,#0d7377 140%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:2.5rem;position:relative}.signin-visual .brand-mark{font-size:1.2rem}.signin-visual .brand-mark .ai{color:#7ee0e4}.signin-visual-copy h2{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.1;margin:0 0 1rem;max-width:12ch}.signin-visual-copy p{color:#ffffffb8;font-size:1.05rem;line-height:1.6;margin:0;max-width:34ch}.signin-code{color:#ffffffb8;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.78rem;line-height:1.7;white-space:pre-wrap}.signin-panel{align-items:center;background:radial-gradient(600px 400px at 100% 0,#14919b14,#0000 50%),#f7fafc;background:radial-gradient(600px 400px at 100% 0,#14919b14,#0000 50%),var(--mist-2);display:flex;justify-content:center;padding:2rem 1.5rem}.signin-card{width:min(420px,100%)}.signin-card h1{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:2rem;letter-spacing:-.04em;margin:0 0 .5rem}.signin-card>p{color:#3d4f63;color:var(--ink-soft);line-height:1.55;margin:0 0 2rem}.signin-benefits{display:flex;flex-direction:column;gap:.65rem;margin-bottom:2rem}.signin-benefit{align-items:center;color:#3d4f63;color:var(--ink-soft);display:flex;font-size:.95rem;gap:.75rem}.signin-benefit svg{color:#0d7377;color:var(--accent);flex-shrink:0;height:18px;width:18px}.signin-google{display:flex;justify-content:flex-start;margin-bottom:1.25rem}.signin-note{color:#6b7c8f;color:var(--ink-muted);font-size:.8rem;line-height:1.5;margin:0}.signin-back{background:none;border:none;color:#0d7377;color:var(--accent);font-weight:600;margin-top:1.75rem;padding:0}.signin-back:hover{color:#0c1524;color:var(--ink)}@media (max-width:860px){.signin{grid-template-columns:1fr}.signin-visual{min-height:280px}.signin-code{display:none}}.dashboard{--dash-sidebar:252px;background:radial-gradient(900px 420px at 100% -10%,#14919b1a,#0000 55%),linear-gradient(180deg,#f4f7f9,#eef3f6);color:#0c1524;color:var(--ink);display:flex;flex-direction:column;min-height:100vh}.dash-header{grid-gap:1.25rem;align-items:center;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);background:#ffffffc7;border-bottom:1px solid #0c15241a;border-bottom:1px solid var(--line);display:grid;gap:1.25rem;grid-template-columns:auto 1fr auto;min-height:60px;padding:0 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.dash-brand{background:none;border:none;color:#0c1524;color:var(--ink);font-size:1rem;padding:0}.dash-crumb{align-items:center;color:#6b7c8f;color:var(--ink-muted);display:flex;font-size:.86rem;gap:.55rem;min-width:0}.dash-crumb .sep{opacity:.45}.dash-crumb strong{color:#0c1524;color:var(--ink);font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-weight:650;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-header-right{align-items:center;display:flex;gap:.85rem}.status-pill{align-items:center;background:#fff;border:1px solid #0c15241a;border:1px solid var(--line);border-radius:999px;color:#3d4f63;color:var(--ink-soft);display:inline-flex;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.68rem;gap:.45rem;letter-spacing:.04em;padding:.35rem .7rem;text-transform:uppercase}.status-pill .pulse{background:#0f9f6e;background:var(--good);border-radius:50%;box-shadow:0 0 0 0 #0f9f6e73;height:7px;width:7px}.status-pill.busy .pulse{animation:pulseLine 1.2s ease-in-out infinite;background:#14919b;background:var(--accent-bright)}.dash-user{align-items:center;background:#fff;border:1px solid #0c15241a;border:1px solid var(--line);border-radius:999px;display:flex;gap:.65rem;padding:.25rem .35rem .25rem .25rem}.dash-user img{border-radius:50%;height:28px;width:28px}.dash-user .meta{display:flex;flex-direction:column;line-height:1.15;padding-right:.15rem}.dash-user .meta strong{color:#0c1524;color:var(--ink);font-size:.78rem;font-weight:650}.dash-user .meta span{font-size:.68rem}.btn-signout,.dash-user .meta span{color:#6b7c8f;color:var(--ink-muted)}.btn-signout{background:#0000;border:none;border-radius:999px;font-size:.75rem;font-weight:650;padding:.4rem .75rem}.btn-signout:hover{background:#d6454514;color:#d64545;color:var(--bad)}.dash-body{display:grid;flex:1 1;grid-template-columns:var(--dash-sidebar) 1fr;min-height:0}.dash-sidebar{background:#ffffff8c;border-right:1px solid #0c15241a;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:calc(100vh - 60px);padding:1.1rem .85rem 1rem}.sidebar-label{color:#6b7c8f;color:var(--ink-muted);font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;margin:0 .55rem .7rem;text-transform:uppercase}.tool-nav{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.tool-btn{background:#0000;border:1px solid #0000;border-radius:12px;color:#0c1524;color:var(--ink);padding:.72rem .8rem;text-align:left;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:100%}.tool-btn:hover{background:#ffffffd9}.tool-btn.active{background:#fff;border-color:#0c152414;box-shadow:0 10px 24px #0c15240d;position:relative}.tool-btn.active:before{background:#0d7377;background:var(--tool-color,var(--accent));border-radius:999px;bottom:12px;content:"";left:0;position:absolute;top:12px;width:3px}.tool-btn-title{align-items:center;display:flex;font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.9rem;font-weight:700;gap:.6rem;letter-spacing:-.02em}.tool-btn-title .icon-wrap{background:#0d737714;border-radius:8px;color:#0d7377;color:var(--accent);display:grid;flex-shrink:0;height:28px;place-items:center;width:28px}.tool-btn.active .icon-wrap{background:color-mix(in srgb,#0d7377 16%,#fff);background:color-mix(in srgb,var(--tool-color,var(--accent)) 16%,#fff);color:#0d7377;color:var(--tool-color,var(--accent))}.tool-btn-title svg{height:15px;width:15px}.tool-btn p{color:#6b7c8f;color:var(--ink-muted);font-size:.74rem;line-height:1.35;margin:.28rem 0 0;padding-left:2.35rem}.sidebar-foot{background:linear-gradient(180deg,#fff,#f7fafc);border:1px solid #0c15241a;border:1px solid var(--line);border-radius:12px;margin-top:1.15rem;padding:.95rem 1rem}.sidebar-foot strong{display:block;font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.82rem;letter-spacing:-.02em;margin-bottom:.2rem}.sidebar-foot p{color:#6b7c8f;color:var(--ink-muted);font-size:.74rem;line-height:1.4;margin:0}.dash-main{display:flex;flex-direction:column;gap:.85rem;min-width:0;padding:1rem 1.1rem 1.25rem}.mobile-tools{display:none}.workspace-shell{grid-gap:.9rem;display:grid;flex:1 1;gap:.9rem;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:calc(100vh - 92px)}.panel{background:#ffffffb8;border:1px solid #0c15241a;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px #0c15240a;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.panel-head{align-items:center;background:#ffffffe6;border-bottom:1px solid #0c15241a;border-bottom:1px solid var(--line);display:flex;gap:.75rem;justify-content:space-between;padding:.85rem 1rem}.panel-head h2{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.95rem;letter-spacing:-.02em;margin:0}.panel-head p{color:#3d4f63;color:var(--ink-soft);font-size:.78rem;margin:.15rem 0 0}.panel-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;padding:.9rem}.source-row{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:1fr auto auto}.source-row input{background:#fff;border:1px solid #0c15242e;border:1px solid var(--line-strong);border-radius:10px;color:#0c1524;color:var(--ink);font-size:.84rem;outline:none;padding:.7rem .85rem;width:100%}.source-row input:focus{border-color:#0d7377;border-color:var(--accent);box-shadow:0 0 0 3px #0d73771f;box-shadow:0 0 0 3px var(--accent-soft)}.btn-secondary,.upload-btn{align-items:center;background:#fff;border:1px solid #0c15242e;border:1px solid var(--line-strong);border-radius:10px;color:#0c1524;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:650;justify-content:center;padding:.7rem .9rem;white-space:nowrap}.btn-secondary:hover,.upload-btn:hover{border-color:#0d7377;border-color:var(--accent);color:#0d7377;color:var(--accent)}.field-hint{font-size:.76rem;margin:-.2rem 0 0}.field-hint.ok{color:#0f9f6e;color:var(--good)}.field-hint.err{color:#d64545;color:var(--bad)}.error-banner{background:#fff7f7;border:1px solid #d6454547;border-radius:12px;padding:.7rem .85rem}.error-banner label{color:#a33;display:block;font-size:.66rem;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase}.error-banner input,.error-banner label{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono)}.error-banner input{background:#fff;border:1px solid #d6454559;border-radius:8px;color:#8f1f1f;font-size:.8rem;outline:none;padding:.65rem .75rem;width:100%}.editor{background:#0b1220;background:var(--panel-2);border:1px solid #1a2332;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0a;display:flex;flex:1 1;flex-direction:column;min-height:320px;overflow:hidden}.editor-chrome{align-items:center;background:#152033;border-bottom:1px solid #ffffff0f;display:flex;gap:.75rem;justify-content:space-between;padding:.55rem .75rem}.editor-dots{display:flex;gap:.35rem}.editor-dots span{background:#ffffff2e;border-radius:50%;height:8px;width:8px}.editor-dots span:first-child{background:#ff5f57}.editor-dots span:nth-child(2){background:#febc2e}.editor-dots span:nth-child(3){background:#28c840}.editor-file{color:#ffffff8c;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.72rem}.editor-meta{align-items:center;display:flex;gap:.45rem}.lang-badge{border:1px solid #7ee0e440;border-radius:999px;color:#7ee0e4;font-size:.66rem;letter-spacing:.06em;padding:.18rem .5rem;text-transform:uppercase}.editor textarea,.lang-badge{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono)}.editor textarea{background:#0000;border:none;caret-color:#7ee0e4;color:#d7e0ea;flex:1 1;font-size:.84rem;line-height:1.7;min-height:280px;outline:none;padding:1rem 1.05rem;resize:vertical;width:100%}.editor textarea::placeholder{color:#d7e0ea59}.editor-foot{align-items:center;background:#101826;border-top:1px solid #ffffff0f;color:#fff6;display:flex;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.68rem;gap:.75rem;justify-content:space-between;padding:.45rem .8rem}.action-bar{align-items:end;display:flex;flex-wrap:wrap;gap:.6rem}.action-bar .field{margin:0;min-width:120px}.action-bar label{color:#6b7c8f;color:var(--ink-muted);display:block;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;margin-bottom:.3rem;text-transform:uppercase}.action-bar select{background:#fff;border:1px solid #0c15242e;border:1px solid var(--line-strong);border-radius:10px;color:#0c1524;color:var(--ink);font-size:.82rem;font-weight:600;outline:none;padding:.65rem .75rem;width:100%}.action-bar .run{margin-left:auto}.btn-run{align-items:center;background:#0c1524;background:var(--ink);border:none;border-radius:12px;box-shadow:0 12px 28px #0c15242e;color:#fff;display:inline-flex;font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.88rem;font-weight:700;gap:.55rem;letter-spacing:-.01em;padding:.78rem 1.15rem;transition:transform .15s ease,background .15s ease}.btn-run:hover:not(:disabled){background:#162338;transform:translateY(-1px)}.btn-run:disabled{cursor:not-allowed;opacity:.55}.btn-run .kbd{border:1px solid #fff3;border-radius:5px;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.66rem;opacity:.65;padding:.1rem .35rem}.output-panel .panel-body{overflow:auto}.output-empty,.output-loading{display:grid;flex:1 1;min-height:320px;padding:1.5rem;place-items:center;text-align:center}.output-empty .glyph,.output-loading .glyph{background:#0d73771f;background:var(--accent-soft);border-radius:16px;color:#0d7377;color:var(--accent);display:grid;height:54px;margin:0 auto 1rem;place-items:center;width:54px}.output-empty .glyph svg,.output-loading .glyph svg{height:24px;width:24px}.output-empty h3,.output-loading h3{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em;margin:0 0 .4rem}.output-empty p,.output-loading p{color:#6b7c8f;color:var(--ink-muted);font-size:.88rem;line-height:1.5;margin:0;max-width:28ch}.loading-bars{display:flex;flex-direction:column;gap:.45rem;margin-top:1.25rem;width:min(280px,100%)}.loading-bars span{animation:sheen 1.2s linear infinite;background:linear-gradient(90deg,#0d73771f,#0d737747,#0d73771f);background-size:200% 100%;border-radius:999px;display:block;height:8px}.loading-bars span:nth-child(2){width:78%}.loading-bars span:nth-child(3){width:56%}.result-stack{display:flex;flex-direction:column;gap:.75rem}.result-block{background:#fff;border:1px solid #0c15241a;border:1px solid var(--line);border-radius:14px;padding:1rem 1.05rem}.result-block h3{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.92rem;letter-spacing:-.02em;margin:0 0 .65rem}.result-block .md{color:#3d4f63;color:var(--ink-soft);font-size:.88rem;line-height:1.65}.result-block .md p{margin:0 0 .6rem}.result-block .md p:last-child{margin-bottom:0}.result-block .md ul{margin:0 0 .6rem;padding-left:1.15rem}.score-block{grid-gap:1rem;align-items:center;background:radial-gradient(240px 120px at 0 0,color-mix(in srgb,var(--score-color) 14%,#fff),#0000 70%),#fff;border-color:color-mix(in srgb,var(--score-color) 35%,#fff);display:grid;gap:1rem;grid-template-columns:auto 1fr}.score-ring{background:radial-gradient(circle at center,#fff 56%,#0000 57%),conic-gradient(var(--score-color) calc(var(--score-pct)*1%),#0c152414 0);border-radius:50%;display:grid;height:84px;place-items:center;width:84px}.score-ring strong{color:var(--score-color);font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:1.45rem;letter-spacing:-.04em}.score-copy .label{color:#6b7c8f;color:var(--ink-muted);font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;margin:0 0 .25rem;text-transform:uppercase}.score-copy h3{margin:0 0 .25rem}.score-copy p{color:#3d4f63;color:var(--ink-soft);font-size:.84rem;line-height:1.45;margin:0}.code-result-head{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.65rem}.code-result-head h3{margin:0}.copy-btn{background:#0c1524;background:var(--ink);border:none;border-radius:999px;color:#fff;font-size:.74rem;font-weight:700;padding:.35rem .8rem}.copy-btn:hover{background:#162338}.copy-btn.copied{background:#0f9f6e;background:var(--good)}.result-bugs{border-left:3px solid #d64545;border-left:3px solid var(--bad)}.result-security{border-left:3px solid #c27803;border-left:3px solid var(--warn)}.result-recommendations{border-left:3px solid #2f6fed;border-left:3px solid var(--info)}.result-code{border-left:3px solid #0f9f6e;border-left:3px solid var(--good)}@media (max-width:1180px){.workspace-shell{grid-template-columns:1fr}.output-panel{min-height:360px}}@media (max-width:860px){.dash-header{grid-template-columns:1fr auto;padding:.7rem .9rem}.dash-crumb{display:none}.dash-body{grid-template-columns:1fr}.dash-sidebar{display:none}.dash-main{padding:.85rem}.mobile-tools{display:flex;gap:.4rem;-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000);mask-image:linear-gradient(90deg,#000 92%,#0000);overflow-x:auto;padding-bottom:.15rem}.mobile-tool{background:#fff;border:1px solid #0c15242e;border:1px solid var(--line-strong);border-radius:999px;color:#3d4f63;color:var(--ink-soft);flex:0 0 auto;font-size:.8rem;font-weight:650;padding:.48rem .85rem}.mobile-tool.active{background:#0c1524;background:var(--ink);border-color:#0c1524;border-color:var(--ink);box-shadow:inset 0 -2px 0 #7ee0e4d9;color:#fff}.dash-user .meta,.status-pill{display:none}.source-row{grid-template-columns:1fr}.action-bar .run,.action-bar .run .btn-run{width:100%}.btn-run{justify-content:center}.workspace-shell{min-height:auto}.history-controls,.history-detail-actions{grid-template-columns:1fr}.output-actions{width:100%}.output-actions .btn-secondary{flex:1 1}}.tool-label-row{align-items:center;display:inline-flex;gap:.4rem;min-width:0}.hist-count{background:#0c1524;background:var(--ink);border-radius:999px;color:#fff;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.66rem;font-style:normal;font-weight:700;letter-spacing:.02em;line-height:1.2;padding:.1rem .4rem}.history-shell{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.history-controls{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:1fr 160px}.history-controls input,.history-controls select{background:#fff;border:1px solid #0c15242e;border:1px solid var(--line-strong);border-radius:10px;color:#0c1524;color:var(--ink);font-size:.84rem;outline:none;padding:.7rem .85rem;width:100%}.history-controls input:focus,.history-controls select:focus{border-color:#0d7377;border-color:var(--accent);box-shadow:0 0 0 3px #0d73771f;box-shadow:0 0 0 3px var(--accent-soft)}.history-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-height:0;overflow:auto}.history-item{background:#fff;border:1px solid #0c15241a;border:1px solid var(--line);border-radius:12px;color:#0c1524;color:var(--ink);padding:.85rem .95rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.history-item.active,.history-item:hover{border-color:#0d737759;box-shadow:0 10px 24px #0c15240d}.history-item-top{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.35rem}.history-item-top strong{font-family:Sora,DM Sans,sans-serif;font-family:var(--font-display);font-size:.9rem;letter-spacing:-.02em}.history-detail-meta span,.history-item-meta span,.history-item-top span{color:#6b7c8f;color:var(--ink-muted);font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em}.history-item p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#3d4f63;color:var(--ink-soft);display:-webkit-box;font-size:.82rem;line-height:1.45;margin:0 0 .55rem;overflow:hidden}.history-item-meta{display:flex;gap:.7rem}.history-detail-actions{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:1fr auto}.history-detail-actions .btn-run{justify-content:center}.btn-secondary.danger{border-color:#d6454559;color:#d64545;color:var(--bad)}.btn-secondary.danger:hover{background:#d64545;background:var(--bad);border-color:#d64545;border-color:var(--bad);color:#fff}.history-detail-meta{display:flex;flex-wrap:wrap;gap:.65rem}.history-code-preview{background:#0b1220;background:var(--panel-2);border:1px solid #1a2332;border-radius:12px;overflow:hidden}.history-code-preview .editor-chrome{justify-content:flex-start}.history-code-preview pre{color:#d7e0ea;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.78rem;line-height:1.6;margin:0;max-height:180px;overflow:auto;padding:.85rem 1rem;white-space:pre-wrap}.output-actions{align-items:center;display:flex;gap:.45rem}.output-actions .btn-secondary{align-items:center;display:inline-flex;gap:.35rem;padding:.55rem .8rem}.output-actions .btn-secondary svg{height:14px;width:14px}.toast{animation:fadeUp .25s ease both;background:#0c1524;background:var(--ink);border-radius:999px;bottom:1.25rem;box-shadow:0 14px 34px #0c152438;color:#fff;font-size:.84rem;font-weight:650;left:50%;padding:.65rem 1.1rem;position:fixed;transform:translateX(-50%);z-index:50}@media (max-width:1180px){.history-shell{grid-template-columns:1fr}}
/*# sourceMappingURL=main.c4427468.css.map*/