/* 2026-10-03 캠퍼스다운 무료 PPT — 사이트 블루 + 오렌지 포인트 */
.ppt-wrap,.ppt-sticky{--pb:#2b50f0;--pb2:#4f6bed;--pbd:#1e3bb8;--po:#ff7a1a;--po2:#ff9f43;--ink:#1e293b;--sub:#64748b;--line:#e6eaf3;--bg:#f6f8fd;color:var(--ink);font-family:'Pretendard','Noto Sans KR',sans-serif}
.ppt-wrap *,.ppt-sticky *{box-sizing:border-box}
.ppt-sticky a{text-decoration:none}
.ppt-wrap a{text-decoration:none;color:inherit}
.ppt-wrap img{max-width:100%}
.ppt-wrap h1,.ppt-wrap h2,.ppt-wrap h3{border:0!important;padding:0;background:none;text-align:left}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ppt-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--sub);margin:4px 0 14px}
.ppt-crumb a:hover{color:var(--pb)}
.ppt-crumb span:last-child{color:var(--ink);font-weight:600;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* hero */
.ppt-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:center;padding:38px 40px;border-radius:26px;
  background:linear-gradient(135deg,#1d3fd6 0%,#2b50f0 45%,#4f6bed 100%);color:#fff;box-shadow:0 18px 40px -22px rgba(43,80,240,.65)}
.ppt-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ppt-hero__bg span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.ppt-hero__bg span:nth-child(1){width:340px;height:340px;right:-90px;top:-120px;background:radial-gradient(circle,#ff9f43 0%,rgba(255,122,26,0) 70%)}
.ppt-hero__bg span:nth-child(2){width:260px;height:260px;left:-80px;bottom:-140px;background:radial-gradient(circle,#7c9bff 0%,rgba(124,155,255,0) 70%)}
.ppt-hero__bg span:nth-child(3){width:120px;height:120px;left:46%;top:-50px;background:radial-gradient(circle,rgba(255,255,255,.35),rgba(255,255,255,0) 70%)}
.ppt-hero__text{position:relative;z-index:1}
.ppt-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.14em;background:rgba(255,255,255,.14);padding:6px 12px;border-radius:99px}
.ppt-eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--po);box-shadow:0 0 0 4px rgba(255,122,26,.3)}
.ppt-hero__title{margin:0 0 10px;font-size:40px;line-height:1.18;font-weight:900;letter-spacing:-.02em;color:#fff}
.ppt-hero__title em{font-style:normal;background:linear-gradient(transparent 62%,rgba(255,122,26,.85) 62%);padding:0 2px}
.ppt-hero__desc{margin:0 0 20px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.9)}
.ppt-hero__desc strong{color:#ffd2ad}
.ppt-search{position:relative;display:flex;align-items:center;max-width:520px;background:#fff;border-radius:16px;box-shadow:0 10px 28px -12px rgba(0,0,0,.35)}
.ppt-search svg{position:absolute;left:16px;width:20px;height:20px;color:var(--pb)}
.ppt-search input{flex:1;border:0;outline:0;background:transparent;padding:16px 44px 16px 46px;font-size:15px;color:var(--ink);border-radius:16px;min-width:0}
.ppt-search input:focus{box-shadow:0 0 0 3px rgba(255,122,26,.55)}
.ppt-search__clear{position:absolute;right:10px;border:0;background:#eef1f8;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;color:var(--sub);cursor:pointer}
.ppt-hero__stats{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:20px 0 0;padding:0}
.ppt-hero__stats li{display:flex;flex-direction:column}
.ppt-hero__stats strong{font-size:22px;font-weight:900}
.ppt-hero__stats span{font-size:12px;color:rgba(255,255,255,.78)}
.ppt-admin-link{margin:14px 0 0}.ppt-admin-link a{display:inline-block;background:rgba(255,255,255,.18);padding:7px 12px;border-radius:10px;font-size:13px;font-weight:700;color:#fff}
.ppt-hero__art{position:relative;z-index:1;display:flex;justify-content:center}
.ppt-deck{position:relative;width:260px;height:170px}
.ppt-deck__s{position:absolute;inset:0;border-radius:14px;background:#fff;box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.ppt-deck__s--3{transform:rotate(-10deg) translate(-26px,8px);background:#c9d4ff}
.ppt-deck__s--2{transform:rotate(-4deg) translate(-12px,4px);background:#e7ecff}
.ppt-deck__s--1{transform:rotate(3deg);padding:22px;display:flex;flex-direction:column;gap:10px;animation:pptFloat 5s ease-in-out infinite}
.ppt-deck__s--1 i{display:block;width:64%;height:16px;border-radius:6px;background:linear-gradient(90deg,var(--pb),var(--pb2))}
.ppt-deck__s--1 b{display:block;height:9px;border-radius:5px;background:#e3e8f5}.ppt-deck__s--1 b.short{width:55%}
.ppt-deck__tag{position:absolute;right:-14px;top:-14px;background:var(--po);color:#fff;font-weight:900;font-size:14px;padding:8px 12px;border-radius:12px;transform:rotate(8deg);box-shadow:0 8px 18px -6px rgba(255,122,26,.7)}
@keyframes pptFloat{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.ppt-deck__s--1{animation:none}}

/* chips */
.ppt-chips{display:flex;gap:8px;margin:22px 0 18px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ppt-chips::-webkit-scrollbar{display:none}
.ppt-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:700;color:#334155;transition:.15s}
.ppt-chip span{font-size:11px;font-weight:800;color:var(--sub);background:#f1f4fa;border-radius:99px;padding:1px 7px}
.ppt-chip:hover{border-color:var(--pb);color:var(--pb)}
.ppt-chip.is-on{background:var(--pb);border-color:var(--pb);color:#fff;box-shadow:0 8px 18px -10px rgba(43,80,240,.8)}
.ppt-chip.is-on span{background:var(--po);color:#fff}
.ppt-result{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;font-size:14px;color:var(--sub)}
.ppt-result b{color:var(--ink)}
.ppt-result button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 12px;font-size:13px;cursor:pointer}

/* grid + card */
.ppt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
@media (max-width:1099px){.ppt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:819px){.ppt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:479px){.ppt-grid{grid-template-columns:1fr}}
.ppt-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.ppt-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -20px rgba(30,59,184,.45);border-color:#cdd6f6}
.ppt-card__link{display:flex;flex-direction:column;height:100%}
.ppt-card__thumb{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#eef2ff,#f7f9ff);overflow:hidden;border-bottom:1px solid var(--line)}
.ppt-card__thumb img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s}
.ppt-card:hover .ppt-card__thumb img{transform:scale(1.035)}
.ppt-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;color:#b8c4f3}
.ppt-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:900;border-radius:8px;padding:4px 9px;letter-spacing:.02em}
.ppt-badge--free{background:linear-gradient(135deg,var(--po),var(--po2));color:#fff;box-shadow:0 6px 14px -6px rgba(255,122,26,.8)}
.ppt-badge--test{background:#334155;color:#fff}
.ppt-card__thumb .ppt-badge--free{position:absolute;left:10px;top:10px}
.ppt-card__thumb .ppt-badge--test{position:absolute;right:10px;top:10px}
.ppt-card__count{position:absolute;right:10px;bottom:10px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:7px}
.ppt-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.ppt-card__cat{font-size:12px;font-weight:800;color:var(--pb)}
.ppt-card__title{margin:0;font-size:16px;line-height:1.4;font-weight:800;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.ppt-card__meta{display:flex;align-items:center;gap:6px;margin-top:auto;font-size:12.5px;color:var(--sub)}
.ppt-card__dl{margin-left:auto;display:inline-flex;align-items:center;gap:3px;color:var(--po);font-weight:800}
.ppt-card__dl svg{width:14px;height:14px}
.ppt-empty{text-align:center;padding:60px 20px;background:#fff;border:1px dashed #cfd7ee;border-radius:20px;color:var(--sub)}
.ppt-empty__title{font-size:18px;font-weight:800;color:var(--ink);margin:0 0 6px}
.ppt-empty a{color:var(--pb);font-weight:700}
.ppt-paging{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:34px 0 10px}
.ppt-paging a,.ppt-paging span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:14px}
.ppt-paging .is-on{background:var(--pb);border-color:var(--pb);color:#fff}
.ppt-guide{margin:44px 0 10px;padding:26px 28px;background:var(--bg);border-radius:20px}
.ppt-guide h2{margin:0 0 14px;font-size:18px;font-weight:900}
.ppt-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0;counter-reset:g}
.ppt-guide li{counter-increment:g;background:#fff;border-radius:16px;padding:16px 16px 16px 56px;position:relative;display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--sub)}
.ppt-guide li::before{content:counter(g);position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:9px;background:var(--pb);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center}
.ppt-guide li:nth-child(2)::before{background:var(--po)}
.ppt-guide strong{color:var(--ink);font-size:15px}

/* detail */
.ppt-flag{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:10px 14px;font-size:14px;margin:0 0 14px;font-weight:600}
.ppt-flag--test{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
.ppt-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}
.ppt-head{margin:0 0 16px}
.ppt-head__badges{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.ppt-head__cat{font-size:13px;font-weight:800;color:var(--pb);background:#eef2ff;padding:4px 10px;border-radius:8px}
.ppt-head__title{margin:0 0 8px;font-size:30px;line-height:1.3;font-weight:900;letter-spacing:-.02em;word-break:keep-all}
.ppt-head__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0;color:var(--sub);font-size:14px}
.ppt-head__admin{margin:10px 0 0}
.ppt-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 10px;scrollbar-width:thin}
.ppt-strip__item{position:relative;flex:0 0 112px;border-radius:10px;overflow:hidden;border:2px solid var(--line);background:#fff;aspect-ratio:16/9}
.ppt-strip__item:hover{border-color:var(--pb)}
.ppt-strip__item img{width:100%;height:100%;object-fit:cover;display:block}
.ppt-strip__item span{position:absolute;left:4px;bottom:4px;background:rgba(15,23,42,.75);color:#fff;font-size:11px;font-weight:800;border-radius:5px;padding:1px 6px}
.ppt-slides{display:flex;flex-direction:column;gap:22px}
.ppt-slide{margin:0;scroll-margin-top:96px}
.ppt-slide img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 14px 34px -24px rgba(15,23,42,.55);background:#f8fafc}
.ppt-slide figcaption{margin-top:8px;font-size:12.5px;color:var(--sub);text-align:right;font-weight:600}
.ppt-ad{min-height:100px;margin:4px 0;text-align:center}
.ppt-about{margin:34px 0 0;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.ppt-about h2{margin:0 0 12px;font-size:19px;font-weight:900}
.ppt-about p{line-height:1.8;font-size:15px;color:#334155;margin:0 0 10px}
.ppt-tags{display:flex;flex-wrap:wrap;gap:6px}.ppt-tags span{background:#f1f4fa;border-radius:8px;padding:4px 10px;font-size:13px;color:#475569}
.ppt-notes{margin:14px 0 0;padding:14px 16px 14px 32px;background:var(--bg);border-radius:12px;font-size:13.5px;color:var(--sub);line-height:1.7}
.ppt-side{position:sticky;top:96px}
.ppt-dlbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 18px 40px -28px rgba(30,59,184,.5)}
.ppt-dlbox__free{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:800;font-size:15px}
.ppt-spec{margin:0 0 16px;padding:0}
.ppt-spec div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}
.ppt-spec dt{color:var(--sub);font-weight:600}.ppt-spec dd{margin:0;font-weight:800}
.ppt-dlbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:14px 18px;border:0;border-radius:16px;cursor:pointer;
  background:linear-gradient(135deg,var(--po) 0%,#ff5f1f 100%);color:#fff!important;font-size:19px;font-weight:900;letter-spacing:-.01em;
  box-shadow:0 14px 26px -12px rgba(255,95,31,.85);transition:transform .15s,box-shadow .15s,filter .15s;font-family:inherit}
.ppt-dlbtn svg{width:24px;height:24px;flex:0 0 auto}
.ppt-dlbtn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 18px 30px -12px rgba(255,95,31,.9)}
.ppt-dlbtn:focus-visible{outline:3px solid var(--pb);outline-offset:3px}
.ppt-dlbtn.is-busy{opacity:.75;pointer-events:none}
.ppt-dlbox__hint{margin:10px 0 0;font-size:12.5px;color:var(--sub);text-align:center}
.ppt-dlbox__msg{margin:10px 0 0;font-size:13.5px;min-height:1px;line-height:1.5}
.ppt-dlbox__msg.is-ok{color:#047857;font-weight:700}.ppt-dlbox__msg.is-warn{color:#b45309;font-weight:700}
.ppt-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line);background:#fff;cursor:pointer}
.ppt-btn--sm{padding:6px 12px;font-size:13px}
.ppt-btn--ghost:hover{border-color:var(--pb);color:var(--pb)}
.ppt-related{margin:46px 0 0}
.ppt-related__head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 14px}
.ppt-related__head h2{margin:0;font-size:20px;font-weight:900}
.ppt-related__head a{font-size:14px;color:var(--pb);font-weight:700}
.ppt-sticky{display:none}
@media (max-width:991px){
  .ppt-detail__grid{grid-template-columns:1fr;gap:18px}
  .ppt-side{position:static;order:-1}
  .ppt-detail__main{display:contents}
  .ppt-head{order:-2}
  .ppt-strip,.ppt-slides,.ppt-about{order:0}
  .ppt-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1030;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);transition:transform .2s}
  .ppt-sticky.is-hidden{transform:translateY(110%)}
  .ppt-dlbtn--sticky{min-height:56px;font-size:17px;flex-wrap:wrap;gap:4px 8px}
  .ppt-dlbtn--sticky small{font-size:12px;font-weight:700;opacity:.9;flex-basis:100%;text-align:center;margin-top:-2px}
  body.has-ppt-sticky .blog-area{padding-bottom:110px}
  .ppt-related{margin-top:30px}
}
@media (max-width:767px){
  .ppt-hero{grid-template-columns:1fr;padding:26px 20px 24px;border-radius:20px}
  .ppt-hero__art{display:none}
  .ppt-hero__title{font-size:29px}
  .ppt-hero__desc{font-size:14.5px}
  .ppt-hero__stats strong{font-size:18px}
  .ppt-guide ol{grid-template-columns:1fr}
  .ppt-guide{padding:20px}
  .ppt-head__title{font-size:23px}
  .ppt-slides{gap:14px}
  .ppt-slide img{border-radius:10px}
  .ppt-about{padding:18px}
  .ppt-strip__item{flex-basis:92px}
}
