:root{--bg:#080808;--bg-2:#0f0f0f;--bg-3:#161616;--border:#ffffff14;--text-1:#f0f0f0;--text-2:#888;--text-3:#787878;--accent-green:#00e5a0;--accent-blue:#3b7bf6;--accent-purple:#8b5cf6;--accent-yellow:#f5c542;--accent:var(--accent-green);--accent-2:var(--accent-green);--font-display:"Chakra Petch", "Tektur", sans-serif;--font-body:"Chakra Petch", "Tektur", sans-serif;--font-brand:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:16px;--ease:cubic-bezier(.16, 1, .3, 1);--pad:clamp(20px, 5vw, 80px);--maxw:1200px}body.case-light{--bg:#f8f7f4;--bg-2:#fff;--bg-3:#f1efe9;--border:#0000001a;--text-1:#1a1a1a;--text-2:#6b7280;--text-3:#72777f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text-1);font-family:var(--font-body);cursor:none;font-size:15px;line-height:1.7;overflow-x:hidden}@media (hover:none),(pointer:coarse){body{cursor:auto}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;will-change:transform;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:var(--accent);width:6px;height:6px}.cursor-ring{border:1px solid color-mix(in srgb, var(--text-1) 35%, transparent);width:32px;height:32px;transition:width .3s var(--ease), height .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease)}body.cursor-hover .cursor-ring{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);width:56px;height:56px}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.nav{z-index:100;width:100%;padding:18px var(--pad);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:transform .5s var(--ease);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.nav-logo{font-family:var(--font-brand);letter-spacing:.06em;font-size:20px;font-weight:800}.nav-links{align-items:center;gap:28px;font-size:14px;display:flex}.nav-links a{color:var(--text-1);transition:opacity .3s var(--ease)}.nav-links a:not(.btn-primary):hover{opacity:.6}.btn-primary{background:var(--accent);color:#061a12;border-radius:var(--radius);transition:transform .5s var(--ease), box-shadow .5s var(--ease);padding:9px 18px;font-weight:700}.btn-primary:hover{box-shadow:0 8px 30px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-2px)}@media (max-width:720px){.nav-links a:not(.btn-primary){display:none}}.case-back{z-index:120;font-family:var(--font-body);color:var(--text-1);background:color-mix(in srgb, var(--bg) 72%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);transition:transform .4s var(--ease), border-color .3s var(--ease), background .3s var(--ease), box-shadow .4s var(--ease);border-radius:100px;align-items:center;gap:10px;padding:11px 18px 11px 15px;font-size:14px;font-weight:500;display:inline-flex;position:fixed;bottom:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px);box-shadow:0 10px 30px #00000038}.case-back:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--bg) 88%, transparent);box-shadow:0 16px 40px color-mix(in srgb, var(--accent) 16%, transparent);transform:translateY(-2px)}.case-back__arrow{color:var(--accent);transition:transform .35s var(--ease);font-weight:700}.case-back:hover .case-back__arrow{transform:translate(-4px)}@media (max-width:720px){.case-back span:not(.case-back__arrow){display:none}.case-back{padding:12px}}.wrap{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.case-section{padding:clamp(72px,12vh,150px) 0}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:22px;font-size:11px;display:inline-block}.label .muted{color:var(--text-3)}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:22px;font-size:11px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.05}.case-hero{min-height:100vh;padding:0 var(--pad);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.case-hero__grid{z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:64px 64px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,#0000 75%)}.case-hero__glow{z-index:0;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%);filter:blur(40px);pointer-events:none;transform-origin:70% 30%;width:50vw;height:50vw;animation:8s ease-in-out infinite case-glow;position:absolute;top:-10%;right:-10%}@keyframes case-glow{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}.case-hero__fx{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.case-hero__inner{z-index:1;max-width:var(--maxw);width:100%;margin:0 auto;position:relative}.case-hero__title{margin:8px 0 28px;font-size:clamp(64px,13vw,160px);font-weight:800;line-height:.92}.case-hero__title .line{display:block;overflow:hidden}.case-hero__title .line>span{display:block}.case-hero__subtitle{color:var(--text-2);max-width:620px;font-size:clamp(17px,2vw,22px);line-height:1.5}.case-hero__meta{color:var(--text-2);flex-wrap:wrap;gap:40px;margin-top:40px;font-size:13px;display:flex}.case-hero__meta b{color:var(--text-1);font-weight:600}.case-hero__meta .k{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;display:block}.overview{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);padding-top:48px;display:grid}.overview dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-family:var(--font-body);margin-bottom:16px;font-weight:600}.overview dd{color:var(--text-1);margin:0;font-size:15px}.overview dd span{color:var(--text-2)}@media (max-width:740px){.overview{grid-template-columns:1fr;gap:32px}}.case-h2{max-width:18ch;margin-bottom:28px;font-size:clamp(30px,5vw,56px)}.case-lead{color:var(--text-2);max-width:30ch;font-size:clamp(18px,2.4vw,26px);line-height:1.45}.case-lead strong{color:var(--text-1);font-weight:600}.case-body{color:var(--text-2);max-width:60ch;font-size:16px}.cols-3{grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,48px);margin-top:56px;display:grid}.cols-3 .col h3{margin-bottom:14px;font-size:19px;font-weight:600}.cols-3 .col .rule{background:var(--border);height:1px;margin-bottom:16px;display:block}.cols-3 .col p{color:var(--text-2);font-size:15px}.cols-3 .col .num{font-family:var(--font-mono);color:var(--accent);margin-bottom:12px;font-size:13px;display:block}@media (max-width:740px){.cols-3{grid-template-columns:1fr;gap:32px}}.mockup-frame{border:1px solid var(--border);background:var(--bg-2);box-shadow:0 40px 90px #0000008c, 0 0 120px color-mix(in srgb, var(--accent) 5%, transparent);border-radius:12px;overflow:hidden}body.case-light .mockup-frame{box-shadow:0 2px 4px #2818460a, 0 14px 28px #28184612, 0 44px 80px color-mix(in srgb, var(--accent) 14%, transparent);border-color:#0000000f}.mockup-bar{background:var(--bg-3);border-bottom:1px solid var(--border);align-items:center;gap:6px;height:38px;padding:0 16px;display:flex}.mockup-bar .dot{background:var(--border);border-radius:50%;width:10px;height:10px}.mockup-bar .dot:first-child{background:#ff5f57}.mockup-bar .dot:nth-child(2){background:#febc2e}.mockup-bar .dot:nth-child(3){background:#28c840}.mockup-url{color:var(--text-3);font-size:11px;font-family:var(--font-mono);margin-left:14px}.mockup-screen{background:var(--bg)}.mockup-caption{color:var(--text-3);text-align:center;font-size:12px;font-family:var(--font-mono);margin-top:16px}.mockup-grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:820px){.mockup-grid-2{grid-template-columns:1fr}}.mk{font-family:var(--font-body);color:var(--text-1)}.mk-app{min-height:360px;display:flex}.mk-side{border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg-2) 60%, var(--bg));flex-shrink:0;width:190px;padding:18px 14px}.mk-brand{font-family:var(--font-brand);letter-spacing:.08em;margin-bottom:22px;font-size:14px;font-weight:800}.mk-navi{flex-direction:column;gap:4px;display:flex}.mk-navi a{color:var(--text-2);border-radius:6px;padding:7px 10px;font-size:12.5px}.mk-navi a.on{color:var(--text-1);background:color-mix(in srgb, var(--accent) 14%, transparent)}.mk-main{flex:1;min-width:0;padding:22px}.mk-topline{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.mk-topline h5{font-family:var(--font-display);font-size:16px;font-weight:600}.mk-up{font-family:var(--font-mono);color:var(--accent);font-size:12px}.mk-statgrid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.mk-stat{border:1px solid var(--border);background:var(--bg-2);border-radius:8px;padding:14px}.mk-statnum{font-family:var(--font-mono);font-size:clamp(18px,2.4vw,26px);font-weight:700}.mk-statlabel{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-size:11px}.mk-bigfig{font-family:var(--font-mono);font-size:clamp(22px,3vw,34px);font-weight:700}.mk-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:7px;height:110px;padding:10px 0;display:flex}.mk-chart i{background:linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 25%, transparent));opacity:.85;border-radius:3px 3px 0 0;flex:1}.mk-axis{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.mk-spark{height:56px;margin:6px 0 16px}.mk-spark svg{width:100%;height:100%}.mk-table{width:100%;font-family:var(--font-mono);font-size:12px}.mk-table .mk-th{color:var(--text-3);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;gap:10px;padding:8px 0;font-size:10px;display:grid}.mk-table .mk-tr{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--text-2);gap:10px;padding:9px 0;display:grid}.mk-table .mk-tr b{color:var(--text-1);font-weight:500}.mk-pos{color:var(--accent)}.mk-neg{color:#ff4d4d}.mk-badge{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-2);border-radius:4px;padding:2px 7px;font-size:10px}.mk-badge.ok{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.mk-badge.err{color:#ff4d4d;border-color:#ff4d4d66}.mk-code{font-family:var(--font-mono);color:var(--text-2);white-space:pre;font-size:12px;line-height:1.7;overflow:hidden}.mk-code .t1{color:var(--accent)}.mk-code .t2{color:var(--accent-purple)}.mk-code .t3{color:var(--text-1)}.mk-chat{flex-direction:column;gap:14px;padding:6px;display:flex}.mk-msg{border-radius:16px;max-width:80%;padding:12px 16px;font-size:13px;line-height:1.55}.mk-msg.user{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text-1);border-bottom-right-radius:4px;align-self:flex-end}.mk-msg.ai{background:var(--bg-3);color:var(--text-1);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.mk-input{border:1px solid var(--border);color:var(--text-3);border-radius:14px;align-items:center;gap:10px;margin-top:auto;padding:12px 16px;font-size:13px;display:flex}.mk-input .send{background:var(--accent);border-radius:8px;width:26px;height:26px;margin-left:auto}.mk-typing{align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;display:flex}.mk-typing i{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite mk-bounce}.mk-typing i:nth-child(2){animation-delay:.15s}.mk-typing i:nth-child(3){animation-delay:.3s}@keyframes mk-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.type-caret{vertical-align:-.08em;background:var(--accent);width:3px;height:.9em;margin-left:4px;animation:1s step-end infinite type-blink;display:inline-block}@keyframes type-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (max-width:700px){.mk-side{display:none}.mk-statgrid{grid-template-columns:1fr}}.palette{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:0;display:flex;overflow:hidden}.swatch{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:16px 20px;display:flex}.swatch:last-child{border-bottom:none}.swatch .chip{border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:40px;height:40px}.swatch .hex{font-family:var(--font-mono);color:var(--text-1);min-width:90px;font-size:13px}.swatch .nm{color:var(--text-2);font-size:13px}.type-spec{flex-direction:column;gap:24px;display:flex}.type-spec .row{border-bottom:1px solid var(--border);padding-bottom:20px}.type-spec .row:last-child{border:none}.type-spec .big{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);font-weight:700}.type-spec .big.mono{font-family:var(--font-mono)}.type-spec .meta{color:var(--text-3);font-size:12px;font-family:var(--font-mono);margin-top:8px}.system-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,5vw,64px);display:grid}@media (max-width:820px){.system-grid{grid-template-columns:1fr}}.comp-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.comp-btn{background:var(--accent);color:#061a12;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700}.comp-btn.ghost{color:var(--text-1);border:1px solid var(--border);background:0 0}.comp-badge{font-family:var(--font-mono);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent);border-radius:100px;padding:4px 10px;font-size:11px}.comp-input{color:var(--text-3);border:1px solid var(--border);background:var(--bg-2);border-radius:8px;padding:9px 14px;font-size:13px}.result-quote{font-family:var(--font-display);letter-spacing:-.02em;border-left:2px solid var(--accent);max-width:20ch;padding-left:clamp(20px,4vw,40px);font-size:clamp(26px,4.4vw,50px);font-weight:700;line-height:1.12}.result-quote cite{font-family:var(--font-body);color:var(--text-3);margin-top:24px;font-size:14px;font-style:normal;font-weight:400;display:block}.result-metrics{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;gap:14px 40px;margin-top:48px;padding-top:28px;font-size:14px;display:flex}.result-metrics b{color:var(--text-1);font-weight:600}.learned{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;display:grid}.learned p{color:var(--text-2)}.learned p b{color:var(--text-1);font-weight:600;font-family:var(--font-display);margin-bottom:6px;display:block}@media (max-width:740px){.learned{grid-template-columns:1fr}}.timeline{grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px;display:grid}.timeline .step{border-top:1px solid var(--border);padding-top:16px}.timeline .step .w{font-family:var(--font-mono);color:var(--accent);margin-bottom:10px;font-size:11px}.timeline .step .t{font-family:var(--font-display);font-size:15px;font-weight:600}@media (max-width:820px){.timeline{grid-template-columns:1fr 1fr}}.concepts{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}.concept{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.concept .vis{height:150px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.concept .body{padding:18px}.concept .body .tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.concept.chosen .body .tag{color:var(--accent)}.concept h4{font-family:var(--font-display);margin:6px 0 8px;font-weight:600}.concept p{color:var(--text-2);font-size:13px}@media (max-width:740px){.concepts{grid-template-columns:1fr}}.gallery{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}.gallery .card{aspect-ratio:71/100;border-radius:var(--radius-lg);border:1px solid var(--border);background:#0a0a18;align-items:flex-end;margin:0;display:flex;position:relative;overflow:hidden}.gallery .card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.gallery .card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#050510d1);height:45%;position:absolute;top:auto;bottom:0;left:0;right:0}.gallery .card .n{font-family:var(--font-mono);color:#fff;z-index:1;padding:16px;font-size:12px;position:relative}@media (max-width:740px){.gallery{grid-template-columns:1fr 1fr}}.next-case{border-top:1px solid var(--border);display:block;position:relative;overflow:hidden}.next-case a{padding:clamp(56px, 10vh, 110px) var(--pad);z-index:1;transition:color .4s var(--ease);display:block;position:relative}.next-case .inner{max-width:var(--maxw);margin:0 auto}.next-case .k{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:12px}.next-case .nm{font-family:var(--font-display);transition:transform .5s var(--ease);margin-top:16px;font-size:clamp(40px,8vw,96px);font-weight:800;line-height:1}.next-case .sub{color:var(--text-2);margin-top:16px}.next-case:before{content:"";background:var(--accent);transition:transform .5s var(--ease);z-index:0;position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(101%)}.next-case:hover:before{transform:translateY(0)}.next-case:hover a{color:#061a12}.next-case:hover .k,.next-case:hover .sub{color:#061a12b3}.next-case:hover .nm{transform:translate(18px)}.case-footer{background:var(--bg-2);border-top:1px solid var(--border);padding:clamp(48px, 7vh, 88px) var(--pad);grid-template-columns:1fr 1fr 1fr;gap:40px;display:grid}.case-footer .logo{font-family:var(--font-brand);letter-spacing:.06em;font-size:26px;font-weight:800}.case-footer nav{flex-direction:column;gap:10px;font-size:14px;display:flex}.case-footer nav a{color:var(--text-2);width:-moz-fit-content;width:fit-content}.case-footer nav a:hover{color:var(--text-1)}.case-footer .meta{color:var(--text-2);font-size:14px}.case-footer .meta p{margin-bottom:14px}@media (max-width:720px){.case-footer{grid-template-columns:1fr;gap:28px}}.reveal{opacity:0;transform:translateY(24px)}.mockup-frame.reveal,.mockup-grid-2.reveal{transform:translateY(50px)}.showcase-device{max-width:900px;margin:0 auto;position:relative}.browser-frame{z-index:1;box-shadow:0 0 0 1px #ffffff0d, 0 40px 80px #0009, 0 0 120px color-mix(in srgb, var(--accent) 6%, transparent);background:#0d0d0d;border:1px solid #ffffff1a;border-radius:12px;position:relative;overflow:hidden}.browser-bar{background:#141414;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;height:40px;padding:0 14px;display:flex}.browser-dots{gap:6px;margin-right:12px;display:flex}.browser-dots span{background:#ffffff1f;border-radius:50%;width:10px;height:10px}.browser-dots span:first-child{background:#ff5f57}.browser-dots span:nth-child(2){background:#febc2e}.browser-dots span:nth-child(3){background:#28c840}.browser-url{text-align:center;color:#ffffff4d;font-size:12px;font-family:var(--font-mono);background:#ffffff0d;border-radius:6px;flex:1;max-width:220px;margin:0 auto;padding:4px 12px}.browser-actions{opacity:.4;margin-left:12px;display:flex}.browser-viewport{cursor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;height:460px;position:relative;overflow:hidden auto}.browser-viewport::-webkit-scrollbar{width:8px}.browser-viewport::-webkit-scrollbar-track{background:0 0}.browser-viewport::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.browser-viewport::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.browser-img{z-index:1;width:100%;height:auto;display:block;position:relative}.np-placeholder{z-index:0;text-align:center;background:radial-gradient(circle at 28% 22%,#00f5ff2e,#0000 50%),radial-gradient(circle at 80% 80%,#ff2d782e,#0000 50%),#050510;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.np-logo{font-family:var(--font-display);letter-spacing:.05em;background:linear-gradient(90deg,#00f5ff,#ff2d78);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,5vw,56px);font-weight:800}.np-sub{font-family:var(--font-mono);color:#fff6;font-size:12px}.np-hint{font-family:var(--font-mono);color:#ffffff38;margin-top:18px;font-size:10px}.showcase-glow{filter:blur(20px);pointer-events:none;z-index:0;background:radial-gradient(ellipse, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 70%);width:70%;height:120px;position:absolute;bottom:-50px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.reveal,.mockup-frame.reveal,.mockup-grid-2.reveal{opacity:1!important;transform:none!important}.case-hero__title .line>span{transform:none!important}.cursor-dot,.cursor-ring{display:none}body{cursor:auto}.case-hero__glow,.mk-typing i,.type-caret{animation:none!important}.type-caret{opacity:1}}
