@font-face{font-family:Tajawal;src:url('Tajawal-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('Tajawal-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{font-family:Tajawal,Arial,sans-serif;--rose:#9A4268;--accent:#AD285E;--ink:#412D3D;--muted:#776371;--line:#eadfe6;--paper:#FFFAFC;--pink:#E7BACB;--lavender:#F1E9F6;color:var(--ink);background:#f7f3f6;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 5% 0%,#f3e3ed 0,transparent 36%),radial-gradient(ellipse at 98% 95%,#ebe4f3 0,transparent 32%),#f8f5f7}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.3}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b75388;outline-offset:4px}button,input,select{touch-action:manipulation}h1,h2,p{margin-top:0}h1{font-size:27px;line-height:1.6;letter-spacing:-.3px;margin-bottom:12px}h1:focus{outline:none}p{line-height:1.8}#app{padding:30px 16px 50px;min-height:100vh}.app-shell{max-width:580px;margin:auto;background:#fff;border:1px solid #ece3e9;border-radius:30px;box-shadow:0 18px 65px #5832470b;overflow:hidden;min-height:820px}.screen{padding:26px 30px 24px;position:relative;animation:enter .2s ease-out}.screen:before{content:'';position:absolute;top:-150px;left:-180px;width:300px;height:300px;border:1px solid #9a426812;border-radius:50%;pointer-events:none}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.brand{flex:none}.brand img{display:block;width:58px;height:68px;object-fit:contain}.brand-large img{width:146px;height:166px;margin:auto}.page-label{font-size:12px;font-weight:700;color:var(--rose);flex:1;text-align:center}.back{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white;font-size:23px;flex:none}.group-track{display:flex;justify-content:space-between;position:relative;gap:10px;margin:0 4px 22px}.group-track:before{content:'';position:absolute;top:16px;right:0;left:0;height:1px;background:var(--line)}.group-stop{position:relative;z-index:1;background:white;border:1px solid var(--line);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--muted);font-weight:700}.group-stop.done{background:#f7eff4;border-color:#d7afc2;color:var(--rose)}.group-stop.current{background:var(--rose);border-color:var(--rose);box-shadow:0 0 0 5px #9a42680b;color:white}.category-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:5px}.category-name{font-size:18px;font-weight:700;line-height:1.6;margin-bottom:12px}.overall-progress{display:flex;align-items:center;gap:12px;margin-bottom:25px}.overall-progress>span{font-size:11px;white-space:nowrap;color:var(--muted)}.progress-line{height:4px;border-radius:10px;background:#f1e9ee;flex:1;overflow:hidden}.progress-line>span{display:block;height:100%;background:linear-gradient(90deg,#D696B2,var(--accent));border-radius:inherit;transition:width .2s}.question-count{display:block;font-size:11px;color:var(--rose);margin-bottom:8px}.question-subtitle{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:12px}.interaction-hint{color:var(--muted);font-size:12px;margin:0 0 16px;line-height:1.7}.options{display:grid;grid-template-columns:1fr;gap:11px}.option{position:relative;display:flex;align-items:center;text-align:right;width:100%;min-height:68px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px 16px;gap:12px;transition:border-color .15s,background .15s,box-shadow .15s}.option:hover{background:#fdf8fb;border-color:#c58ca7}.option.selected{background:#fcf4f8;border:2px solid var(--rose);padding:17px 15px;box-shadow:0 3px 14px #9a426809}.option-copy{flex:1;min-width:0}.option-label{display:block;font-size:16px;font-weight:700;line-height:1.7}.option-detail{display:block;font-size:12px;color:var(--muted);line-height:1.65;margin-top:3px}.selection-mark{margin-right:auto;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;width:24px;height:24px;font-size:14px;color:var(--rose);background:white}.selected .selection-mark{background:var(--rose);color:white;border-color:var(--rose)}.illustrated{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.illustrated .option{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;text-align:center;border-radius:18px}.illustrated .option.selected{border-width:2px;padding:0}.illustrated .art{display:block;width:100%;background:#fbf6f9;overflow:hidden}.art svg{display:block;width:100%;height:auto}.illustrated .option-copy{padding:10px 10px 14px;width:100%}.illustrated .option-label{font-size:14px}.illustrated .option-detail{font-size:11px;line-height:1.6}.illustrated .selection-mark{position:absolute;left:9px;top:9px;margin:0;box-shadow:0 2px 5px #412d3d09}.illustrated .option:not(.with-art){justify-content:center;min-height:120px;padding:15px}.illustrated .option:not(.with-art) .selection-mark{position:static;margin:0 auto;order:-1}.swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.swatches .option{display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:8px;min-height:0;padding:8px;border-radius:15px}.swatches .option.selected{padding:7px}.swatches .option-copy{padding:0}.color-sample{display:block;width:100%;height:62px;border-radius:10px;border:1px solid #412d3d12}.swatches .option-label{font-size:12px}.swatches .selection-mark{position:absolute;left:12px;top:12px;width:20px;height:20px;box-shadow:0 1px 5px #412d3d22}.swatches .option:not(.selected) .selection-mark{display:none}.skin-swatches .option-label{font-size:11px}.skin-swatches .color-sample{height:66px}.input{border:1px solid #dbcbd6;border-radius:15px;background:white;width:100%;min-height:56px;padding:12px 15px;font-size:17px;line-height:1.5;outline-offset:3px}.input:focus{border-color:var(--rose)}.input:disabled{background:#f5f2f4;color:#887381}.name-input{margin-top:16px}.fields label,.number-fields label,.other-label{display:block;font-size:13px;font-weight:700;margin:18px 0 9px}.fields{margin-top:10px}.fields label:first-child{margin-top:0}.number-panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,#fcf5f9,#fff);padding:24px 22px}.number-display{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:8px 0 20px;direction:ltr}.number-display strong{font-size:56px;line-height:1.2;color:var(--rose);font-weight:700}.number-display span{font-size:16px;color:var(--muted)}.number-fields{display:flex;gap:12px}.number-fields>div{min-width:0;flex:1}.number-fields>.decimal-field{flex:0 0 115px}.number-fields label{margin-top:0;min-height:18px}.number-fields select{text-align:center}.actions{margin-top:24px;padding:0 0 6px}.primary{border:0;border-radius:16px;background:var(--rose);color:white;width:100%;min-height:56px;padding:14px 20px;font-weight:700;font-size:17px;box-shadow:0 7px 18px #9a42681b}.primary:hover{background:#88355b}.text-button{background:none;border:0;color:var(--rose);font-size:14px;font-weight:700;padding:12px;min-height:44px}.error{font-size:13px;color:#9d244a;background:#fff1f5;border-radius:12px;padding:12px 14px;line-height:1.7;margin-top:15px}.error:empty{display:none}.save-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.8;margin:28px 0 0}.chosen-place{display:flex;align-items:center;gap:16px;background:#faf5f8;border:1px solid var(--line);border-radius:17px;padding:10px;margin-bottom:16px;color:var(--muted);font-size:12px;line-height:1.8}.chosen-place strong{color:var(--ink);font-size:15px}.chosen-art{width:110px;overflow:hidden;border-radius:11px;flex:none}.chosen-art svg{display:block;width:100%;height:auto}.welcome,.complete{padding:48px 35px 30px;text-align:center;min-height:820px;display:flex;flex-direction:column;align-items:center}.welcome .brand,.complete .brand{margin-bottom:24px}.welcome h1,.complete h1{font-size:30px;margin:10px 0 15px}.eyebrow{color:var(--rose);font-size:12px;font-weight:700;line-height:1.8}.lead{font-size:17px;line-height:1.9;color:var(--muted);max-width:400px;margin-bottom:26px}.welcome-facts{display:flex;width:100%;gap:10px;justify-content:center;margin:10px 0 32px}.welcome-facts>span{font-size:12px;flex:1;line-height:1.8;padding:12px 5px;border:1px solid var(--line);border-radius:15px}.welcome-facts strong{display:block;color:var(--rose);font-size:22px}.welcome .save-note,.complete .save-note{margin-top:auto;padding-top:32px}.welcome .primary,.complete .primary{margin-top:10px}.completion-icon{width:46px;height:46px;display:grid;place-items:center;background:#f5e9f0;border:1px solid #e3c6d4;border-radius:50%;font-size:23px;color:var(--rose);margin-bottom:16px}.completed-groups{text-align:right;width:100%;margin:0 0 20px;border:1px solid var(--line);border-radius:18px;padding:9px 18px}.completed-groups>div{display:flex;gap:12px;font-size:14px;line-height:1.7;padding:10px 0}.completed-groups>div+div{border-top:1px solid #f2eaf0}.completed-groups span{color:var(--rose)}.review-group{border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:22px 0}.review-group h2{font-size:16px;background:#faf4f8;margin:0;padding:17px 18px}.answer-row{background:white;border:0;display:flex;align-items:center;gap:16px;width:100%;padding:17px 18px;text-align:right}.answer-row+.answer-row{border-top:1px solid #f2eaf0}.answer-row>span:first-child{flex:1;min-width:0}.answer-row small{display:block;color:var(--muted);font-size:12px;line-height:1.8}.answer-row strong{display:block;font-size:15px;line-height:1.8;margin-top:4px;overflow-wrap:anywhere}.edit-word{font-size:11px;color:var(--rose)}.inline-swatch{display:inline-block;width:21px;height:21px;border-radius:50%;margin-left:8px;vertical-align:middle;border:1px solid #412d3d20}.splash{min-height:820px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px}.splash-line{width:100px;height:3px;background:#f0e4ec;border-radius:8px;overflow:hidden}.splash-line span{display:block;height:100%;background:var(--rose);animation:loading .65s ease-in-out;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes loading{from{width:0}to{width:100%}}@keyframes enter{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:600px){body{background:white}#app{padding:0;min-height:100dvh}.app-shell{border:0;border-radius:0;box-shadow:none;max-width:none;min-height:100dvh}.screen{padding:18px 21px calc(24px + env(safe-area-inset-bottom));min-height:100dvh}.top-row{margin-bottom:18px}.brand img{width:48px;height:59px}.group-track{margin-bottom:20px}.category-name{font-size:17px}.overall-progress{margin-bottom:22px}h1{font-size:25px;line-height:1.55}.illustrated{gap:10px}.option-label{font-size:15px}.illustrated .option-label{font-size:13px}.illustrated .option-detail{font-size:11px}.welcome,.complete{padding:35px 25px calc(24px + env(safe-area-inset-bottom));min-height:100dvh}.brand-large img{width:134px;height:153px}.splash{min-height:100dvh}.welcome h1,.complete h1{font-size:27px}.lead{font-size:16px}.swatches{gap:8px}.color-sample{height:56px}.skin-swatches .color-sample{height:58px}.number-panel{padding:24px 17px}.number-fields>.decimal-field{flex-basis:105px}.number-fields label{font-size:12px}}
@media(min-width:601px){.screen{min-height:820px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Profile controls: calendar, combined measurements, sound, and section handoff. */
.footer-tools{width:100%;margin-top:26px;text-align:center}.footer-tools .save-note{margin-top:8px}.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;background:transparent;border-radius:12px;padding:8px 12px;color:var(--rose);font-size:11px}.sound-toggle:hover{background:#faf2f7}.sound-symbol{font-size:17px;line-height:1}.sound-toggle[aria-pressed="false"]{color:var(--muted)}.welcome>.footer-tools,.complete>.footer-tools{margin-top:auto;padding-top:22px}.welcome .footer-tools .save-note,.complete .footer-tools .save-note{margin-top:8px;padding-top:0}.measurement-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;width:100%;min-height:174px;margin:18px 0 12px;padding:25px 20px;border:1px solid #d9bdce;border-radius:23px;background:linear-gradient(140deg,#fff9fc,#f9edf4);box-shadow:0 8px 23px #9a426808}.measurement-box:hover{border-color:var(--rose);background:#fbf0f6}.measurement-value{display:flex;direction:ltr;align-items:baseline;gap:9px}.measurement-value strong{font-size:52px;line-height:1.2;color:var(--rose)}.measurement-value>span{font-size:16px;color:var(--muted)}.measurement-hint{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:14px}.measurement-hint>span{font-size:22px;color:var(--rose)}.number-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 30px);overflow:auto;padding:18px 26px 22px;border:1px solid var(--line);border-radius:26px;background:#fffafc;color:var(--ink);box-shadow:0 20px 80px #412d3d25;margin:auto}.number-dialog::backdrop{background:#412d3d55;backdrop-filter:blur(3px)}.dialog-handle{width:42px;height:4px;border-radius:10px;background:#e4d2de;margin:0 auto 20px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{font-size:23px;margin:0;line-height:1.6}.dialog-close{border:1px solid var(--line);background:white;color:var(--muted);border-radius:50%;width:37px;height:37px;font-size:24px;line-height:1}.dialog-help{font-size:13px;color:var(--muted);margin:8px 0 22px}.number-dialog .number-display{margin:8px 0 25px}.picker-columns{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:13px;direction:ltr}.picker-columns>div{min-width:0}.picker-columns label{display:block;text-align:center;font-size:14px;font-weight:700;margin-bottom:9px}.picker-columns .input{text-align:center;direction:ltr;font-size:24px;font-weight:700;min-height:67px;padding:10px 15px}.decimal-point{font-size:31px;color:var(--rose);line-height:65px}.dialog-actions{margin-top:24px;display:flex;flex-direction:column;align-items:center}.dialog-actions .text-button{margin-top:5px}.date-panel{margin-top:22px}.date-panel>label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.date-control{display:flex;gap:10px;align-items:center}.date-control .input{min-width:0;min-height:64px;font-size:20px;direction:ltr;text-align:center;flex:1;background:#fff}.calendar-button{border:1px solid #dcc1d0;background:#faf1f7;color:var(--rose);width:58px;height:64px;flex:none;border-radius:15px;display:grid;place-items:center}.calendar-button svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.date-format{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}.profile-update-note{font-size:13px;line-height:1.8;padding:12px 15px;background:#faf1f6;border-radius:13px;color:var(--rose);border:1px solid #ecd7e3}.section-transition{min-height:820px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 35px 30px}.section-transition .brand{margin-bottom:32px}.section-success{width:63px;height:63px;border:1px solid #dcb4c8;border-radius:50%;background:#f6e7ef;color:var(--rose);font-size:32px;display:grid;place-items:center;margin-bottom:23px;animation:section-check .4s ease-out}.section-transition h1{font-size:27px;margin:12px 0}.section-transition .lead{font-size:17px;line-height:1.9;margin:0 0 23px}.section-transition .lead strong{color:var(--rose);font-weight:700}.section-steps{display:flex;gap:8px;margin-bottom:20px}.section-steps>span{width:27px;height:4px;border-radius:5px;background:#eadde5}.section-steps>span.done{background:var(--rose)}.section-transition .footer-tools{margin-top:40px}.art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.art img.profile-photo--body,.art img.profile-photo--face{object-fit:contain;background:#faf5f7}.chosen-art img{display:block;width:100%;height:88px;object-fit:cover}.illustrated .art{min-height:130px}.category-name{font-weight:700;font-size:17px;color:#6a465d}
@keyframes section-check{from{transform:scale(.85);opacity:.4}to{transform:scale(1);opacity:1}}
@media(max-width:600px){.number-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:27px 27px 0 0;border-bottom:0;padding:15px 24px calc(20px + env(safe-area-inset-bottom));max-height:calc(100dvh - 25px)}.picker-columns{gap:15px}.number-dialog .number-display strong{font-size:49px}.section-transition{min-height:100dvh;padding:35px 25px calc(24px + env(safe-area-inset-bottom))}.section-transition h1{font-size:25px}.measurement-value strong{font-size:48px}.date-control .input{font-size:18px}.date-control{gap:8px}.calendar-button{width:52px}.footer-tools{margin-top:23px}}
@media(prefers-reduced-motion:reduce){.section-success{animation:none}}
/* A stable Arabic label over the native date field keeps its calendar and keyboard access. */
.date-control{position:relative;border:1px solid #dbcbd6;border-radius:15px;background:#fff;min-height:64px;overflow:hidden;padding-left:6px;gap:0}.date-control:focus-within{outline:3px solid #b75388;outline-offset:4px;border-color:var(--rose)}.date-readable{flex:1;min-width:0;padding:17px 14px;color:#87717f;font-size:17px;text-align:center;pointer-events:none}.date-readable.has-value{direction:ltr;color:var(--ink);font-size:20px;font-weight:700}.date-control .input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:2;border:0;padding:0;cursor:pointer}.date-control .calendar-button{position:relative;z-index:3;width:52px;height:52px;min-height:52px;border:0;border-radius:12px;background:#faf1f7;flex:none}.date-control .calendar-button:focus-visible{outline-offset:-3px}
/* Repeatable prototype: controls reset only the current in-memory trial. */
.footer-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.restart-trial{min-height:40px;padding:8px 13px;border:1px solid #e5d1dd;border-radius:12px;background:#fffafc;color:var(--rose);font-size:11px}.restart-trial:hover{background:#faf1f7;border-color:#c58ca7}
/* Stable page frame; only the current question moves after its selection is confirmed. */
.screen{animation:none}.question-body{transform-origin:center top}.screen.is-moving .question-body,.screen.is-moving .top-row{pointer-events:none}.question-exit{animation:question-out 80ms ease-in both}.question-enter{animation:question-in 100ms ease-out both}.option.confirmed .selection-mark{animation:choice-check 180ms ease-out}.option.confirmed{box-shadow:0 0 0 2px #9a426819}.primary.confirmed{background:#87375d;box-shadow:0 5px 16px #9a426826}.measurement-box.confirmed,.date-choice.confirmed{border-color:var(--rose);box-shadow:0 0 0 2px #9a426819}.measurement-box,.date-choice{position:relative}.measurement-box.confirmed:after,.date-choice.confirmed:after{content:'✓';position:absolute;top:9px;left:9px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--rose);color:white;font-size:14px}.date-panel .date-label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.date-choice{display:flex;align-items:center;gap:9px;width:100%;min-height:75px;padding:9px 16px;background:#fff;border:1px solid #dbcbd6;border-radius:17px;text-align:center}.date-choice:hover{border-color:var(--rose);background:#fffafd}.date-choice .date-readable{padding:12px 8px}.date-choice>svg{flex:none;width:25px;height:25px;stroke:var(--rose);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.section-transition>.primary{max-width:360px;margin:10px 0 0}.welcome-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.welcome-facts>span{padding:16px 8px}.welcome-facts strong{font-size:26px}
@keyframes question-out{from{opacity:1;transform:translateX(0)}to{opacity:.9;transform:translateX(8px)}}
@keyframes question-in{from{opacity:.88;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@keyframes choice-check{from{transform:scale(.84)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.question-exit,.question-enter,.option.confirmed .selection-mark{animation:none!important;transform:none!important}}.selected-places{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selected-place{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:15px;background:#fffafc;min-width:0}.selected-place-art{width:54px;height:54px;border-radius:10px;overflow:hidden;flex:none}.selected-place-art img{display:block;width:100%;height:100%;object-fit:cover}.selected-place strong{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
