/* Visual source: 0-محاور/chat.atxp.ai.html. Tokens are loaded verbatim from identity-tokens.css.
   Functional selectors are preserved. Scientific wording remains owned by SPEC. */
:root{
 --font-main:'Cairo','Tajawal',sans-serif;--font-alt:'Tajawal',sans-serif;
 --font-heading:'Reem Kufi','Changa',sans-serif;--font-info:'Almarai',sans-serif;
 --font-number:'Changa',sans-serif;--font-university:'Amiri',serif;
 --ink:var(--dark);--muted:#64748b;--navy:var(--dark);--line:#e2e8f0;
 --paper:#fff;--soft:#eef2ff;--bg:#0c0c1e;--error:#b91c1c;--radius:25px;
 font-family:var(--font-main);color:var(--dark);background:var(--gradient-hero);color-scheme:light;
}
body{background:var(--gradient-hero);background-attachment:scroll;min-height:100vh;position:relative;color:var(--dark);isolation:isolate}
.bg-animation{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.floating-shapes{position:absolute;width:100%;height:100%}
.shape{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35}
.shape-1{width:400px;height:400px;background:var(--primary);top:10%;left:10%}
.shape-2{width:300px;height:300px;background:var(--secondary);top:60%;right:10%}
.shape-3{width:350px;height:350px;background:var(--info);bottom:10%;left:30%}
.shape-4{width:280px;height:280px;background:var(--accent);top:30%;right:30%}
h1,h2,h3{font-family:var(--font-heading);letter-spacing:normal;font-weight:600}
p,.muted,.lede,.subtle,.review-values{font-family:var(--font-alt)}
p{line-height:2}.eyebrow{font-family:var(--font-info);color:var(--primary-dark);font-size:.85rem}
.topbar{max-width:1060px;margin:0 auto;padding:24px 20px 0;background:none;border:0;justify-content:center;text-align:center;gap:28px;flex-wrap:wrap;color:#fff}
.brand{font-family:var(--font-university);color:var(--gold);font-size:1.3rem;font-weight:400}
.brand small{font-family:var(--font-alt);color:#e2e8f0;font-size:.85rem;letter-spacing:0}
.edition{font-family:var(--font-info);font-size:.8rem;color:#e2e8f0}
.admin-page>.topbar{flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
.admin-page>.topbar :is(.brand,.brand small,.edition){display:block;width:100%;text-align:center}
.participant-page:has(#app[data-stage="0"])>.topbar{display:none}
.shell{max-width:1100px;padding:0 20px;margin:25px auto 30px}
.participant{max-width:1100px}
.participant #app{background:rgba(255,255,255,.96);border-radius:30px;box-shadow:var(--shadow-lg),var(--shadow-glow);padding:40px 50px;border:1px solid rgba(255,255,255,.2);overflow:hidden}
.participant #app[data-stage="0"]{padding:0}
.participant #app>.panel{background:none;border:0;padding:0;margin:0;box-shadow:none}
.participant h1,.participant .eyebrow,.participant #app>.panel>p{text-align:center}
.participant h1{font-size:1.65rem;line-height:1.9;margin-bottom:24px}
.participant #app>.panel>p{max-width:790px;margin-inline:auto}
.participant #app>.panel.accent{border:0}
.survey-header{background:var(--gradient-hero);padding:50px 40px;text-align:center;position:relative;overflow:hidden}
.survey-header>*:not(.header-pattern){position:relative}
.header-pattern{position:absolute;inset:0;opacity:.5;background-image:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%239C92AC" fill-opacity="0.05"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>')}
.university-badge{width:130px;height:130px;margin:0 auto 25px;background:linear-gradient(145deg,#ffd700,#ffb700);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px rgba(255,215,0,.4);color:var(--dark)}
.university-badge svg{width:66px;height:66px}
.survey-header .university-name{font-family:var(--font-university);font-size:1.7rem;color:var(--gold);margin:0 0 4px;text-shadow:0 2px 10px rgba(255,215,0,.3)}
.faculty-name{font-family:var(--font-university);font-size:1.4rem;color:var(--gold);margin:0 0 22px}
.survey-header #survey-title{font-family:var(--font-heading);font-size:1.7rem;color:#fff;line-height:1.8;max-width:800px;margin:0 auto 20px}
.survey-header .subtitle{font-family:var(--font-alt);font-size:1.05rem;color:rgba(255,255,255,.85);margin:0}
.badge-pill{display:inline-block;padding:8px 20px;background:rgba(255,215,0,.2);border:1px solid rgba(255,215,0,.4);border-radius:30px;color:var(--gold);font-family:var(--font-number);font-size:.95rem;margin-top:15px}
.cover-content{padding:42px 50px 45px}
.researcher-card{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-radius:20px;padding:25px;border-inline-start:5px solid #ec4899;margin-bottom:25px;text-align:center}
.researcher-card h2{font-family:var(--font-heading);font-size:1.15rem;color:#831843;margin:0 0 10px}
.researcher-card h3{font-family:var(--font-heading);font-size:1.35rem;color:#831843;margin:0 0 10px}
.researcher-card p{font-family:var(--font-alt);color:#9d174d;font-size:1rem;line-height:1.9;margin:3px 0}
.supervision-title{font-family:var(--font-heading);color:var(--dark);text-align:center;font-size:1.3rem;margin:0 0 20px}
.supervisors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:30px;align-items:stretch}
.supervisor-box{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:20px;padding:25px;border-inline-start:5px solid #3b82f6;text-align:center;min-width:0}
.supervisor-box h3{font-family:var(--font-heading);color:#1e40af;font-size:1.15rem;line-height:1.9;margin-bottom:12px;text-wrap:balance}
.supervisor-box p{font-family:var(--font-alt);color:#1e3a8a;font-size:1rem;line-height:1.9;margin:8px 0}
.info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px;text-align:center}
.info-card{background:linear-gradient(145deg,#f8fafc,#e2e8f0);border-radius:20px;padding:25px 16px;border:2px solid transparent}
.info-card-icon{width:70px;height:70px;margin:0 auto 15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-number);font-size:1.8rem;color:#fff;background:var(--gradient-1);font-weight:700}
.info-card:nth-child(2) .info-card-icon{background:var(--gradient-2);color:#52153f}
.info-card:nth-child(3) .info-card-icon{background:var(--gradient-3);color:#164e63}
.info-card h3{font-family:var(--font-number);font-size:1.35rem;color:var(--dark);margin:0 0 5px}
.info-card p{font-family:var(--font-alt);font-size:.95rem;color:#475569;margin:0}
.welcome-box{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:25px;padding:35px 40px;margin:0 0 30px;border:2px solid #f59e0b;text-align:center}
.welcome-box p{font-family:var(--font-alt);color:#78350f;font-size:1.1rem;line-height:2;margin-bottom:15px}
.welcome-box p:last-child{margin-bottom:0}
.research-info-box{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:20px;padding:25px 30px;border:2px solid #8b5cf6;color:#4c1d95;font-family:var(--font-alt);font-size:1rem}
.instructions-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:25px;padding:30px 35px;margin-bottom:30px;border:2px solid #3b82f6;text-align:center}
.instructions-card p{font-family:var(--font-alt);font-size:1.1rem;line-height:2;color:#1e3a8a;padding-bottom:15px;border-bottom:1px dashed rgba(59,130,246,.3)}
.instructions-card p:last-child{border:0;margin-bottom:0;padding-bottom:0}
.scale-guide{background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:1px solid var(--line);text-align:center;font-family:var(--font-info);word-spacing:.3em;line-height:2.2;padding:22px}
.field>span{font-family:var(--font-heading);font-size:1rem;color:var(--dark);margin-bottom:12px}
.field input,.field select,.field textarea{font-family:var(--font-alt);font-size:1.05rem;border:3px solid #e2e8f0;border-radius:15px;padding:16px 20px;background:linear-gradient(145deg,#f8fafc,#fff);color:var(--dark);min-height:55px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,.15)}
#demo-form{max-width:780px;margin:30px auto 0}.participant #access-form{max-width:620px;margin:25px auto;text-align:center}.code-input{letter-spacing:.12em}.field{text-align:start}
.stage-head{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:2px solid #8b5cf6;border-radius:25px;padding:28px 32px;margin:0 0 35px;text-align:center}
.axis-number{width:70px;height:70px;background:linear-gradient(145deg,#ffd700,#ffb700);border-radius:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-number);font-size:2rem;font-weight:bold;color:var(--dark);box-shadow:0 8px 25px rgba(255,215,0,.4);margin:0 auto 20px}
.stage-head h2{font-family:var(--font-heading);font-size:1.45rem;color:var(--dark);line-height:1.8;margin:14px 0}
.stage-head .eyebrow{color:#5b21b6}.axis-definition{font-family:var(--font-alt);color:#4c1d95;font-size:1.03rem;line-height:2;margin:0 auto 22px;max-width:780px}
.step-meta{justify-content:center;text-align:center;font-family:var(--font-number);font-size:1rem;color:var(--primary-dark);margin-bottom:14px}
.progress{height:15px;background:#e2e8f0;border-radius:50px;box-shadow:inset 0 2px 5px rgba(0,0,0,.1);max-width:640px;margin:auto}
.progress>span{background:var(--gradient-1);border-radius:50px}
.question{background:linear-gradient(145deg,#fff,#f8fafc);border:3px solid #e2e8f0;border-inline-start:5px solid var(--primary);border-radius:25px;padding:26px 25px;margin:0 0 28px;min-width:0}
.question legend{font-family:var(--font-main);font-size:1.02rem;line-height:2.1;color:var(--dark);font-weight:600;text-align:start;padding:0 10px;max-width:100%}
.qcode{font-family:var(--font-number);font-size:.83rem;color:var(--primary-dark);margin-inline-end:12px;padding-inline:4px;unicode-bidi:isolate}
.choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:800px;margin:14px auto 0}
.choice{border:2px solid #cbd5e1;border-radius:12px;background:#fff;min-height:58px;padding:12px 8px;color:#475569;font-family:var(--font-info);font-size:.92rem;justify-content:center;text-align:center}
.choice input{accent-color:var(--primary);width:18px;height:18px}
.choice:has(input:checked){background:#eef2ff;border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);color:var(--dark)}
.choice:has(input:focus-visible){outline:3px solid var(--primary-dark);outline-offset:3px}
.missing{border-color:var(--danger)}.notice{border-inline-start-color:var(--primary);font-family:var(--font-alt)}.notice.error{border-color:var(--danger);color:#b91c1c;background:#fee2e2}
button{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:12px;font-family:var(--font-heading);font-size:1rem;padding:15px 30px;border-radius:50px;line-height:1.75;min-height:54px;transition:box-shadow .15s,filter .15s;background:#f8fafc;color:var(--dark);border:1px solid #cbd5e1;white-space:normal}
button.primary,button.primary:hover,.tabs button[aria-selected=true]{background:var(--gradient-1);border:0;color:#fff;box-shadow:0 10px 30px rgba(99,102,241,.4);font-weight:600}
button.btn-secondary,.navigation button:not(.primary),#edit{background:linear-gradient(145deg,#64748b,#475569);color:#fff;border:0;box-shadow:0 10px 30px rgba(71,85,105,.3)}
button.primary.btn-success{background:var(--gradient-4);color:#065f46;box-shadow:0 10px 30px rgba(16,185,129,.3)}
button:disabled{opacity:.6;cursor:not-allowed}button.danger{color:#b91c1c}
@media(hover:hover){button:hover:not(:disabled){filter:brightness(.97);box-shadow:0 10px 25px rgba(30,27,75,.15)}}
:focus-visible{outline:3px solid var(--primary-dark);outline-offset:4px}
.navigation{justify-content:center;align-items:center;gap:24px;padding:30px 0 0;margin-top:30px;border-top:3px dashed #e2e8f0;flex-wrap:wrap}
.navigation button{min-width:200px;max-width:100%}.cover-actions{margin-top:10px}.cover-actions #start{min-width:250px}
.save-note{font-family:var(--font-info);text-align:center;font-size:.8rem;margin:25px 0 0;color:#475569}
.review-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #e2e8f0}
.review-row strong{font-family:var(--font-alt);font-size:1.05rem}.review-row span{text-align:center;font-family:var(--font-number);color:#475569}.review-row button{min-height:45px;padding:8px 18px;font-size:.85rem}
.review-values{background:linear-gradient(145deg,#f8fafc,#fff);border-radius:20px;padding:24px;grid-template-columns:1fr 1.6fr;margin:20px 0;font-size:1.05rem}
dialog{background:#fff;border:2px solid #c4b5fd;border-radius:25px;padding:32px;max-width:640px;text-align:center;color:var(--dark);box-shadow:var(--shadow-lg)}
dialog h2{font-family:var(--font-heading);font-size:1.35rem;text-align:center}dialog p{font-family:var(--font-alt);font-size:1.05rem}dialog::backdrop{background:rgba(30,27,75,.85)}
dialog .navigation{gap:16px;padding-top:24px;margin-top:24px}dialog .navigation button{min-width:180px;font-size:.95rem}
.participant #app>.success{padding:55px 20px;text-align:center}
.success .seal{width:140px;height:140px;background:var(--gradient-4);border:0;color:#065f46;font-size:4rem;margin:0 auto 30px;box-shadow:0 20px 50px rgba(16,185,129,.25)}
.success h1{color:#047857!important;font-size:1.9rem!important}.success>p{font-size:1.15rem}
.researcher-signature{display:inline-flex;flex-direction:column;gap:6px;background:var(--gradient-hero);padding:20px 40px;border-radius:25px;color:var(--gold);margin-top:20px;font-family:var(--font-university);font-size:1.25rem}
.researcher-signature strong{font-family:var(--font-heading);font-size:1.1rem}
.site-foot{max-width:1000px;margin:35px auto 25px;padding:30px 20px;border-top:1px solid rgba(255,215,0,.35);text-align:center;color:#e2e8f0;font-family:var(--font-alt)}
.site-foot p{margin:6px 0}.site-foot .copyright{font-family:var(--font-info);color:var(--gold);font-size:.95rem}
.footer-researcher{font-family:var(--font-heading);font-size:1.05rem;color:#fff}.footer-university{font-family:var(--font-university);font-size:1.15rem;color:#e2e8f0}.footer-privacy{font-family:var(--font-alt);font-size:.9rem;margin-top:15px!important;color:#cbd5e1}
/* Research dashboard retains its information layout with the same identity. */
.admin-shell{max-width:1380px}.admin-head{background:var(--gradient-hero);border:1px solid rgba(255,255,255,.15);border-radius:25px;padding:25px 30px;color:#fff}.admin-head h1{color:#fff}.admin-head .eyebrow{color:var(--gold)}
.panel{border:1px solid #e2e8f0;border-radius:25px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-lg);padding:28px}
.panel.accent{border-top:3px solid var(--primary)}
#admin-app .login{text-align:center;margin-inline:auto}
.login :is(.eyebrow,h1,p,.field,.field>span,input){text-align:center}
.login #login-form{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:440px;margin:28px auto}
.login .field{width:100%;margin:0}.login #login-btn{min-width:200px;max-width:100%;align-self:center}
.admin-head{justify-content:center;flex-wrap:wrap;text-align:center}.admin-head>div{width:100%}
.admin-shell :is(h2,h3,.subtle,.muted,.heat-legend,.filter-status,.empty),.admin-shell .field,.participant .field{text-align:center}
.admin-shell .toolbar{justify-content:center;flex-wrap:wrap}.admin-shell :is(th,td){text-align:center}
.field :is(input,select){text-align:center;text-align-last:center}
.admin-shell #content>.panel:has(#export){text-align:center}
.survey-header #survey-title{text-wrap:balance}
.tabs{justify-content:center;gap:12px}.tabs button{font-size:.92rem;padding:12px 22px}
.filters .field>span{font-family:var(--font-info);font-size:.8rem}.filters select,.filters input{font-size:.9rem;padding:10px 12px;min-height:48px;border-width:2px}
.kpi{border:2px solid #e2e8f0;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:var(--shadow-lg);text-align:center;padding:22px 18px}
.kpi .label{font-family:var(--font-info);color:#475569}.kpi strong{font-family:var(--font-number);color:var(--dark)}.kpi .small-value{font-family:var(--font-heading);font-size:1rem}.kpi small{font-family:var(--font-alt);color:var(--primary-dark)}
.kpi:first-child{border-top-color:var(--primary)}.kpi:nth-child(2){border-top-color:var(--secondary)}.kpi:nth-child(3){border-top-color:var(--info)}
.bar-label,.item-list,.table-wrap,.subtle{font-family:var(--font-alt)}.bar-label{font-size:.98rem}.bar-track{background:#e2e8f0}.bar-track span{background:var(--gradient-1)}
.radar polygon[fill=none],.radar line{stroke:#cbd5e1}.radar text{fill:var(--dark)}.radar polygon:not([fill=none]){stroke:var(--primary);fill:rgba(99,102,241,.18)}
.heatmap button{display:flex;flex-direction:column;gap:0;border-radius:12px;font-family:var(--font-number);box-shadow:none;padding:8px 2px;min-height:60px;line-height:1.5}.heatmap button b{font-family:var(--font-info);font-size:.8rem}
.item-list li{font-size:.95rem;line-height:1.9}.table-wrap{background:#fff}table{font-size:.9rem}th{background:#eef2ff}td button{font-family:var(--font-alt);font-size:.85rem;box-shadow:none;min-height:42px}
.small-btn{font-size:.85rem;padding:8px 18px;min-height:44px}.dist-row{font-family:var(--font-info);font-size:.85rem}.code-output{background:#eef2ff}.filter-status{color:#475569;font-family:var(--font-alt)}
.toolbar button{font-size:.9rem}.toolbar .field>span{font-size:.95rem}hr{border:0;border-top:1px solid var(--line);margin:28px 0}
@media(max-width:900px){.supervisors-grid{grid-template-columns:1fr}.cover-content{padding:32px}.participant #app{padding:32px}.choices{gap:8px}.choice{font-size:.85rem}.bar-label{flex-wrap:wrap}.bar-label b{white-space:normal}.admin-head{gap:15px}}
@media(max-width:600px){
 :root{font-size:16px}.shell{padding:0 10px;margin-top:15px}.participant #app{padding:25px 18px;border-radius:25px}.participant #app[data-stage="0"]{padding:0}
 .survey-header{padding:35px 20px}.university-badge{width:95px;height:95px;margin-bottom:18px}.university-badge svg{width:52px;height:52px}.survey-header .university-name{font-size:1.6rem}.faculty-name{font-size:1.25rem}.survey-header #survey-title{font-size:1.3rem;line-height:1.9}.survey-header .subtitle{font-size:1rem}.badge-pill{font-size:.85rem}
 .cover-content{padding:28px 18px}.researcher-card{padding:24px 18px}.researcher-card h3{font-size:1.22rem}.supervisor-box{padding:24px 18px}.supervisor-box h3{font-size:1.1rem;line-height:2}.supervisors-grid{gap:18px}
 .info-cards{grid-template-columns:1fr;gap:14px}.info-card{padding:22px}.info-card-icon{width:58px;height:58px;font-size:1.55rem;margin-bottom:10px}.info-card h3{font-size:1.3rem}
 .participant h1{font-size:1.4rem}.welcome-box,.instructions-card{padding:24px 18px}.research-info-box{padding:22px 18px}
 .stage-head{padding:24px 18px}.stage-head h2{font-size:1.25rem}.axis-number{width:60px;height:60px;font-size:1.7rem}.axis-definition{font-size:1rem}.question{padding:20px 12px;margin-bottom:24px;border-radius:20px}.question legend{font-size:1rem;padding:0 6px;line-height:2}
 .choices{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.choice{grid-column:span 2;flex-direction:column;gap:8px;min-height:70px;font-size:.9rem;padding:12px 5px}.choice:nth-last-child(2){grid-column:2/span 2}.choice:last-child{grid-column:4/span 2}.choice:has(input[type=checkbox]){flex-direction:row;padding:16px;gap:12px}
 .navigation{flex-direction:column;gap:14px;margin-top:25px;padding-top:25px}.navigation button,.cover-actions #start,#verify{width:100%;min-width:0}.navigation button{padding:15px 18px}.cover-actions{margin-top:20px}
 .review-row{grid-template-columns:minmax(0,1fr) 70px;gap:12px}.review-row button{grid-column:1/-1;justify-self:center;min-width:150px}.review-values{grid-template-columns:1fr;padding:18px}.review-values dd{margin-bottom:15px}
 dialog{padding:25px 20px;max-height:calc(100dvh - 32px);overflow:auto}dialog .navigation button{width:100%;min-width:0}.participant #app>.success{padding:35px 8px}.success h1{font-size:1.5rem!important}.success .seal{width:110px;height:110px;font-size:3.5rem}.researcher-signature{padding:20px 24px;max-width:100%}
 .topbar{padding:16px 12px 0;gap:12px}.site-foot{padding:25px 20px;margin:25px 15px}.footer-privacy{line-height:2}.panel{padding:22px 18px}.admin-head{padding:22px 20px;text-align:center;justify-content:center}.admin-head h1{font-size:1.6rem}.tabs{gap:8px}.tabs button{font-size:.85rem;padding:10px 16px}.kpi{padding:18px 12px}.kpi .label{font-size:.75rem}.bar-label{font-size:.9rem}.dist-row{font-size:.75rem;grid-template-columns:55px 1fr 85px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
