:root{--g:#0f7a5a;--g2:#19a37a;--ink:#12332a;--mx:0;--my:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;color:var(--ink);min-height:100vh;padding:16px;overflow-x:hidden;
 background:radial-gradient(1200px 700px at calc(var(--mx)*1px) calc(var(--my)*1px),#d9f5e9,transparent 60%),linear-gradient(135deg,#e6f6ef,#e4eefb 60%,#f3fbf7)}
.bg{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55;will-change:transform}
.wrap{max-width:1000px;margin:auto}h1,h2,h3{margin:.3em 0}.sub{color:#456;font-size:.92rem}a{color:var(--g)}
.glass,.card{background:rgba(255,255,255,.52);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.85);
 border-radius:22px;padding:18px;box-shadow:0 14px 36px rgba(15,122,90,.13),inset 0 1px 0 #fff}
.tilt{--px:50%;--py:50%;position:relative;transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;will-change:transform}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(260px circle at var(--px) var(--py),rgba(255,255,255,.85),transparent 60%)}
.tilt:hover::after{opacity:1}.tilt:hover{box-shadow:0 26px 50px rgba(15,122,90,.22),inset 0 1px 0 #fff}
.tilt .z1{transform:translateZ(34px)}.tilt .z2{transform:translateZ(18px)}
.bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
button,.btn{font:inherit;border:0;border-radius:14px;padding:9px 15px;background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;display:inline-block;transition:transform .15s,filter .15s}
button:hover{filter:brightness(1.08)}button:active{transform:scale(.96)}button.alt,.btn.alt{background:#fff;color:var(--g);border:1px solid #bde0d2}button[disabled]{opacity:.5;cursor:not-allowed}
.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:rip .6s ease-out forwards;pointer-events:none}@keyframes rip{to{transform:scale(4);opacity:0}}
input,select,textarea{font:inherit;padding:9px 11px;border-radius:12px;border:1px solid #bde0d2;background:rgba(255,255,255,.85);max-width:100%}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;perspective:1000px}
.card .ic{font-size:2.6rem;display:inline-block;animation:bob 4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px) rotate(4deg)}}
.card p{margin:.25em 0;color:#456;font-size:.86rem}
.off{opacity:.5;filter:grayscale(.8)}.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.78rem;background:#d5f2e5;color:#08623f}.off .badge{background:#eee;color:#666}
.empty{padding:26px;text-align:center;color:#567}.days label{margin-inline-end:8px;font-size:.85rem;white-space:nowrap}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:center;margin-top:10px}@media(max-width:720px){.hero{grid-template-columns:1fr}}
.scene{position:relative;height:230px;perspective:900px}.chip{position:absolute;width:74px;height:74px;display:grid;place-items:center;font-size:2.1rem;border-radius:22px;
 background:rgba(255,255,255,.6);backdrop-filter:blur(10px);border:1px solid #fff;box-shadow:0 12px 28px rgba(15,122,90,.2)}
.chip>span{display:block;animation:bob 5s ease-in-out infinite}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.cal .h{font-size:.75rem;color:#567}
.cal button{padding:8px 0;background:rgba(255,255,255,.7);color:var(--ink);border:1px solid transparent;border-radius:12px;position:relative}
.cal button.sel{background:linear-gradient(135deg,var(--g),var(--g2));color:#fff}.cal button.tod{border-color:var(--g)}
.cal button i{position:absolute;bottom:3px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--g2)}.cal button.sel i{background:#fff}
.banner{background:#fff8e1;border:1px solid #f1d98b;border-radius:16px;padding:10px 14px;margin:10px 0}.live{color:#8a5a00;font-size:.85rem}
dialog{border:0;border-radius:24px;padding:20px;max-width:430px;width:92%;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);box-shadow:0 30px 70px rgba(0,0,0,.25);animation:pop .3s cubic-bezier(.2,.9,.3,1.2)}
dialog::backdrop{background:rgba(15,60,45,.35);backdrop-filter:blur(4px)}@keyframes pop{from{transform:scale(.85) translateY(20px);opacity:0}}
dialog input,dialog select{width:100%;margin:5px 0}table{width:100%;border-collapse:collapse;font-size:.88rem}td,th{padding:7px;border-bottom:1px solid #d4e8df;text-align:right}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.tabs button{background:#fff;color:var(--g);border:1px solid #bde0d2}.tabs button.on{background:linear-gradient(135deg,var(--g),var(--g2));color:#fff}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.logo{height:46px;width:auto;display:block}.herologo{max-width:320px;width:100%;height:auto;filter:drop-shadow(0 8px 18px rgba(15,122,90,.2))}
.week{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;perspective:1000px}
.day{background:rgba(255,255,255,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:12px;box-shadow:0 10px 26px rgba(15,122,90,.12);min-height:150px}
.day.tod{outline:2px solid var(--g2)}.day.hol{background:rgba(255,236,236,.6)}
.dh{display:flex;align-items:baseline;gap:6px;border-bottom:1px solid #d4e8df;padding-bottom:6px;margin-bottom:6px}.dh b{font-size:.95rem}.dh .dn{font-size:1.5rem;font-weight:700;color:var(--g)}.hol .dh .dn{color:#c0392b}.dh small{color:#567}
.oc{font-size:.76rem;margin:3px 0;color:#456}.oc.h{color:#c0392b;font-weight:600}
.sv{display:flex;gap:6px;align-items:center;margin:5px 0;padding:5px 8px;border-radius:12px;background:rgba(255,255,255,.75);font-size:.84rem}.sv .i{font-size:1.2rem}.sv small{display:block;color:#567;font-size:.7rem}
.none{font-size:.78rem;color:#789;margin-top:8px}

.dh{flex-wrap:wrap}.d3{flex-basis:100%;font-size:.7rem}
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:10px}
.sc{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:14px 8px;border-radius:20px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:0 8px 22px rgba(15,122,90,.12)}
.sc .ic{font-size:2.3rem}.sc small{color:#456;font-size:.78rem}.sc .badge{margin-top:2px}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0}
.ci{display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:20px;background:rgba(255,255,255,.75);border:1px solid #fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 22px rgba(15,122,90,.12);transition:transform .2s,box-shadow .2s}
a.ci:hover,a.ci:focus-visible{transform:translateY(-3px);box-shadow:0 16px 32px rgba(15,122,90,.22)}
.ci .ico{width:46px;height:46px;display:grid;place-items:center;font-size:1.5rem;border-radius:15px;background:linear-gradient(135deg,var(--g),var(--g2));margin-bottom:6px}
.ci b{color:var(--g)}.ci span:last-child{font-size:1.02rem;direction:ltr;text-align:right}#ad,#hr{direction:rtl}
.ip{display:flex;flex-wrap:wrap;gap:6px}.ip button{padding:5px 10px;font-size:1.2rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #19a37a;outline-offset:2px}

.ecg{display:block;width:100%;height:46px;margin:6px 0}.ecg path{fill:none;stroke:var(--g2);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;animation:ecg 3.2s linear infinite;filter:drop-shadow(0 0 6px var(--g2))}@keyframes ecg{to{stroke-dashoffset:-420}}
.scene{height:280px;display:grid;place-items:center;perspective:900px;transform-style:preserve-3d}
.cubewrap{position:relative;width:120px;height:120px;transform-style:preserve-3d;animation:spin 16s linear infinite}@keyframes spin{from{transform:rotateX(-18deg) rotateY(0)}to{transform:rotateX(-18deg) rotateY(360deg)}}
.cubewrap i{position:absolute;inset:0;display:grid;place-items:center;font-size:3.2rem;font-style:normal;border-radius:22px;background:linear-gradient(135deg,rgba(15,122,90,.9),rgba(25,163,122,.7));border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 0 34px rgba(255,255,255,.4),0 0 40px rgba(25,163,122,.35);backface-visibility:visible}
.cubewrap i:nth-child(1){transform:translateZ(60px)}.cubewrap i:nth-child(2){transform:rotateY(90deg) translateZ(60px)}.cubewrap i:nth-child(3){transform:rotateY(180deg) translateZ(60px)}.cubewrap i:nth-child(4){transform:rotateY(-90deg) translateZ(60px)}.cubewrap i:nth-child(5){transform:rotateX(90deg) translateZ(60px)}.cubewrap i:nth-child(6){transform:rotateX(-90deg) translateZ(60px)}
.ring{position:absolute;left:50%;top:50%;border:2px dashed rgba(25,163,122,.55);border-radius:50%;transform-style:preserve-3d}
.r1{width:250px;height:250px;margin:-125px;animation:rg1 14s linear infinite}.r2{width:200px;height:200px;margin:-100px;border-color:rgba(70,140,230,.5);animation:rg2 20s linear infinite}
@keyframes rg1{from{transform:rotateX(72deg) rotateZ(0)}to{transform:rotateX(72deg) rotateZ(360deg)}}@keyframes rg2{from{transform:rotateY(70deg) rotateZ(360deg)}to{transform:rotateY(70deg) rotateZ(0)}}
.pill{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.7);border:1px solid #fff;font-size:.88rem}.pill.ok{color:#08623f;background:#d5f2e5}.pill.no{color:#8a1f1f;background:#fde4e4}
.nx{display:grid;gap:8px;margin-top:8px}.nxi{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.7)}.nxi.h b,.nxi.h span{color:#c0392b}.nxi small{color:#567;margin-inline-start:auto}
.rv{opacity:0;transform:perspective(900px) rotateX(10deg) translateY(30px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
html[data-th=dark]{--ink:#e3f3ec;--g:#3ddba6}
html[data-th=dark] body{background:radial-gradient(1200px 700px at calc(var(--mx)*1px) calc(var(--my)*1px),#12382d,transparent 60%),linear-gradient(135deg,#071a15,#0b1f2e 60%,#08201a)}
html[data-th=dark] :is(.glass,.card,.day,.sc,.ci,.nxi,.pill){background:rgba(16,44,37,.66);border-color:rgba(255,255,255,.12);color:var(--ink)}
html[data-th=dark] :is(.sub,.oc,.card p,.sc small,.dh small,.nxi small,.empty){color:#a9cfc1}html[data-th=dark] :is(button.alt,.btn.alt){background:#123a2f;color:#8be6c3;border-color:#245a4a}
html[data-th=dark] .pill.ok{color:#8be6c3}.dn{color:var(--g)}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.cubewrap,.ring{animation:none}}

.lab-entry{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;margin:14px 0;border-radius:16px;background:#ffffff9c;border:1px solid #fff}.lab-entry span{font-size:.88rem;color:#456}

/* NOOR / LIVING INTERFACE — premium motion layer */
:root{--g:#087f79;--g2:#19c4ad;--ink:#102e3a;--mx:50vw;--my:20vh;--line:rgba(255,255,255,.78)}
body{background:radial-gradient(900px 600px at var(--mx) var(--my),rgba(91,226,210,.19),transparent 62%),radial-gradient(700px 520px at 8% 78%,rgba(120,153,255,.13),transparent 65%),linear-gradient(135deg,#eaf8f6 0%,#edf2fc 55%,#f8fbff 100%);padding:clamp(10px,2vw,22px)}
.ambient-canvas{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.8}
.wrap{max-width:1180px;position:relative}.glass{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.42));border:1px solid rgba(255,255,255,.92);box-shadow:0 22px 65px rgba(21,85,104,.09),inset 0 1px 0 #fff;backdrop-filter:blur(22px) saturate(1.35)}
header.glass.bar{position:sticky;top:10px;z-index:20;padding:10px 14px;border-radius:20px;box-shadow:0 12px 38px rgba(21,85,104,.12)}
header .bar{margin:0}header strong{font-size:1.02rem;letter-spacing:-.3px}.logo{height:48px;filter:drop-shadow(0 5px 12px rgba(0,130,125,.18))}
.btn,button{background:linear-gradient(120deg,#087f79,#19bda9 58%,#5a9ef6);box-shadow:0 8px 22px rgba(8,127,121,.18);font-weight:700}.btn.alt,button.alt{background:rgba(255,255,255,.78);box-shadow:none;border-color:rgba(8,127,121,.16)}
.hero{position:relative;isolation:isolate;min-height:440px;padding:clamp(24px,5vw,56px);margin:20px 0 24px;border:1px solid rgba(255,255,255,.88);border-radius:34px;background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(234,249,249,.55) 55%,rgba(227,235,255,.62));box-shadow:0 30px 90px rgba(18,94,111,.11);overflow:hidden}
.hero:before{content:"";position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 20deg,transparent 0 28%,rgba(60,218,204,.12) 35%,transparent 44%,rgba(122,146,255,.11) 57%,transparent 70%);animation:heroAura 24s linear infinite}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:radial-gradient(rgba(12,116,125,.22) .7px,transparent .7px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero h1{font-size:clamp(1.9rem,4vw,3.1rem)!important;line-height:1.55;letter-spacing:-1.2px;color:#0b3544}.hero .sub{font-size:1.04rem;line-height:2;color:#476675;max-width:590px}.hero .pill{padding:8px 14px;border-color:rgba(255,255,255,.9);box-shadow:0 6px 18px #1b829018}.herologo{max-width:230px;max-height:92px;object-fit:contain;margin-bottom:12px}
.scene{height:320px;filter:drop-shadow(0 22px 35px rgba(0,123,139,.2))}.cubewrap{width:142px;height:142px;animation:coreFloat 7s ease-in-out infinite,spin 24s linear infinite}.cubewrap i{border-radius:34px;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.95),rgba(65,222,210,.72) 30%,rgba(23,91,156,.88) 75%);box-shadow:inset 0 0 38px #fff8,0 0 46px #29c8c277;color:white}.ring{border-style:solid;border-width:1px;box-shadow:0 0 20px #31bdb633}.r1{border-color:#20bca977}.r2{border-color:#718df077}.ecg{height:54px;opacity:.72;margin:8px auto 18px;max-width:1000px}
.lab-entry{justify-content:space-between;background:linear-gradient(110deg,rgba(255,255,255,.84),rgba(220,249,246,.68));border-color:#fff;box-shadow:0 12px 32px rgba(10,127,130,.08);padding:14px 18px}.lab-entry span{color:#426575}.lab-entry .btn{padding:12px 18px}
#sv h2,#wk h2,#ct h2{color:#0b4952}#sv,#wk,#ct{padding:clamp(18px,3vw,30px)!important}.sg{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px}.sc{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(232,249,248,.64));border:1px solid #fff;box-shadow:0 12px 30px rgba(20,110,120,.08);min-height:145px;transition:transform .35s,box-shadow .35s}.sc:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 20px 42px rgba(20,110,120,.15)}.sc .ic{font-size:2.5rem;filter:drop-shadow(0 6px 10px rgba(0,120,130,.15))}.sc b{color:#124653}
.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day{border-color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(236,248,249,.65));box-shadow:0 10px 26px rgba(20,110,120,.07);transition:transform .3s,box-shadow .3s}.day:hover{box-shadow:0 18px 38px rgba(20,110,120,.14)}.day.tod{outline:2px solid #19bda9;box-shadow:0 0 0 5px rgba(25,189,169,.09)}.sv{background:rgba(229,249,246,.76)}
.ci{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(231,248,248,.72));border-color:#fff}.ci .ico{background:linear-gradient(135deg,#087f79,#26c8b4 60%,#659cf4);box-shadow:0 8px 20px #138d8833}.ci b{color:#087f79}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none;background:transparent}.scroll-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#18bba9,#6b8df7);box-shadow:0 0 12px #20c8bc}
.ripple-orb{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff9;transform:translate(-50%,-50%);pointer-events:none;animation:rippleOut .65s ease-out forwards}.rv{opacity:0;transform:translateY(28px) scale(.99);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
@keyframes heroAura{to{transform:rotate(360deg)}}@keyframes coreFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes rippleOut{to{opacity:0;scale:12}}
html[data-th=dark] body{background:radial-gradient(900px 600px at var(--mx) var(--my),rgba(38,188,177,.16),transparent 62%),linear-gradient(135deg,#061c29,#0a2038 55%,#101a35)}
html[data-th=dark] .hero{background:linear-gradient(120deg,rgba(10,37,52,.88),rgba(10,48,61,.75) 55%,rgba(28,34,68,.78));border-color:#ffffff20}html[data-th=dark] .hero h1{color:#e9ffff}html[data-th=dark] .hero .sub{color:#b6d0dc}html[data-th=dark] #sv h2,html[data-th=dark] #wk h2,html[data-th=dark] #ct h2{color:#d8fffa}html[data-th=dark] .lab-entry{background:#102e3bcf;border-color:#ffffff20}html[data-th=dark] .lab-entry span{color:#b6d0dc}html[data-th=dark] .sc b{color:#e6fffc}html[data-th=dark] .ci b{color:#7ce6d9}
@media(max-width:900px){.week{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{min-height:unset}.scene{height:260px}}
@media(max-width:620px){body{padding:9px}.hero{padding:22px 18px;border-radius:26px}.scene{height:230px}.cubewrap{width:112px;height:112px}.cubewrap i{font-size:2.6rem}.r1{width:210px;height:210px;margin:-105px}.r2{width:170px;height:170px;margin:-85px}.week{grid-template-columns:repeat(2,minmax(0,1fr))}header.glass.bar{top:5px}.lab-entry{align-items:stretch}.lab-entry .btn{text-align:center}.sg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ambient-canvas{display:none}.hero:before{animation:none}.rv{opacity:1;transform:none}.cubewrap,.ring,.ecg path{animation:none!important}.ripple-orb{display:none}}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #ffffff;border-radius:99px;background:#e7fbf8;color:#087f79;font-size:.7rem;font-weight:900;letter-spacing:2px;box-shadow:0 7px 20px #158f8712;margin-bottom:12px}.hero-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#1ac4a7;box-shadow:0 0 0 5px #1ac4a71c;animation:signal 2s infinite}.hero-intro{color:#50717d;font-size:.9rem;line-height:1.9}.head-actions{justify-content:flex-end}.head-actions button{font-size:.78rem;padding:8px 10px}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .ambient-canvas{opacity:.15}
@keyframes signal{50%{box-shadow:0 0 0 9px #1ac4a700}}
@media(max-width:760px){header.glass.bar{align-items:flex-start;flex-direction:column}.head-actions{justify-content:flex-start;width:100%}.head-actions a,.head-actions button{font-size:.72rem;padding:7px 9px}}
html[data-th=dark] .hero-kicker{background:#123c45;color:#83eee2;border-color:#ffffff20}html[data-th=dark] .hero-intro{color:#b5d4dc}
.ambient-canvas{z-index:0}.wrap,.lab-wrap{position:relative;z-index:1}
