/* IN COMMON | Hackathon edition */
:root{
  --ink:#271a45;--deep:#251441;--violet:#6b48ca;--violet-2:#5a3bb5;--coral:#fc7e6d;--lime:#e6f76c;
  --cream:#fffcf0;--paper:#f3edff;--pink:#f3b6d9;--peach:#ffd293;--mint:#a9e9d8;--lilac:#d9ccff;
  --muted:#6a5b7a;--line:#ddd2ea;--accent:var(--lime);--soft:#f3f8d8;
}
body[data-stage="1"]{--accent:#ffb0c6;--soft:#fff0f5}
body[data-stage="2"]{--accent:#ffc873;--soft:#fff3df}
body[data-stage="3"]{--accent:#93dfc8;--soft:#e8f8f0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans','Tajawal',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
html[dir=rtl] body{font-family:'Tajawal','DM Sans',system-ui,sans-serif}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:50;background:var(--lime);color:var(--ink);padding:10px 14px;border:2px solid var(--ink);border-radius:6px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* header */
.top{position:sticky;top:0;z-index:20;height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 max(5%,calc((100vw - 1400px)/2));background:var(--deep);color:var(--cream);border-bottom:2px solid var(--ink)}
.wordmark{display:flex;align-items:center;gap:14px;text-decoration:none;font:700 25px/1 'Space Grotesk',sans-serif;letter-spacing:-1.2px;direction:ltr}
.wm-ar{font:800 30px/1 'Tajawal',sans-serif;letter-spacing:0;border-left:1px solid #8b74b4;padding-left:14px}
.wm-badge{font:700 12px/1 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.4px;background:var(--lime);color:var(--ink);padding:7px 10px;border-radius:4px;transform:rotate(-3deg);box-shadow:2px 2px 0 var(--coral)}
.controls{display:flex;gap:10px;align-items:center}
.pill-btn{border:1px solid #8b74b4;background:transparent;color:#f5efff;border-radius:99px;padding:8px 14px;font-size:13px;white-space:nowrap}
.pill-btn:hover{background:#3e2b66}
.pill-btn.lang{background:#3e2b66;font-family:'Tajawal','DM Sans',sans-serif;font-size:16px;padding:7px 16px}

/* ribbon */
.ribbon{overflow:hidden;background:var(--lime);border-bottom:2px solid var(--ink);height:42px;display:flex;align-items:center;user-select:none}
.ribbon-track{display:flex;width:max-content;white-space:nowrap;direction:ltr;animation:ribbon 40s linear infinite}
.ribbon-track span{font:700 14px/1 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.5px;padding-right:26px;color:var(--ink)}

/* layout */
.layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(380px,45%) 1fr}
.event{position:relative;overflow:hidden;background:var(--violet);color:var(--cream);padding:44px 7% 40px;border-inline-end:2px solid var(--ink)}
.blob{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.55}
.b1{width:340px;height:340px;background:radial-gradient(circle,#8a6be0 0,#8a6be000 70%);top:-120px;inset-inline-end:-120px}
.b2{width:420px;height:420px;background:radial-gradient(circle,#3c2580 0,#3c258000 70%);bottom:-160px;inset-inline-start:-180px}
.event>*{position:relative}
.tag{display:inline-block;margin:0;background:var(--coral);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:3px;padding:8px 12px;font:700 12px/1.2 'Space Grotesk','Tajawal',sans-serif;letter-spacing:.8px;transform:rotate(-2deg)}
h1{font:700 clamp(44px,4.6vw,72px)/1 'Space Grotesk','Tajawal',sans-serif;letter-spacing:-3px;margin:30px 0 20px}
h1 em{font-style:normal;color:var(--lime);display:inline-block}
html[dir=rtl] h1{font-family:'Tajawal',sans-serif;font-weight:800;letter-spacing:-.5px;line-height:1.2}
.intro{font-size:18px;line-height:1.6;color:#efe8ff;max-width:34em;margin:0 0 24px}
.jump{display:inline-flex;align-items:center;gap:22px;background:var(--lime);color:var(--ink);text-decoration:none;font-weight:700;border:2px solid var(--ink);border-radius:8px;padding:13px 20px;box-shadow:4px 4px 0 var(--ink);transition:transform .18s,box-shadow .18s}
.jump span{font-size:20px;line-height:1}
.jump:hover{transform:translateY(-3px);box-shadow:4px 7px 0 var(--ink)}
.art-frame{margin:34px 0 28px;padding:9px;background:var(--cream);border:2px solid var(--ink);border-radius:18px 18px 56px 18px;box-shadow:7px 7px 0 var(--deep);transform:rotate(-1.5deg);animation:float 7s ease-in-out infinite}
.motion{position:relative;aspect-ratio:20/9;overflow:hidden;border-radius:11px 11px 46px 11px;border:1px solid var(--ink);background:#6b48ca;container-type:inline-size;isolation:isolate}
.motion svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.m-star{transform-box:view-box;transform-origin:0 0;transform:translate(1040px,300px);animation:star-spin 14s cubic-bezier(.65,0,.35,1) infinite}
.m-star .ch{transform-box:view-box;transform-origin:0 0;animation:chev 2.8s ease-in-out infinite}
.m-star .c1{animation-delay:.12s}.m-star .c2{animation-delay:.24s}.m-star .c3{animation-delay:.36s}.m-star .c4{animation-delay:.48s}.m-star .c5{animation-delay:.6s}.m-star .c6{animation-delay:.72s}.m-star .c7{animation-delay:.84s}
.m-star .dot{transform-box:fill-box;transform-origin:center;animation:dot 2.8s ease-in-out infinite}
.m-star .d1{animation-delay:.2s}.m-star .d3{animation-delay:.4s}.m-star .d2{animation-delay:.6s}
.m-ribbon{fill:none;stroke:#e6f76c;stroke-width:46;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;animation:ribbon-draw 9s cubic-bezier(.6,0,.3,1) infinite}
.m-ribbon.r2{stroke-width:34;animation-delay:.9s}
.m-blob{transform-box:fill-box;transform-origin:center;animation:blob 10s ease-in-out infinite}
.mb2{animation-delay:-3s}.mb3{animation-delay:-6s}.mb4{animation-delay:-2s}
.m-spark{transform-box:fill-box;transform-origin:center;animation:spark 2.2s ease-in-out infinite}
.m-spark.s2{animation-delay:1.1s}
.m-loop{stroke-dasharray:1 1;stroke-dashoffset:1;animation:ribbon-draw 9s ease-in-out 1.6s infinite}
.m-text{position:absolute;left:6%;top:12%;bottom:12%;width:56%;display:flex;flex-direction:column;color:#fffcf0;pointer-events:none}
.m-kicker{font:700 4.4cqw/1 'Space Grotesk',sans-serif;letter-spacing:.02em;color:#e6f76c;align-self:flex-start;padding-bottom:.9cqw;background:linear-gradient(#fffcf0,#fffcf0) left bottom/100% .5cqw no-repeat;animation:kick 9s ease-in-out infinite}
.m-words{position:relative;flex:1;margin-top:1.2cqw}
.m-words span{position:absolute;left:0;top:50%;font:700 12.5cqw/1 'Space Grotesk',sans-serif;letter-spacing:-.045em;white-space:nowrap;opacity:0;transform:translateY(-10%);animation:word 10s cubic-bezier(.2,.8,.2,1) infinite;text-shadow:.5cqw .5cqw 0 #372450}
.m-words.ar span{font-family:'Tajawal',sans-serif;font-weight:800;letter-spacing:0;font-size:12cqw;line-height:1.3}
.m-words span:nth-child(2){animation-delay:2s}.m-words span:nth-child(3){animation-delay:4s}.m-words span:nth-child(4){animation-delay:6s}.m-words span:nth-child(5){animation-delay:8s}
.m-line{font:700 2.9cqw/1.2 'Space Grotesk',sans-serif;letter-spacing:.01em;color:#fffcf0;text-shadow:.3cqw .3cqw 0 #372450;align-self:flex-start}
.m-line.ar{font-family:'Tajawal',sans-serif;font-size:3.2cqw}
.m-sticker{position:absolute;left:37%;top:8.5%;background:#fc7e6d;color:#271a45;border:.3cqw solid #271a45;border-radius:99px;padding:1.4cqw 2.4cqw;font:700 2.7cqw/1 'Space Grotesk','Tajawal',sans-serif;letter-spacing:.04em;box-shadow:.5cqw .5cqw 0 #271a45;transform:rotate(-9deg);animation:sticker 3.4s ease-in-out infinite;white-space:nowrap}
.facts .fact:first-child{grid-column:1/-1;background:var(--lime);display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.facts .fact:first-child dd{font-size:18px}
.art-label{position:absolute;top:-16px;inset-inline-start:22px;z-index:1;background:var(--lime);color:var(--ink);border:2px solid var(--ink);border-radius:4px;padding:6px 11px;font:700 11px/1.3 'Space Grotesk','Tajawal',sans-serif;letter-spacing:.6px;transform:rotate(3deg);box-shadow:3px 3px 0 var(--ink)}
html[dir=rtl] .art-label{font-size:13px;letter-spacing:0}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 34px}
.fact{background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:13px 15px;box-shadow:3px 4px 0 var(--deep)}
.fact:nth-child(3){background:#ffe3dc}.fact:nth-child(4){background:#f6e8ff}.fact:nth-child(5){background:#e7f6f0}
.fact dt{font:700 11px/1.2 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
html[dir=rtl] .fact dt{font-size:13px;letter-spacing:0}
.fact dd{margin:0;font-weight:700;font-size:16px;line-height:1.35}
.fact a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.build h2{font:700 13px/1.2 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 14px;color:var(--lime)}
html[dir=rtl] .build h2{font-size:16px;letter-spacing:0}
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.stage button{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:start;background:#7d5cd6;border:2px solid var(--ink);border-radius:9px;padding:11px 10px 12px;color:var(--cream);box-shadow:2px 3px 0 var(--deep);transition:transform .16s,box-shadow .16s,background .16s}
.stage .num{font:700 11px/1 'Space Grotesk',sans-serif;opacity:.8}
.stage .st-emoji{font-size:22px;line-height:1}
.stage .st-title{font-weight:700;font-size:13px;line-height:1.25}
.stage button:hover{transform:translateY(-3px);box-shadow:2px 6px 0 var(--deep)}
.stage.on button{background:var(--lime);color:var(--ink)}
.stages{grid-template-rows:auto auto}
.st-desc{display:none}
.stage.on .st-desc{display:block}
.stages .st-desc{grid-column:1/-1}
/* description row under the buttons */
.stages{position:relative;padding-bottom:64px}
.stage.on .st-desc{position:absolute;inset-inline:0;bottom:0;margin:0;font-size:15px;line-height:1.5;color:#f3edff;min-height:52px;display:flex;align-items:center}
.about{margin-top:22px;border-top:1px solid #9a83de;border-bottom:1px solid #9a83de;padding:14px 0}
.about summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:700}
.about summary::-webkit-details-marker{display:none}
.about i{font-style:normal;font-size:20px;line-height:1;transition:transform .2s}
.about[open] i{transform:rotate(45deg)}
#about-copy{font-size:15px;line-height:1.7;color:#efe8ff}
#about-copy p{margin:12px 0}

/* deadline + closed */
.deadline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;background:#fff0ce;border:2px solid var(--ink);border-radius:9px;box-shadow:3px 3px 0 var(--ink);font-weight:700}
.dl-ico{font-size:20px;line-height:1}
.dl-txt{flex:1;min-width:180px}
.dl-left{background:var(--ink);color:var(--cream);border-radius:99px;padding:4px 11px;font-size:13px;white-space:nowrap}
.deadline.urgent{background:#ffd9d2}
.deadline.urgent .dl-left{background:#c0284d;animation:pulse 1.6s ease-in-out infinite}
.closed{animation:reveal .45s ease both}
.closed h2{margin-bottom:12px}

/* form panel */
.form-panel{background:var(--cream);padding:40px clamp(24px,4.4vw,66px) 40px;outline:none;scroll-margin-top:80px;min-height:820px}
.form-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}
.pill{background:var(--accent);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:5px;padding:6px 10px;font:700 12px/1.2 'Space Grotesk','Tajawal',sans-serif;letter-spacing:.7px;transition:background .3s}
html[dir=rtl] .pill{letter-spacing:0;font-size:14px}
#step-label{font-size:14px;font-weight:600;color:var(--muted)}
.progress{height:13px;border:2px solid var(--ink);border-radius:5px;background:#ece5f1;overflow:hidden}
#progress-fill{height:100%;width:0;background:var(--accent);border-inline-end:2px solid var(--ink);transition:width .45s cubic-bezier(.2,.8,.2,1),background .3s}
.steps{display:flex;gap:8px;margin:18px 0 30px}
.steps button{flex:1;min-width:0;border:1.5px solid #d7cadd;background:#f6eff8;border-radius:6px;padding:8px 2px;font-size:12px;color:#6c5c75;line-height:1.4;transition:background .2s,transform .2s}
.steps button::before{content:attr(data-n);display:block;font:700 17px/1.2 'Space Grotesk',sans-serif;color:#7a6a88}
.steps button.completed::before{content:'✓';color:#2f6b4f}
.steps button.active{background:var(--accent);border-color:var(--ink);box-shadow:2px 3px 0 var(--ink);color:var(--ink);transform:translateY(-3px)}
.steps button.active::before{color:var(--ink)}
.steps button:disabled{opacity:.55;cursor:default}
html[dir=rtl] .steps button{font-size:14px}
.completion{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:-14px 0 24px}
#completion-count{font-weight:700;color:#7b3f95}
.heading{margin-bottom:24px;padding:17px 19px;border-inline-start:5px solid var(--accent);background:var(--soft);border-start-end-radius:12px;border-end-end-radius:12px;transition:background .3s}
.kicker{margin:0 0 6px;font:700 12px/1.2 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.5px;color:#8a46a0}
html[dir=rtl] .kicker{letter-spacing:0;font-size:14px}
h2{font:700 36px/1.12 'Space Grotesk','Tajawal',sans-serif;letter-spacing:-1.4px;margin:0 0 8px;outline:none}
html[dir=rtl] h2{font-family:'Tajawal',sans-serif;font-weight:800;letter-spacing:0}
#step-desc{margin:0;color:var(--muted);font-size:15px}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.grid-2>fieldset,.grid-2>.reveal-group,.grid-2>.inline-note{grid-column:1/-1}
.field{position:relative;margin:0 0 24px;min-width:0;border:0;padding:0}
.title{display:block;font-weight:700;font-size:16px;line-height:1.45;margin-bottom:8px;padding:0;color:#302342}
.field.ok>.title{padding-inline-end:30px}
.field.ok>.title::after{content:'✓';position:absolute;inset-inline-end:0;top:0;width:23px;height:23px;border-radius:50%;background:#dcf596;border:1px solid #759950;color:#264a30;font-size:12px;line-height:21px;text-align:center}
.req{color:#b2365f}
.help{margin:-3px 0 10px;font-size:14px;color:var(--muted)}
.field input[type=text],.field input[type=email]{width:100%;min-height:52px;padding:13px 15px;border:1.5px solid #bdb0c6;border-radius:8px;background:#fffefb;outline:none;transition:border-color .2s,box-shadow .2s}
.field input:focus{border-color:var(--violet);background:#fff;box-shadow:4px 4px 0 var(--lilac)}
.field input::placeholder{color:#9a8ea4}
html[dir=rtl] .field input[dir=ltr]{text-align:right}
html[dir=rtl] .field input[dir=ltr]:not(:placeholder-shown){text-align:left}
.reveal-group{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:18px 18px 0;margin:-6px 0 24px;background:var(--soft);border:1.5px dashed #c9b8d8;border-radius:12px;animation:reveal .35s ease both}
.reveal-group .field:last-child:nth-child(odd){grid-column:1/-1}
.inline-note{margin:-6px 0 24px;padding:13px 15px;background:var(--soft);border-radius:10px;font-weight:600;color:#3d5a30}

.choice-grid{display:grid;gap:11px}
.choice-grid.three{grid-template-columns:repeat(3,1fr)}
.choice{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;border:1.5px solid #bdb0c6;border-radius:10px;background:#fffcf8;box-shadow:0 2px 0 #e4dbe9;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.choice:hover{border-color:var(--ink);background:#f4efff;box-shadow:3px 4px 0 #ceb7ee;transform:translateY(-2px)}
.choice:has(input:checked){background:var(--accent);border:2px solid var(--ink);box-shadow:3px 4px 0 var(--ink);padding:13.5px}
.choice input{width:19px;height:19px;margin:0;accent-color:var(--ink)}
.emoji{font-size:22px;line-height:1}
.copy{display:flex;flex-direction:column;min-width:0}
.main{font-weight:600;font-size:15px;line-height:1.35}
.sub{font-size:13px;color:var(--muted);margin-top:3px;font-family:'Tajawal','DM Sans',sans-serif}
html[dir=rtl] .sub{font-family:'DM Sans',sans-serif}
.three .choice{grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:start;min-height:100%}
.three .choice .emoji{grid-row:1}
.three .choice input{grid-row:1;grid-column:2;justify-self:end}
.three .choice .copy{grid-column:1/-1}
.choice-grid.topics{grid-template-columns:repeat(3,1fr)}
.topics .choice{grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:start;min-height:128px;padding:15px;border-width:2px}
.topics .choice:has(input:checked){padding:15px}
.topics .choice:nth-child(6n+1){background:#f6e8ff;border-color:#d0bed9}
.topics .choice:nth-child(6n+2){background:#fff0d7;border-color:#dbc494}
.topics .choice:nth-child(6n+3){background:#e5f5e9;border-color:#bbd9c3}
.topics .choice:nth-child(6n+4){background:#ffe7ef;border-color:#e2b8c8}
.topics .choice:nth-child(6n+5){background:#e8efff;border-color:#b9c6e6}
.topics .choice:nth-child(6n){background:#fff8d6;border-color:#dccd8a}
.topics .choice:has(input:checked){background:var(--accent);border-color:var(--ink)}
.topics .choice .emoji{font-size:26px}
.topics .choice input{grid-row:1;grid-column:2;justify-self:end}
.topics .choice .copy{grid-column:1/-1}
.topics.small .choice{min-height:0;padding:12px 13px;grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center}
.topics.small .choice:has(input:checked){padding:12px 13px}
.topics.small .choice .emoji{font-size:20px}
.topics.small .choice input{grid-column:3}
.topics.small .choice .copy{grid-column:2}
.topics.small .sub{display:none}
.choice-grid.topics.small{grid-template-columns:1fr 1fr}
.choice.blocked{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:#eee8f2!important;border-style:dashed!important}
.flag{display:inline-block;align-self:flex-start;margin-top:5px;font-size:11px;font-weight:700;background:var(--ink);color:var(--cream);border-radius:4px;padding:2px 7px}

.review{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:20px}
.review h3{margin:0 0 12px;font-size:20px}
.review .edit{float:inline-end;border:1px solid var(--ink);background:var(--lime);border-radius:5px;padding:4px 12px;font-size:14px;font-weight:600}
.review dl{margin:0;display:grid;gap:10px}
.review dt{font-size:13px;font-weight:700;color:var(--muted)}
.review dd{margin:2px 0 0;font-size:16px;overflow-wrap:anywhere}
html[dir=rtl] .review dd[dir=ltr]{text-align:right}
.submit-note{background:#fff0ce;border:1px solid #ddc08c;border-radius:10px;padding:14px 15px;font-size:14px;line-height:1.65}

.feedback:not(:empty){background:#e7f7c2;border:1px solid #bbd68c;border-radius:7px;padding:11px 14px;color:#385024;font-weight:600;margin:6px 0 0;animation:reveal .35s ease}
.feedback:empty{display:none}
.error{color:#a3203f;font-size:14px;font-weight:600;margin:12px 0 0}
.error:empty{display:none}
.actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.back{border:0;background:none;font-weight:700;color:#5d4a6c;padding:12px 0}
.next{margin-inline-start:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:190px;padding:15px 22px;border:2px solid var(--ink);border-radius:8px;background:var(--coral);color:var(--ink);font-weight:700;box-shadow:4px 4px 0 var(--ink);transition:transform .18s,box-shadow .18s,background .18s}
.next span{font-size:22px;line-height:1}
.next:hover{background:var(--lime);transform:translateY(-3px);box-shadow:4px 7px 0 var(--ink)}
.next:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.next:disabled{opacity:.7;cursor:wait;transform:none}
.note{font-size:12px;color:#7a6b80;margin:18px 0 6px}
.original{font-size:12px;color:#7a6b80;text-underline-offset:4px}

/* done */
.done{position:relative;animation:reveal .45s ease both}
.done-lead{font-size:17px;color:#4d3f5d;margin:6px 0 22px}
.ticket{background:#fff;border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--violet);overflow:hidden}
.trow{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:16px 18px;border-bottom:2px dashed #d9cce6}
.trow:last-child{border-bottom:0}
.trow:nth-child(1){background:#f6e8ff}.trow:nth-child(2){background:#eef9c9}.trow:nth-child(3){background:#ffe3dc}.trow:nth-child(4){background:#e7f6f0}
.te{font-size:26px;line-height:1.2}
.tk{display:block;font:700 11px/1.3 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
html[dir=rtl] .tk{font-size:13px;letter-spacing:0}
.tv{display:block;font-size:18px;line-height:1.35;margin-top:2px}
.maplink{display:inline-block;margin-top:8px;font-weight:700;font-size:14px;background:var(--ink);color:var(--cream);text-decoration:none;border-radius:6px;padding:7px 12px}
.maplink:hover{background:var(--violet)}
.done-warn{margin:22px 0 10px;padding:13px 15px;background:#fff0ce;border:1px solid #ddc08c;border-radius:10px;font-size:15px;line-height:1.6}
.done-sign{font-weight:700;font-size:17px;margin:18px 0}
.again{border:0;background:none;color:#6b5a7a;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:6px 0}
.confetti{position:absolute;inset:-40px 0 auto;height:0;pointer-events:none;z-index:2}
.confetti i{position:absolute;top:0;width:9px;height:14px;border-radius:2px;animation:fall 2.2s cubic-bezier(.2,.6,.4,1) forwards}

/* footer */
.foot{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:26px max(5%,calc((100vw - 1400px)/2));background:var(--deep);color:#d9ccef;border-top:2px solid var(--ink)}
.foot-caption{margin:0;font:700 12px/1.6 'Space Grotesk','Tajawal',sans-serif;letter-spacing:1.1px;color:var(--lime);min-width:140px}
html[dir=rtl] .foot-caption{letter-spacing:0;font-size:14px}
.logos{display:flex;gap:14px;flex:1;flex-wrap:wrap}
.logo{height:74px;padding:8px 14px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--ink);border-radius:8px;box-shadow:3px 3px 0 #6b48ca}
.logo.dark{background:#153c3b}
.logo img{max-height:100%;width:auto;max-width:100%;display:block}
.logo.mb img{height:34px;max-height:none}
.logo.yc{padding:0;background:#f3ee4c;overflow:hidden}
.logo.yc img{height:110%;max-height:none;width:auto;max-width:none;flex:none}
.logo.yc{width:160px}
.foot-line{margin:0;font-size:13px}

@keyframes ribbon{to{transform:translateX(-50%)}}
@keyframes star-spin{0%,8%{transform:translate(1040px,300px) rotate(0)}46%,54%{transform:translate(1040px,300px) rotate(45deg)}92%,100%{transform:translate(1040px,300px) rotate(90deg)}}
@keyframes chev{0%,100%{transform:translate(0,0)}50%{transform:scale(.9)}}
@keyframes dot{0%,100%{transform:scale(1)}50%{transform:scale(.72)}}
@keyframes ribbon-draw{0%{stroke-dashoffset:1}35%,65%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-14px,10px) scale(1.06)}}
@keyframes spark{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
@keyframes word{0%{opacity:0;transform:translateY(5%) scale(.96)}3%{opacity:1;transform:translateY(-50%) scale(1)}17%{opacity:1;transform:translateY(-50%) scale(1)}20%{opacity:0;transform:translateY(-95%) scale(1.02)}100%{opacity:0;transform:translateY(-95%)}}
@keyframes kick{0%,100%{transform:none}50%{transform:translateX(.6cqw)}}
@keyframes sticker{0%,100%{transform:rotate(-9deg) scale(1)}50%{transform:rotate(-4deg) scale(1.06)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-7px) rotate(.4deg)}}
@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fall{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),420px) rotate(var(--r));opacity:0}}

@media(max-width:1180px){
  .choice-grid.topics{grid-template-columns:1fr 1fr}
  .stages{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .layout{display:block}
  .event{border:0;border-bottom:2px solid var(--ink);padding:32px 6% 30px}
  h1{font-size:44px;letter-spacing:-2px}
  html[dir=rtl] h1{font-size:42px}
  .intro{font-size:16px}
  .art-frame{margin:30px 0 24px}
  .form-panel{padding:30px 6% 34px;min-height:0}
  .stages{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:640px){
  .choice-grid.topics.small{grid-template-columns:1fr}
  .top{height:66px;padding:0 5%}
  .wordmark{font-size:19px;gap:8px}
  .wm-ar{font-size:24px;padding-left:8px}
  .wm-badge{font-size:9px;padding:5px 6px;letter-spacing:.8px}
  .controls{gap:6px}
  #motion{display:none}
  .pill-btn.lang{font-size:14px;padding:6px 11px}
  .ribbon{height:34px}.ribbon-track span{font-size:12px}
  h1{font-size:38px}
  html[dir=rtl] h1{font-size:36px}
  .facts{grid-template-columns:1fr 1fr;gap:9px}
  .fact{padding:11px 12px}.fact dd{font-size:14px}
  .stages{grid-template-columns:1fr 1fr}
  .stage .st-title{font-size:13px}
  .grid-2,.reveal-group{grid-template-columns:1fr}
  .reveal-group{padding:14px 14px 0}
  .choice-grid.three{grid-template-columns:1fr}
  .three .choice{grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center}
  .three .choice input{grid-column:3}
  .three .choice .copy{grid-column:2}
  .choice-grid.topics{grid-template-columns:1fr}
  .topics .choice{min-height:0;grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center}
  .topics .choice input{grid-column:3}
  .topics .choice .copy{grid-column:2}
  h2{font-size:29px;letter-spacing:-.8px}
  .steps{gap:6px}.steps button{font-size:11px}
  .next{min-width:0;flex:1;gap:16px}
  .foot{gap:16px}
  .logos{gap:8px;width:100%}
  .logos{display:grid;grid-template-columns:1fr 1fr;flex:1 1 100%}
  .logo{min-width:0;height:58px;padding:8px 10px}
  .logo.mb img{height:26px}
  .logo.yc{width:auto;justify-content:flex-end}
  .logo.yc img{height:110%;margin-inline-end:-5px}
}
@media(max-width:380px){
  .wm-badge{display:none}
  h1{font-size:34px}
}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition:none!important}
.motion-paused .reveal-group,.motion-paused .feedback,.motion-paused .done{animation:none!important}
html.motion-paused{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
