/* ==========================================================================
   CENTRAS NS — 제안 덱 스타일시트 (https://ns.centras.ai)
   1) 토큰  2) 슬라이드 공통·컴포넌트(원본 키노트 계승)  3) 셸·모드(deck/doc/grid)
   4) UI(상단 막대·도크·인쇄 안내)  5) 인쇄(@page 1280×720, 화면 그대로)
   규칙 문서: wiki/design-system.md · wiki/print.md — 고치기 전에 읽는다.
   ========================================================================== */

/* ---------- 1) 토큰 · 2) 슬라이드 ---------- */
:root{
  --black:#000; --ink:#1d1d1f; --ink2:#424245; --grey:#86868b; --line:#d2d2d7;
  --light:#f5f5f7; --white:#fff;
  --g1:#34d1a8; --g2:#2f8cff; --accent:#0a8f74;
  --grad:linear-gradient(90deg,#34d1a8 0%,#2f8cff 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
.slide.dark{background:var(--black);color:#f5f5f7}
.slide.grey{background:var(--light)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.frame.play .r{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.frame.play .r1{animation-delay:.08s}.frame.play .r2{animation-delay:.18s}.frame.play .r3{animation-delay:.28s}.frame.play .r4{animation-delay:.38s}.frame.play .r5{animation-delay:.48s}.frame.play .r6{animation-delay:.58s}

/* type */
.eyebrow{font-size:15px;font-weight:600;color:var(--grey);letter-spacing:.02em;margin-bottom:14px}
.dark .eyebrow{color:#a1a1a6}
.sec{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--accent);margin-bottom:16px}
.dark .sec{color:var(--g1)}
.mega{font-size:112px;line-height:1.02;font-weight:800;letter-spacing:-.045em}
.hero{font-size:80px;line-height:1.08;font-weight:800;letter-spacing:-.04em}
.title{font-size:52px;line-height:1.14;font-weight:800;letter-spacing:-.035em}
.h3{font-size:40px;line-height:1.2;font-weight:800;letter-spacing:-.03em}
.sub{font-size:24px;line-height:1.5;color:var(--grey);font-weight:500;letter-spacing:-.01em}
.dark .sub{color:#a1a1a6}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--grey)}
.center{align-items:center;justify-content:center;text-align:center}
.fill{flex:1;display:flex;flex-direction:column;justify-content:center}
.note{position:absolute;left:96px;bottom:30px;font-size:12px;color:var(--grey)}
.dark .note{color:#6e6e73}

/* cover */
.cover .glow{position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(47,140,255,.28) 0%,rgba(52,209,168,.12) 40%,rgba(0,0,0,0) 70%);right:-260px;top:-220px}
.brand{font-size:26px;font-weight:800;letter-spacing:-.02em;color:#f5f5f7}
.brand span{font-weight:500;color:#86868b;margin-left:10px;font-size:18px;letter-spacing:0}
.cover .meta{display:flex;gap:56px;margin-top:auto;font-size:14px;color:#86868b}
.cover .meta b{display:block;color:#f5f5f7;font-size:16px;font-weight:600;margin-top:6px}

/* numbers */
.nums{display:flex;gap:64px;justify-content:center;margin-top:8px}
.num .v{font-size:120px;font-weight:800;letter-spacing:-.05em;line-height:1}
.num .v small{font-size:44px;letter-spacing:-.02em;margin-left:4px}
.num .l{font-size:20px;color:#a1a1a6;margin-top:12px;font-weight:500}

/* chips cloud */
.cloud{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:1000px;margin:44px auto 0}
.cloud span{font-size:22px;font-weight:600;padding:14px 24px;border-radius:999px;background:#1d1d1f;color:#f5f5f7}
.cloud span.dim{color:#6e6e73;background:#111}
.cloud span.hi{background:#f5f5f7;color:#000}

/* 24h */
.day{margin-top:56px}
.drow{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:28px;margin-bottom:34px}
.drow .lab{font-size:22px;font-weight:700}
.drow .lab small{display:block;font-size:14px;color:var(--grey);font-weight:500;margin-top:4px}
.track{position:relative;height:56px;border-radius:16px;background:#1d1d1f;overflow:hidden}
.track .on{position:absolute;top:0;bottom:0;border-radius:16px}
.track .human{background:#3a3a3c}
.track .ai{background:var(--grad);left:0;right:0}
.track .gaptxt{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#ff6b5e;font-weight:700}
.ticks{display:grid;grid-template-columns:200px 1fr;gap:28px}
.ticks .t{display:flex;justify-content:space-between;font-size:13px;color:#6e6e73}

/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--light);border-radius:28px;padding:32px 30px}
.grey .card{background:#fff}
.dark .card{background:#1d1d1f}
.card .k{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.dark .card .k{color:var(--g1)}
.card .t{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:10px 0 10px;line-height:1.3}
.card .d{font-size:16px;line-height:1.6;color:var(--ink2)}
.dark .card .d{color:#a1a1a6}
.card.sm{padding:24px 24px;border-radius:22px}
.card.sm .t{font-size:20px;margin:6px 0 8px}
.card.sm .d{font-size:14.5px}
.card.inv{background:var(--ink);color:#fff}
.card.inv .d{color:#a1a1a6}
.card.inv .k{color:var(--g1)}

/* list rows */
.rows{border-top:1px solid var(--line)}
.rows .row{display:grid;grid-template-columns:220px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font-size:18px;line-height:1.5}
.rows .row b{font-weight:700}
.rows .row span{color:var(--ink2)}

/* compare */
.cmp{width:100%;border-collapse:collapse;font-size:17px}
.cmp th{font-size:13px;letter-spacing:.06em;color:var(--grey);font-weight:700;text-align:left;padding:0 20px 14px}
.cmp td{padding:15px 20px;border-top:1px solid var(--line);line-height:1.45}
.cmp td:first-child{font-weight:700;width:150px;padding-left:0}
.cmp td.o{color:var(--grey)}
.cmp td.n{font-weight:600}
.cmp th.n{color:var(--accent)}
.cmp .nc{background:linear-gradient(90deg,rgba(52,209,168,.10),rgba(47,140,255,.10))}

/* phone */
.phone{width:320px;height:620px;border-radius:52px;background:#1d1d1f;padding:12px;box-shadow:0 40px 80px rgba(0,0,0,.35),inset 0 0 0 2px #3a3a3c;flex:none}
.scr{width:100%;height:100%;border-radius:42px;overflow:hidden;background:#fff;display:flex;flex-direction:column;position:relative}
.scr .isl{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:96px;height:28px;border-radius:20px;background:#000}
.scr .hd{padding:52px 18px 12px;text-align:center;border-bottom:1px solid #eee;font-size:13px;font-weight:700;color:#1d1d1f}
.scr .hd small{display:block;font-size:11px;color:#86868b;font-weight:500;margin-top:2px}
.msgs{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.45;background:#fff}
.m{max-width:82%;padding:9px 13px;border-radius:18px}
.m.u{align-self:flex-end;background:#0a84ff;color:#fff}
.m.a{align-self:flex-start;background:#e9e9eb;color:#1d1d1f}
.m.w{align-self:flex-start;background:#fff1e6;color:#9a4a12}
.m.sms{align-self:flex-start;background:#e9e9eb;color:#1d1d1f;max-width:88%}
.lk{display:block;margin-top:8px;background:#fff;border-radius:12px;padding:10px 12px;font-weight:700;color:#0a84ff}
.lk small{display:block;color:#86868b;font-weight:500;font-size:11px;margin-top:2px}
.time{align-self:center;font-size:10.5px;color:#86868b;margin:4px 0}
.qk{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px 18px}
.qk span{font-size:11px;border:1px solid #d2d2d7;border-radius:999px;padding:5px 10px;color:#424245}

/* split */
.split{display:grid;grid-template-columns:1fr auto;gap:72px;align-items:center;flex:1}
.pts{list-style:none;margin-top:36px}
.pts li{display:flex;gap:18px;align-items:baseline;padding:14px 0;font-size:19px;line-height:1.5;border-top:1px solid var(--line)}
.dark .pts li{border-color:#2c2c2e}
.pts li b{min-width:120px;font-weight:700}
.pts li span{color:var(--ink2)}
.dark .pts li span{color:#a1a1a6}

/* principle */
.duo{display:grid;grid-template-columns:150px 1fr 1fr;gap:0;margin-top:36px;font-size:17px}
.duo div{padding:16px 20px;border-top:1px solid var(--line);line-height:1.45}
.duo .hd{font-size:13px;letter-spacing:.06em;font-weight:700;color:var(--grey);border-top:none;padding-bottom:12px}
.duo .hd.h{color:var(--accent)}
.duo .c1{font-weight:700;padding-left:0}
.duo .h{background:linear-gradient(90deg,rgba(52,209,168,.10),rgba(47,140,255,.10));font-weight:600}
.duo .hd.h{background:none}

/* features */
.feat .no{font-size:14px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* journey */
.jr{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.jr .s{border-radius:24px;background:var(--light);padding:28px 22px;min-height:360px}
.jr .s .w{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.04em}
.jr .s .t{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:8px 0 16px}
.jr .s ul{list-style:none;font-size:15px;color:var(--ink2);line-height:1.5}
.jr .s li{padding:7px 0;border-top:1px solid var(--line)}
.jr .s.last{background:var(--ink);color:#fff}
.jr .s.last .w{color:var(--g1)}
.jr .s.last ul{color:#a1a1a6}
.jr .s.last li{border-color:#3a3a3c}

/* dashboard */
.dash{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px;margin-top:36px;flex:1}
.pane{background:#1d1d1f;border-radius:24px;padding:24px 24px}
.pane .ct{font-size:13px;color:#a1a1a6;font-weight:600;display:flex;justify-content:space-between;margin-bottom:16px}
.bar{display:flex;align-items:center;gap:10px;font-size:13.5px;margin:10px 0;color:#d2d2d7}
.bar .k{width:70px}
.bar .tr{flex:1;height:8px;border-radius:4px;background:#2c2c2e;overflow:hidden}
.bar .fl{display:block;height:100%;border-radius:4px;background:var(--grad)}
.bar .v{width:36px;text-align:right;font-weight:700;color:#fff}
.bigs{display:flex;gap:30px;margin-top:22px}
.bigs b{display:block;font-size:44px;font-weight:800;letter-spacing:-.03em;color:#fff}
.bigs span{font-size:12.5px;color:#86868b}
.ln{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:10px 0;border-top:1px solid #2c2c2e;color:#d2d2d7}
.tg{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.tg.g{background:rgba(52,209,168,.16);color:#34d1a8}
.tg.o{background:rgba(255,159,10,.16);color:#ff9f0a}
.tg.s{background:#2c2c2e;color:#a1a1a6}
.rk{display:flex;align-items:center;gap:12px;font-size:14.5px;padding:10px 0;border-top:1px solid #2c2c2e;color:#f5f5f7}
.rk i{font-style:normal;width:24px;height:24px;border-radius:50%;background:#2c2c2e;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.rk:first-of-type i{background:var(--grad);color:#000}
.rk b{margin-left:auto}
.lock{margin-top:14px;font-size:12.5px;color:var(--g1);font-weight:600}

/* cycle */
.cyc{display:grid;grid-template-columns:380px 1fr;gap:64px;align-items:center;flex:1}
.loop{position:relative;width:380px;height:380px}
.loop .ring{position:absolute;inset:40px;border-radius:50%;border:2px solid var(--line)}
.loop .core{position:absolute;inset:130px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px;font-weight:700;line-height:1.4}
.nd{position:absolute;width:128px;height:76px;border-radius:20px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px;font-weight:800}
.nd small{font-size:11.5px;color:var(--grey);font-weight:500;margin-top:2px}
.nd.hm{background:var(--grad);color:#000}
.nd.hm small{color:#0b3b33}
.n1{left:126px;top:0}.n2{right:0;top:152px}.n3{left:126px;bottom:0}.n4{left:0;top:152px}
.map{width:100%;border-collapse:collapse;font-size:15.5px}
.map th{text-align:left;font-size:12.5px;letter-spacing:.06em;color:var(--grey);padding:0 16px 12px 0}
.map th.n{color:var(--accent)}
.map td{padding:13px 16px 13px 0;border-top:1px solid var(--line);line-height:1.4}
.map td:last-child{font-weight:600}

/* custom */
.cust{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:36px;flex:1}
.pk{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pk div{background:var(--light);border-radius:18px;padding:16px 18px}
.pk b{display:block;font-size:17px;font-weight:700;margin-bottom:3px}
.pk span{font-size:13.5px;color:var(--ink2)}
.st{list-style:none;counter-reset:s}
.st li{counter-increment:s;display:flex;gap:16px;padding:13px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.45}
.st li:before{content:counter(s,decimal-leading-zero);font-weight:800;font-size:15px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;min-width:26px}
.st li b{display:block;font-weight:700}
.st li span{color:var(--ink2);font-size:14.5px}
.reuse{margin-top:18px;border-radius:20px;background:var(--ink);color:#d2d2d7;padding:18px 22px;font-size:15.5px;line-height:1.55}
.reuse b{color:#fff}

/* price */
.price{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;flex:1}
.amt{font-size:200px;font-weight:800;letter-spacing:-.06em;line-height:.95}
.amt small{font-size:56px;letter-spacing:-.03em;margin-left:6px}
.calc .ln2{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-top:1px solid #2c2c2e;font-size:17px;color:#a1a1a6}
.calc .ln2 b{font-size:28px;color:#f5f5f7;font-weight:800;letter-spacing:-.02em}
.incl{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.incl span{font-size:13.5px;padding:7px 13px;border-radius:999px;background:#1d1d1f;color:#d2d2d7}

/* timeline */
.tl{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:80px}
.tl>div{padding-top:20px;border-top:3px solid var(--line)}
.tl>div.k{border-image:var(--grad) 1}
.tl .d{font-size:13.5px;font-weight:700;color:var(--grey)}
.tl .k .d{color:var(--accent)}
.tl .t{font-size:19px;font-weight:800;margin:6px 0 8px;letter-spacing:-.02em}
.tl .x{font-size:14px;color:var(--ink2);line-height:1.5}
.risk{margin-top:72px;border-radius:24px;background:var(--light);padding:26px 30px;font-size:18px;line-height:1.6}
.risk b{font-weight:800}

/* kpi */
.kp{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:110px}
.kp .v{font-size:76px;font-weight:800;letter-spacing:-.05em;line-height:1}
.kp .v small{font-size:26px;letter-spacing:-.02em}
.kp .l{font-size:17px;font-weight:700;margin-top:14px}
.kp .s{font-size:14px;color:#86868b;margin-top:6px;line-height:1.5}

/* value */
.val{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;margin-top:36px;flex:1}
.model{background:var(--ink);color:#fff;border-radius:28px;padding:34px 34px}
.model .t{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.3;margin:10px 0 22px}
.model .ln2{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #3a3a3c;font-size:15.5px}
.model .ln2 span:first-child{color:#86868b}

.grid3 .card:not(.sm){min-height:250px}
.grid4 .card.sm{min-height:200px}
.grid3 .card.sm{min-height:150px}
/* predict */
.pred{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center;flex:1}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.slot{background:#1d1d1f;border-radius:22px;padding:20px 20px}
.slot.now{background:#2c2c2e;box-shadow:inset 0 0 0 2px #34d1a8}
.slot .tm{font-size:28px;font-weight:800;letter-spacing:-.03em;color:#fff}
.slot .tm small{font-size:13px;color:#86868b;font-weight:600;margin-left:6px;letter-spacing:0}
.slot .q{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#d2d2d7;margin-top:10px}
.slot .q i{font-style:normal;width:18px;font-weight:800;color:#86868b}
.slot.now .q i{color:#34d1a8}
.slot .q .bb{flex:none;height:5px;border-radius:3px;background:var(--grad);margin-left:auto}
.faq{padding:6px 12px 4px}
.faq .fh{font-size:11.5px;font-weight:700;color:#86868b;margin:4px 2px 8px;display:flex;justify-content:space-between}
.faq .fh b{color:#0a84ff}
.faq .fi{display:flex;align-items:center;gap:8px;background:#f2f2f7;border-radius:12px;padding:9px 11px;margin-bottom:6px;font-size:12.5px;color:#1d1d1f}
.faq .fi i{font-style:normal;font-weight:800;color:#0a84ff;width:14px}
.faq .fi em{font-style:normal;margin-left:auto;font-size:10.5px;color:#86868b}
.inp{margin:auto 12px 18px;border:1px solid #d2d2d7;border-radius:999px;padding:9px 14px;font-size:12px;color:#aeaeb2}
/* learn */
.learn{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;flex:1}
.learn .hero{font-size:62px}
.learn .pts li b{min-width:110px}
.learn .pts li{font-size:17px;padding:11px 0}
.curve{background:#1d1d1f;border-radius:28px;padding:28px 28px 22px}
.curve .cap{font-size:13px;color:#86868b;font-weight:600;display:flex;justify-content:space-between;margin-bottom:8px}
/* story survey */
.story{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center;flex:1}
.story .hero{font-size:64px}
.story .pts li{padding:10px 0;font-size:17px}
.story .pts li b{min-width:136px}
.patent{margin-top:18px;border-radius:20px;background:var(--light);padding:18px 22px}
.patent .pk2{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--accent)}
.patent .pt{font-size:16px;font-weight:700;line-height:1.5;margin-top:6px}
.sv{background:linear-gradient(160deg,#0f2a2a 0%,#0b1a33 100%) !important}
.sv .pg{display:flex;gap:4px;padding:52px 18px 0}
.sv .pg span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.2)}
.sv .pg span.on{background:#34d1a8}
.sv .ch{padding:22px 20px 0;color:#fff}
.sv .ch small{font-size:11px;color:#34d1a8;font-weight:700;letter-spacing:.06em}
.sv .ch p{font-size:17px;font-weight:700;line-height:1.45;margin-top:8px;letter-spacing:-.01em}
.sv .op{padding:18px 16px 0;display:flex;flex-direction:column;gap:8px}
.sv .op div{background:rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;font-size:12.5px;color:#e5e5ea;line-height:1.4}
.sv .op div.sel{background:#fff;color:#000;font-weight:700}
.sv .res{margin:auto 16px 18px;border-radius:16px;background:rgba(52,209,168,.14);padding:12px 14px;font-size:11.5px;color:#9be7d3;line-height:1.45}
.sv .res b{color:#fff;display:block;font-size:13px}
/* patents */
.pat{display:flex;gap:96px;justify-content:center;margin-top:20px}
.pat .v{font-size:180px;font-weight:800;letter-spacing:-.06em;line-height:1}
.pat .v small{font-size:52px;margin-left:6px;letter-spacing:-.02em}
.pat .l{font-size:22px;color:#a1a1a6;margin-top:10px;font-weight:600}
.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px;text-align:left}
.tech div{background:#1d1d1f;border-radius:20px;padding:20px 22px}
.tech b{display:block;font-size:17px;color:#fff;margin-bottom:4px}
.tech span{font-size:13.5px;color:#a1a1a6;line-height:1.5}
/* gift */
.optx{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;margin-top:30px;flex:1;max-height:412px}
.ocol{display:flex;flex-direction:column;gap:18px}
.ocol .card{flex:1;min-height:0}
.gift{background:var(--ink);border-radius:28px;padding:26px 28px;display:grid;grid-template-columns:1fr 200px;gap:26px;color:#f5f5f7}
.gift .k{font-size:13px;font-weight:700;color:var(--g1);letter-spacing:.04em}
.gift .gt{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.32;margin:10px 0 14px}
.gs{list-style:none;counter-reset:g}
.gs li{counter-increment:g;display:flex;gap:12px;padding:7px 0;border-top:1px solid #3a3a3c;font-size:14.5px;line-height:1.4}
.gs li:before{content:counter(g);flex:none;width:22px;height:22px;border-radius:50%;background:#2c2c2e;color:var(--g1);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gs li b{min-width:92px;font-weight:700;white-space:nowrap}
.gs li span{color:#a1a1a6}
.gm{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.gm span{font-size:12px;padding:5px 11px;border-radius:999px;background:#2c2c2e;color:#d2d2d7}
.ticket{background:#fff;border-radius:22px;color:#1d1d1f;padding:18px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;align-self:center}
.tk-h{font-size:11px;color:#86868b;font-weight:600}
.tk-t{font-size:18px;font-weight:800;margin-top:4px;letter-spacing:-.02em}
.tk-n{font-size:11.5px;color:#424245;margin-top:4px}
.qr{width:96px;height:96px;margin-top:12px;border-radius:8px;background:
  conic-gradient(from 90deg at 18px 18px,#000 25%,transparent 0) 0 0/32px 32px,
  repeating-linear-gradient(90deg,#000 0 6px,#fff 6px 12px),
  repeating-linear-gradient(0deg,#000 0 6px,#fff 6px 14px);background-blend-mode:normal,difference;box-shadow:inset 0 0 0 6px #fff}
.bc{width:150px;height:34px;margin-top:12px;background:repeating-linear-gradient(90deg,#000 0 2px,#fff 2px 4px,#000 4px 7px,#fff 7px 9px,#000 9px 10px,#fff 10px 13px)}
.tk-no{font-size:12.5px;font-weight:700;margin-top:8px;font-variant-numeric:tabular-nums}
.tk-s{font-size:11px;color:#ff9f0a;font-weight:700;margin-top:6px}

/* 쪽 번호 (표지·맺음 제외) — .note 와 같은 기준선 */
.folio{position:absolute;right:96px;bottom:30px;font-size:12px;line-height:1;color:var(--grey);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}
.folio b{font-weight:700;margin-right:14px;letter-spacing:-.01em}
.folio i{font-style:normal;margin:0 4px;opacity:.55}
.dark .folio{color:#6e6e73}
.note{line-height:1}

/* 벤토 카드: 카드 묶음이 남는 세로 공간을 채우고, 머리(번호·아이콘)는 위·제목과 설명은 아래 */
.slide>.fillv{flex:1;min-height:0;grid-auto-rows:1fr}
.fillv .card{display:flex;flex-direction:column;min-height:0}
.fillv .bt{margin-top:auto;padding-top:18px}
.fillv .bt>.t:first-child{margin-top:0}
.fillv .card>.k,.fillv .card>.no{font-size:15px}
.ic{width:52px;height:52px;border-radius:16px;flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(52,209,168,.16),rgba(47,140,255,.16))}
.ic svg{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.grid3.fillv .card:not(.sm) .ic{width:64px;height:64px;border-radius:20px}
.grid3.fillv .card:not(.sm) .ic svg{width:34px;height:34px;stroke-width:1.6}
.card.sm .ic{width:46px;height:46px;border-radius:14px}
.card.sm .ic svg{width:25px;height:25px}

/* 성과 목표: 남는 공간 가운데, 항목마다 위 선 */
.kp{margin-top:auto;margin-bottom:auto}
.kp>div{border-top:1px solid #2c2c2e;padding-top:30px}

/* 수령권 QR·바코드 (SVG — 화면·인쇄 동일) */
svg.qr{display:block;width:104px;height:104px;margin-top:12px;border-radius:6px;background:none;box-shadow:none}
svg.bc{display:block;width:150px;height:34px;margin-top:12px;background:none}

/* 휴대폰 시안: 본문 영역(72~656px) 안에 들어오도록 90% — 쪽 번호와 겹치지 않게 */
.split .phone,.pred .phone,.story .phone{zoom:.9}

/* 기억의 한계 (사람의 한계 3열) */
.lim{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:auto}
.lim-m{background:#1d1d1f;border-radius:28px;padding:28px 28px 30px;display:flex;flex-direction:column}
.lim-v{font-size:72px;font-weight:800;letter-spacing:-.05em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.lim-v small{font-size:28px;letter-spacing:-.02em;margin-left:3px}
.lim-s{font-size:13px;color:#86868b;font-weight:600;margin-top:10px}
.lim-k{font-size:22px;font-weight:800;letter-spacing:-.02em;color:#f5f5f7;margin-top:26px}
.lim-d{font-size:15px;line-height:1.6;color:#a1a1a6;margin-top:8px}
.lim-say{margin-top:26px;margin-bottom:6px;font-size:20px;font-weight:500;color:#a1a1a6;letter-spacing:-.01em}
.lim-say b{color:#f5f5f7;font-weight:700}

/* 참석자 프로파일링 (왼쪽 설명 + 오른쪽 프로파일 카드) */
.prof{display:grid;grid-template-columns:1fr 404px;gap:56px;align-items:center;flex:1}
.prof .hero{font-size:60px}
.prof .sub{font-size:19px;margin-top:16px}
.flow{list-style:none;margin-top:26px;counter-reset:f}
.flow li{counter-increment:f;display:grid;grid-template-columns:30px 104px 1fr;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.45}
.flow li:before{content:counter(f,decimal-leading-zero);font-weight:800;font-size:14px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.flow li b{font-weight:800}
.flow li span{color:var(--ink2)}
.pcard{background:#fff;border-radius:28px;padding:22px 22px 18px;box-shadow:0 30px 60px -24px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.04)}
.pc-hd{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #ececf0}
.pc-av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#000;flex:none}
.pc-hd b{display:block;font-size:16px;font-weight:800}
.pc-hd small{display:block;font-size:12px;color:var(--grey);margin-top:2px}
.pc-ok{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--accent);background:rgba(52,209,168,.14);padding:4px 10px;border-radius:999px;white-space:nowrap}
.pc-sec{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--grey);margin:14px 0 6px}
.pc-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.pc-chip{font-size:13.5px;font-weight:700;padding:5px 12px;border-radius:999px}
.pc-chip.g{background:rgba(52,209,168,.15);color:#08745f}
.pc-chip.o{background:rgba(255,159,10,.15);color:#9a4f06}
.pc-row em{font-style:normal;font-size:11.5px;color:var(--grey)}
.pc-asg{margin-top:14px;border-radius:18px;padding:14px 16px 12px;background:linear-gradient(135deg,rgba(52,209,168,.10),rgba(47,140,255,.10))}
.pc-asg-h{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#0b5c7a;margin-bottom:6px}
.pc-asg-h span:last-child{font-weight:600;color:var(--grey)}
.pc-kv{display:flex;justify-content:space-between;padding:5px 0;font-size:13.5px;border-top:1px solid rgba(0,0,0,.06)}
.pc-kv span{color:var(--grey)}
.pc-kv b{font-weight:700}
.pc-st{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;font-weight:700;color:#9a4f06}
.pc-dot{width:7px;height:7px;border-radius:50%;background:#ff9f0a}
.pc-btn{margin-left:auto;font-size:12px;font-weight:700;color:#fff;background:var(--ink);padding:5px 14px;border-radius:999px}
.pc-btn.gh{margin-left:0;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}

/* 맺음: 제품명 풀이 (NS = Never Sleep) */
.nsx{position:relative;margin-top:12px;font-size:15px;font-weight:500;color:#86868b;letter-spacing:.01em}

/* 큰 숫자는 같은 폭 숫자로 */
.num .v,.kp .v,.pat .v,.amt,.bigs b,.calc .ln2 b,.slot .tm,.bar .v,.rk b{font-variant-numeric:tabular-nums}

/* 표지 빛 번짐 — 화면에서만 천천히 흐른다 */
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-56px,40px,0) scale(1.06)}}
.anim .frame.play .slide.cover>.glow{animation:drift 16s ease-in-out infinite alternate}

/* ---------- 3) 셸 · 모드 ---------- */
:root{--s:1;--cols:3;--page:#121214;--ui:rgba(29,29,31,.72);--ui-line:rgba(255,255,255,.1)}
html{-webkit-text-size-adjust:100%;background:var(--page)}
html,body{font-family:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;color:var(--ink);text-rendering:optimizeLegibility}
body{background:var(--page);min-height:100%}
.title,.hero,.mega,.h3{text-wrap:balance}

#deck{counter-reset:sl}
.frame{position:relative;width:calc(1280px * var(--s));height:calc(720px * var(--s));flex:none;counter-increment:sl}
.slide{position:absolute;left:0;top:0;width:1280px;height:720px;transform:scale(var(--s));transform-origin:0 0;display:flex;flex-direction:column;overflow:hidden;padding:72px 96px 64px;background:var(--white)}

/* 기본(스크립트 없음) = 문서 보기와 같은 흐름 */
#deck{display:flex;flex-direction:column;align-items:center;gap:64px;padding:96px 0 120px}

/* 발표 (deck) */
.mode-deck,.mode-deck body{height:100%;overflow:hidden;background:#000}
.mode-deck #deck{position:fixed;inset:0;display:block;padding:0;background:#000}
.mode-deck .frame{position:absolute;left:50%;top:50%;margin:calc(-360px * var(--s)) 0 0 calc(-640px * var(--s));opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
.mode-deck .frame.active{opacity:1;visibility:visible;z-index:1;transition:opacity .5s ease,visibility 0s}

/* 문서 (doc) · 전체 (grid) — 공통 액자 */
.mode-doc .frame,.mode-grid .frame{border-radius:calc(16px * var(--s) + 4px);box-shadow:0 0 0 1px var(--ui-line),0 30px 60px -20px rgba(0,0,0,.6)}
.mode-doc .slide,.mode-grid .slide{border-radius:calc((16px * var(--s) + 4px) / var(--s))}
.mode-doc .frame::before,.mode-grid .frame::before{content:counter(sl,decimal-leading-zero) "\2003" attr(data-title);position:absolute;left:2px;font-size:13px;font-weight:600;letter-spacing:.01em;color:#86868b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.mode-doc .frame::before{bottom:calc(100% + 16px)}
.mode-doc .frame{scroll-margin-top:110px}
.anim.mode-doc .frame:not(.play) .r{opacity:0}

.mode-grid #deck{display:grid;grid-template-columns:repeat(var(--cols),calc(1280px * var(--s)));justify-content:center;gap:56px 24px;padding:100px 24px 120px}
.mode-grid .frame{cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}
.mode-grid .frame::before{top:calc(100% + 12px)}
.mode-grid .frame:hover,.mode-grid .frame:focus-visible{outline:none;box-shadow:0 0 0 2px #f5f5f7,0 30px 60px -20px rgba(0,0,0,.6);transform:translateY(-3px)}
.mode-grid .frame.cur{box-shadow:0 0 0 2px var(--g1),0 30px 60px -20px rgba(0,0,0,.6)}
.mode-grid .frame.cur::before{color:#f5f5f7}

/* ---------- 4) UI ---------- */
.ui{font-family:inherit;-webkit-font-smoothing:antialiased}
.ui button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.ui svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ui :focus-visible{outline:2px solid var(--g1);outline-offset:2px}

/* 상단 막대 (doc·grid) */
.topbar{position:fixed;left:0;right:0;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:16px;padding:0 20px 0 24px;background:rgba(18,18,20,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--ui-line);color:#f5f5f7}
.mode-deck .topbar{display:none}
.tb-brand{display:flex;align-items:center;gap:10px;color:#f5f5f7;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:-.02em;min-width:0}
.tb-brand .mk{width:22px;height:22px;border-radius:7px;background:var(--grad);flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.tb-brand em{font-style:normal;font-weight:500;font-size:13px;color:#86868b;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-sp{flex:1}
.topbar .tb-home{font-size:13px;font-weight:600;color:#a1a1a6;text-decoration:none;padding:0 6px;white-space:nowrap}
.topbar .tb-home:hover{color:#f5f5f7}
.seg{display:flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.08)}
.seg button{height:30px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;color:#a1a1a6;transition:background .2s,color .2s}
.seg button:hover{color:#f5f5f7}
.seg button[aria-pressed="true"]{background:#f5f5f7;color:#000}
.topbar .tb-print{display:flex;align-items:center;gap:8px;height:34px;padding:0 16px 0 13px;border-radius:999px;background:var(--grad);color:#000!important;font-size:13px!important;font-weight:700!important;white-space:nowrap}
.topbar .tb-print svg{width:16px;height:16px;stroke-width:2}
.topbar .tb-print:hover{filter:brightness(1.06)}

/* 발표 도크 (deck) */
.dock{position:fixed;left:50%;bottom:22px;z-index:20;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:6px;border-radius:999px;background:var(--ui);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 1px var(--ui-line),0 12px 32px rgba(0,0,0,.4);color:#f5f5f7;transition:opacity .35s ease,transform .35s ease}
.dock button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}
.dock button:hover{background:rgba(255,255,255,.12)}
.dock button:disabled{opacity:.3;cursor:default;background:none}
.dock .count{min-width:66px;text-align:center;font-size:13px;font-weight:600;color:#d2d2d7;font-variant-numeric:tabular-nums}
.dock .count b{color:#f5f5f7;font-weight:700}
.dock .sep{width:1px;height:20px;background:var(--ui-line);margin:0 6px}
.mode-doc .dock,.mode-grid .dock{display:none}
.mode-deck.idle .dock{opacity:0;transform:translate(-50%,12px);pointer-events:none}
.mode-deck.idle #deck{cursor:none}
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:20;pointer-events:none}
.progress i{display:block;height:100%;width:0;background:var(--grad);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.mode-doc .progress,.mode-grid .progress{display:none}
.mode-deck.idle .progress{opacity:.0;transition:opacity .6s}

/* 인쇄 안내 (sheet) */
.sheet{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .25s ease both}
.sheet[hidden]{display:none}
.sheet-card{position:relative;width:min(520px,100%);border-radius:28px;background:#1d1d1f;color:#f5f5f7;padding:34px 34px 28px;box-shadow:0 0 0 1px var(--ui-line),0 40px 80px rgba(0,0,0,.5);animation:rise .4s cubic-bezier(.2,.7,.2,1) both}
.sheet-card .k{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--g1)}
.sheet-card h2{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:8px 0 10px}
.sheet-card p{font-size:15px;line-height:1.6;color:#a1a1a6}
.sheet-card ol{list-style:none;margin:20px 0 18px;counter-reset:p}
.sheet-card li{counter-increment:p;display:grid;grid-template-columns:26px 88px 1fr;align-items:baseline;padding:12px 0;border-top:1px solid #2c2c2e;font-size:14.5px;line-height:1.5;color:#d2d2d7}
.sheet-card li:before{content:counter(p);width:20px;height:20px;border-radius:50%;background:#2c2c2e;color:var(--g1);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;align-self:center}
.sheet-card li b{color:#f5f5f7;font-weight:700}
.sheet-card .sm{font-size:13px;color:#86868b}
.sheet-card .acts{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:999px;font-size:15px!important;font-weight:700!important;text-decoration:none;white-space:nowrap;transition:filter .15s,background .15s}
.btn.pri{background:var(--grad);color:#000!important}
.btn.pri:hover{filter:brightness(1.06)}
.btn.ghost{background:#2c2c2e;color:#f5f5f7!important}
.btn.ghost:hover{background:#3a3a3c}
.btn svg{width:17px;height:17px;stroke-width:2}
.sheet-card .x{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#86868b}
.sheet-card .x:hover{background:#2c2c2e;color:#f5f5f7}

/* 좁은 화면 */
@media (max-width:760px){
  .tb-brand em{display:none}
  .topbar{gap:10px;padding:0 12px 0 16px}
  .seg button{padding:0 11px}
  .topbar .tb-print span{display:none}
  .topbar .tb-print{padding:0 10px}
  .mode-doc #deck{gap:48px;padding-top:92px}
  .dock .hide-sm{display:none}
}

/* 낮은 가로 화면(휴대폰 가로): 도크를 작게, 아래로 */
@media (max-height:500px){
  .dock{bottom:8px;padding:3px}
  .dock button{width:30px;height:30px}
  .dock .count{min-width:54px;font-size:12px}
}

/* 동작 줄이기 */
@media (prefers-reduced-motion:reduce){
  .mode-deck .frame,.mode-deck .frame.active{transition:none}
  .frame.play .r,.sheet,.sheet-card{animation:none}
}

/* ---------- 5) 인쇄 — 화면 그대로, 슬라이드 1장 = 1쪽 (1280×720 CSS px = 13.333×7.5in) ---------- */
@page{size:1280px 720px;margin:0}
@media print{
  html,body{background:#fff!important;height:auto!important;min-height:0!important;overflow:visible!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .ui{display:none!important}
  #deck{position:static!important;display:block!important;padding:0!important;margin:0!important;gap:0!important;background:none!important}
  .frame{position:relative!important;left:auto!important;top:auto!important;margin:0!important;width:1280px!important;height:720px!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transition:none!important;transform:none!important;border-radius:0!important;box-shadow:none!important;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}
  .frame:last-child{break-after:auto;page-break-after:auto}
  .frame::before{display:none!important}
  .slide{transform:none!important;border-radius:0!important}
  .r{animation:none!important;opacity:1!important;transform:none!important}
  .glow{animation:none!important}
}
