.ported {
		overflow: hidden;
	}
.ported * {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
 	}
.ported iframe {
 		max-width: 100%;
 	}
:root {
    --cream:#FBF7EE; --navy:#0E3A8A; --orange:#FF6B0A; --navy-light:#1A52C4;
    --text:#1C1C2E; --muted:#6B7280; --green:#16A34A; --red:#DC2626; --amber:#D97706;
    --purple:#7C3AED; --teal:#0D7377;
    --card-bg:rgba(255,255,255,0.72); --border:rgba(14,58,138,0.12);
  }
.ported * { margin:0; padding:0; box-sizing:border-box; }
.ported {
    font-family:'Plus Jakarta Sans',sans-serif; background:var(--cream); color:var(--text);
    min-height:100vh; position:relative; overflow-x:hidden;
  }
.ported body::before {
    content:''; position:fixed; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events:none; z-index:0;
  }
.ported .ea-nav { background:#0E3A8A; padding:0.75rem 1.5rem; position:sticky; top:0; z-index:100; box-shadow:0 2px 16px rgba(14,58,138,0.25); }
.ported .ea-nav-inner { max-width:820px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.ported .ea-logo-wrap { display:flex; align-items:center; gap:0.65rem; }
.ported .ea-logo-img { width:36px; height:36px; border-radius:6px; object-fit:cover; }
.ported .ea-logo-text { display:flex; flex-direction:column; }
.ported .ea-brand-name { font-family:'Fraunces',serif; font-size:1rem; font-weight:900; color:white; line-height:1.1; }
.ported .ea-brand-tag { font-family:'JetBrains Mono',monospace; font-size:0.55rem; color:rgba(255,255,255,0.65); letter-spacing:0.06em; text-transform:uppercase; }
.ported .ea-nav-link { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:rgba(255,255,255,0.75); text-decoration:none; }
.ported .ea-nav-link:hover { color:#FF6B0A; }
.ported .page { position:relative; z-index:1; width:100%; max-width:820px; margin:0 auto; padding:2rem 1.25rem 4rem; box-sizing:border-box; }
.ported .header { text-align:center; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
.ported .eyebrow { font-family:'JetBrains Mono',monospace; font-size:0.68rem; font-weight:600; color:var(--orange); letter-spacing:0.15em; text-transform:uppercase; margin-bottom:0.75rem; display:block; }
.ported h1 { font-family:'Fraunces',serif; font-size:clamp(1.8rem,5vw,2.6rem); font-weight:900; color:var(--navy); line-height:1.15; margin-bottom:0.75rem; }
.ported h1 em { font-style:italic; color:var(--orange); }
.ported .subtitle { font-size:0.93rem; color:var(--muted); max-width:560px; margin:0 auto; line-height:1.65; }
.ported .info-card {
    background:var(--card-bg); border:1px solid var(--border); border-radius:20px;
    padding:2rem; backdrop-filter:blur(10px); animation:slideIn 0.4s ease both;
    box-sizing:border-box; max-width:100%;
  }
.ported .info-card h2 { font-family:'Fraunces',serif; font-size:1.35rem; font-weight:900; color:var(--navy); margin-bottom:0.5rem; }
.ported .info-card > p { font-size:0.85rem; color:var(--muted); margin-bottom:1.5rem; line-height:1.6; }
.ported .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.25rem; }
.ported .form-group { display:flex; flex-direction:column; min-width:0; }
.ported .form-group.full { grid-column:1 / -1; }
.ported .form-group label {
    font-family:'JetBrains Mono',monospace; font-size:0.68rem; font-weight:600;
    color:var(--navy); margin-bottom:0.35rem; letter-spacing:0.05em; text-transform:uppercase;
  }
.ported .form-group label .req { color:var(--red); }
.ported .form-group input, .ported .form-group select {
    width:100%; min-width:0; max-width:100%; box-sizing:border-box;
    padding:0.7rem 0.9rem; border:1.5px solid var(--border); border-radius:10px;
    font-family:'Plus Jakarta Sans',sans-serif; font-size:0.88rem; color:var(--text);
    background:white; outline:none; transition:border-color 0.2s;
  }
.ported .form-group input:focus, .ported .form-group select:focus { border-color:var(--navy); }
.ported .form-group input.error, .ported .form-group select.error { border-color:var(--red); }
.ported .progress-wrap { margin-bottom:2rem; }
.ported .progress-meta { display:flex; justify-content:space-between; margin-bottom:0.5rem; }
.ported .progress-label { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--muted); }
.ported .progress-bar { height:5px; background:rgba(14,58,138,0.1); border-radius:999px; overflow:hidden; }
.ported .progress-fill { height:100%; background:linear-gradient(90deg,var(--navy),var(--orange)); border-radius:999px; transition:width 0.5s cubic-bezier(0.34,1.56,0.64,1); width:0%; }
.ported .section-intro {
    background:linear-gradient(135deg,rgba(14,58,138,0.06),rgba(255,107,10,0.05));
    border:1px solid var(--border); border-radius:16px; padding:1.25rem 1.5rem;
    margin-bottom:1.5rem; text-align:center;
  }
.ported .section-intro .si-icon { font-size:1.8rem; margin-bottom:0.4rem; }
.ported .section-intro h3 { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:900; color:var(--navy); margin-bottom:0.25rem; }
.ported .section-intro p { font-size:0.8rem; color:var(--muted); line-height:1.5; }
.ported .q-card {
    background:var(--card-bg); border:1px solid var(--border); border-radius:20px;
    padding:2rem; backdrop-filter:blur(10px); box-shadow:0 4px 24px rgba(14,58,138,0.06);
    animation:slideIn 0.38s ease both;
  }
@keyframes slideIn{ from {opacity:0;transform:translateY(18px);} to {opacity:1;transform:translateY(0);} }
.ported .q-number { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:var(--orange); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:0.5rem; }
.ported .q-category {
    display:inline-block; font-size:0.68rem; font-weight:600; letter-spacing:0.08em;
    text-transform:uppercase; padding:0.22rem 0.75rem; border-radius:999px;
    margin-bottom:1rem; font-family:'JetBrains Mono',monospace;
  }
.ported .cat-interest { background:rgba(255,107,10,0.1); color:#9a3412; }
.ported .cat-aptitude { background:rgba(14,58,138,0.1); color:#1e3a8a; }
.ported .cat-knowledge { background:rgba(13,115,119,0.1); color:#065f46; }
.ported .cat-hidden { background:rgba(124,58,237,0.1); color:#5b21b6; }
.ported .q-text { font-family:'Fraunces',serif; font-size:clamp(1.05rem,2.5vw,1.25rem); font-weight:700; color:var(--navy); line-height:1.5; margin-bottom:0.5rem; }
.ported .q-context { font-size:0.8rem; color:var(--muted); margin-bottom:1.5rem; line-height:1.6; font-style:italic; }
.ported .options { display:flex; flex-direction:column; gap:0.6rem; }
.ported .opt-btn {
    background:white; border:1.5px solid var(--border); border-radius:12px;
    padding:0.85rem 1.05rem; text-align:left; cursor:pointer;
    font-family:'Plus Jakarta Sans',sans-serif; font-size:0.87rem; color:var(--text);
    transition:all 0.2s ease; display:flex; align-items:flex-start; gap:0.7rem; line-height:1.5;
  }
.ported .opt-btn:hover { border-color:var(--navy); background:rgba(14,58,138,0.03); transform:translateX(3px); }
.ported .opt-btn.selected { border-color:var(--navy); background:rgba(14,58,138,0.07); color:var(--navy); font-weight:600; }
.ported .opt-letter { font-family:'JetBrains Mono',monospace; font-size:0.72rem; font-weight:600; color:var(--orange); min-width:1.2rem; padding-top:0.05rem; flex-shrink:0; }
.ported .nav-row { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; gap:1rem; }
.ported .btn {
    font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:0.88rem;
    padding:0.75rem 1.5rem; border-radius:10px; cursor:pointer; border:none; transition:all 0.2s ease;
  }
.ported .btn-ghost { background:transparent; border:1.5px solid var(--border); color:var(--muted); }
.ported .btn-ghost:hover { border-color:var(--navy); color:var(--navy); }
.ported .btn-primary { background:var(--navy); color:white; box-shadow:0 4px 16px rgba(14,58,138,0.25); }
.ported .btn-primary:hover { background:var(--navy-light); transform:translateY(-1px); }
.ported .btn-primary:disabled { opacity:0.4; cursor:not-allowed; transform:none; box-shadow:none; }
.ported .btn-orange { background:var(--orange); color:white; box-shadow:0 4px 16px rgba(255,107,10,0.3); }
.ported .btn-orange:hover { background:#e55a00; transform:translateY(-1px); }
.ported .result-card { animation:slideIn 0.5s ease both; }
.ported .verdict-banner { border-radius:16px; padding:1.5rem; text-align:center; margin-bottom:1.25rem;
    background:linear-gradient(135deg,#dbeafe,#e0e7ff); color:#1e3a8a; border:1px solid #93c5fd; }
.ported .verdict-banner h2 { font-family:'Fraunces',serif; font-size:1.5rem; font-weight:900; margin-bottom:0.35rem; }
.ported .verdict-banner p { font-size:0.88rem; line-height:1.6; opacity:0.9; }
.ported .branch-fit { background:var(--card-bg); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:1.25rem; }
.ported .bf-header { padding:1rem 1.25rem; border-bottom:1px solid var(--border); font-family:'JetBrains Mono',monospace; font-size:0.7rem; font-weight:600; color:var(--navy); letter-spacing:0.1em; text-transform:uppercase; }
.ported .bf-row { display:flex; align-items:center; gap:0.85rem; padding:0.85rem 1.25rem; border-bottom:1px solid rgba(14,58,138,0.06); }
.ported .bf-row:last-child { border-bottom:none; }
.ported .bf-rank { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:900; color:var(--orange); min-width:1.6rem; }
.ported .bf-name { font-size:0.85rem; font-weight:700; color:var(--navy); min-width:140px; }
.ported .bf-bar-wrap { flex:1; height:10px; background:rgba(14,58,138,0.08); border-radius:999px; overflow:hidden; }
.ported .bf-bar { height:100%; border-radius:999px; transition:width 1.2s cubic-bezier(0.34,1.56,0.64,1); }
.ported .bf-pct { font-family:'JetBrains Mono',monospace; font-size:0.8rem; font-weight:700; min-width:42px; text-align:right; }
.ported .insight-card {
    background:var(--card-bg); border:1px solid var(--border); border-radius:14px;
    padding:1rem 1.2rem; margin-bottom:0.65rem; display:flex; gap:0.75rem;
    font-size:0.84rem; line-height:1.55;
  }
.ported .insight-card.flag { background:#fffbeb; border-color:#fcd34d; }
.ported .insight-icon { font-size:1rem; min-width:1.4rem; }
.ported .section-label { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase; margin:1.5rem 0 0.75rem; font-weight:600; }
.ported .submit-status {
    border-radius:12px; padding:0.85rem 1.1rem; font-size:0.84rem;
    display:flex; gap:0.6rem; align-items:center; margin-bottom:1rem;
  }
.ported .submit-ok { background:#f0fdf4; border:1px solid #86efac; color:#14532d; }
.ported .submit-err { background:#fef2f2; border:1px solid #fca5a5; color:#7f1d1d; }
.ported .submit-wait { background:#eff6ff; border:1px solid #93c5fd; color:#1e3a8a; }
.ported #pdf-report { position:absolute; left:-9999px; top:0; width:780px; background:white; padding:40px; font-family:'Plus Jakarta Sans',sans-serif; }
.ported .pdf-header { display:flex; align-items:center; gap:12px; border-bottom:3px solid #0E3A8A; padding-bottom:16px; margin-bottom:20px; }
.ported .pdf-header img { width:48px; height:48px; }
.ported .pdf-brand { font-family:'Fraunces',serif; font-size:22px; font-weight:900; color:#0E3A8A; }
.ported .pdf-sub { font-size:10px; color:#6B7280; letter-spacing:1px; text-transform:uppercase; }
.ported .pdf-title { font-family:'Fraunces',serif; font-size:26px; font-weight:900; color:#0E3A8A; margin:16px 0 4px; }
.ported .pdf-date { font-size:11px; color:#6B7280; margin-bottom:20px; }
.ported .pdf-section { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; color:#FF6B0A; letter-spacing:1.5px; text-transform:uppercase; margin:22px 0 10px; border-bottom:1px solid #e5e7eb; padding-bottom:6px; }
.ported .pdf-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; }
.ported .pdf-info-item { font-size:12px; padding:4px 0; }
.ported .pdf-info-item strong { color:#0E3A8A; }
.ported .pdf-bf-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.ported .pdf-bf-name { font-size:12px; font-weight:700; color:#0E3A8A; min-width:150px; }
.ported .pdf-bf-bar-wrap { flex:1; height:10px; background:#f3f4f6; border-radius:99px; overflow:hidden; }
.ported .pdf-bf-bar { height:100%; border-radius:99px; }
.ported .pdf-bf-pct { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; min-width:36px; text-align:right; }
.ported .pdf-insight { font-size:11.5px; line-height:1.6; padding:7px 10px; background:#f9fafb; border-left:3px solid #0E3A8A; margin-bottom:6px; border-radius:0 6px 6px 0; }
.ported .pdf-insight.flag { border-left-color:#D97706; background:#fffbeb; }
.ported .pdf-footer { margin-top:28px; padding-top:14px; border-top:2px solid #0E3A8A; font-size:10px; color:#6B7280; display:flex; justify-content:space-between; }
.ported .ea-footer { margin-top:3rem; padding:1.5rem; background:#0E3A8A; border-radius:16px; color:white; text-align:center; }
.ported .ea-footer-logo { display:flex; align-items:center; justify-content:center; gap:0.65rem; margin-bottom:0.75rem; }
.ported .ea-footer-logo img { width:32px; height:32px; border-radius:5px; }
.ported .ea-footer-name { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:900; color:white; }
.ported .ea-footer-contacts { display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem 1.5rem; margin-bottom:0.75rem; }
.ported .ea-footer-contact { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:rgba(255,255,255,0.7); text-decoration:none; }
.ported .ea-footer-contact:hover { color:#FF6B0A; }
.ported .ea-footer-divider { height:1px; background:rgba(255,255,255,0.1); margin:0.75rem 0; }
.ported .ea-footer-cta { font-size:0.82rem; color:rgba(255,255,255,0.8); margin-bottom:0.75rem; line-height:1.5; }
.ported .ea-footer-btn { display:inline-block; background:#FF6B0A; color:white; font-weight:700; font-size:0.85rem; padding:0.65rem 1.5rem; border-radius:10px; text-decoration:none; transition:all 0.2s; }
.ported .ea-footer-btn:hover { background:#e55a00; }
.ported .ea-footer-copy { font-size:0.72rem; color:rgba(255,255,255,0.4); margin-top:0.75rem; font-family:'JetBrains Mono',monospace; }
.ported .ea-qr-block { margin-top:0.5rem; display:flex; flex-direction:column; align-items:center; gap:0.5rem; }
.ported .ea-qr-label { font-family:'Fraunces',serif; font-size:1rem; font-weight:700; color:white; }
.ported .ea-qr-desc { font-family:'JetBrains Mono',monospace; font-size:0.65rem; color:rgba(255,255,255,0.6); letter-spacing:0.05em; text-transform:uppercase; }
.ported .ea-qr-img { width:160px; height:160px; border-radius:12px; object-fit:cover; border:3px solid rgba(255,255,255,0.15); }
.ported .ea-qr-number { font-size:0.8rem; color:rgba(255,255,255,0.7); }
.ported .ea-qr-link { color:#FF6B0A; font-weight:700; text-decoration:none; }
.ported .hidden { display:none; }
.ported .pref-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0.6rem; }
.ported .pref-grid select { width:100%; min-width:0; }
@media (max-width:520px){
.ported .form-grid { grid-template-columns:1fr; }
.ported .pref-grid { grid-template-columns:1fr; }
.ported .info-card { padding:1.5rem 1.1rem; }
.ported .bf-name { min-width:100px; font-size:0.78rem; }
}
.ported .cat-skill { background:rgba(13,115,119,0.12); color:#065f46; }
.ported .college-list { background:var(--card-bg); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:1rem; }
.ported .college-row { display:flex; align-items:center; gap:0.85rem; padding:0.8rem 1.1rem; border-bottom:1px solid rgba(14,58,138,0.06); }
.ported .college-row:last-child { border-bottom:none; }
.ported .cr-rank { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:900; color:var(--orange); min-width:1.6rem; text-align:center; }
.ported .cr-info { flex:1; min-width:0; }
.ported .cr-inst { font-size:0.86rem; font-weight:700; color:var(--navy); }
.ported .cr-prog { font-size:0.72rem; color:var(--muted); margin-top:0.1rem; }
.ported .cr-meta { display:flex; flex-direction:column; align-items:flex-end; gap:0.25rem; flex-shrink:0; }
.ported .cr-chance { font-family:'JetBrains Mono',monospace; font-size:0.62rem; font-weight:700; padding:0.15rem 0.55rem; border-radius:999px; letter-spacing:0.05em; text-transform:uppercase; }
.ported .cr-closing { font-family:'JetBrains Mono',monospace; font-size:0.64rem; color:var(--muted); }
.ported .cmp-table { background:var(--card-bg); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:1rem; }
.ported .cmp-row { display:grid; grid-template-columns:2rem 1fr 1fr 4.5rem; gap:0.5rem; align-items:center; padding:0.7rem 1rem; border-bottom:1px solid rgba(14,58,138,0.06); }
.ported .cmp-row:last-child { border-bottom:none; }
.ported .cmp-head { background:rgba(14,58,138,0.05); font-family:'JetBrains Mono',monospace; font-size:0.62rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); }
.ported .cmp-rank { font-family:'Fraunces',serif; font-weight:900; color:var(--orange); text-align:center; }
.ported .cmp-cell { font-size:0.82rem; font-weight:600; color:var(--navy); }
.ported .cmp-pref { color:var(--orange); }
.ported .cmp-fit { color:var(--navy); }
.ported .cmp-match { font-size:0.68rem; text-align:right; }
.ported .gap-card { background:var(--card-bg); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:1rem; }
.ported .gap-header { padding:0.9rem 1.25rem; border-bottom:1px solid var(--border); font-size:0.8rem; font-weight:600; color:var(--navy); line-height:1.5; background:rgba(14,58,138,0.03); }
.ported .gap-row { display:flex; align-items:center; gap:0.85rem; padding:0.85rem 1.25rem; border-bottom:1px solid rgba(14,58,138,0.06); }
.ported .gap-row:last-child { border-bottom:none; }
.ported .gap-skill { min-width:150px; }
.ported .gap-skill-name { font-size:0.82rem; font-weight:700; color:var(--navy); line-height:1.2; }
.ported .gap-skill-tag { display:inline-block; font-family:'JetBrains Mono',monospace; font-size:0.58rem; font-weight:700; padding:0.1rem 0.45rem; border-radius:999px; margin-top:0.25rem; text-transform:uppercase; letter-spacing:0.04em; }
.ported .dim-emoji { font-size:1rem; min-width:1.4rem; text-align:center; }
.ported .pdf-table { width:100%; border-collapse:collapse; font-size:11px; margin-bottom:6px; }
.ported .pdf-table th { background:#0E3A8A; color:white; padding:6px 8px; text-align:left; font-size:10px; letter-spacing:0.5px; text-transform:uppercase; }
.ported .pdf-table td { padding:6px 8px; border-bottom:1px solid #e5e7eb; vertical-align:top; }
.ported .pdf-check { font-size:11px; padding:3px 0 3px 4px; color:#1C1C2E; line-height:1.5; }
@media (max-width:520px){
.ported .college-row { flex-wrap:wrap; }
.ported .cr-meta { flex-direction:row; width:100%; justify-content:space-between; }
.ported .cmp-row { grid-template-columns:1.5rem 1fr 1fr 3.5rem; }
.ported .cmp-cell { font-size:0.74rem; }
.ported .gap-skill { min-width:110px; }
}
/* hide frame's own chrome; base.html provides nav+footer */
.ported > header, .ported > nav, .ported > footer, .ported header, .ported footer,.ported .site-header, .ported .site-footer, .ported #mobileMenu, .ported #hamburger { display:none !important; }
.ported { padding-top:0 !important; }
