@font-face { font-family: "Rajdhani"; src: url("/fonts/Rajdhani-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; } @font-face { font-family: "Pretendard"; src: url("/fonts/Pretendard-SemiBold.otf") format("opentype"); font-style: normal; font-weight: 600; font-display: swap; } :root { --navy-950: #070e22; --navy-900: #0d1732; --navy-800: #172544; --ink: #142248; --muted: #647595; --line: #d8e0ee; --surface: #ffffff; --surface-muted: #eef3fa; --canvas: #f5f7fb; --cyan: #23afe1; --cyan-soft: #d9f4ff; --violet: #6751e8; --coral: #f36f7e; --yellow: #f3bf41; --radius-sm: 12px; --radius-md: 20px; --radius-lg: 30px; --shadow: 0 24px 70px rgba(10, 25, 58, 0.12); --page: min(1480px, calc(100vw - 48px)); } * { box-sizing: border-box; } html { background: var(--canvas); color: var(--ink); font-family: "Pretendard", system-ui, sans-serif; scroll-behavior: smooth; } body { margin: 0; min-width: 320px; background: linear-gradient(135deg, rgba(35, 175, 225, 0.045) 0 12%, transparent 12% 100%), var(--canvas); } a { color: inherit; text-decoration: none; } p, h1, h2, h3 { margin-top: 0; } .skip-link { position: fixed; z-index: 99; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-150%); border-radius: 8px; background: var(--navy-950); color: white; } .skip-link:focus { transform: translateY(0); } .page-shell { min-height: 100vh; overflow: hidden; } .site-header { width: var(--page); min-height: 92px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 38px; border-bottom: 1px solid var(--line); } .brand { display: inline-flex; align-items: center; gap: 12px; } .brand__mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: var(--navy-900); color: white; font-family: "Rajdhani", sans-serif; font-size: 24px; line-height: 1; } .brand__name, .alpha-tag, .site-nav__link, .eyebrow, h1, h2, h3, .button, .release-status, .resource-count, .card-kicker, .resource-row small, .resource-row__index, .resource-row__language, .timeline-entry__date, .site-footer__brand { font-family: "Rajdhani", "Pretendard", sans-serif; font-weight: 700; letter-spacing: 0.05em; } .brand__name { font-size: 21px; } .site-nav { display: flex; justify-content: center; gap: 8px; } .site-nav__link { position: relative; padding: 12px 14px; color: var(--muted); font-size: 14px; } .site-nav__link::after { content: ""; position: absolute; right: 14px; bottom: 5px; left: 14px; height: 2px; transform: scaleX(0); background: var(--cyan); transition: transform 140ms ease; } .site-nav__link:hover, .site-nav__link:focus-visible, .site-nav__link.is-current { color: var(--ink); } .site-nav__link.is-current::after { transform: scaleX(1); } .alpha-tag { padding: 8px 13px; border: 1px solid rgba(103, 81, 232, 0.26); border-radius: 999px; background: rgba(103, 81, 232, 0.08); color: var(--violet); font-size: 12px; } main { width: var(--page); margin: 0 auto; } .hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(560px, 1.15fr); align-items: center; gap: 70px; padding: 72px 0 92px; } .eyebrow { margin-bottom: 20px; color: var(--cyan); font-size: 15px; } .hero h1, .page-hero h1 { margin-bottom: 28px; color: var(--navy-900); font-size: clamp(68px, 7.2vw, 118px); line-height: 0.83; letter-spacing: 0.01em; } .hero__lead, .page-hero__lead { max-width: 640px; color: var(--muted); font-size: 18px; line-height: 1.8; } .hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; } .button { min-height: 54px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 26px; border: 1px solid var(--line); border-radius: 14px; font-size: 15px; transition: transform 140ms ease, background 140ms ease, border-color 140ms ease; } .button:hover { transform: translateY(-2px); } .button:focus-visible, .resource-row:focus-visible, .site-nav__link:focus-visible, .brand:focus-visible { outline: 3px solid rgba(35, 175, 225, 0.34); outline-offset: 3px; } .button--primary { border-color: var(--violet); background: var(--violet); color: white; } .button--ghost { background: rgba(255, 255, 255, 0.7); } .hero__facts { margin: 36px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; list-style: none; } .hero__facts li { padding: 8px 12px; border-radius: 999px; background: var(--surface-muted); color: var(--muted); font-family: "Rajdhani", sans-serif; font-size: 13px; font-weight: 700; } .select-preview { position: relative; overflow: hidden; min-height: 510px; padding: 26px; border: 1px solid rgba(138, 157, 193, 0.38); border-radius: var(--radius-lg); background: var(--navy-900); box-shadow: var(--shadow); color: white; } .select-preview::before, .select-preview::after { content: ""; position: absolute; pointer-events: none; transform: rotate(-30deg); } .select-preview::before { top: -80px; right: -90px; width: 320px; height: 100px; background: var(--coral); } .select-preview::after { right: -100px; bottom: 50px; width: 360px; height: 70px; background: rgba(103, 81, 232, 0.56); } .select-preview__top, .select-preview__bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; font-family: "Rajdhani", sans-serif; font-weight: 700; letter-spacing: 0.08em; } .select-preview__top { padding-bottom: 22px; font-size: 20px; } .select-preview__tools { display: flex; gap: 8px; } .select-preview__tools i { width: 44px; height: 22px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 999px; background: rgba(255, 255, 255, 0.08); } .select-preview__body { position: relative; z-index: 1; display: grid; grid-template-columns: 180px 1fr; gap: 20px; } .select-preview__info { padding: 14px; border-radius: 18px; background: rgba(3, 8, 20, 0.72); } .jacket-motif { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: linear-gradient(140deg, transparent 0 28%, var(--cyan) 28% 42%, transparent 42% 59%, var(--coral) 59% 70%, transparent 70%), #111c39; } .jacket-motif span { font-family: "Rajdhani", sans-serif; font-size: 74px; font-weight: 700; } .select-preview__info p { margin: 16px 0 10px; font-family: "Rajdhani", sans-serif; font-size: 18px; font-weight: 700; } .select-preview__info strong { display: block; color: var(--cyan); font-family: "Rajdhani", sans-serif; font-size: 28px; } .select-preview__info small { color: #aebbd3; } .track-list { display: grid; gap: 10px; } .track { min-height: 64px; padding: 0 18px; display: grid; grid-template-columns: 34px 1fr 36px; align-items: center; gap: 12px; border-radius: 16px; background: rgba(255, 255, 255, 0.95); color: var(--navy-900); } .track b, .track span { font-family: "Rajdhani", sans-serif; font-weight: 700; } .track b { color: var(--violet); font-size: 20px; } .track span { font-size: 18px; } .track em { width: 24px; height: 5px; justify-self: end; border-radius: 999px; background: var(--cyan); } .track.is-selected { background: var(--violet); color: white; } .track.is-selected b { color: white; } .select-preview__bottom { position: absolute; z-index: 2; right: 26px; bottom: 22px; left: 226px; justify-content: flex-end; gap: 8px; } .select-preview__bottom span { padding: 7px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); font-size: 11px; } .feature-section { padding: 110px 0; border-top: 1px solid var(--line); } .section-heading { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 40px; margin-bottom: 56px; } .section-heading h2 { margin-bottom: 0; color: var(--navy-900); font-size: clamp(38px, 4vw, 66px); line-height: 1.05; } .feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .feature-card { min-height: 280px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.75); } .feature-card > span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; background: var(--surface-muted); color: var(--violet); font-family: "Rajdhani", sans-serif; font-weight: 700; } .feature-card h3 { margin: 60px 0 12px; font-size: 27px; } .feature-card p { margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.8; } .page-hero { min-height: 390px; padding: 92px 0 74px; border-bottom: 1px solid var(--line); } .page-hero h1 { font-size: clamp(64px, 8vw, 110px); } .page-hero--split { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 60px; } .release-status { min-width: 250px; padding: 22px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 16px; background: white; } .release-status__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--cyan); } .release-status small, .release-status strong { display: block; } .release-status small { color: var(--muted); font-size: 11px; } .release-status strong { margin-top: 4px; font-size: 22px; } .content-grid { padding: 58px 0; display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 16px; } .content-card, .prose-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); } .content-card h2, .prose-card h2 { color: var(--navy-900); font-size: 30px; } .card-kicker { color: var(--violet); font-size: 13px; } .check-list { margin: 28px 0 0; padding: 0; list-style: none; } .check-list li { padding: 16px 0 16px 34px; position: relative; border-top: 1px solid var(--line); color: var(--muted); } .check-list li::before { content: ""; position: absolute; top: 21px; left: 3px; width: 12px; height: 12px; border: 2px solid #aab6ca; border-radius: 50%; } .check-list li.is-done { color: var(--ink); } .check-list li.is-done::before { border-color: var(--cyan); background: var(--cyan); box-shadow: inset 0 0 0 3px white; } .install-list { margin: 28px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; } .install-list li { padding: 20px; display: grid; grid-template-columns: 52px 1fr; gap: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-muted); } .install-list > li > span { color: var(--cyan); font-family: "Rajdhani", sans-serif; font-size: 24px; font-weight: 700; } .install-list strong { color: var(--navy-900); } .install-list p { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; } .checksum { margin-top: 24px; padding: 18px; border-radius: 12px; background: var(--surface-muted); } .checksum small, .checksum code { display: block; } .checksum small { margin-bottom: 8px; color: var(--muted); font-family: "Rajdhani", sans-serif; font-weight: 700; } .checksum code { overflow-wrap: anywhere; color: var(--ink); font-size: 11px; line-height: 1.6; } .spec-list { margin: 0; } .spec-list div { padding: 18px 0; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); } .spec-list dt { color: var(--muted); font-family: "Rajdhani", sans-serif; font-weight: 700; } .spec-list dd { margin: 0; text-align: right; } .notice-strip { margin: 0 0 90px; padding: 22px 26px; display: flex; align-items: center; gap: 22px; border-left: 5px solid var(--cyan); border-radius: 0 12px 12px 0; background: var(--cyan-soft); } .notice-strip span { color: var(--muted); font-size: 14px; } .step-list { padding: 58px 0; display: grid; gap: 12px; } .step { padding: 28px 34px; display: grid; grid-template-columns: 76px 1fr; gap: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); } .step__number { color: var(--cyan); font-family: "Rajdhani", sans-serif; font-size: 34px; font-weight: 700; } .step h2 { margin-bottom: 8px; font-size: 25px; } .step p { max-width: 840px; margin-bottom: 0; color: var(--muted); line-height: 1.75; } .resource-count { display: flex; align-items: center; gap: 16px; } .resource-count strong { color: var(--violet); font-size: 72px; line-height: 0.8; } .resource-count span { color: var(--muted); font-size: 12px; line-height: 1.35; } .resource-list { padding: 52px 0; display: grid; gap: 12px; } .resource-row { min-height: 160px; padding: 28px 30px; display: grid; grid-template-columns: 64px 1fr auto 38px; align-items: center; gap: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease; } .resource-row:hover { transform: translateY(-2px); border-color: rgba(103, 81, 232, 0.5); box-shadow: 0 18px 40px rgba(10, 25, 58, 0.07); } .resource-row__index { color: var(--cyan); font-size: 27px; } .resource-row__main small { color: var(--violet); font-size: 11px; } .resource-row__main h2 { margin: 5px 0 7px; font-size: 27px; } .resource-row__main p { margin: 0; color: var(--muted); font-size: 14px; } .resource-row__language { padding: 8px 12px; border-radius: 999px; background: var(--surface-muted); color: var(--muted); font-size: 11px; } .resource-row__arrow { font-size: 24px; } .legal-note, .prose-card { max-width: 1000px; margin: 0 0 94px; } .legal-note { padding: 32px 0 0; border-top: 1px solid var(--line); } .legal-note h2 { font-size: 23px; } .legal-note p, .prose-card p { color: var(--muted); line-height: 1.85; } .prose-card { margin-top: 56px; } .prose-card h2:not(:first-child) { margin-top: 36px; } .timeline { padding: 60px 0 96px; } .timeline-entry { display: grid; grid-template-columns: 160px 1fr; gap: 24px; } .timeline-entry__date { padding: 24px; border-radius: 16px; background: var(--navy-900); color: white; } .timeline-entry__date span, .timeline-entry__date strong { display: block; } .timeline-entry__date span { color: #8797b4; font-size: 12px; } .timeline-entry__date strong { margin-top: 6px; color: var(--cyan); font-size: 30px; } .timeline-entry__body { padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: white; } .timeline-entry__body h2 { font-size: 30px; } .timeline-entry__body ul { margin: 22px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.9; } .site-footer { background: var(--navy-950); color: white; } .site-footer__inner { width: var(--page); min-height: 190px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 50px; } .site-footer__brand { margin-bottom: 7px; font-size: 21px; } .site-footer__copy, .site-footer__legal { margin: 0; color: #7f8ba6; font-size: 12px; } .site-footer nav { display: flex; gap: 24px; color: #aab5cc; font-family: "Rajdhani", sans-serif; font-size: 13px; font-weight: 700; } @media (max-width: 1050px) { :root { --page: min(100% - 34px, 900px); } .site-header { grid-template-columns: 1fr auto; gap: 18px; } .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; padding-bottom: 12px; } .alpha-tag { grid-column: 2; grid-row: 1; } .hero { grid-template-columns: 1fr; } .select-preview { min-height: 500px; } .feature-grid, .content-grid { grid-template-columns: 1fr; } .page-hero--split { grid-template-columns: 1fr; } .release-status { width: fit-content; } } @media (max-width: 700px) { :root { --page: calc(100% - 24px); --radius-lg: 22px; } .site-header { min-height: 76px; } .brand__name { font-size: 18px; } .site-nav__link { padding-inline: 10px; } .hero { min-height: auto; gap: 54px; padding: 62px 0 72px; } .hero h1, .page-hero h1 { font-size: clamp(56px, 18vw, 82px); } .hero__lead, .page-hero__lead { font-size: 16px; } .hero__actions { display: grid; } .select-preview { min-height: 480px; padding: 18px; } .select-preview__body { grid-template-columns: 104px 1fr; gap: 10px; } .select-preview__info { padding: 8px; } .select-preview__info p { font-size: 13px; } .select-preview__info strong { font-size: 21px; } .select-preview__info small { display: none; } .track { min-height: 58px; padding: 0 10px; grid-template-columns: 24px 1fr; } .track span { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; } .track em { display: none; } .select-preview__bottom { right: 18px; bottom: 18px; left: 132px; } .section-heading { grid-template-columns: 1fr; } .page-hero { min-height: 340px; padding-top: 70px; } .notice-strip { align-items: flex-start; flex-direction: column; gap: 6px; } .step { padding: 24px; grid-template-columns: 48px 1fr; gap: 12px; } .resource-count { justify-content: flex-start; } .resource-row { padding: 24px; grid-template-columns: 40px 1fr 26px; gap: 12px; } .resource-row__language { display: none; } .resource-row__main p { font-size: 13px; line-height: 1.6; } .timeline-entry { grid-template-columns: 1fr; } .timeline-entry__date { width: 150px; } .site-footer__inner { padding: 42px 0; grid-template-columns: 1fr; gap: 24px; } }