@font-face{font-family:BookkMyungjo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/BookkMyungjo-Bd.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+AC00-D7A3,U+1100-11FF,U+3130-318F}@font-face{font-family:SUIT Variable;src:url(/whisty/fonts/SUIT-Variable.ttf) format("truetype-variations");font-weight:100 900;font-display:swap}:root{--paper: #F7F4EC;--paper-deep: #EFEAE0;--card: #FFF;--ink: #211D19;--ink-muted: #6E675C;--hairline: #E5E1D6;--accent: #5B4BBA;--accent-strong: #46369C;--accent-soft: #EEEAFB;--serif: "BookkMyungjo", "Apple Myungjo", "Noto Serif KR", serif;--sans: "SUIT Variable", "Apple SD Gothic Neo", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 6px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.65;text-align:left}a{color:inherit;text-decoration:none}.shell{width:min(72rem,calc(100% - 3rem));margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--hairline);font-size:.8125rem;font-weight:600}.topbar .brand{display:flex;align-items:baseline;gap:10px;font-family:var(--serif);font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.topbar .brand span{font-family:var(--sans);font-size:.8125rem;font-weight:500;opacity:.55}.topbar .nav{display:flex;align-items:center;gap:16px;color:var(--ink-muted)}.topbar .nav a:hover{color:var(--accent)}.topbar .nav a:last-child{padding-left:16px;border-left:1px solid var(--hairline)}.topbar .nav .nav-cta{margin-left:2px;padding:7px 14px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:750}.topbar .nav .nav-cta:hover{background:var(--accent-strong);color:#fff}main{min-height:62vh}.page-hero{padding:clamp(3.5rem,9vh,6rem) 0 clamp(2.5rem,6vh,4rem)}.page-hero .hero-copy{width:min(44rem,100%)}.kicker{color:var(--ink-muted);font-family:var(--serif);font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.kicker:before{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:99px;background:var(--accent);content:"";vertical-align:1px}.page-hero h1,.content-section h2,.content-section h3,.content-section h4{font-family:var(--serif);font-weight:700;letter-spacing:-.015em;line-height:1.3;word-break:keep-all}.page-hero h1{margin-top:1rem;font-size:clamp(2.5rem,6vw,4rem);line-height:1.15}.page-hero p{max-width:40rem;margin-top:1.1rem;color:var(--ink-muted);font-size:1.0625rem;line-height:1.75;word-break:keep-all}.content-section{padding:clamp(3rem,8vh,5rem) 0;border-top:1px solid var(--hairline)}.content-column{width:min(44rem,100%)}.content-section h2{margin:3.75rem 0 1rem;font-size:clamp(1.75rem,4vw,2.35rem)}.content-section h2:first-child{margin-top:0}.content-section h3{margin:2.5rem 0 .8rem;font-size:clamp(1.3rem,3vw,1.65rem)}.content-section h4{margin:1.8rem 0 .65rem;font-size:1.15rem}.content-section p{margin-top:.9rem;line-height:1.8;word-break:keep-all}.content-section strong{font-weight:800}.content-section a:not(.button){color:var(--accent-strong);text-decoration:underline;text-decoration-color:#5b4bba59;text-underline-offset:.2em}.content-section ol,.content-section ul{display:grid;gap:.55rem;margin:1rem 0 0;padding-left:1.35rem}.content-section li{padding-left:.15rem;line-height:1.75;word-break:keep-all}.content-section blockquote,.notice{margin-top:1.4rem;padding:1.15rem 1.25rem;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-muted)}.content-section blockquote p:first-child,.notice p:first-child{margin-top:0}.screenshot-placeholder{display:flex;min-height:12rem;margin:1.7rem 0;padding:1.35rem;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:2.5rem;border:1.5px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.screenshot-placeholder .placeholder-label{color:var(--accent-strong);font-size:.75rem;font-weight:800;letter-spacing:.06em}.screenshot-placeholder figcaption{color:var(--ink-muted);font-size:.875rem;line-height:1.65;word-break:keep-all}pre{margin-top:1rem;padding:1rem 1.15rem;overflow-x:auto;border-radius:var(--radius);background:var(--ink);color:var(--paper);font:.875rem/1.65 var(--mono)}code{border-radius:3px;background:var(--paper-deep);padding:.12em .35em;font-family:var(--mono);font-size:.9em}pre code{background:transparent;padding:0;font-size:inherit}.table-scroll{margin-top:1.2rem;overflow-x:auto}table{width:100%;min-width:34rem;border-collapse:collapse;background:var(--card)}th,td{padding:.85rem 1rem;border:1px solid var(--hairline);text-align:left;vertical-align:top}th{background:var(--paper-deep);font-size:.875rem;font-weight:800}td{font-size:.9375rem}.button{display:inline-flex;min-height:48px;margin-top:1.5rem;padding:0 1.4rem;align-items:center;justify-content:center;border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--accent-strong);color:#fff;font-size:.9375rem;font-weight:700}.button:hover{border-color:var(--accent);background:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 0;border-top:1px solid var(--hairline);color:var(--ink-muted);font-size:.8125rem}footer .right{display:flex;flex-wrap:wrap;gap:16px}footer a:hover{color:var(--accent)}@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar .nav a:not(:last-child){display:none}}@media(max-width:560px){.shell{width:min(100% - 2rem,72rem)}.page-hero{padding-top:3rem}.screenshot-placeholder{min-height:10rem}footer{flex-direction:column;align-items:flex-start}}
