#infinite-grid-menu-canvas{position:relative;width:100%;height:100%;overflow:hidden;cursor:grab;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.face-title,.face-description{display:none}.action-button{position:absolute;left:50%;z-index:10;display:grid;width:56px;height:56px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#04050ab3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.action-button:hover{border-color:#9de8ff;background:#9de8ff14}.action-button-icon{position:relative;top:1px;margin:0;color:#fff;font-size:22px;-webkit-user-select:none;user-select:none}.action-button.active{bottom:1.4em;opacity:1;transform:translate(-50%) scale(1);pointer-events:auto;transition:.4s ease}.action-button.inactive{bottom:-80px;opacity:0;transform:translate(-50%) scale(0);pointer-events:none;transition:.1s ease}:root{color-scheme:dark;--bg: #04050a;--bg-1: #07090f;--bg-2: #0c0f17;--fg: #f5f7fb;--fg-2: #a8b1c2;--fg-3: #6e7689;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--accent: #9de8ff;--accent-warm: #ffa45c;--accent-pink: #ff689b;--accent-green: #4aff91;--font-display: "Space Grotesk", "Noto Sans KR", system-ui, sans-serif;--font-body: "Noto Sans KR", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--max: 1240px;font-family:var(--font-body);background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 18% 8%,rgba(88,182,255,.1),transparent 22%),radial-gradient(circle at 82% 14%,rgba(255,164,92,.08),transparent 22%),radial-gradient(circle at 50% 78%,rgba(255,104,155,.06),transparent 22%),linear-gradient(180deg,#05060d,#04050a);background-attachment:fixed;color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#9de8ff38}a{color:inherit;text-decoration:none}a,button,input,textarea,select{font:inherit}.page{width:100%;min-height:100dvh;overflow-x:hidden}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px clamp(20px,5vw,56px);background:#04050a8c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700}.brand-mark{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-pink));box-shadow:0 0 18px #9de8ff80;display:inline-block}.brand-name{font-size:17px;letter-spacing:2px}.brand-sep{width:18px;height:1px;background:var(--line-2)}.brand-tag{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--fg-2);letter-spacing:1px}.site-nav{display:flex;gap:26px;font-family:var(--font-mono);font-size:13px;color:var(--fg-2)}.site-nav a{transition:color .16s ease}.site-nav a:hover{color:var(--fg)}@media (max-width: 720px){.site-nav,.brand-sep,.brand-tag{display:none}}.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(40px,7vw,100px) clamp(20px,5vw,56px);max-width:var(--max);margin:0 auto;min-height:calc(100dvh - 78px)}.hero-copy{display:flex;flex-direction:column;gap:28px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;color:var(--fg-2);letter-spacing:1.2px;margin:0}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 12px #4aff9199;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.hero-title{font-family:var(--font-display);font-weight:700;font-size:clamp(56px,9vw,128px);line-height:.95;letter-spacing:-2px;margin:0;display:flex;flex-direction:column;gap:4px}.hero-title span{background:linear-gradient(180deg,#fff 30%,#aab4c8);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-divider{font-family:var(--font-mono);font-weight:500;font-size:.42em;letter-spacing:4px;opacity:.55;margin:6px 0;background:none!important;-webkit-background-clip:initial!important;color:var(--fg-2)!important}.hero-sub{color:var(--fg-2);font-size:clamp(15px,1.4vw,18px);line-height:1.7;margin:0;max-width:34em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.4px;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;border:1px solid transparent;cursor:pointer}.btn.primary{background:#fff;color:#04050a}.btn.primary:hover{transform:translateY(-1px)}.btn.ghost{border-color:var(--line-2);color:var(--fg);background:transparent}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.hero-orbit{position:relative;aspect-ratio:1 / 1;width:100%;max-width:620px;justify-self:end}@media (max-width: 900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:24px}.hero-orbit{height:60vh;max-height:520px;aspect-ratio:auto;justify-self:center;order:-1}}main>section{padding:clamp(60px,9vw,120px) clamp(20px,5vw,56px);max-width:var(--max);margin:0 auto}.section-label{font-family:var(--font-mono);font-size:12px;letter-spacing:2px;color:var(--fg-3);text-transform:uppercase;margin:0 0 14px}.section-head{margin-bottom:48px}.section-head h2{font-family:var(--font-display);font-size:clamp(32px,4.6vw,56px);font-weight:700;line-height:1.1;letter-spacing:-1px;margin:0 0 14px}.section-sub{color:var(--fg-2);font-size:16px;margin:0}code{font-family:var(--font-mono);font-size:.92em;background:#9de8ff1a;color:var(--accent);padding:2px 8px;border-radius:6px}.manifesto h2{font-family:var(--font-display);font-size:clamp(32px,4.6vw,60px);font-weight:700;line-height:1.15;letter-spacing:-1px;max-width:18ch;margin:0 0 28px}.manifesto h2 em{font-style:normal;background:linear-gradient(120deg,var(--accent),var(--accent-pink));background-clip:text;-webkit-background-clip:text;color:transparent}.manifesto-body{color:var(--fg-2);font-size:17px;line-height:1.85;max-width:42em;margin:0}.manifesto-body strong{color:var(--fg)}.products-row+.products-row{margin-top:64px}.row-head{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:28px}.row-label{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--fg)}.row-count{font-family:var(--font-mono);font-size:13px;color:var(--fg-3)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 920px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.card-grid{grid-template-columns:1fr}}.card{display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#ffffff05,#ffffff01);transition:border-color .22s ease,transform .22s ease,background .22s ease;min-height:280px}.card:hover{border-color:var(--line-2);transform:translateY(-2px);background:linear-gradient(180deg,#9de8ff0a,#ff689b05)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-week{font-family:var(--font-mono);font-size:12px;letter-spacing:1.5px;color:var(--fg-3);text-transform:uppercase}.card-status{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);text-transform:uppercase}.status-live{color:var(--accent-green);border-color:#4aff9152}.status-champion{color:var(--accent);border-color:#9de8ff59}.status-beta{color:var(--accent-warm);border-color:#ffa45c52}.status-tool{color:var(--accent-pink);border-color:#ff689b52}.card-body{flex:1;display:flex;flex-direction:column;gap:10px}.card h3{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.4px;margin:0}.card-tagline{font-size:14px;color:var(--fg-2);margin:0}.card-desc{font-size:13.5px;color:var(--fg-3);line-height:1.65;margin:0}.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}.card-link{font-family:var(--font-mono);font-size:12px;color:var(--fg-3)}.card-arrow{font-size:18px;color:var(--fg-2);transition:transform .16s ease,color .16s ease}.card:hover .card-arrow{color:var(--accent);transform:translate(2px,-2px)}.os-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 820px){.os-grid{grid-template-columns:1fr}}.os-grid article{padding:30px;border:1px solid var(--line);border-radius:18px;background:#ffffff04}.os-num{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;color:var(--accent);margin:0 0 18px}.os-grid h3{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0 0 14px;letter-spacing:-.3px}.os-grid p{color:var(--fg-2);font-size:14.5px;line-height:1.75;margin:0}.os-grid p strong{color:var(--fg)}.site-footer{padding:72px clamp(20px,5vw,56px) 40px;max-width:var(--max);margin:0 auto;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:48px}@media (max-width: 720px){.footer-grid{grid-template-columns:1fr}}.footer-name{font-family:var(--font-display);font-weight:700;font-size:20px;margin:0 0 6px}.footer-role{color:var(--fg-2);font-size:14px;margin:0}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links a{color:var(--fg-2);font-size:14.5px;transition:color .16s ease}.footer-links a:hover{color:var(--accent)}.footer-sister{margin:0}.footer-sister strong{display:block;font-family:var(--font-display);font-size:16px;margin-bottom:4px}.footer-sister span{display:block;color:var(--fg-3);font-size:13px;font-family:var(--font-mono)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--fg-3);letter-spacing:1px}@media (max-width: 520px){.footer-bottom{flex-direction:column;gap:10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
