:root{--bg: #fff8e8;--card: #ffffff;--ink: #3d2510;--muted: #7a5c3e;--line: #f0dcb4;--accent: #f2a900;--accent-ink: #3d2510;--good: #3d8b37;--warn: #c2410c;--radius: 18px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Segoe UI,system-ui,-apple-system,Noto Sans,Noto Sans Tamil,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}a{color:inherit}:focus-visible{outline:4px solid #1d6fd8;outline-offset:2px}.shell{max-width:1040px;margin:0 auto;padding:24px 20px 80px}h1{font-size:2.2rem;margin:0 0 .3rem}h2{font-size:1.4rem;margin:0 0 .6rem}h3{font-size:1.1rem;margin:1rem 0 .4rem}.lede{font-size:1.2rem;color:var(--muted);max-width:40em}.hint{color:var(--muted);font-size:.95rem;margin:.2rem 0 .8rem}.hub{text-align:center;padding-top:40px}.hub-flower{width:200px;margin:0 auto}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:28px;text-align:left}.hub-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;transition:transform .15s,box-shadow .15s}.hub-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #5a320a1f}.hub-icon{font-size:2.4rem}.topnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px;background:#fff;border-bottom:2px solid var(--line);position:sticky;top:0;z-index:10}.topnav .brand{font-weight:800;font-size:1.3rem;text-decoration:none;margin-right:auto}.topnav a.nav{text-decoration:none;padding:8px 14px;border-radius:999px;font-weight:600}.topnav a.nav[aria-current=page]{background:var(--accent)}.badge{background:var(--warn);color:#fff;border-radius:999px;padding:2px 9px;font-size:.8rem;font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.tab{font:inherit;font-weight:600;padding:10px 16px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.tab[aria-selected=true]{background:var(--accent);border-color:var(--accent)}.card-panel{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}label.field{display:flex;flex-direction:column;gap:4px;font-weight:600}input,select,textarea{font:inherit;font-weight:400;padding:10px 12px;border:2px solid #d9c290;border-radius:12px;background:#fffdf7;color:var(--ink);min-height:46px;width:100%}textarea{min-height:70px;resize:vertical}.btn{font:inherit;font-weight:700;padding:10px 18px;border-radius:999px;border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;min-height:44px}.btn.ghost{background:#fff}.btn.danger{background:#fff;border-color:var(--warn);color:var(--warn)}.btn.small{padding:4px 12px;min-height:34px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:default}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.item{background:#fffbef;border:2px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px}.row.item>*{flex:1 1 140px}.row.item>.fixed{flex:0 0 auto}.row.item input[type=time]{flex:0 0 130px}.looks{display:flex;gap:10px;flex-wrap:wrap}.look{display:flex;flex-direction:column;align-items:center;gap:2px;width:92px;padding:10px 6px;border-radius:16px;border:3px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--ink)}.look[aria-checked=true]{border-color:var(--accent);background:#fff3c4}.look span:first-child{font-size:2.2rem}.saved{color:var(--good);font-weight:600}.note-box{background:#fff3c4;border-radius:12px;padding:10px 14px}.note-box.warn{background:#ffe4d1}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#fff3c4;display:grid;place-items:center;font-size:2rem;flex:0 0 56px!important}.shell.wide{max-width:1560px}.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;align-items:start}.preview{position:sticky;top:76px}.preview iframe{width:100%;aspect-ratio:16 / 11;border:3px solid var(--ink);border-radius:16px;background:#fff}.clock-big{font-size:2.6rem;font-weight:800}.trigger-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}@media (max-width: 860px){.demo-layout{grid-template-columns:1fr}.preview{position:static}}.status-dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:middle}.status-dot.ok{background:var(--good)}.status-dot.warn{background:var(--warn)}.alert{border:3px solid var(--warn);background:#ffe4d1;border-radius:14px;padding:12px 16px;margin:10px 0;font-weight:600}.inbox{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.mail{background:#fff;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}.mail img{width:100%;display:block;aspect-ratio:4 / 3;object-fit:cover}.mail div{padding:12px 14px}.mail small{color:var(--muted);display:block}.empty{text-align:center;padding:40px 10px;color:var(--muted);font-size:1.1rem}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}input[type=file]{padding:8px 10px;cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-weight:700;margin-right:12px;padding:8px 18px;border-radius:999px;border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}input[type=file]:hover::file-selector-button{background:#ffc73d}.tl-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tl-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;border:2px solid var(--line);background:#fffbef}.tl-row.next{border-color:var(--accent);background:#fff3c4}.tl-row.playing{border-color:var(--good);background:#e4f6d4}.tl-time{font-weight:800;font-variant-numeric:tabular-nums}.tl-meta{color:var(--muted);font-size:.9rem}.kbd{display:inline-block;border:2px solid var(--line);border-bottom-width:4px;border-radius:8px;padding:0 8px;background:#fff;font-weight:700;font-size:.85rem}.booth-frame{position:relative;width:min(100%,480px);aspect-ratio:4 / 3;border-radius:22px;overflow:hidden;border:6px solid #fff;box-shadow:0 6px 18px #5a320a33;background:#ffe9a8;container-type:inline-size}.booth-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.booth-sim{width:100%;height:100%;display:grid;place-items:center;font-size:30cqw}.booth-count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:40cqw;font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.55)}.btn.big{font-size:1.15rem;padding:12px 26px}.look span:nth-child(2){text-align:center}.patient{--ink: #45280f;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:grid;grid-template-columns:minmax(260px,40%) 1fr;grid-template-rows:minmax(0,1fr);align-items:center;background:linear-gradient(180deg,#fff3cf,#ffe2b0 65%,#ffd29a);color:var(--ink);-webkit-user-select:none;user-select:none}.presenter-btn{position:absolute;top:16px;left:16px;z-index:6;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;text-decoration:none;font-size:1.8rem;background:#fff8dc;border:3px solid #ffcf5c;color:var(--ink);box-shadow:0 4px 12px #5a320a2e;opacity:.85;transition:transform .15s,opacity .15s}.presenter-btn:hover,.presenter-btn:focus-visible{opacity:1;transform:scale(1.08) rotate(-4deg)}.presenter-btn:after{content:attr(data-tip);position:absolute;left:66px;white-space:nowrap;background:var(--ink);color:#fff;font-size:.95rem;font-weight:600;padding:6px 12px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .15s}.presenter-btn:hover:after,.presenter-btn:focus-visible:after{opacity:1}.hill{position:absolute;left:-10%;right:-10%;bottom:-22vh;height:40vh;background:#b9dd98;border-radius:50% 50% 0 0}.sun{position:absolute;top:5vh;right:6vw;width:14vmin;height:14vmin;border-radius:50%;background:#ffd75e;box-shadow:0 0 0 3vmin #ffd75e4d,0 0 0 6vmin #ffd75e26}.cloud{position:absolute;height:5vmin;width:16vmin;border-radius:5vmin;background:#fffc;animation:drift 90s linear infinite}.cloud:before{content:"";position:absolute;left:22%;top:-60%;width:45%;height:150%;border-radius:50%;background:inherit}.c1{top:12vh;left:-20vmin}.c2{top:26vh;left:-20vmin;animation-duration:140s;animation-delay:-60s;transform:scale(.7)}@keyframes drift{to{transform:translate(140vw)}}.flower-col{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;height:100%;padding:4vh 2vw 2vh}.soli{width:100%;max-height:92vh;height:auto;overflow:visible;filter:drop-shadow(0 6px 10px rgba(90,50,10,.12))}.stage-col{position:relative;z-index:1;height:100%;padding:4vh 5vw 4vh 1vw;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3vh;text-align:center}.idle{display:flex;flex-direction:column;align-items:center;gap:1vh}.clock{font-size:clamp(3rem,min(12vw,20vh),10rem);font-weight:800;line-height:1;letter-spacing:-.02em}.date{font-size:clamp(1.2rem,min(3.4vw,5vh),3rem);font-weight:600}.hello{font-size:clamp(1.8rem,3.8vw,3.4rem);font-weight:700;margin-top:2vh}.scene{flex:1 1 0;min-height:0;width:100%;container-type:size;display:flex;justify-content:center;align-items:center}.caption{margin:0;max-width:22em;padding:.5em .9em;border-radius:34px;background:#ffffffdb;border:4px solid #ffcf5c;font-size:clamp(1.3rem,min(3.6vw,6.5vh),3.4rem);line-height:1.3;font-weight:700;animation:rise .6s ease both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.big-icon{font-size:min(70cqh,40cqw);line-height:1}.tiny{font-size:1.1rem;margin:0;opacity:.8}.memory-card{display:flex;flex-direction:column;align-items:center;gap:.3em;animation:rise .8s ease both}.memory-card img{width:min(44cqh,44cqw);height:min(44cqh,44cqw);object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:0 8px 24px #5a320a33}.memory-emoji{font-size:min(44cqh,28cqw);line-height:1}.memory-card h2{margin:0;font-size:min(15cqh,9cqw)}.memory-card p{margin:0;font-size:min(9cqh,5.5cqw);font-weight:600;text-transform:capitalize}.selfie-frame{position:relative;width:min(calc(88cqh * 4 / 3),80cqw);aspect-ratio:4 / 3;border-radius:32px;overflow:hidden;border:8px solid #fff;box-shadow:0 8px 24px #5a320a40;background:#ffe9a8}.selfie-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.selfie-sim{width:100%;height:100%;display:grid;place-items:center;font-size:min(40cqh,24cqw)}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:min(36cqh,22cqw);font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.55);animation:pop .9s ease both}@keyframes pop{0%{transform:scale(1.6);opacity:0}30%{opacity:1}to{transform:scale(1)}}.polaroid{width:min(calc(120cqh - 50px),80cqw);border:12px solid #fff;border-bottom-width:44px;border-radius:6px;box-shadow:0 10px 28px #5a320a4d;transform:rotate(-2deg);animation:rise .8s ease both}.counting{display:flex;flex-direction:column;align-items:center;gap:1vh}.count-row{display:flex;gap:1.2vw;flex-wrap:wrap;justify-content:center}.count-item{font-size:min(24cqh,12cqw);opacity:0;transform:scale(.4);transition:opacity .6s ease,transform .6s cubic-bezier(.3,1.5,.5,1)}.count-item.on{opacity:1;transform:none}.count-number{font-size:min(34cqh,18cqw);font-weight:800;min-height:1.1em;line-height:1.1}.cards{display:grid;grid-template-columns:repeat(3,min(30cqh,20cqw));gap:min(3cqh,2cqw);perspective:900px}.card{aspect-ratio:1}.card-inner{position:relative;width:100%;height:100%;transition:transform .9s ease;transform-style:preserve-3d}.card.up .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:26px;backface-visibility:hidden;border:5px solid #fff;box-shadow:0 6px 16px #5a320a33}.card-back{background:#ffb020;color:#fff;font-size:min(14cqh,9cqw);font-weight:800}.card-front{background:#fffdf4;font-size:min(17cqh,11cqw);transform:rotateY(180deg)}.card.matched .card-front{background:#e4f6d4;border-color:#8fd06a}.music-scene{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2em;width:100%}.music-scene h2{margin:0;font-size:min(12cqh,6cqw)}.music-scene .big-icon{font-size:min(38cqh,22cqw)}.music-scene .tiny{font-size:min(7cqh,3.6cqw)}.notes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.note{position:absolute;bottom:20%;font-size:clamp(2.5rem,5vw,4.5rem);color:#d1691f;animation:floatUp 4s ease-out both}@keyframes floatUp{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-28vh);opacity:0}}.bob{animation:bob 3.6s ease-in-out infinite}.pulse{animation:pulse 3.2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-1.5vh)}}@keyframes pulse{50%{transform:scale(1.08)}}.wake{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#fff3cff5;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;cursor:pointer}.wake-flower{width:min(30vh,60vw);opacity:.9}.wake p{margin:0}.soli .breathe{transform-origin:150px 370px;animation:breathe 5s ease-in-out infinite}.soli .sway{transform-origin:150px 370px;animation:sway 9s ease-in-out infinite}.soli .petals{animation:petalspin 80s linear infinite}.soli .eye{transform-box:view-box;animation:blink 5.5s infinite}.soli .mouth{opacity:0}.soli .smile{opacity:1}.soli.speaking .smile{opacity:0}.soli.speaking .mouth{opacity:1;animation:talk .44s ease-in-out infinite alternate}.soli.speaking .mouth-w{animation:talkw .67s ease-in-out infinite alternate}@keyframes breathe{50%{transform:scale(1.025,1.035)}}@keyframes sway{50%{transform:rotate(1.6deg)}}@keyframes petalspin{to{transform:rotate(360deg)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes talk{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes talkw{0%{transform:scaleX(.75)}to{transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.cloud,.bob,.pulse,.soli .breathe,.soli .sway,.soli .petals,.soli .eye,.soli.speaking .mouth,.soli.speaking .mouth-w,.note,.caption,.countdown,.memory-card,.polaroid{animation:none!important}.soli.speaking .mouth{transform:scaleY(.7)}.card-inner,.count-item{transition-duration:.01s}.notes{display:none}}@media (max-width: 820px),(orientation: portrait){.patient{grid-template-columns:1fr;grid-template-rows:38% 62%}.flower-col{padding:2vh 10vw 0}.soli{max-height:100%}.stage-col{padding:1vh 5vw 3vh;gap:2vh}}.soli .breathe,.soli .sway{transition:transform .5s ease}.soli.fallen .sway{animation:none}.soli.fallen .breathe{animation:none;transform:translate(-30px,12px) rotate(74deg) scale(.92)}.demo-chip{position:absolute;top:24px;left:90px;z-index:6;padding:6px 14px;border-radius:999px;background:#fff3c4;border:3px solid #ffcf5c;font-weight:800;font-size:.9rem;letter-spacing:.04em}.weekday{font-size:clamp(1.8rem,min(5vw,9vh),4rem);font-weight:800;line-height:1.1}.monthday{font-size:clamp(1.2rem,min(3.4vw,5.5vh),3rem);font-weight:600}.selfie-frame{container-type:inline-size}.sticker{position:absolute;transform:translate(-50%,-50%);line-height:1;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.today{display:flex;flex-direction:column;align-items:center;gap:.1em;animation:rise .7s ease both}.weekday-big{font-size:min(30cqh,13cqw);font-weight:800;line-height:1.05}.monthday-big{font-size:min(16cqh,7cqw);font-weight:600}.weather{display:flex;flex-direction:column;align-items:center;gap:0;animation:rise .7s ease both}.weather-icon{font-size:min(46cqh,26cqw);line-height:1.05}.weather-temp{font-size:min(26cqh,14cqw);font-weight:800;line-height:1}.weather-city{font-size:min(11cqh,5.5cqw);font-weight:600}.soli .shadow{transition:transform .5s ease;transform-box:fill-box;transform-origin:center}.soli.fallen .shadow{transform:translate(105px) scaleX(1.6)}
