@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}:root{--bi-ink:#323232;--bi-signal:#EFBC3F;--bi-advaisor:#FFBE00;--page: oklch(.945 .006 86);--wall: oklch(.966 .005 86);--surface: oklch(.978 .004 86);--raised: oklch(.99 .003 86);--ink: oklch(.205 .007 86);--ink-2: oklch(.435 .008 86);--ink-3: oklch(.56 .008 86);--on-dark: oklch(.975 .003 86);--on-dark-2: oklch(.78 .006 86);--on-dark-3: oklch(.64 .006 86);--deep: oklch(.215 .006 86);--deep-2: oklch(.262 .006 86);--deep-3: oklch(.31 .006 86);--line: color-mix(in oklab, var(--ink) 8%, transparent);--line-soft: color-mix(in oklab, var(--ink) 5%, transparent);--line-strong: color-mix(in oklab, var(--ink) 15%, transparent);--line-dark: color-mix(in oklab, white 9%, transparent);--line-dark-soft: color-mix(in oklab, white 5%, transparent);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-float: 0 1px 2px oklch(.205 .007 86 / .05), 0 10px 24px -12px oklch(.205 .007 86 / .1);--shadow-stage: 0 2px 4px oklch(.205 .007 86 / .04), 0 24px 56px -28px oklch(.205 .007 86 / .16);--shadow-fill: inset 0 0 0 .5px oklch(.205 .007 86 / .9), 0 1px 2px oklch(.205 .007 86 / .16), 0 6px 14px -6px oklch(.205 .007 86 / .14);--edge-inset: inset 0 0 0 .5px var(--line);--ease:cubic-bezier(.16,1,.3,1);--ease-2:cubic-bezier(.32,.72,0,1);--t-fast:.14s;--t-base:.22s;--t-slow:.36s;--sans:"Pretendard Variable",Pretendard,system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--gutter:clamp(20px,4vw,56px);--bar:56px}.site,.site h1,.site h2,.site h3,.site h4,.site p,.site li,.site dd,.site dt,.site td,.site th,.site blockquote,.site figcaption,.site label{word-break:keep-all;overflow-wrap:break-word}.site h1,.site h2,.site h3,.site h4{text-wrap:balance}.site p,.site li,.site figcaption{text-wrap:pretty}html{scroll-behavior:smooth}body:has(.site){background:var(--page);color:var(--ink)}.site{font-family:var(--sans);font-size:16px;line-height:1.7;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(.site) img,:where(.site) svg,:where(.site) canvas{display:block;max-width:100%}:where(.site) a{color:inherit;text-decoration:none}.site ::selection{background:var(--bi-ink);color:var(--on-dark)}.site :focus-visible{outline:2px solid var(--bi-ink);outline-offset:3px}.shell{max-width:1320px;margin:0 auto;padding-inline:var(--gutter)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.tag{font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.tag-ko{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-3)}.h-display{font-size:clamp(2.6rem,5.4vw,4.75rem);line-height:1.06;letter-spacing:-.035em;font-weight:700}.h1{font-size:clamp(2.1rem,3.6vw,3.1rem);line-height:1.14;letter-spacing:-.028em;font-weight:700}.h2{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.2;letter-spacing:-.022em;font-weight:700}.h3{font-size:1.1875rem;line-height:1.35;letter-spacing:-.014em;font-weight:650}.h4{font-size:1rem;line-height:1.4;letter-spacing:-.01em;font-weight:650}.body-l{font-size:1.0625rem;line-height:1.72;color:var(--ink-2)}.body{font-size:.9375rem;line-height:1.72;color:var(--ink-2)}.body-s{font-size:.875rem;line-height:1.65;color:var(--ink-2)}.measure{max-width:60ch}.measure-s{max-width:46ch}.fn{font-family:var(--mono);font-size:11px;vertical-align:super;line-height:0;color:var(--ink-3);margin-left:1px}.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-sm);font-size:.9375rem;font-weight:600;letter-spacing:-.006em;background:var(--bi-ink);color:var(--on-dark);box-shadow:var(--shadow-fill);border:0;cursor:pointer;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.btn:hover{background:#252421;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-q{background:transparent;color:var(--ink);box-shadow:none;border:1px solid var(--line-strong)}.btn-q:hover{background:var(--raised);border-color:var(--ink);transform:translateY(-1px)}.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem;border-radius:var(--r-xs)}.btn-on-dark{background:var(--on-dark);color:var(--bi-ink);box-shadow:none}.btn-on-dark:hover{background:var(--bi-signal);color:var(--bi-ink)}.btn-q-dark{background:transparent;color:var(--on-dark);border-color:var(--line-dark);box-shadow:none}.btn-q-dark:hover{background:var(--deep-3);border-color:var(--on-dark-2)}.lnk{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;padding-bottom:2px;box-shadow:inset 0 -2px 0 0 var(--bi-signal);transition:box-shadow var(--t-fast) var(--ease)}.lnk:hover{box-shadow:inset 0 -2px 0 0 var(--ink)}.lnk svg{transition:transform var(--t-fast) var(--ease)}.lnk:hover svg{transform:translate(3px)}.bar{position:sticky;top:0;z-index:50;height:var(--bar);background:color-mix(in oklab,var(--page) 86%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}.bar-in{display:flex;align-items:center;gap:32px;height:100%}.bar img{height:19px;width:auto}.bar nav{display:flex;gap:4px;margin-left:12px}.bar nav a{font-size:.875rem;font-weight:500;color:var(--ink-2);padding:7px 11px;border-radius:var(--r-xs);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.bar nav a:hover{background:var(--raised);color:var(--ink)}.bar nav a[aria-current]{color:var(--ink);background:var(--raised);box-shadow:var(--edge-inset)}.bar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.bar .kbd{font-family:var(--mono);font-size:11px;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-xs);padding:4px 7px;background:var(--raised)}.band{padding-block:clamp(72px,8vw,128px)}.band-wall{background:var(--wall);border-block:1px solid var(--line)}.band-deep{background:var(--bi-ink);color:var(--on-dark)}.band-deep .body,.band-deep .body-l,.band-deep .body-s{color:var(--on-dark-2)}.band-deep .tag,.band-deep .tag-ko,.band-deep .fn{color:var(--on-dark-3)}.sig{width:20px;height:3px;background:var(--bi-signal);border-radius:1px}.head{display:grid;gap:14px;margin-bottom:clamp(36px,4vw,56px)}.head-row{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-raised{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-p{padding:clamp(20px,2.2vw,30px)}.panel-dark{background:var(--deep-2);border:1px solid var(--line-dark);border-radius:var(--r-lg)}.console{border-radius:var(--r-lg);overflow:clip;box-shadow:var(--shadow-stage);background:var(--raised)}.console-bar{display:flex;align-items:center;gap:10px;height:38px;padding-inline:14px;border-bottom:1px solid var(--line)}.console-bar .dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.console-bar .path{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);letter-spacing:.01em}.console-body{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.code{background:var(--deep);color:var(--on-dark-2);padding:22px 24px;font-family:var(--mono);font-size:12.5px;line-height:1.9;overflow-x:auto;-webkit-overflow-scrolling:touch}.code .k{color:#87c6f2}.code .s{color:#a4dd98}.code .c{color:#77746e}.code .n{color:var(--bi-signal)}.tbl{width:100%;border-collapse:collapse;font-size:.875rem}.tbl caption{text-align:left;padding-bottom:12px}.tbl th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:10px 14px;border-bottom:1px solid var(--line-strong);white-space:nowrap}.tbl td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}.tbl tbody tr{transition:background-color var(--t-fast) var(--ease)}.tbl tbody tr:hover{background:var(--raised)}.tbl .nm{color:var(--ink);font-weight:600}.tbl .num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500;white-space:nowrap}.tbl th:last-child,.tbl td:last-child{text-align:center}.todo{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;letter-spacing:0;color:#72592c;border:1px dashed oklch(.72 .09 82);border-radius:var(--r-xs);padding:3px 7px;white-space:nowrap}.band-deep .todo{color:#d8ba79;border-color:#766032}.rv{opacity:0;transform:translateY(10px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}.rv.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}.rv{opacity:1;transform:none}}:where(.site) section[id],:where(.site) [id^=s]{scroll-margin-top:calc(var(--bar) + 24px)}.ftr{background:var(--bi-ink);color:var(--on-dark-2);border-top:1px solid var(--line-dark);padding-block:clamp(44px,4vw,64px)}.ftr-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:32px}.ftr img{height:18px;width:auto;margin-bottom:18px}.ftr h4{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark);font-weight:500;margin-bottom:14px}.ftr a{display:block;padding:5px 0;font-size:.875rem;color:var(--on-dark-3);transition:color var(--t-fast) var(--ease)}.ftr a:hover{color:var(--on-dark)}.ftr-meta{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--mono);font-size:11px;color:var(--on-dark-3);letter-spacing:.02em}.burger{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--raised);cursor:pointer;padding:0;place-items:center;align-content:center;gap:5px}.burger span{display:block;width:16px;height:1.5px;background:var(--ink);margin:0 auto;transition:transform var(--t-fast) var(--ease)}.bar[data-open] .burger span:first-child{transform:translateY(3.25px) rotate(45deg)}.bar[data-open] .burger span:last-child{transform:translateY(-3.25px) rotate(-45deg)}@media(max-width:1080px){.burger{display:grid}.bar nav{position:absolute;left:0;right:0;top:100%;display:grid;gap:0;margin:0;background:var(--page);border-bottom:1px solid var(--line);padding:6px var(--gutter) 12px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),visibility var(--t-fast) var(--ease)}.bar[data-open] nav{visibility:visible;opacity:1;transform:none}.bar nav a{padding:12px 10px;border-radius:var(--r-xs);font-size:.9375rem}.bar{overflow:visible}.bar-in{position:relative;gap:16px}}@media(max-width:640px){.ftr-grid{grid-template-columns:1fr 1fr}}@media(max-width:460px){.ftr-grid{grid-template-columns:1fr}}.hero{position:relative;height:150vh}.hero-stage{position:sticky;top:0;height:100vh;min-height:560px;overflow:clip;isolation:isolate;display:flex;align-items:center;background:radial-gradient(130% 100% at 78% 12%,oklch(.995 .002 86) 0%,var(--page) 64%)}.field{position:absolute;inset:0;z-index:0}.field canvas{position:absolute;inset:0;width:100%;height:100%}.field .fallback{position:absolute;inset:0;display:grid;place-items:center;padding:6vw}.field[data-webgl=on] .fallback{display:none}.veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(97deg,var(--page) 0%,var(--page) 33%,color-mix(in oklab,var(--page) 86%,transparent) 45%,color-mix(in oklab,var(--page) 34%,transparent) 58%,transparent 70%)}.hero-in{position:relative;z-index:2;width:100%}.hero-copy{max-width:44rem;will-change:transform}.hero-copy h1{margin-bottom:22px}.hero-copy h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}.hero[data-anim] .hero-copy h1 .ln>span{display:block;transform:translateY(108%);transition:transform .98s var(--ease)}.hero[data-anim][data-in] .hero-copy h1 .ln>span{transform:none}.hero[data-anim] .hero-copy h1 .ln:nth-of-type(2)>span{transition-delay:.1s}.hero[data-anim] .rise{opacity:0;transform:translateY(16px);transition:opacity .78s var(--ease),transform .78s var(--ease)}.hero[data-anim][data-in] .rise{opacity:1;transform:none}.hero[data-anim] .sub.rise{transition-delay:.34s}.hero[data-anim] .cta.rise{transition-delay:.47s}.hero[data-anim] .beats.rise{transition-delay:.62s}.hero[data-anim] .track.rise{transition-delay:.72s}.hero[data-anim] .hint{opacity:0;transition:opacity .6s var(--ease) .98s}.hero[data-anim][data-in] .hint{opacity:1}.hero-copy .sub{max-width:36ch;margin-bottom:32px}.cta{display:flex;flex-wrap:wrap;gap:10px}.beats{position:relative;margin-top:40px;min-height:5.2em}.beat{position:absolute;inset:0;max-width:34ch;font-size:1.0625rem;line-height:1.7;color:var(--ink-2);opacity:0;transform:translateY(14px);transition:opacity .42s var(--ease),transform .52s var(--ease)}.beat[data-on]{opacity:1;transform:none}.beat:before{content:"";display:inline-block;width:18px;height:2px;background:var(--bi-signal);vertical-align:middle;margin-right:10px;border-radius:1px}.track{position:relative;height:3px;width:min(300px,64%);margin-top:26px;background:var(--line-strong);border-radius:1px;overflow:clip}.track i{position:absolute;inset:0;background:var(--bi-ink);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease)}.hint{position:absolute;left:50%;bottom:30px;z-index:2;transform:translate(-50%);display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklab,var(--page) 78%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity var(--t-base) var(--ease)}.hint svg{width:11px;height:18px;animation:nudge 1.9s var(--ease) infinite}@keyframes nudge{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(3px);opacity:1}}.hero[data-reduced]{height:auto}.hero[data-reduced] .hero-stage{position:static;height:auto;min-height:0;padding-block:clamp(56px,7vw,104px)}.hero[data-reduced] .field{position:absolute}.hero[data-reduced] .beats{position:static;min-height:0;display:grid;gap:8px}.hero[data-reduced] .beat{position:static;opacity:1;transform:none}.hero[data-reduced] .track,.hero[data-reduced] .hint{display:none}.hero[data-reduced] .hero-copy h1 .ln>span,.hero[data-reduced] .rise{transform:none!important;opacity:1!important}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);margin-top:clamp(32px,3.4vw,52px)}.strip>div{background:var(--page);padding:22px 0 0}.strip>div+div{padding-left:26px}.strip .pct{font-size:1.125rem;font-weight:500}.strip b{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:500;letter-spacing:-.02em;color:var(--ink);margin:8px 0 6px;line-height:1}.prob{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,80px)}.stat-rows{display:grid}.stat-rows>div{padding:20px 0;border-top:1px solid var(--line-strong);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline}.stat-rows>div:last-child{border-bottom:1px solid var(--line-strong)}.stat-rows b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.2vw,2.6rem);font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--ink);white-space:nowrap}.artifact-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(28px,3vw,44px)}.crit{width:100%;border-collapse:collapse;font-size:.8125rem}.crit caption{text-align:left}.crit th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:0 14px 9px;border-bottom:1px solid var(--line-strong)}.crit td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}.crit tr:last-child td{border-bottom:0}.crit .nm{color:var(--ink);font-weight:600}.crit .w{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.crit th:nth-child(2),.crit td:nth-child(2){text-align:right;width:5.5rem}.crit th:last-child,.crit td:last-child{text-align:right}.crit-wrap{display:flex;flex-direction:column}.crit-wrap>.crit{margin:18px 6px 0}.exc{margin-top:auto;padding:22px 20px 18px;border-top:1px solid var(--line)}.exc dl{margin-top:12px;display:grid}.exc dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:.8125rem}.exc dl>div:last-child{border-bottom:0}.exc dt{color:var(--ink);font-weight:600}.exc dd{color:var(--ink-2);font-family:var(--mono);font-size:11.5px;text-align:right}.rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.step{background:var(--surface);padding:26px 22px 28px;position:relative;display:flex;flex-direction:column;transition:background-color var(--t-base) var(--ease)}.step:hover{background:var(--raised)}.step svg{margin-bottom:20px}.step .h4{margin:8px 0 10px}.step dl{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.step p{margin-bottom:18px}.step dt{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.step dd{font-size:.8125rem;color:var(--ink-2);line-height:1.6}.step-4{background:var(--raised)}.bento{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);grid-template-rows:auto auto;gap:clamp(14px,1.4vw,20px)}.bento>.wide{grid-row:span 2;display:grid;grid-template-rows:auto 1fr auto}.sol{padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column}.sol .h3{margin:10px 0}.sol .body{flex:1}.sol footer{margin-top:22px}.spec{width:100%;border-collapse:collapse;font-size:.8125rem;margin-top:22px}.spec th{text-align:left;font-weight:500;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 0;border-bottom:1px solid var(--line);width:40%;vertical-align:top}.spec td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;text-align:right}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);background:var(--bi-signal);border-radius:var(--r-xs);padding:4px 8px;line-height:1}.edu{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,80px);align-items:start}.plist{list-style:none;margin-top:14px}.plist li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}.plist li:last-child{border-bottom:0}.plist b{font-size:.9375rem;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.plist span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.logos-light{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:clip;margin-top:14px}.logos-light>div{background:var(--surface);aspect-ratio:16/6;display:grid;place-items:center;padding:14px}.flow{list-style:none;margin-top:18px;display:grid}.flow li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line-dark)}.flow li:first-child{border-top:0;padding-top:8px}.flow .n{font-size:11px;letter-spacing:.06em;color:var(--bi-signal);padding-top:4px}.flow b{display:block;color:var(--on-dark);margin-bottom:4px}.closing{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:end}.closing .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.closing>div:last-child{align-self:stretch}@media(max-width:1080px){.prob,.artifact-head,.closing,.edu{grid-template-columns:1fr}.rail{grid-template-columns:1fr 1fr}.bento{grid-template-columns:1fr}.bento>.wide{grid-row:auto}.console-body{grid-template-columns:1fr}.code{border-right:0;border-bottom:1px solid var(--line)}.ftr-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){.hero{height:130vh}.hero-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(40px,8vw,64px);padding-bottom:44px;align-items:stretch}.field{position:relative;inset:auto;min-height:32vh}.veil{display:none}.hero-in{position:relative}.hero-copy{max-width:none}.hint{display:none}}@media(max-width:640px){.strip{grid-template-columns:1fr}.strip>div+div{padding-left:0}.rail{grid-template-columns:1fr}.logos-light{grid-template-columns:1fr 1fr}.stat-rows>div{grid-template-columns:1fr;gap:6px}.ftr-grid{grid-template-columns:1fr}}.phead-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,72px);align-items:end}.diagram{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,34px)}.diagram svg{width:100%;height:auto;min-width:760px}@media(max-width:820px){.dhint{display:block}}.dlegend{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.dlegend b{display:block;color:var(--ink);font-size:.9375rem;font-weight:650;margin-bottom:5px}.method{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,5vw,88px);align-items:start}.sticky{position:sticky;top:calc(var(--bar) + 40px)}.badge-lg{width:132px;height:132px;display:block;margin-bottom:26px}.badge-lg rect,.badge-lg path{transition:fill var(--t-slow) var(--ease),opacity var(--t-slow) var(--ease)}.prog{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--line)}.prog a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);transition:color var(--t-base) var(--ease)}.prog a .n{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}.prog a .t{font-size:.9375rem;font-weight:600;color:var(--ink-3);transition:transform var(--t-base) var(--ease)}.prog a .en{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);opacity:.5;transition:opacity var(--t-base) var(--ease),color var(--t-base) var(--ease)}.prog a[data-on] .t,.prog a[data-on] .n{color:var(--ink)}.prog a[data-on] .en{opacity:1;color:var(--ink-2)}.prog a[data-on]{box-shadow:inset 2px 0 0 0 var(--bi-signal)}.prog a[data-on] .t{transform:translate(8px)}.stepbody{display:grid;gap:clamp(56px,7vw,104px)}.stepbody>section{scroll-margin-top:calc(var(--bar) + 32px)}.stepbody .lede{margin:16px 0 28px}.io{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:26px}.io caption{text-align:left;padding-bottom:12px}.io th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:10px 0;border-bottom:1px solid var(--line-strong);width:8.5rem;vertical-align:top}.io td{padding:10px 0 10px 20px;border-bottom:1px solid var(--line);color:var(--ink)}.io .m{font-family:var(--mono);font-variant-numeric:tabular-nums}.note{margin-top:22px;padding:16px 18px;background:var(--wall);border-radius:var(--r-sm);box-shadow:var(--edge-inset)}.tech{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.tech>div{background:var(--surface);padding:clamp(22px,2.4vw,30px)}.tech .h4{margin:10px 0 8px}.tech code{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--wall);border-radius:var(--r-xs);padding:2px 6px;box-shadow:var(--edge-inset)}@media(max-width:1080px){.phead-grid,.method,.tech,.closing2{grid-template-columns:1fr}.sticky{position:static}.badge-lg{width:96px;height:96px}.dlegend{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.ftr-grid{grid-template-columns:1fr}.io th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.io td{display:block;padding-left:0}}.prob2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}.steps4{list-style:none;border-top:1px solid var(--line-strong)}.steps4 li{display:grid;grid-template-columns:72px 1fr;gap:clamp(20px,3vw,40px);padding:clamp(22px,2.4vw,32px) 0;border-bottom:1px solid var(--line)}.steps4 .n{font-size:1.5rem;font-weight:500;color:var(--line-strong);line-height:1.1}.steps4 .h4{margin-bottom:8px}.steps4 p{max-width:62ch}.effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.effects>div{background:var(--surface);padding:clamp(20px,2.2vw,28px)}.effects .num{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:10px 0 12px}.fit3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.fit3>div{background:var(--surface);padding:clamp(20px,2.2vw,28px)}.fit3 .h4{margin:10px 0 8px}.spec2 caption{text-align:left;padding-bottom:12px}.spec2 th{text-align:left;font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink-3);padding:12px 0;border-bottom:1px solid var(--line);width:11rem;vertical-align:top}.spec2 td{padding:12px 0 12px 20px;border-bottom:1px solid var(--line);color:var(--ink)}@media(max-width:1080px){.phead-grid,.prob2,.closing2,.effects,.fit3{grid-template-columns:1fr}}@media(max-width:640px){.steps4 li{grid-template-columns:1fr;gap:8px}.spec2 th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.spec2 td{display:block;padding-left:0}}.axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.axes>div{background:var(--surface);padding:clamp(22px,2.4vw,32px)}.axes .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--ink);display:block;margin:10px 0 12px}.axes .on{background:var(--raised)}.lineage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(32px,5vw,80px);align-items:start}.quote{font-size:clamp(1.375rem,2.4vw,1.875rem);line-height:1.5;letter-spacing:-.02em;font-weight:650;color:var(--ink);max-width:24ch}.quote span{color:var(--ink-3);display:block;margin-top:14px;font-size:.9375rem;font-weight:400;letter-spacing:0;line-height:1.7}.prog{border-top:1px solid var(--line-strong)}.prog>article{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);padding:clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--line)}.prog .h3{margin:10px 0 12px}.prog .stage{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;color:var(--ink);background:var(--wall);border-radius:var(--r-xs);padding:4px 8px;line-height:1;box-shadow:var(--edge-inset)}.prog .stage i{width:6px;height:6px;border-radius:1px;background:var(--bi-signal)}.spec2{width:100%;border-collapse:collapse;font-size:.875rem}.spec2 th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:10px 0;border-bottom:1px solid var(--line);width:6.5rem;vertical-align:top;white-space:nowrap}.spec2 td{padding:10px 0 10px 18px;border-bottom:1px solid var(--line);color:var(--ink)}.spec2 tr:last-child th,.spec2 tr:last-child td{border-bottom:0}.attach{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,32px)}.dscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.attach svg{width:100%;height:auto;min-width:640px}.dhint{display:none;margin-top:12px}@media(max-width:760px){.dhint{display:block}}.fit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.fit>div{background:var(--surface);padding:clamp(20px,2.2vw,28px)}.fit .h4{margin:10px 0 8px}.sig-y{color:var(--bi-signal)}@media(max-width:1080px){.phead-grid,.lineage,.closing2{grid-template-columns:1fr}.prog>article{grid-template-columns:1fr}.fit{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.axes,.ftr-grid{grid-template-columns:1fr}.spec2 th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.spec2 td{display:block;padding-left:0}}.caselist{display:grid;gap:clamp(14px,1.6vw,20px)}.caselist>article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,34px)}.caselist header{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.4vw,32px);align-items:start;padding-bottom:22px;border-bottom:1px solid var(--line)}.caselist header .n{font-size:1.5rem;font-weight:500;color:var(--line-strong);line-height:1.1}.caselist header .h2{margin:8px 0 12px;max-width:34ch}.caselist .pill{display:inline-flex;font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);background:var(--bi-signal);border-radius:var(--r-xs);padding:4px 8px;line-height:1}.cbody{display:grid;gap:0;margin-top:4px}.cbody>div{display:grid;grid-template-columns:7.5rem 1fr;gap:clamp(16px,2vw,28px);padding:16px 0;border-bottom:1px solid var(--line-soft)}.cbody dt{font-size:.8125rem;color:var(--ink-3)}.cbody dd{font-size:.9375rem;color:var(--ink-2);line-height:1.72;max-width:62ch}.ctbl{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:22px}.ctbl caption{text-align:left;padding-bottom:10px}.ctbl th{text-align:left;font-weight:500;color:var(--ink-3);font-size:.8125rem;padding:11px 0;border-bottom:1px solid var(--line);width:14rem;vertical-align:top}.ctbl td{padding:11px 0 11px 20px;border-bottom:1px solid var(--line)}@media(max-width:1080px){.phead-grid,.closing2{grid-template-columns:1fr}.caselist header{grid-template-columns:1fr;gap:10px}}@media(max-width:640px){.cbody>div{grid-template-columns:1fr;gap:6px}.ctbl th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.ctbl td{display:block;padding-left:0}}.quote{font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.6;letter-spacing:-.015em;font-weight:650;color:var(--ink);max-width:30ch;border-left:3px solid var(--bi-signal);padding-left:22px;--slop-allow:edge-stripe}.tl{list-style:none;position:relative;padding-left:0}.tl li{display:grid;grid-template-columns:4.5rem 7rem 1fr;gap:clamp(16px,2.4vw,32px);padding:clamp(20px,2.2vw,28px) 0;border-top:1px solid var(--line);position:relative}.tl li:last-child{border-bottom:1px solid var(--line)}.tl .era{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding-top:4px}.tl li[data-era=AX] .era{color:var(--ink)}.tl .when{font-size:.8125rem;color:var(--ink-3);padding-top:3px}.tl .h4{margin-bottom:8px}.tl p{max-width:62ch}.arch{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--wall);padding:clamp(18px,2vw,26px)}.arch summary{font-size:.9375rem;font-weight:600;color:var(--ink);cursor:pointer;min-height:44px;display:flex;align-items:center}.arch dl{display:grid;margin-top:12px}.arch dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:12px 0;border-top:1px solid var(--line)}.arch dt{font-size:.9375rem;font-weight:600;color:var(--ink)}.arch dd{font-size:.875rem;color:var(--ink-2)}.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.team>div{background:var(--surface);padding:clamp(20px,2.2vw,28px)}@media(max-width:1080px){.phead-grid,.closing2{grid-template-columns:1fr}.tl li{grid-template-columns:4.5rem 1fr}.tl .when{grid-column:1 / -1;padding-top:0}.team{grid-template-columns:1fr}}@media(max-width:640px){.arch dl>div{grid-template-columns:1fr;gap:4px}}.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.roles>div{background:var(--surface);padding:clamp(20px,2.2vw,28px)}.spec3{width:100%;border-collapse:collapse;font-size:.9375rem}.spec3 th{text-align:left;font-weight:500;color:var(--ink-3);font-size:.875rem;padding:14px 0;border-bottom:1px solid var(--line);width:13rem;vertical-align:top}.spec3 td{padding:14px 0 14px 20px;border-bottom:1px solid var(--line);color:var(--ink)}.spec3 tr:first-child th,.spec3 tr:first-child td{border-top:1px solid var(--line-strong)}.progs{list-style:none;border-top:1px solid var(--line-strong)}.progs li{padding:clamp(18px,2vw,24px) 0;border-bottom:1px solid var(--line)}.progs b{display:block;font-size:1.0625rem;font-weight:650;letter-spacing:-.012em;color:var(--ink);margin-bottom:8px}.progs p{max-width:66ch}.closing2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,4vw,64px);align-items:end}.closing2 .cta{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:1080px){.phead-grid,.closing2,.roles{grid-template-columns:1fr}}@media(max-width:640px){.spec3 th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.spec3 td{display:block;padding-left:0}}.empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,4vw,56px);max-width:72ch}.postlist{list-style:none;border-top:1px solid var(--line-strong)}.postlist li{border-bottom:1px solid var(--line)}.postlist a{display:grid;grid-template-columns:7rem 1fr;gap:clamp(16px,2.4vw,32px);align-items:baseline;padding:clamp(18px,2vw,26px) 0;transition:transform var(--t-base) var(--ease)}.postlist a:hover{transform:translate(6px)}.postlist .when{font-size:.8125rem;color:var(--ink-3)}.postlist b{display:block;font-size:1.0625rem;font-weight:650;letter-spacing:-.012em;color:var(--ink);margin-bottom:6px}@media(max-width:1080px){.phead-grid{grid-template-columns:1fr}.postlist a{grid-template-columns:1fr;gap:6px}}.phead{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(40px,5vw,64px)}.phead-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,72px);align-items:end}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.66fr);gap:clamp(32px,4vw,64px);align-items:start}.form-grid form{display:grid;gap:20px;max-width:560px}.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:8px}.form-grid label>span,.form-grid legend>span{font-size:.875rem;font-weight:600;color:var(--ink)}.form-grid em{color:var(--bi-signal);font-style:normal;margin-left:3px}.fld{font:inherit;font-size:.9375rem;color:var(--ink);background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:12px 14px;min-height:46px;transition:border-color var(--t-fast) var(--ease)}textarea.fld{min-height:auto;resize:vertical;line-height:1.7}.fld:focus{outline:none;border-color:var(--bi-ink)}.fld::placeholder{color:var(--ink-3)}.form-grid fieldset{border:0;display:grid;gap:10px}.radios{display:flex;flex-wrap:wrap;gap:8px}.radio{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--raised);cursor:pointer;transition:border-color var(--t-fast) var(--ease)}.radio:hover{border-color:var(--ink)}.radio input{accent-color:var(--bi-ink);width:15px;height:15px}.radio span{font-size:.875rem;font-weight:500;color:var(--ink)}.radio:has(input:checked){border-color:var(--bi-ink);box-shadow:inset 0 0 0 1px var(--bi-ink)}.agree{grid-template-columns:auto 1fr;align-items:start;gap:12px}.agree input{accent-color:var(--bi-ink);width:16px;height:16px;margin-top:3px}.agree>span{font-size:.8125rem;font-weight:400;color:var(--ink-2);line-height:1.7}.submit{display:grid;gap:14px;margin-top:4px}.submit .btn{width:fit-content}.submit .btn:disabled{opacity:.6;cursor:default}.submit .ok{font-size:.875rem;color:var(--ink);padding:12px 14px;background:var(--wall);border-radius:var(--r-sm);box-shadow:var(--edge-inset)}.submit .bad{font-size:.875rem;color:var(--c-error,#B3261E);padding:12px 14px;border:1px solid currentColor;border-radius:var(--r-sm);line-height:1.7}.direct{margin-top:14px;display:grid}.direct>div{display:grid;grid-template-columns:5rem 1fr;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}.direct>div:last-child{border-bottom:0}.direct dt{font-size:.8125rem;color:var(--ink-3)}.direct dd{font-size:.875rem;color:var(--ink)}.flow2{list-style:none;margin-top:14px;display:grid}.flow2 li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.flow2 li:first-child{border-top:0;padding-top:6px}.flow2 .n{font-size:11px;letter-spacing:.06em;color:var(--ink-3);padding-top:3px}.flow2 b{display:block;font-size:.9375rem;font-weight:650;color:var(--ink);margin-bottom:4px}.flow2 p{font-size:.8125rem;color:var(--ink-2);line-height:1.65}@media(max-width:1080px){.phead-grid,.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.f2{grid-template-columns:1fr}}.login-wrapper{font-family:Pretendard,system-ui,sans-serif;line-height:1.5;display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;background:#f0f2f5}.login-box{width:400px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;box-sizing:border-box}.login-box h2{font-size:24px;color:#6a24fe;margin-bottom:30px;text-align:center;font-weight:800}#login-form input[type=text],#login-form input[type=password]{width:100%;height:48px;padding:0 15px;box-sizing:border-box;margin-bottom:16px;border-radius:8px;background-color:#f8f8f8;border:1px solid #eee;font-size:15px}#login-form input::placeholder{color:#d2d2d2}#login-form input[type=submit]{width:100%;height:48px;color:#fff;font-size:16px;background-color:#6a24fe;margin-top:10px;border-radius:8px;cursor:pointer;font-weight:600;transition:.3s}#login-form input[type=submit]:hover{background-color:#5519d6}.error-msg{color:#f44;font-size:13px;margin-bottom:15px;text-align:center}@media only screen and (max-width:768px){.login-wrapper{padding:20px}.login-box{width:100%;max-width:400px;padding:30px 20px}.login-box h2{font-size:20px;margin-bottom:20px}#login-form input[type=text],#login-form input[type=password],#login-form input[type=submit]{height:44px;font-size:14px}}:root{--admin-bg-color: #f4f7f6;--admin-sidebar-bg: #1a1a1a;--admin-sidebar-width: 260px;--admin-primary-color: #007bff;--admin-text-color: #333;--admin-text-light: #666;--admin-border-color: #e0e0e0;--admin-success-color: #28a745;--admin-danger-color: #dc3545;--admin-card-shadow: 0 4px 6px rgba(0, 0, 0, .05)}.admin-layout{display:flex;min-height:100vh;background:var(--admin-bg-color);font-family:Pretendard,system-ui,sans-serif;line-height:1.5;color:var(--admin-text-color)}.admin-sidebar{width:var(--admin-sidebar-width);background:var(--admin-sidebar-bg);color:#fff;display:flex;flex-direction:column;padding:20px;position:fixed;height:100vh;overflow-y:auto;z-index:100}.admin-logo{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #333}.admin-logo h2{font-size:1.5rem;color:#0f8;margin:0;font-weight:700}.admin-nav ul{list-style:none;padding:0;margin:0}.admin-nav li{margin-bottom:5px}.admin-nav a{color:#ccc;text-decoration:none;padding:12px 15px;display:flex;align-items:center;border-radius:8px;transition:all .2s;font-size:.95rem}.admin-nav li.active a,.admin-nav a:hover{background:#ffffff1a;color:#fff}.admin-footer{margin-top:auto;padding-top:20px}.logout-btn{width:100%;padding:12px;background:transparent;border:1px solid var(--admin-danger-color);color:var(--admin-danger-color);border-radius:8px;cursor:pointer;transition:.3s;font-weight:600}.logout-btn:hover{background:var(--admin-danger-color);color:#fff}.admin-content{flex:1;margin-left:var(--admin-sidebar-width);padding:40px;width:calc(100% - var(--admin-sidebar-width))}.admin-page-header{margin:2vh auto 30px;padding:0 2.6%;width:100%;max-width:1920px;display:flex;justify-content:space-between;align-items:center}.admin-page-header h2{font-size:1.8rem;font-weight:700;color:#1a1a1a;margin:0}.admin-card{background:#fff;padding:25px;border-radius:12px;box-shadow:var(--admin-card-shadow);margin-bottom:30px}.admin-card h3{margin-top:0;margin-bottom:20px;font-size:1.2rem;color:#1a1a1a;border-bottom:1px solid #f0f0f0;padding-bottom:15px}.admin-form{max-width:800px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#444;font-size:.9rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=file],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid var(--admin-border-color);border-radius:8px;font-size:.95rem;transition:border-color .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--admin-primary-color);outline:none}.form-actions{display:flex;gap:10px;margin-top:30px}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;border:none;font-size:.9rem;transition:opacity .2s}.btn-primary{background:var(--admin-primary-color);color:#fff}.btn-secondary{background:#e9ecef;color:#495057}.btn-danger{background:var(--admin-danger-color);color:#fff}.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover{opacity:.9}.table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;margin-top:10px}.admin-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#444;border-bottom:2px solid #e9ecef}.admin-table td{padding:15px;border-bottom:1px solid #e9ecef;vertical-align:middle}.admin-table tr:hover{background-color:#f8f9fa}.action-buttons{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:.8rem}.preview-image{border-radius:4px;object-fit:cover;border:1px solid #eee}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:25px}.stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:var(--admin-card-shadow);display:flex;flex-direction:column;justify-content:space-between;height:100%;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{font-size:2.5rem;font-weight:700;margin:10px 0;color:#1a1a1a}.stat-card p{color:#666;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px;margin:0}@media only screen and (max-width:768px){.admin-sidebar{width:100%;position:relative;height:auto}.admin-content{margin-left:0;padding:20px;width:100%}.admin-layout{flex-direction:column}.stats-grid{grid-template-columns:1fr;gap:15px}.admin-page-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-page-header h2{font-size:1.4rem}.admin-card{padding:15px}.form-actions{flex-direction:column}.table-container{overflow-x:auto}.admin-table{font-size:.85rem}.admin-table th,.admin-table td{padding:10px 8px}.action-buttons{flex-direction:column;gap:5px}}
