:root{
  --black:#08090b;
  --black-2:#101116;
  --burgundy:#651225;
  --burgundy-2:#8a1c38;
  --gold:#c89e43;
  --gold-2:#e8cd7c;
  --gold-soft:#f6ebc9;
  --cream:#f8f2e5;
  --cream-2:#d7c8aa;
  --muted:#bca989;
  --panel:rgba(15,16,21,.86);
  --shadow:0 30px 72px rgba(0,0,0,.46);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--cream);
  font-family:"Cairo","Tajawal",Tahoma,Arial,sans-serif;
  background:
    radial-gradient(circle at 7% 3%,rgba(200,158,67,.15),transparent 20%),
    radial-gradient(circle at 95% 75%,rgba(138,28,56,.18),transparent 23%),
    linear-gradient(145deg,#060607 0%,#0c0e13 50%,#180c12 100%);
  overflow-x:hidden;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 159px,rgba(232,205,124,.015) 160px,transparent 161px);opacity:.45}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}
.site-shell{width:min(1340px,calc(100% - 38px));margin:0 auto;padding:24px 0 54px;position:relative;z-index:1}
.view{animation:fadeUp .5s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.masthead{text-align:center;max-width:1300px;margin:0 auto 26px;padding:4px 20px 0}
.logo-medallion{width:112px;height:112px;margin:0 auto 12px;padding:5px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fffdf5,#f3e2b8);box-shadow:0 15px 38px rgba(0,0,0,.36),0 0 0 5px rgba(232,205,124,.055)}.logo-medallion img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.coptic-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:min(390px,72%);margin:0 auto 11px}.coptic-rule.bottom{margin:12px auto 0}.coptic-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(232,205,124,.8),transparent)}.coptic-rule b{color:var(--gold-2);font-size:.95rem;font-weight:700}
.masthead h1{margin:0 auto;color:var(--gold-2);font-size:clamp(2rem,2.7vw,3.15rem);line-height:1.35;font-weight:900;white-space:nowrap;letter-spacing:-.01em;text-shadow:0 2px 15px rgba(0,0,0,.2)}
.masthead h2{margin:7px auto 0;color:var(--cream);font-size:clamp(1.65rem,2.15vw,2.45rem);line-height:1.4;font-weight:900;white-space:nowrap}
.masthead p{margin:7px 0 0;color:var(--muted);font-size:.95rem;font-weight:700}
.hero-grid{direction:ltr;display:grid;grid-template-columns:minmax(560px,1.05fr) minmax(420px,.95fr);gap:34px;align-items:stretch;min-height:620px}
.login-zone,.saint-zone{direction:rtl}
.login-zone{display:flex;flex-direction:column;justify-content:center;padding:24px 8px 24px 0}
.login-intro{display:flex;gap:13px;align-items:center;margin:0 auto 18px;width:min(650px,100%);padding:0 6px}.mini-cross{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--gold-2);background:radial-gradient(circle,#74162b,#2b090f);box-shadow:0 10px 24px rgba(0,0,0,.25)}.login-intro h3{margin:0;color:var(--gold-soft);font-size:1.25rem}.login-intro p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.login-card{width:min(650px,100%);margin:0 auto;padding:32px;border-radius:28px;background:linear-gradient(180deg,rgba(18,19,25,.92),rgba(10,11,15,.88));border:1px solid rgba(232,205,124,.09);box-shadow:var(--shadow);backdrop-filter:blur(12px);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(232,205,124,.04) 34%,transparent 80%);pointer-events:none}.panel-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:23px;position:relative;z-index:1}.icon-badge,.result-medallion{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:17px;background:linear-gradient(145deg,var(--burgundy),#28080e);color:var(--gold-2);border:1px solid rgba(232,205,124,.15);box-shadow:0 10px 25px rgba(0,0,0,.24)}.panel-heading h2{margin:0;color:var(--cream);font-size:1.27rem}.panel-heading p{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.8}.field-label{display:block;margin:15px 0 8px;color:var(--cream-2);font-size:.9rem;font-weight:800}.field-wrap{position:relative}.field-wrap input{width:100%;height:56px;border-radius:17px;border:1px solid rgba(232,205,124,.13);background:rgba(255,255,255,.035);color:var(--cream);padding:0 48px 0 16px;outline:none;direction:ltr;text-align:left;transition:.2s}.field-wrap input::placeholder{color:#938567}.field-wrap input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,158,67,.1);background:rgba(255,255,255,.05)}.field-icon{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--gold);font-weight:900}.field-action{position:absolute;left:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--gold-2);font-size:.78rem;font-weight:800;padding:8px}
.primary-btn,.secondary-btn,.ghost-btn{border:0;border-radius:17px;font-weight:800;transition:.2s}.primary-btn{width:100%;min-height:56px;margin-top:23px;padding:0 22px;color:#17130c;background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:0 14px 32px rgba(200,158,67,.15),inset 0 1px 0 rgba(255,255,255,.32);display:flex;align-items:center;justify-content:center;gap:10px}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 38px rgba(200,158,67,.22)}.primary-btn:disabled{opacity:.5;box-shadow:none}.primary-btn.compact{width:auto;margin:0;min-width:220px}.secondary-btn{min-height:50px;padding:0 22px;border:1px solid rgba(232,205,124,.15);background:rgba(255,255,255,.04);color:var(--cream)}.ghost-btn{padding:10px 16px;background:rgba(255,255,255,.05);color:var(--gold-2);border:1px solid rgba(232,205,124,.15)}.form-error{min-height:26px;margin-top:11px;text-align:center;color:#ff90a7;font-size:.86rem;font-weight:700}.privacy-note{display:flex;gap:10px;align-items:flex-start;margin-top:17px;padding-top:17px;border-top:1px solid rgba(232,205,124,.09);color:var(--muted);font-size:.8rem;line-height:1.75;position:relative;z-index:1}.privacy-note p{margin:0}.privacy-note span{color:var(--gold)}
.saint-zone{position:relative;min-height:620px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(232,205,124,.16),rgba(232,205,124,.03) 32%,transparent 48%)}.saint-zone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:drop-shadow(0 25px 42px rgba(0,0,0,.5))}.saint-glow{position:absolute;inset:0;background:radial-gradient(circle at 52% 32%,rgba(232,205,124,.12),transparent 24%),radial-gradient(circle at 50% 82%,rgba(138,28,56,.14),transparent 35%);filter:blur(18px)}.saint-vignette{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,8,10,.88),rgba(7,8,10,.08) 30%,transparent 52%),linear-gradient(to right,rgba(7,8,10,.38),transparent 18%,transparent 82%,rgba(7,8,10,.12));pointer-events:none}.corner-cross{position:absolute;color:rgba(232,205,124,.82);font-size:1.4rem;text-shadow:0 0 12px rgba(232,205,124,.18)}.corner-cross.top{top:20px;right:18px}.corner-cross.bottom{bottom:20px;left:18px}
.footer-note{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px;color:#aa997a;font-size:.8rem}.footer-note i{font-style:normal;color:var(--gold)}
.panel{background:linear-gradient(180deg,rgba(18,19,25,.92),rgba(10,11,15,.88));box-shadow:var(--shadow);border:1px solid rgba(232,205,124,.08)}.result-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.mini-brand{display:flex;align-items:center;gap:11px}.mini-brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.mini-brand strong,.mini-brand span{display:block}.mini-brand strong{color:var(--cream);font-size:.9rem}.mini-brand span{color:var(--muted);font-size:.74rem;margin-top:2px}.result-hero{text-align:center;border-radius:28px;padding:32px 22px;position:relative;overflow:hidden}.result-medallion{margin:0 auto 12px}.eyebrow{margin:0;color:var(--gold-2);font-weight:900}.result-name{margin:5px 0;color:var(--gold-2);font-size:clamp(1.75rem,4vw,2.8rem);font-weight:900}.contestant-number{margin:7px 0 0;color:var(--muted)}.contestant-number strong{color:var(--cream)}
.scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.score-card{min-height:128px;border-radius:22px;padding:21px;background:linear-gradient(180deg,rgba(17,17,21,.95),rgba(27,27,33,.95));border:1px solid rgba(232,205,124,.09);box-shadow:0 14px 34px rgba(0,0,0,.22);display:flex;flex-direction:column;justify-content:space-between}.score-label{font-size:.85rem;font-weight:700;color:var(--muted)}.score-value{font-size:1.95rem;line-height:1;color:var(--gold-2);font-weight:900}.score-value.pending{font-size:.85rem;color:#b8a98a}.score-text{font-size:1.02rem;line-height:1.7}.total-card{background:linear-gradient(145deg,#42101c,#1d0a10)}.total-card .score-label{color:#d7c294}.total-card .score-value{color:#fff3d1}.pending-notice{margin-top:18px;border-radius:20px;padding:17px 21px;display:flex;gap:12px;color:#d2be96}.pending-notice strong{display:block;color:var(--gold-2)}.pending-notice p{margin:4px 0 0;color:var(--muted);font-size:.83rem}.answer-section{margin-top:21px;border-radius:28px;padding:27px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{margin:2px 0 0;color:var(--cream)}.section-mark{color:var(--gold);font-size:1.35rem}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:18px}.answer-btn{min-height:92px;padding:15px;border-radius:17px;border:1px solid rgba(232,205,124,.11);background:rgba(255,255,255,.03);text-align:right;color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:4px}.answer-btn span{font-weight:800}.answer-btn small{color:#aa9775}.actions-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.certificate{margin:34px auto 0;width:min(100%,1120px);aspect-ratio:297/210;background:#fdf7e8;position:relative;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(232,205,124,.24)}.cert-inner{position:absolute;inset:3%;border:4px double var(--gold);outline:1px solid var(--burgundy);outline-offset:8px;text-align:center;padding:3% 7%;background:rgba(255,253,246,.85)}.cert-logo{width:10%;min-width:70px;max-width:120px;border-radius:50%}.cert-church{margin:.6% 0 0;color:#604414;font-weight:900;font-size:1.2cqw}.cert-contest{margin:.2% 0;color:var(--burgundy);font-size:1.02cqw;font-weight:800}.cert-rule{width:20%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:1.2% auto}.certificate h2{margin:0;color:var(--burgundy);font-size:3cqw}.cert-intro{margin:1.2% 0 .4%;color:#665d50;font-size:1.1cqw}.certificate h3{margin:0;color:#4d3610;font-size:2.85cqw}.cert-copy{margin:1.2% auto 0;max-width:70%;font-size:1.1cqw;color:#4b4a46}.cert-total{margin:1% 0;color:var(--burgundy);font-size:1.25cqw}.cert-wish{margin:1% 0 0;color:#786a55;font-size:.95cqw}.cert-footer{position:absolute;bottom:3.7%;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid rgba(200,158,67,.34);padding-top:1.1%;font-size:.8cqw;color:#6c604f}
@container (min-width:1px){.certificate{container-type:inline-size}}
@media(max-width:1180px){.masthead h1{font-size:2.15rem}.masthead h2{font-size:1.65rem}.hero-grid{grid-template-columns:minmax(480px,1fr) minmax(360px,.86fr)}}
@media(max-width:980px){.masthead h1,.masthead h2{white-space:normal}.hero-grid{grid-template-columns:1fr;direction:rtl}.saint-zone{min-height:560px;max-width:560px;width:100%;margin:0 auto;order:2}.login-zone{order:1;padding-right:0}.login-card{width:min(720px,100%)}}
@media(max-width:700px){.site-shell{width:min(100% - 20px,1340px);padding-top:14px}.logo-medallion{width:94px;height:94px}.masthead{padding-inline:4px}.masthead h1{font-size:1.5rem;line-height:1.55}.masthead h2{font-size:1.26rem;line-height:1.5}.login-card{padding:23px 17px}.saint-zone{min-height:460px}.scores-grid{grid-template-columns:repeat(2,1fr)}.answer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.masthead h1{font-size:1.3rem}.masthead h2{font-size:1.13rem}.saint-zone{min-height:390px}.scores-grid,.answer-grid{grid-template-columns:1fr}.actions-row>*{width:100%!important}.primary-btn.compact{min-width:0}.mini-brand img{width:44px;height:44px}.ghost-btn{padding:9px 11px;font-size:.78rem}}
@media print{body{background:#fff!important;color:#000!important}.no-print,#loginView,.result-hero,.scores-grid,.pending-notice,.answer-section{display:none!important}#resultView{display:block!important}#certificate{display:block!important;margin:0!important;width:297mm!important;height:210mm!important;aspect-ratio:auto!important;box-shadow:none!important;border:0!important;page-break-after:avoid}.cert-inner{inset:10mm!important}@page{size:A4 landscape;margin:0}}

/* ===== Unified portal selector: contestant / admin ===== */
.portal-switch{
  width:min(650px,100%);
  margin:0 auto 14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  direction:rtl;
}
.portal-tab{
  min-height:72px;
  border:1px solid rgba(232,205,124,.10);
  border-radius:20px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  text-align:right;
  color:var(--cream-2);
  background:rgba(255,255,255,.025);
  transition:.22s ease;
}
.portal-tab:hover{transform:translateY(-1px);background:rgba(255,255,255,.045)}
.portal-tab.active{
  color:#1a140a;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  border-color:transparent;
  box-shadow:0 12px 30px rgba(200,158,67,.15);
}
.portal-tab.admin-tab:not(.active){
  border-color:rgba(133,30,55,.35);
  background:linear-gradient(135deg,rgba(91,18,35,.18),rgba(255,255,255,.02));
}
.portal-tab.admin-tab.active{
  color:#fff6e5;
  background:linear-gradient(135deg,#7a1832,#3c0b17);
  box-shadow:0 12px 30px rgba(122,24,50,.24),inset 0 1px 0 rgba(255,255,255,.08);
}
.portal-tab-icon{
  flex:none;
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(0,0,0,.13);
  font-size:1.05rem;font-weight:900;
}
.portal-tab strong,.portal-tab small{display:block}
.portal-tab strong{font-size:.91rem;font-weight:900}
.portal-tab small{font-size:.69rem;margin-top:3px;opacity:.78}
.login-mode-panel{animation:portalFade .22s ease both}
@keyframes portalFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.admin-heading h2{color:var(--gold-2)}
.admin-badge{background:linear-gradient(145deg,#7a1832,#350914)}
.admin-primary{color:#fff7e7;background:linear-gradient(135deg,#8a1e3b,#4f0d1d);box-shadow:0 14px 32px rgba(121,25,50,.20),inset 0 1px 0 rgba(255,255,255,.10)}
.admin-primary:hover:not(:disabled){box-shadow:0 18px 38px rgba(121,25,50,.28)}
.admin-note strong{color:var(--gold-2)}
@media(max-width:700px){
  .portal-switch{grid-template-columns:1fr 1fr;gap:7px}
  .portal-tab{min-height:66px;padding:10px 9px;gap:8px;border-radius:17px}
  .portal-tab-icon{width:34px;height:34px;border-radius:12px}
  .portal-tab strong{font-size:.79rem}.portal-tab small{font-size:.61rem}
}
@media(max-width:390px){
  .portal-switch{grid-template-columns:1fr}
}
