@font-face{font-family:Noto;src:url('../public/assets/fonts/noto-sans-arabic-arabic-400-normal.woff2')}@font-face{font-family:Noto;src:url('../public/assets/fonts/noto-sans-arabic-arabic-700-normal.woff2');font-weight:700}*{box-sizing:border-box}body{margin:0;font-family:Noto,Arial,sans-serif;color:var(--ink,#172234);background:var(--canvas,#f3f6fb)}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line,#cfd6e0);background:var(--surface,#fff);border-radius:32px;min-height:48px;padding:10px 24px}button:hover{border-color:var(--blue);box-shadow:0 5px 20px #1722340b}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--action);color:var(--on_action);border:0;min-height:60px;min-width:200px;font-weight:700;font-size:22px}.shell{min-height:100svh;padding:24px 4vw;display:flex;flex-direction:column;background:radial-gradient(ellipse at 10% 8%,#f0b17d20,transparent 45%),radial-gradient(ellipse at 85% 25%,#9aafff25,transparent 48%),radial-gradient(ellipse at 45% 80%,#ffffff10,transparent 55%)}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{direction:ltr;font:700 30px Georgia,serif;letter-spacing:1px;display:flex;flex-direction:column}.brand:after{content:'';width:45px;height:3px;background:var(--warm);margin-top:8px}.toolbar{display:flex;gap:8px}.toolbar button{font-size:14px;padding:8px 16px}.progress{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:14px}.dots{display:flex;gap:8px}.dot{width:10px;height:10px;border:1px solid var(--line);border-radius:50%}.dot.done{background:var(--warm);border-color:var(--warm)}main{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1200px;width:100%;margin:auto}.eyebrow{color:var(--blue);font-size:14px;margin:26px 0 4px}h1{font-size:clamp(30px,4vw,48px);line-height:1.65;margin:0;font-weight:700}p.subtitle{margin:0;color:var(--muted);font-size:clamp(18px,2vw,24px)}.stage{position:relative;width:100%;flex:1;min-height:340px;display:flex;align-items:center;justify-content:center;gap:6vw;padding:18px 0}.character{height:clamp(250px,38vh,440px);max-width:46%;object-fit:contain;filter:drop-shadow(0 18px 16px #14243b0b)}.welcome .character{height:clamp(280px,44vh,470px);max-width:80%}.palm-wrap{position:relative;width:clamp(200px,30vw,330px)}.palm{width:100%;display:block}.date-target{position:absolute;top:45%;left:55%;width:23%;height:17%;padding:0;background:transparent;border:2px solid var(--blue);border-radius:50%;min-height:60px;box-shadow:0 0 0 7px #7ec6ec22}.date-target.revealed{background:#f0b17d40}.date-label{position:absolute;top:33%;left:72%;background:var(--surface);border-radius:20px;padding:4px 20px;font-size:25px;white-space:nowrap}.object-title{position:absolute;top:-5%;right:0;left:0;font-size:32px;font-weight:700}.actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:12px 0 16px}.feedback{min-height:42px;font-size:20px;color:var(--blue);margin:0;max-width:700px}.small{font-size:13px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;color:var(--muted);font-size:12px}footer button{border:0;background:transparent;font-size:13px}.choices{display:flex;flex-direction:column;gap:16px;min-width:230px}.choices button{font-size:30px;min-height:74px}.panel{width:min(580px,100%);padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}textarea{width:100%;min-height:130px;resize:vertical;border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--canvas);color:var(--ink);font-size:24px}.writing .character{height:240px;width:24%}.writing .panel{width:75%;padding:16px}.canvas-wrap{position:relative;width:100%;aspect-ratio:1.9;background:var(--canvas);border-radius:18px;overflow:hidden;border:1px solid var(--line)}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.model{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(50px,9vw,110px);color:var(--guide);opacity:.5;pointer-events:none}.writing-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}.review-word{font-size:64px;margin:0;color:var(--blue)}.path{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:35px 0}.path span{border:1px solid var(--line);border-radius:20px;padding:16px 22px;background:var(--surface)}dialog{background:var(--surface,#fff);color:var(--ink);border:1px solid var(--line);border-radius:28px;padding:32px;width:min(620px,92vw);max-height:90vh}dialog::backdrop{background:#101c3066;backdrop-filter:blur(8px)}.close{float:left;min-width:48px;padding:4px;font-size:25px}.themes{display:grid;gap:12px;margin:24px 0}.themes button[aria-pressed=true]{outline:2px solid var(--blue)}#evidence p{border-bottom:1px solid var(--line);padding-bottom:12px}input[type=file]{max-width:100%}@media(max-width:650px){.shell{padding:18px}.progress{flex-direction:column;gap:5px}.toolbar{gap:4px}.toolbar button{padding:6px 10px}.brand{font-size:24px}.stage{gap:12px;min-height:300px}.character{height:270px;max-width:48%}.palm-wrap{width:48%}.object-title{font-size:24px}.date-target{width:32%;left:53%}.feedback{font-size:18px}.stage.writing{flex-direction:column}.writing .character{height:135px;max-width:100%;width:auto}.writing .panel{width:100%}.stage.speaking{flex-direction:column}.speaking .character{height:170px}.choices{min-width:145px}.choices button{font-size:24px;padding:10px}.eyebrow{margin-top:24px}footer{flex-wrap:wrap}.path{gap:8px}.path span{padding:8px 12px}}@media(prefers-reduced-motion:no-preference){.character{animation:arrive .35s ease-out}@keyframes arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}}
.practice-palm{height:145px;object-fit:contain;margin:auto}
@media(max-width:400px){header{flex-wrap:wrap;gap:12px}.brand{font-size:24px}.progress{order:3;width:100%}.toolbar button{font-size:12px}.choices{min-width:120px}.choices button{padding:8px;font-size:22px}.panel{padding:16px}footer{font-size:11px}.stage{gap:8px}.character{min-width:0}.date-label{left:50%;font-size:18px}button.primary{min-width:170px}}
.brand span{font:700 26px Noto,Arial,sans-serif;line-height:1.5}.brand small{font:600 13px Georgia,serif;letter-spacing:2px;text-align:center}.speaking label{display:block}.speaking audio{max-width:100%}#mic-status{color:var(--blue)}
@font-face{font-family:Noto;src:url('../public/assets/fonts/noto-sans-arabic-arabic-600-normal.woff2');font-weight:600}
body{font-family:Noto,system-ui,sans-serif}
h1,.subtitle{line-height:1.7}.subtitle{font-weight:600}
.identity{--logo:url('../public/assets/brand/eidaro-lockup-bilingual-ink.svg');--symbol:url('../public/assets/brand/eidaro-symbol-ink.svg');flex:none;width:244px;height:118px;background:var(--logo) center/220px auto no-repeat}
html[data-theme=midnight] .identity{--logo:url('../public/assets/brand/eidaro-lockup-bilingual-ivory.svg');--symbol:url('../public/assets/brand/eidaro-symbol-ivory.svg')}
@media(max-width:780px){.identity{width:54px;height:54px;background:var(--symbol) center/38px auto no-repeat}}
