/* College Life Simulator – CollegeSimHub design system (blue #2768e5, ink #10233f, Inter) */
:root{
	--cls-navy:#10233f;--cls-navy-dark:#0b1a30;--cls-navy-tint:#eef3fb;
	--cls-blue:#2768e5;--cls-blue-dark:#1f55c2;--cls-blue-tint:#eaf1fd;
	--cls-cream:#f4f8ff;--cls-paper:#fff;--cls-border:#dbe4f2;
	--cls-ink:#10233f;--cls-muted:#5b6b82;--cls-red:#9a2b2b;--cls-green:#2f6b4f;
	--cls-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	--cls-radius:10px;
}
body.cls-page{overflow-x:clip}
body.cls-page #right-sidebar,body.cls-page #left-sidebar,body.cls-page .entry-header,body.cls-page .page-header{display:none!important}
body.cls-page .content-area,body.cls-page #primary{width:100%!important;float:none!important}
body.cls-page .grid-container,body.cls-page .site-content .grid-container{max-width:100%!important}
body.cls-page .site-main,body.cls-page .entry-content{margin:0!important;max-width:none!important}
body.cls-page.separate-containers .inside-article,body.cls-page .inside-article{padding:0!important;background:transparent!important;box-shadow:none!important}

.cls-wrap{width:100%;max-width:none;margin:0 auto;padding:30px clamp(16px,4vw,64px);font-family:var(--cls-font);color:var(--cls-ink);box-sizing:border-box}
.cls-wrap *,.cls-wrap *::before,.cls-wrap *::after{box-sizing:border-box;font-family:var(--cls-font)}
.cls-wrap [hidden]{display:none!important}
.cls-screen{max-width:1080px;margin:0 auto}
.cls-card{background:#fff;border:1px solid var(--cls-border);border-top:3px solid var(--cls-blue);border-radius:var(--cls-radius);padding:34px 36px;box-shadow:0 12px 34px rgba(16,35,63,.08)}
.cls-center{text-align:center}
.cls-eyebrow{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cls-blue)}
.cls-eyebrow-dark{color:#a9c4fb}
.cls-title{margin:0 0 8px!important;font-size:2rem!important;font-weight:800!important;line-height:1.15!important;color:var(--cls-navy)!important;letter-spacing:-.01em}
.cls-title-sm{font-size:1.9rem!important}
.cls-subtitle{margin:0 0 22px;color:var(--cls-muted);font-size:1rem;line-height:1.6;max-width:70ch}
.cls-center .cls-subtitle{margin-left:auto;margin-right:auto}
.cls-h2{margin:0 0 12px!important;font-size:1.4rem!important;font-weight:800!important;color:var(--cls-navy)!important;letter-spacing:-.01em}
.cls-fine{margin:14px 0 0;color:var(--cls-muted);font-size:.85rem}
.cls-error{background:#fdecec;border:1px solid #f0b4b4;border-left:3px solid var(--cls-red);color:#6b1d1d;padding:12px 14px;border-radius:var(--cls-radius);margin:0 0 16px;font-size:.95rem}

/* form */
.cls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cls-wide{grid-column:1/-1}
.cls-field{display:flex;flex-direction:column;gap:6px}
.cls-field>span{font-size:.85rem;font-weight:700;color:var(--cls-navy)}
.cls-field input,.cls-field select{width:100%;height:46px;padding:0 14px;border:1px solid var(--cls-border);border-radius:8px;background:#fff;font-size:1rem;color:var(--cls-ink);box-shadow:none}
.cls-field input:focus,.cls-field select:focus{outline:2px solid var(--cls-blue);outline-offset:1px;border-color:var(--cls-blue)}
.cls-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.cls-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:999px;border:1px solid transparent;font-size:.95rem;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none!important;transition:background .15s,box-shadow .15s,transform .15s}
.cls-btn-lg{padding:14px 30px;font-size:1.02rem}
.cls-btn-primary{background:var(--cls-blue)!important;border-color:var(--cls-blue)!important;color:#fff!important}
.cls-btn-primary:hover{background:var(--cls-blue-dark)!important;border-color:var(--cls-blue-dark)!important;box-shadow:0 10px 22px rgba(39,104,229,.32);transform:translateY(-1px)}
.cls-btn-secondary{background:#fff!important;border-color:var(--cls-border)!important;color:var(--cls-navy)!important}
.cls-btn-secondary:hover{background:var(--cls-blue-tint)!important;border-color:var(--cls-blue)!important}
.cls-btn:disabled{opacity:.7;cursor:default;transform:none!important}

/* landing */
.cls-hero{background:linear-gradient(135deg,#10233f 0%,#1b4aa8 100%);border-radius:14px;padding:56px clamp(22px,5vw,64px);color:#fff;text-align:center;margin:0 0 30px}
.cls-hero-title{margin:0 0 12px!important;color:#fff!important;font-size:clamp(2rem,4.6vw,3.2rem)!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.02em}
.cls-hero-lead{max-width:62ch;margin:0 auto 24px;font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.9)}
.cls-hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cls-hero .cls-btn-primary,.cls-final .cls-btn-primary{background:#fff!important;border-color:#fff!important;color:var(--cls-blue)!important}
.cls-hero .cls-btn-secondary{background:transparent!important;border-color:rgba(255,255,255,.6)!important;color:#fff!important}
.cls-hero-fine{margin:18px 0 0;font-size:.88rem;color:rgba(255,255,255,.75)}
.cls-land section,.cls-land .cls-cards{max-width:1080px;margin-left:auto;margin-right:auto}
.cls-intro{margin-bottom:26px}
.cls-intro p{line-height:1.7;color:var(--cls-muted);max-width:72ch}
.cls-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px}
.cls-feature{background:#fff;border:1px solid var(--cls-border);border-top:3px solid var(--cls-blue);border-radius:8px;padding:18px}
.cls-feature h3{margin:0 0 6px!important;font-size:1.05rem!important;color:var(--cls-navy)!important;font-weight:700!important}
.cls-feature p{margin:0;font-size:.92rem;line-height:1.55;color:var(--cls-muted)}
.cls-how{margin-bottom:30px}
.cls-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cls-step{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--cls-border);border-radius:var(--cls-radius);padding:14px 16px}
.cls-step strong{display:block;color:var(--cls-navy)}
.cls-step em{display:block;font-style:normal;color:var(--cls-muted);font-size:.9rem}
.cls-step-num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--cls-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.cls-faq{margin:30px auto}
.cls-faq-item{background:#fff;border:1px solid var(--cls-border);border-radius:8px;margin:0 0 10px;padding:0 16px}
.cls-faq-item summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--cls-navy)}
.cls-faq-item p{margin:0 0 14px;line-height:1.65;color:var(--cls-muted)}
.cls-related{margin:30px auto}
.cls-final{background:linear-gradient(135deg,#10233f,#1b4aa8);border-radius:14px;color:#fff;text-align:center;padding:38px 24px;margin:34px auto 0!important}
.cls-final h2{color:#fff!important;margin:0 0 8px!important}
.cls-final p{color:rgba(255,255,255,.85);margin:0 0 18px}

/* SEO sections */
.cls-seo{max-width:1080px;margin:0 auto}
.cls-seo .cls-h2{margin-top:34px!important}
.cls-seo-p{max-width:75ch;line-height:1.7;color:var(--cls-muted);margin:0 0 16px}
.cls-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:0 0 22px}
.cls-defs>div{background:#fff;border:1px solid var(--cls-border);border-top:3px solid var(--cls-blue);border-radius:var(--cls-radius);padding:14px 16px}
.cls-defs dt{font-weight:700;color:var(--cls-navy);margin-bottom:4px}
.cls-defs dd{margin:0;font-size:.92rem;line-height:1.55;color:var(--cls-muted)}
.cls-list{max-width:80ch;margin:0 0 20px;padding-left:22px;line-height:1.65;color:var(--cls-muted)}
.cls-list li{margin:0 0 8px;padding-left:4px}
.cls-list li::marker{color:var(--cls-blue);font-weight:700}
.cls-below{padding-top:0}
.cls-faq{max-width:none;margin:0 0 20px}

/* general */
.cls-wrap-wide{max-width:none}
.cls-btn-ghost{background:transparent!important;border-color:transparent!important;color:var(--cls-muted)!important}
.cls-btn-ghost:hover{color:var(--cls-navy)!important;background:var(--cls-blue-tint)!important}
.cls-btn-sm{padding:8px 16px;font-size:.88rem}
.cls-btn:disabled{opacity:.5;cursor:default;transform:none!important;box-shadow:none!important}
.cls-h3{margin:0 0 8px!important;font-size:1.25rem!important;font-weight:800!important;color:var(--cls-navy)!important}
.cls-help{margin:0 0 14px;color:var(--cls-muted);font-size:.98rem;line-height:1.55}
.cls-mini{margin:14px 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cls-muted)}
.cls-cards-tight{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0 8px}
.cls-more,.cls-related{max-width:1080px;margin:34px auto 0}
.cls-more-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cls-more-item{display:block;background:#fff;border:1px solid var(--cls-border);border-radius:var(--cls-radius);padding:14px 16px;text-decoration:none!important;color:var(--cls-navy)!important}
.cls-more-item:hover{border-color:var(--cls-blue);background:var(--cls-blue-tint)}
.cls-more-item span{display:block;margin-top:4px;font-size:.88rem;color:var(--cls-muted);font-weight:400}
.cls-disclaimer{margin:30px auto 0;max-width:1080px;font-size:.8rem;line-height:1.55;color:var(--cls-muted);text-align:center}

/* game */
.cls-gamehead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}
.cls-gamehead .cls-h2{margin:0!important}
.cls-progress{height:8px;border-radius:999px;background:var(--cls-navy-tint);overflow:hidden;margin-bottom:16px}
.cls-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2768e5,#2f9e6b);border-radius:999px;transition:width .5s ease}
.cls-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}
.cls-stat{background:#fff;border:1px solid var(--cls-border);border-radius:var(--cls-radius);padding:12px 14px}
.cls-stat.is-bad{border-color:#e9b1ae;background:#fff7f6}
.cls-stat.is-good{border-color:#b9dfc9;background:#f5fbf8}
.cls-stat-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;font-weight:700;color:var(--cls-navy);margin-bottom:8px;gap:6px}
.cls-stat-top b{font-size:1.15rem}
.cls-stat-sub{font-size:.74rem;color:var(--cls-muted);line-height:1.35}
.cls-bar{height:8px;border-radius:999px;background:var(--cls-navy-tint);overflow:hidden}
.cls-bar i{display:block;height:100%;border-radius:999px;transition:width .5s ease}
.cls-stage{max-width:none}
.cls-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 6px}
.cls-act{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:#fff!important;border:1.5px solid var(--cls-border)!important;border-radius:var(--cls-radius);padding:14px;cursor:pointer;color:var(--cls-navy)!important;box-shadow:none;transition:border-color .15s,background .15s,transform .15s}
.cls-act:hover{border-color:var(--cls-blue)!important;transform:translateY(-1px)}
.cls-act.is-on{border-color:var(--cls-blue)!important;background:var(--cls-blue-tint)!important;box-shadow:0 0 0 2px rgba(39,104,229,.25)}
.cls-act strong{font-size:1rem}
.cls-act-d{font-size:.85rem;color:var(--cls-muted);line-height:1.4;font-weight:400}
.cls-chips{display:flex;flex-wrap:wrap;gap:6px}
.cls-chips-sm{margin-top:auto;gap:4px}
.cls-chip{display:inline-block;padding:5px 11px;border-radius:999px;font-size:.84rem;font-weight:700}
.cls-chip.is-pos{background:#dff3e9;color:#1f6b46}
.cls-chip.is-neg{background:#fde6e4;color:#a1332e}
.cls-hint{display:inline-block;padding:2px 7px;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.01em}
.cls-hint.is-pos{background:#e5f5ec;color:#1f6b46}
.cls-hint.is-neg{background:#fdeceb;color:#a1332e}
.cls-pickcount{align-self:center;color:var(--cls-muted);font-weight:600}
.cls-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.cls-choice{background:#fff!important;border:1.5px solid var(--cls-border)!important;border-radius:var(--cls-radius);padding:18px;text-align:left;cursor:pointer;color:var(--cls-navy)!important;font-size:1rem;box-shadow:none}
.cls-choice:hover{border-color:var(--cls-blue)!important;background:var(--cls-blue-tint)!important}
.cls-note{margin:10px 0 0;padding:10px 14px;background:#fff7e6;border-left:3px solid #e08a00;border-radius:6px;color:#6b4300;font-size:.92rem}
.cls-exam{margin:14px 0 0;padding:14px 18px;background:var(--cls-blue-tint);border:1px solid #c5d8fa;border-radius:var(--cls-radius);color:var(--cls-navy)}
.cls-exam b{font-size:1.1rem}

/* report */
.cls-banner{background:linear-gradient(135deg,#10233f 0%,#1b4aa8 100%);border-radius:var(--cls-radius);padding:28px 32px;margin:0 0 16px;color:#fff}
.cls-banner .cls-title{color:#fff!important;margin-bottom:6px!important}
.cls-banner .cls-subtitle{color:rgba(255,255,255,.88);margin:0}
#cls-s-report .cls-actions{margin:0 0 18px}
.cls-rep-card{max-width:none;padding:30px 34px}
.cls-rep{font-family:var(--cls-font);color:#1f2d44}
.cls-rep-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#10233f;color:#fff;border-radius:8px;padding:20px 24px}
.cls-rep-k{margin:0 0 4px;font-size:.7rem;letter-spacing:.14em;color:#a9c4fb;font-weight:700}
.cls-rep-t{margin:0 0 6px!important;color:#fff!important;font-size:1.7rem!important;font-weight:800!important}
.cls-rep-s{margin:0;color:#d6e2f7;max-width:60ch;line-height:1.5}
.cls-rep-gpa{text-align:center;flex:none}
.cls-rep-gpa small{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#a9c4fb}
.cls-rep-gpa b{display:block;font-size:2.6rem;line-height:1.1}
.cls-rep-gpa span{font-size:.82rem;color:#d6e2f7}
.cls-rep-who{margin:14px 0 0;font-weight:700;color:var(--cls-navy)}
.cls-rep-sec{margin-top:22px}
.cls-rep-sec h3{margin:0 0 10px!important;padding-bottom:6px;border-bottom:1px solid var(--cls-border);font-size:1.05rem!important;font-weight:800!important;color:var(--cls-navy)!important;position:relative;break-after:avoid}
.cls-rep-sec h3::after{content:"";position:absolute;left:0;bottom:-1px;width:34px;height:2px;background:var(--cls-blue)}
.cls-rep-t2{width:100%;max-width:520px;border-collapse:collapse;font-size:.95rem}
.cls-rep-t2 th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cls-muted);padding:5px 8px;border-bottom:1px solid var(--cls-navy)}
.cls-rep-t2 td{padding:7px 8px;border-bottom:1px solid var(--cls-border)}
.cls-chart{max-width:640px}
.cls-legend{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.85rem;color:var(--cls-navy)}
.cls-legend li{display:flex;align-items:center;gap:6px}
.cls-use{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:620px}
.cls-use li{display:grid;grid-template-columns:200px 1fr 28px;gap:12px;align-items:center;font-size:.92rem}
.cls-use b{text-align:right}
.cls-ul-tips{margin:0;padding-left:22px;line-height:1.65;color:#2d3a52}
.cls-ul-tips li{margin:0 0 8px}
.cls-rep-sim{margin:22px 0 0;padding:10px 14px;border:1px solid var(--cls-border);border-left:3px solid #10233f;background:#fafbfd;font-size:.82rem;font-style:italic;color:var(--cls-muted)}

@media(max-width:980px){
	.cls-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
	.cls-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
	.cls-card{padding:24px 18px}
	.cls-grid{grid-template-columns:1fr}
	.cls-title{font-size:1.6rem!important}
	.cls-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cls-actions-grid,.cls-choices{grid-template-columns:1fr}
	.cls-rep-head{flex-direction:column}
	.cls-rep-card{padding:20px 16px}
	.cls-use li{grid-template-columns:130px 1fr 24px}
}
@media(prefers-reduced-motion:reduce){.cls-progress span,.cls-bar i,.cls-act{transition:none}}

/* print */
#cls-print{display:none}
@page{size:letter;margin:.5in .6in .8in}
@media print{
	@page{@bottom-center{content:"CollegeSimHub.com  |  College Life Simulator  |  Simulation, not a prediction  |  Page " counter(page) " of " counter(pages);font:7pt Arial,Helvetica,sans-serif;color:#718096}}
	html,body{background:#fff!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
	body.cls-printing>*:not(#cls-print){display:none!important}
	body.cls-printing #cls-print{display:block!important;position:static}
	#cls-print .cls-p-sheet{width:100%;border-collapse:collapse;border:0;margin:0}
	#cls-print .cls-p-sheet>thead>tr>td,#cls-print .cls-p-sheet>tfoot>tr>td,#cls-print .cls-p-sheet>tbody>tr>td{padding:0;border:0;background:none!important;vertical-align:top}
	#cls-print .cls-p-sp{height:.2in}
	#cls-print .cls-rep-sec{break-inside:avoid}
	#cls-print .cls-rep-t{font-size:20pt!important}
}
