:root{--plaster:#F4EEE2;--cream:#EAD9B8;--ink:#3A2317;--ink-soft:#5A3825;--kumkum:#9E2B25;--brass:#B08D3E;--teal:#1F6F5C;--mustard:#E9C46A;--indigo:#2E3550;--serif:"Spectral",Georgia,"Times New Roman",serif;--display:"Cormorant",Georgia,serif;--tamil:"Noto Serif Tamil","Spectral",serif;--ui:"Hind Madurai",system-ui,sans-serif;--maxw:480px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--serif);color:var(--ink);line-height:1.78;background:var(--plaster);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(130% 90% at 50% -10%,rgba(255,250,236,.3),rgba(0,0,0,.08) 60%,rgba(0,0,0,.24) 100%)}.frame{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;min-height:100dvh;background:var(--plaster);box-shadow:0 0 0 1px rgba(176,141,62,.3),0 22px 70px rgba(40,20,8,.3)}.edge-band{position:fixed;left:0;right:0;height:70px;z-index:0;pointer-events:none;background-image:url(/athangudi-tile.svg);background-size:auto 70px;background-repeat:repeat-x;opacity:.16}.edge-band.top{top:0;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}.edge-band.bottom{bottom:0;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000)}.deck{position:relative}.deck-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(176,141,62,.18);z-index:40;max-width:var(--maxw);margin:0 auto}.deck-progress span{display:block;height:100%;background:var(--brass);transition:width .5s ease}.deck-back{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:calc(env(safe-area-inset-left) + 14px);z-index:41;width:38px;height:38px;border-radius:50%;border:1px solid rgba(176,141,62,.4);background:rgba(244,238,226,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ink-soft);font-size:1.5rem;line-height:1;cursor:pointer}.scene{position:relative;z-index:2;min-height:100dvh;display:flex;flex-direction:column;align-items:center;text-align:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 56px) 26px calc(env(safe-area-inset-bottom) + 96px)}.scene-scroll{padding-top:calc(env(safe-area-inset-top) + 64px)}.scene-inner{width:100%;margin:auto 0;animation:sceneIn .65s ease both}.scene-scroll .scene-inner{margin:0}@keyframes sceneIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.deck-cue{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 20px);left:50%;transform:translateX(-50%);z-index:41;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(244,238,226,.92);border:1px solid rgba(176,141,62,.5);border-radius:999px;box-shadow:0 2px 10px rgba(40,20,8,.18);cursor:pointer;color:var(--brass)}.deck-cue .cue-chevron{display:block;font-size:1.5rem;line-height:1;animation:bob 2.4s ease-in-out infinite}.deck-cue.up{top:calc(env(safe-area-inset-top) + 12px);bottom:auto}.deck-continue-btn{display:block;margin:30px auto 8px;font-family:var(--ui);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;background:var(--kumkum);color:var(--plaster);border:none;border-radius:6px;padding:13px 26px;cursor:pointer;box-shadow:0 4px 14px rgba(158,43,37,.3)}.kolam-wrap{width:100%;max-width:340px;margin:0 auto}.kolam-flip{transform:scaleY(-1)}.kolam-wrap-inner{padding:22px 4px}.sc-eyebrow,.sc-pet{font-family:var(--ui);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.sc-ta-eyebrow{font-family:var(--tamil);color:var(--kumkum);font-size:1.06rem;line-height:1.5;margin:0 0 16px}.sc-ta-eyebrow.big{font-size:1.5rem;font-weight:500;margin-bottom:6px}.closing-ta{color:var(--brass);margin:12px 0 0;font-size:1rem}.music-fab{position:fixed;top:calc(env(safe-area-inset-top) + 12px);right:calc(env(safe-area-inset-right) + 14px);z-index:41;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(244,238,226,.92);border:1px solid rgba(176,141,62,.5);box-shadow:0 2px 10px rgba(40,20,8,.18);color:var(--brass);font-size:1.1rem;cursor:pointer;opacity:.5;transition:opacity .3s ease,color .3s ease}.music-fab.on{opacity:1;color:var(--kumkum)}.closing-forever{font-family:var(--serif);font-size:1.02rem;line-height:1.8;color:var(--ink-soft);max-width:22em;margin:18px auto 0}.closing-forever b{color:var(--kumkum);font-weight:600}.floor-header{text-align:center;margin:2px 0 14px}.floor-title{margin:4px 0 0}.floor-title .ta{display:block;font-family:var(--tamil);color:var(--kumkum);font-size:1.2rem}.floor-title .en{font-family:var(--ui);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.sc-name .hername-ta{font-size:clamp(2.8rem,18vw,3.8rem)}.sc-name .sc-pet{margin-top:14px;font-style:normal}.sc-line{font-family:var(--serif);font-size:1.12rem;line-height:1.85;color:var(--kumkum);max-width:24em;margin:0 auto}.sc-line .ml{display:block}.sc-line-em{font-family:var(--display);font-style:italic}.sc-sub{max-width:22em;margin:18px auto 0;line-height:1.7}.sc-prompt,.sc-sub{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink-soft)}.sc-prompt{margin:22px 0 4px}.sc-floorintro .count{margin-top:20px}.sc-endhead .ending-heading{color:var(--ink)}.ending-heading .ml,.sc-endhead .ending-heading .ml{display:block}.sc-say{width:100%}.sc-closing .cursorline{margin-top:16px}.section{padding:46px 0;border-top:1px solid rgba(176,141,62,.18)}.section:first-of-type{border-top:none}.eyebrow{font-family:var(--ui);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0 0 2px}.eyebrow,h2{text-align:center}h2{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.22;color:var(--ink);margin:.35em 0 .5em}.entry-date{font-family:var(--ui);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(58,35,23,.5);text-align:center;margin:0}.prose{text-align:left}.prose p{margin:1em 0;font-size:1.02rem}.entry{margin:10px 0 4px}.entry+.entry{border-top:1px dashed rgba(176,141,62,.3);margin-top:26px;padding-top:20px}.salutation{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px}.endearment{color:var(--ink-soft);font-size:1.1rem;letter-spacing:.02em;margin:6px 0 4px}.endearment,.hername-ta{font-family:var(--tamil)}.hername-ta{color:var(--kumkum);font-weight:600;font-size:clamp(2.7rem,17vw,3.7rem);line-height:1.08;margin:.06em 0}.hername-en{font-family:var(--display);font-size:1.35rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--ink);margin-left:.42em}.lede{font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:1.08rem;max-width:19em;margin:20px auto 0}.meta-line{font-family:var(--ui);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(58,35,23,.52);margin-top:32px}.scrollcue{margin-top:24px;color:var(--brass);font-size:1.4rem;animation:bob 2.6s ease-in-out infinite}.kural{max-width:30em;margin:30px auto;text-align:center}.kural .hr{height:1px;width:52px;background:var(--brass);margin:14px auto;opacity:.8}.kural .ta{font-family:var(--tamil);color:var(--ink);font-size:1.16rem;line-height:1.95;margin:0}.kural .tl{font-style:italic;font-size:.88rem}.kural .gloss,.kural .tl{font-family:var(--serif);color:var(--ink-soft);margin:8px 0 0}.kural .gloss{font-size:.94rem}.kural .num{font-family:var(--ui);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-top:12px}.confession .prose{border-left:2px solid rgba(176,141,62,.45);padding-left:16px}.promises{margin-top:8px}.promise{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(176,141,62,.18)}.promise:last-child{border-bottom:none}.promise .text{flex:1 1;font-size:1rem}.promise .made{display:block;margin-top:5px;font-size:.6rem;letter-spacing:.14em;color:rgba(58,35,23,.5)}.pill,.promise .made{font-family:var(--ui);text-transform:uppercase}.pill{font-size:.58rem;letter-spacing:.12em;padding:5px 10px;border-radius:999px;white-space:nowrap;margin-top:2px}.pill.kept{background:rgba(31,111,92,.14);color:var(--teal);border:1px solid rgba(31,111,92,.45)}.pill.working{background:rgba(176,141,62,.16);color:var(--ink-soft);border:1px solid rgba(176,141,62,.5)}.pill.new{background:rgba(158,43,37,.1);color:var(--kumkum);border:1px solid rgba(158,43,37,.4)}.tellme{background:var(--cream);border:1px solid rgba(176,141,62,.45);border-radius:8px;padding:22px}.tellme .sollu{font-family:var(--tamil);color:var(--kumkum);font-size:1.35rem}.tellme .prose p{font-size:.98rem}.tellme textarea{width:100%;min-height:92px;margin-top:8px;background:var(--plaster);border:1px solid rgba(90,56,37,.28);border-radius:6px;padding:12px;font-family:var(--serif);font-size:1rem;color:var(--ink);resize:vertical}.btn{margin-top:12px;letter-spacing:.1em;font-size:.7rem;background:var(--kumkum);color:var(--plaster);border:none;border-radius:6px;padding:11px 18px;opacity:.55;cursor:not-allowed}.btn,.soon{font-family:var(--ui);text-transform:uppercase}.soon{display:block;margin-top:10px;font-size:.6rem;letter-spacing:.14em;color:var(--brass)}.sealed{background:var(--indigo);color:#EAE3D6;border-radius:8px;padding:26px 22px;text-align:center;margin:18px 0 6px;box-shadow:inset 0 0 0 1px rgba(176,141,62,.35)}.sealed .lock{font-size:1.5rem;color:var(--brass)}.sealed p{color:#EAE3D6;font-style:italic;margin:10px 0 0}.sealed .when{font-family:var(--ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(234,227,214,.7);margin-top:12px}.colophon{text-align:center;padding:38px 0 58px}.medallion{display:flex;justify-content:center;margin-bottom:16px}.cursorline{font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--ink-soft);margin:0}.cursor{display:inline-block;width:2px;height:1.05em;background:var(--ink-soft);margin-left:3px;vertical-align:text-bottom;animation:blink 1.1s steps(1) infinite}.colophon .sig{font-family:var(--ui);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(58,35,23,.5);margin-top:18px}.kolam{display:flex;justify-content:center;margin:6px 0}.kolam-path{fill:none;stroke:var(--brass);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:700;stroke-dashoffset:700;animation:draw 2.8s ease forwards}.kolam-dot{fill:var(--kumkum);opacity:0;animation:dotin .7s ease forwards;animation-delay:2.5s}.fade-up{opacity:0;transform:translateY(10px);animation:fadeUp 1.2s ease forwards}@keyframes fadeUp{to{opacity:1;transform:none}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes blink{50%{opacity:0}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes dotin{to{opacity:1}}@media (prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none;animation:none}.kolam-path{stroke-dashoffset:0;animation:none}.kolam-dot{opacity:1}.cursor,.kolam-dot,.scrollcue{animation:none}}.floor-head{text-align:center;padding:42px 0 4px}.floor-head .hername-ta{font-size:clamp(2.4rem,15vw,3.2rem)}.count{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;color:var(--ink-soft);margin-top:14px;line-height:1.9}.count .ta{font-family:var(--tamil);color:var(--kumkum);font-size:.98rem;letter-spacing:0}.count .gloss-min{color:rgba(58,35,23,.5)}.floor-hint{font-family:var(--ui);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-top:6px}.floor-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;padding:18px 0 8px}.tile-btn{position:relative;aspect-ratio:1/1;padding:0;border:none;background:none;cursor:pointer;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(176,141,62,.35);transition:transform .15s ease}.tile-btn:active{transform:scale(.95)}.tile-svg{display:block;width:100%;height:100%}.tile-btn .visited-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 1.5px var(--plaster)}.tile-svg .crack.golding{stroke-dasharray:300;stroke-dashoffset:300;animation:draw 1.25s ease forwards}.section-label{font-family:var(--ui);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);text-align:center;margin:30px 0 6px}.door{margin:26px 0 6px;border-radius:10px;padding:28px 22px;text-align:center;color:var(--cream);background:linear-gradient(160deg,#4a2e1c,#2a1810);box-shadow:inset 0 0 0 1px rgba(176,141,62,.55),0 10px 30px rgba(20,10,4,.4)}.door .kumkum-mark{width:9px;height:9px;border-radius:50%;background:var(--kumkum);margin:0 auto 14px;box-shadow:0 0 10px rgba(158,43,37,.7)}.door .lintel-kural{font-family:var(--tamil);color:var(--brass);font-size:.95rem;line-height:1.8}.door h3{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--cream);margin:12px 0 8px}.door p{color:rgba(234,227,214,.82);font-style:italic;font-size:.98rem;margin:0 auto;max-width:22em}.door-handle{position:relative;width:92px;height:92px;margin:22px auto 6px;border:none;background:none;cursor:pointer;display:grid;place-items:center;touch-action:none}.door-handle svg{position:absolute;inset:0;transform:rotate(-90deg)}.door-handle .knob{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9b45e,#8a6b28);box-shadow:0 2px 6px rgba(0,0,0,.4)}.door .hint{font-family:var(--ui);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(176,141,62,.85);margin-top:8px}.inner-floor{margin:10px 0;background:var(--indigo);border-radius:10px;padding:22px 16px;box-shadow:inset 0 0 0 1px rgba(176,141,62,.35);animation:fadeUp .8s ease}.inner-floor h3{font-family:var(--display);color:var(--cream);text-align:center;font-size:1.3rem;margin:0 0 4px}.inner-floor .sub{text-align:center;color:rgba(234,227,214,.72);font-style:italic;font-size:.9rem;margin:0 0 16px}.inner-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.lamp{margin:14px 0;background:var(--cream);border:1px solid rgba(176,141,62,.45);border-radius:10px;padding:22px;text-align:center}.lamp .flame{display:flex;justify-content:center}.lamp h3{font-family:var(--display);font-size:1.25rem;margin:6px 0 4px}.lamp .intro{font-size:.92rem;color:var(--ink-soft);margin:0 0 14px}.lamp-qs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.lamp-q{font-family:var(--ui);font-size:.74rem;background:var(--plaster);border:1px solid rgba(90,56,37,.3);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink)}.lamp-q.active{background:var(--kumkum);color:var(--plaster);border-color:var(--kumkum)}.lamp-answer{margin-top:14px;font-style:italic;color:var(--ink);font-size:1.04rem}.voice-soon{display:inline-block;margin-top:10px;font-family:var(--ui);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}.growing{margin:18px 0}.edge-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:5px;gap:5px}.edge-grid .tile-btn{box-shadow:none}.edge-grid .tile-btn:last-child{box-shadow:0 0 0 1px rgba(176,141,62,.45)}.sheet-backdrop{position:fixed;inset:0;background:rgba(30,20,10,.6);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.sheet{width:100%;max-width:440px;background:var(--plaster);border-radius:14px;padding:26px 22px;box-shadow:0 14px 50px rgba(0,0,0,.45);animation:sheetIn .3s ease;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@keyframes sheetIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.dot-figure{margin:0 0 18px}.dot-frame{position:relative;display:block;max-width:172px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px rgba(176,141,62,.5)}.dot-photo{width:100%;height:auto;display:block}.dot-ring{position:absolute;left:59.4%;top:52%;width:22px;height:22px;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 10px rgba(255,255,255,.55);animation:dotpulse 2.6s ease-in-out infinite;pointer-events:none}@keyframes dotpulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.95}50%{transform:translate(-50%,-50%) scale(1.35);opacity:.45}}.dot-figure figcaption{font-family:var(--ui);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);text-align:center;margin-top:8px}@media (prefers-reduced-motion:reduce){.dot-ring{animation:none}}.broken-pill{display:inline-block;margin:14px auto 0}.sheet .grab{width:38px;height:4px;border-radius:2px;background:rgba(90,56,37,.3);margin:6px auto 16px}.sheet .big-tile{width:116px;height:116px;margin:2px auto 14px;box-shadow:0 0 0 1px rgba(176,141,62,.4);border-radius:4px;overflow:hidden}.sheet .joy-trait{text-align:center;font-family:var(--display);font-weight:600;font-size:1.18rem;color:var(--kumkum);margin:2px 0 12px;line-height:1.25}.sheet .joy-trait .ta{display:block;font-family:var(--tamil);font-weight:500;font-size:.95rem;color:var(--brass);margin-bottom:4px}.sheet .joy{font-size:.8rem;line-height:1.58;text-align:left;color:var(--ink)}.beat{margin:14px 0}.beat .beat-label{font-family:var(--tamil);color:var(--kumkum);font-size:.98rem}.beat .beat-en{font-family:var(--ui);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-left:8px}.beat .beat-text{font-size:1.05rem;margin-top:4px;color:var(--ink)}.beat.mine .beat-text{font-style:italic}.sheet .vow{margin-top:18px;background:var(--cream);border-radius:8px;padding:14px;display:flex;gap:10px;align-items:flex-start}.sheet .vow .vt{flex:1 1;font-size:.98rem}.sheet .vow .vlabel{font-size:.56rem;letter-spacing:.14em;color:rgba(58,35,23,.5);margin-bottom:4px}.sheet .vow .vlabel,.sheet-close{display:block;font-family:var(--ui);text-transform:uppercase}.sheet-close{margin:22px auto 0;font-size:.7rem;letter-spacing:.12em;background:none;border:1px solid rgba(90,56,37,.3);border-radius:6px;padding:9px 18px;color:var(--ink-soft);cursor:pointer}.sheet .sealed-note{text-align:center;color:var(--ink-soft);font-style:italic;font-family:var(--tamil);font-size:1.1rem}.sheet .sealed-en{font-family:var(--serif);font-style:normal;font-size:.85rem;color:var(--brass)}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.inner-floor,.sheet{animation:none}.kb-path,.tile-svg .crack.golding{stroke-dashoffset:0;animation:none}}.gate{position:relative;z-index:2;min-height:100dvh;display:flex;flex-direction:column;align-items:center;text-align:center;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 40px) 26px calc(env(safe-area-inset-bottom) + 40px)}.gate>*{margin:0 auto}.gate-masthead{margin-top:auto}.gate-masthead .hername-ta{font-size:clamp(2.3rem,14vw,3.1rem)}.gate-foryou{font-family:var(--tamil);color:var(--brass);font-size:.98rem;margin-top:6px}.gate .house{margin:18px auto 8px;filter:drop-shadow(0 4px 8px rgba(40,20,8,.22))}.door-light{animation:doorglow 2.4s ease-in-out infinite;transform-origin:center}@keyframes doorglow{0%,to{opacity:.95}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.door-light{animation:none}}.illam{text-align:center;margin:0 auto 6px;font-family:var(--tamil);color:var(--kumkum);font-size:1.3rem;line-height:1.2}.illam .illam-en{display:block;font-family:var(--ui);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-top:5px}.gate-form,.gate-solved,.gate-success,.hints{margin-bottom:auto}.gate .beads{display:flex;gap:10px;margin-bottom:26px}.gate .bead{width:9px;height:9px;border-radius:50%;background:rgba(176,141,62,.28);transition:background .4s ease,box-shadow .4s ease}.gate .bead.active{background:var(--kumkum)}.gate .bead.lit{background:var(--brass);box-shadow:0 0 8px rgba(176,141,62,.7)}.gate-intro{font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:1.04rem;max-width:22em;margin:0 0 26px}.gate-intro .ml{display:block}.riddle{font-family:var(--display);font-weight:600;font-size:1.55rem;line-height:1.3;color:var(--ink);max-width:14em;margin:0 0 22px}.gate-form{display:flex;gap:8px;width:100%;max-width:320px}.gate-form input{flex:1 1;background:var(--plaster);border:1px solid rgba(90,56,37,.3);border-bottom:2px solid var(--brass);border-radius:6px;padding:13px 14px;font-family:var(--serif);font-size:1.1rem;color:var(--ink);text-align:center}.gate-form input:focus{outline:none;border-bottom-color:var(--kumkum)}.gate-form button{width:50px;border:none;border-radius:6px;background:var(--kumkum);color:var(--plaster);font-size:1.3rem;cursor:pointer;flex-shrink:0}.gate-form.shake{animation:shake .42s ease}.hints{margin-top:22px;max-width:24em}.hint-line{font-family:var(--serif);color:var(--ink-soft);font-size:.96rem;margin:8px 0;animation:fadeUp .5s ease}.hint-line.soft{font-style:italic;color:rgba(58,35,23,.55)}.hint-tag{font-family:var(--ui);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(176,141,62,.5);border-radius:4px;padding:2px 6px;margin-right:8px}.gate-success{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--kumkum);max-width:16em;line-height:1.4;animation:fadeUp .6s ease}.gate-solved{display:flex;flex-direction:column;align-items:center}.gate-enter{margin-top:26px;font-family:var(--ui);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;background:var(--kumkum);color:var(--plaster);border:none;border-radius:6px;padding:13px 28px;cursor:pointer;box-shadow:0 4px 14px rgba(158,43,37,.3);animation:fadeUp .8s ease .5s both}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}.opening-note{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:56px 26px}.note-greeting{text-align:center;margin-bottom:26px}.note-greeting .note-ta{display:block;font-family:var(--tamil);color:var(--kumkum);font-size:2.4rem;font-weight:600;line-height:1.1}.note-greeting .note-en{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--ink-soft)}.note-body{max-width:26em;margin:0 auto}.note-body p{font-family:var(--serif);font-size:1.06rem;line-height:1.85;color:var(--ink);margin:1em 0}.note-closing{font-family:var(--display);font-style:italic;font-size:1.3rem;text-align:center;color:var(--ink);margin:26px auto 6px;max-width:16em}.enter-floor{align-self:center;margin-top:22px;font-family:var(--ui);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;background:var(--kumkum);color:var(--plaster);border:none;border-radius:6px;padding:13px 26px;cursor:pointer;box-shadow:0 4px 14px rgba(158,43,37,.3)}.ending{margin:34px 0 8px;background:var(--indigo);border-radius:12px;padding:34px 24px;text-align:center;box-shadow:inset 0 0 0 1px rgba(176,141,62,.4),0 12px 34px rgba(20,12,30,.28)}.ending-eyebrow{font-family:var(--ui);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}.ending-heading{font-family:var(--display);font-weight:600;font-size:1.55rem;line-height:1.3;color:var(--cream);margin:0 auto 18px;max-width:16em}.ending-body{max-width:24em;margin:0 auto}.ending-body p{font-family:var(--serif);font-size:1.04rem;line-height:1.8;color:rgba(234,227,214,.9);margin:.9em 0;text-align:left}.ending-cta{display:inline-block;margin-top:22px;text-decoration:none;font-family:var(--ui);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;background:var(--kumkum);color:var(--plaster);border-radius:6px;padding:13px 24px;box-shadow:0 4px 14px rgba(158,43,37,.35)}.album{margin:34px 0 10px;text-align:center}.ig-profile{flex-direction:column;padding:8px 0 18px;border-bottom:1px solid rgba(176,141,62,.2);margin-bottom:18px}.ig-avatar,.ig-profile{display:flex;align-items:center}.ig-avatar{width:66px;height:66px;border-radius:50%;justify-content:center;background:var(--plaster);box-shadow:0 0 0 2px var(--plaster),0 0 0 4px var(--brass);margin-bottom:10px}.ig-handle{font-size:.92rem;letter-spacing:.02em;color:var(--ink);margin:0 0 8px}.ig-handle,.ig-stats{font-family:var(--ui)}.ig-stats{display:flex;gap:18px;font-size:.72rem;color:var(--ink-soft);margin-bottom:8px}.ig-stats b{color:var(--ink);font-weight:600}.ig-bio{font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--ink-soft);margin:0;max-width:22em}.ig-memory{display:block;width:100%;text-align:left;background:linear-gradient(135deg,rgba(176,141,62,.14),rgba(158,43,37,.08));border:1px solid rgba(176,141,62,.45);border-radius:10px;padding:14px 16px;margin-bottom:20px;cursor:pointer}.ig-memory-tag{display:block;font-family:var(--ui);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kumkum);margin-bottom:5px}.ig-memory-cap{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:.98rem}.album-title{font-family:var(--display);font-weight:600;font-size:1.7rem;color:var(--ink);margin:0}.album-sub{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-soft);margin:4px 0 20px}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:5px;gap:5px}.album-cell{position:relative;aspect-ratio:1/1;border:none;padding:0;background:var(--cream);cursor:pointer;overflow:hidden;border-radius:3px;box-shadow:0 0 0 1px rgba(176,141,62,.35);display:flex;align-items:center;justify-content:center}.album-cell img{width:100%;height:100%;object-fit:cover}.album-ph{display:flex;align-items:center;justify-content:center}.album-ph.big{font-size:3rem}.album-liked{position:absolute;top:5px;right:5px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.album-liked svg{width:15px;height:15px}.album-date{position:absolute;bottom:4px;left:0;right:0;font-family:var(--ui);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.7}.album-cell.empty{background:none;box-shadow:inset 0 0 0 1px dashed rgba(176,141,62,.4);border:1px dashed rgba(176,141,62,.5);cursor:default;flex-direction:column;gap:4px}.album-plus{font-family:var(--display);font-size:1.6rem;color:var(--brass)}.album-soon{font-family:var(--ui);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}.album-modal{position:fixed;inset:0;background:rgba(30,20,10,.7);z-index:60;display:flex;align-items:center;justify-content:center;padding:26px}.album-view{width:100%;max-width:360px;background:var(--plaster);border-radius:12px;padding:16px;text-align:center;animation:sheetUp .3s ease}.album-frame{width:100%;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(176,141,62,.4)}.album-frame img{width:100%;height:100%;object-fit:cover}.album-caption{font-size:1.05rem;color:var(--ink);margin:14px 4px 2px;line-height:1.6}.album-cap-date{font-family:var(--ui);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:6px 0 0}.ig-posthead{display:flex;align-items:center;gap:8px;padding:2px 2px 10px}.ig-dot{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9b45e,#8a6b28);box-shadow:0 0 0 1.5px var(--brass)}.ig-posthandle{font-family:var(--ui);font-size:.82rem;font-weight:600;color:var(--ink)}.ig-actions{display:flex;padding:10px 2px 2px}.ig-like{background:none;border:none;cursor:pointer;padding:2px;display:flex;transition:transform .15s ease}.ig-like:active{transform:scale(1.25)}.ig-like.on{animation:pop .32s ease}.ig-likes{font-family:var(--ui);font-size:.78rem;font-weight:600;margin:2px 2px 6px}.ig-caption,.ig-likes{text-align:left;color:var(--ink)}.ig-caption{font-size:1.02rem;margin:0 2px;line-height:1.6}.ig-caption b{font-family:var(--ui);font-weight:600;font-size:.9rem;margin-right:5px}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.4)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ig-like.on{animation:none}}.replay{display:inline-block;margin-top:18px;background:none;border:none;font-family:var(--ui);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(58,35,23,.45);text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media (prefers-reduced-motion:reduce){.gate-form.shake,.gate-success,.hint-line{animation:none}}