:root{--ivory: #f7f2ec;--ivory-soft: #f1e9df;--sand: #e8ddcf;--sand-deep: #d9cab6;--ink: #3d342c;--ink-soft: #6e5f53;--ink-mute: #9a8b7e;--warm: #8a6a50;--warm-deep: #6e5239;--line: rgba(110, 82, 57, .2);--shadow-soft: 0 10px 40px rgba(90, 65, 40, .08);--shadow-hover: 0 22px 60px rgba(90, 65, 40, .14);--radius: 4px;--font-display: "Playfair Display", Georgia, serif;--font-script: "Great Vibes", cursive;--font-body: "Lora", "Georgia", serif;--font-ui: "Jost", system-ui, sans-serif;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{background:#2c211a}body{margin:0;padding:0;background-color:var(--ivory);background-image:radial-gradient(ellipse 60% 40% at 50% -5%,rgba(138,106,80,.1),transparent 70%),radial-gradient(ellipse 80% 50% at 0% 30%,rgba(217,202,182,.28),transparent 65%),radial-gradient(ellipse 80% 50% at 100% 65%,rgba(217,202,182,.22),transparent 65%),radial-gradient(circle at 20% 80%,rgba(138,106,80,.05),transparent 50%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0 0.15 0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-attachment:fixed,fixed,fixed,fixed,fixed;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat;color:var(--ink);font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 85% 15%,rgba(196,149,108,.08),transparent 35%),radial-gradient(circle at 10% 90%,rgba(110,82,57,.06),transparent 40%)}body>*{position:relative;z-index:1}::selection{background:var(--sand-deep);color:var(--ink)}.hidden{display:none!important}.hero{position:relative;height:100vh;height:calc(100dvh + env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px));min-height:600px;margin-top:calc(-1*env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f7f2ec;text-align:center;overflow:hidden;background-color:#2c211a}.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:0;transform:scale(1.03);transition:opacity .9s var(--ease),transform 1.6s var(--ease);pointer-events:none}.hero__bg.loaded{opacity:1;transform:scale(1)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#1e140c00,#1e140c40 60%,#140c058c);pointer-events:none;z-index:1}.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0a080573,#0a08054d 35% 65%,#0a08058c)}.hero__content{position:relative;z-index:3;padding:0 1.5rem;max-width:900px;animation:heroFade 1.8s var(--ease) both}@keyframes heroFade{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__eyebrow{font-family:var(--font-ui);font-weight:400;letter-spacing:.5em;text-transform:uppercase;font-size:clamp(1rem,1.8vw,1.3rem);opacity:.95;margin:0 0 1.8rem;text-shadow:0 2px 20px rgba(0,0,0,.5)}.hero__title{font-family:var(--font-display);font-weight:600;font-size:clamp(3.5rem,13vw,8rem);line-height:.95;margin:0;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.5),0 8px 40px rgba(0,0,0,.3)}.hero__title span{font-family:var(--font-script);font-style:normal;font-weight:400;font-size:.55em;color:#efd7bde6;padding:0 .15em;vertical-align:.08em}.hero__date{font-family:var(--font-ui);font-size:clamp(1.05rem,1.9vw,1.45rem);letter-spacing:.4em;text-transform:uppercase;margin:2rem 0 0;opacity:.98;font-weight:400;text-shadow:0 2px 16px rgba(0,0,0,.5)}.hero__scroll{position:absolute;bottom:calc(3.5rem + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:heroFade 1.8s var(--ease) .6s both;pointer-events:none}.hero__scrollText{font-family:var(--font-ui);font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;font-weight:400;color:#f7f2ecd9;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero__scrollArrow{color:#f7f2ecb3;animation:heroBounce 2s ease-in-out infinite}@keyframes heroBounce{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(6px);opacity:1}}.wrap{max-width:1240px;margin:0 auto;padding:5rem 1.5rem 10rem}@media(min-width:720px){.wrap{padding:7rem 2rem 10rem}}.gallery__sentinel{width:100%;min-height:1px}.intro{text-align:center;margin-bottom:3.5rem;animation:introReveal 1s var(--ease) both}@keyframes introReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){.intro{margin-bottom:3.5rem}}.intro__script{font-family:var(--font-display);font-style:italic;font-size:clamp(3rem,6.4vw,4.6rem);color:var(--warm);margin:0 0 .4rem;font-weight:400;line-height:1.08;letter-spacing:-.005em}.intro h2{font-family:var(--font-display);font-weight:300;font-size:clamp(.95rem,1.9vw,1.15rem);margin:0 0 1.6rem;color:var(--ink-soft);letter-spacing:.38em;line-height:1;text-transform:uppercase}.intro__rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 1.8rem;max-width:180px}.intro__rule:before,.intro__rule:after{content:"";flex:1;height:1px}.intro__rule:before{background:linear-gradient(90deg,transparent 0%,var(--sand-deep) 100%)}.intro__rule:after{background:linear-gradient(90deg,var(--sand-deep) 0%,transparent 100%)}.intro p:not(.intro__script){margin:0 auto;color:var(--ink-soft);max-width:480px;font-size:.92rem;line-height:1.9;font-weight:300;letter-spacing:.02em}.empty{text-align:center;padding:4rem 1.5rem 5rem;animation:introReveal .8s var(--ease) .2s both}.empty__icon{width:72px;height:72px;margin:0 auto 1.8rem;border-radius:50%;background:linear-gradient(135deg,var(--sand) 0%,var(--ivory-soft) 100%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--warm);animation:emptyPulse 3s ease-in-out infinite}@keyframes emptyPulse{0%,to{transform:scale(1);box-shadow:0 0 #8a6a501a}50%{transform:scale(1.04);box-shadow:0 0 0 12px #8a6a5000}}.empty__title{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.8rem);font-weight:300;color:var(--ink);margin:0 0 .6rem;letter-spacing:.02em}.empty__sub{font-family:var(--font-body);font-size:.88rem;color:var(--ink-mute);margin:0;font-weight:300;letter-spacing:.02em;line-height:1.7}.tabs{position:relative;display:flex;justify-content:center;gap:2.8rem;margin:0 auto 2.4rem;padding:0 0 .9rem;width:fit-content;max-width:100%;border-bottom:1px solid rgba(138,106,80,.14)}.tabs__btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:.25rem .1rem;border:0;background:transparent;color:var(--ink-soft);font-family:var(--font-ui);font-size:.78rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;transition:color .4s var(--ease),opacity .4s var(--ease);white-space:nowrap;opacity:.55}.tabs__btn svg{width:13px;height:13px;opacity:.8;transition:opacity .4s var(--ease)}.tabs__btn:hover{color:var(--ink);opacity:.9}.tabs__btn.is-active{color:var(--warm-deep);opacity:1}.tabs__btn.is-active svg{opacity:1}.tabs__indicator{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,transparent 0%,var(--warm) 20%,var(--warm-deep) 50%,var(--warm) 80%,transparent 100%);transition:transform .55s var(--ease),width .55s var(--ease);will-change:transform,width;pointer-events:none}.tabs__indicator:after{content:"";position:absolute;left:50%;bottom:-2.5px;width:4px;height:4px;margin-left:-2px;background:var(--warm);border-radius:50%;opacity:.9}@media(max-width:480px){.tabs{gap:1.6rem;padding-bottom:.8rem}.tabs__btn{font-size:.7rem;letter-spacing:.22em}.tabs__btn svg{width:12px;height:12px}}.gallery{display:flex;gap:6px}.gallery__col{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}@media(min-width:720px){.gallery,.gallery__col{gap:10px}}@media(min-width:1100px){.gallery,.gallery__col{gap:14px}}.card[data-size="0"]{aspect-ratio:5 / 4}.card[data-size="1"]{aspect-ratio:1 / 1}.card[data-size="2"]{aspect-ratio:4 / 5}.card[data-size="3"]{aspect-ratio:3 / 4}.card[data-size="4"]{aspect-ratio:9 / 16}.card{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ivory-soft);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .6s var(--ease),box-shadow .6s var(--ease);outline:none;flex-shrink:0;content-visibility:auto;contain-intrinsic-size:auto 280px auto 360px}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#fff0 30%,#ffffff8c,#fff0 70%),linear-gradient(180deg,#efe6db,#e6dcce);background-size:200% 100%,100% 100%;background-position:150% 0,0 0;animation:card-skeleton 1.6s ease-in-out infinite;opacity:1;transition:opacity .6s var(--ease);pointer-events:none;z-index:0}.card:has(img.loaded):before{opacity:0;animation:none}@keyframes card-skeleton{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@media(prefers-reduced-motion:reduce){.card:before{animation:none}}.card:focus-visible{box-shadow:var(--shadow-hover),0 0 0 3px var(--warm);transform:translateY(-4px)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#3c281900 60%,#3c28192e);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.card:hover:after{opacity:1}.card img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;opacity:0;filter:saturate(.92) contrast(.98);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}.card img.loaded{opacity:1}.card:hover img.loaded{transform:scale(1.04)}.card__delete{position:absolute;top:8px;right:8px;z-index:5;width:32px;height:32px;border-radius:50%;border:none;background:#0000008c;color:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .25s var(--ease),transform .25s var(--ease),background .2s var(--ease);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent}.card:hover .card__delete,.card:focus-within .card__delete,.card__delete:focus{opacity:1;transform:scale(1)}.card__delete:hover{background:#b43232d9}@media(max-width:520px){.card__delete{opacity:1;transform:scale(1)}}.story__delete{position:absolute;bottom:20px;right:16px;z-index:12;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#00000073;color:#ffffffd9;font-family:var(--font-body);font-size:.65rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;pointer-events:auto;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s var(--ease),border-color .2s var(--ease);-webkit-tap-highlight-color:transparent}.story__delete:hover{background:#b43232b3;border-color:#b4323280}.story__delete.hidden{display:none!important}.empty{text-align:center;color:var(--ink-mute);padding:5rem 1rem;font-family:var(--font-display);font-style:italic;font-size:1.15rem;letter-spacing:.02em}.status{position:fixed;left:50%;bottom:7rem;transform:translate(-50%) translateY(14px);background:#26201ae0;color:var(--ivory);padding:.75rem 1.5rem .65rem;border-radius:999px;box-shadow:0 8px 32px #00000038;opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);z-index:100;max-width:340px;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}.status.show{opacity:1;transform:translate(-50%) translateY(0)}.status__content{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.status__label{font-family:var(--font-body);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:300;color:#ffffffe0}.status__progress{width:100%;height:2px;background:#ffffff1a;border-radius:99px;overflow:hidden;position:relative}.status__fill{position:absolute;top:0;left:0;bottom:0;width:0%;background:linear-gradient(90deg,var(--warm),#c4956c,var(--warm));background-size:200% 100%;border-radius:99px;transition:width .35s ease}.status--pulse .status__fill{animation:statusShimmer 1.8s linear infinite}@keyframes statusShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fab-group{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:0}.fab{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.8rem;font-family:var(--font-body);font-size:.72rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:#f7f2ecf5;border:1px solid var(--line);border-radius:999px;box-shadow:0 14px 40px #5a41281f;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease);position:relative;z-index:2}.fab:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink);transform:translateY(-2px);box-shadow:0 20px 50px #3d342c40}.fab:active{transform:translateY(0)}.fab[disabled]{opacity:.55;cursor:progress}.fab__icon{flex-shrink:0;opacity:.85;transition:transform .3s var(--ease)}.fab-group.fab-group--open .fab{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.fab-group.fab-group--open .fab__icon{transform:rotate(45deg)}.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-bottom:12px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s .25s}.fab-group.fab-group--open .fab-menu{pointer-events:auto;opacity:1;visibility:visible;transition:opacity .25s var(--ease),visibility 0s 0s}.fab-menu__item{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.3rem;font-family:var(--font-body);font-size:.7rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:#f7f2ecf7;border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 28px #5a41281a;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s var(--ease),background .25s var(--ease),color .25s var(--ease),opacity .25s var(--ease);opacity:0;transform:translateY(12px) scale(.92);-webkit-tap-highlight-color:transparent}.fab-menu__item svg{flex-shrink:0;opacity:.8}.fab-menu__item:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink);transform:translateY(-1px) scale(1);box-shadow:0 12px 36px #3d342c33}.fab-menu__item:active{transform:translateY(0) scale(.98)}.fab-group.fab-group--open .fab-menu__item{opacity:1;transform:translateY(0) scale(1)}.fab-group.fab-group--open .fab-menu__item:nth-child(1){transition-delay:.05s}.fab-group.fab-group--open .fab-menu__item:nth-child(2){transition-delay:0s}.fab-backdrop{position:fixed;inset:0;z-index:39;background:#00000014;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s .25s;-webkit-tap-highlight-color:transparent}.fab-backdrop.fab-backdrop--open{opacity:1;visibility:visible;transition:opacity .25s var(--ease),visibility 0s 0s}@media(max-width:520px){.fab span{display:none}.fab{padding:1rem;width:56px;height:56px;justify-content:center}.fab__icon{width:22px;height:22px}.fab-backdrop.fab-backdrop--open{background:#00000040}}.viewer{position:fixed;inset:0;background:#120c08f5;z-index:100;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fadeIn .45s var(--ease)}.viewer img{max-width:90vw;max-height:84vh;object-fit:contain;border-radius:2px;box-shadow:0 50px 120px #000000b3;user-select:none;touch-action:pan-y;transition:opacity .4s var(--ease);filter:saturate(.95)}.viewer__close,.viewer__nav{position:absolute;background:transparent;border:1px solid rgba(247,242,236,.28);color:#f7f2ecd9;width:46px;height:46px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);-webkit-tap-highlight-color:transparent;font-family:var(--font-body);font-weight:300}.viewer__close:hover,.viewer__nav:hover{background:#f7f2ec1a;border-color:#f7f2ec8c;color:var(--ivory)}.viewer__close{top:1.3rem;right:1.3rem;font-size:1.5rem;line-height:1}.viewer__nav--prev{left:1.5rem;top:50%;transform:translateY(-50%)}.viewer__nav--next{right:1.5rem;top:50%;transform:translateY(-50%)}.viewer__counter{position:absolute;bottom:1.8rem;left:50%;transform:translate(-50%);color:#f7f2ecb3;font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;font-weight:300;background:transparent;padding:.4rem 0}@media(max-width:520px){.viewer img{max-width:94vw;max-height:78vh}.viewer__nav{width:40px;height:40px}.viewer__nav--prev{left:.7rem}.viewer__nav--next{right:.7rem}.viewer__close{top:.9rem;right:.9rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body.story-open{overflow:hidden!important;touch-action:none}.story{position:fixed;inset:0;z-index:200;background:#1a1a1a;animation:storyFadeIn .3s var(--ease) both}.story.hidden{display:none!important}.story.story--closing{animation:storyFadeOut .25s var(--ease) both}@keyframes storyFadeIn{0%{opacity:0}to{opacity:1}}@keyframes storyFadeOut{0%{opacity:1}to{opacity:0}}.story__close{position:absolute;top:16px;right:16px;z-index:20;background:none;border:none;color:#fffc;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;-webkit-tap-highlight-color:transparent}.story__close:hover{background:#ffffff1f;color:#fff}.story__arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff26;color:#ffffffd9;cursor:pointer;align-items:center;justify-content:center;transition:background .2s,transform .2s;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.story__arrow:hover{background:#ffffff40;transform:translateY(-50%) scale(1.1)}.story__card{position:absolute;top:50%;left:50%;height:var(--card-h, 100dvh);width:var(--card-w, 100vw);overflow:hidden;background:#000;will-change:transform}.story__cardImg{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}.story__card[data-pos=center]{transform:translate(-50%,-50%) scale(1);z-index:4}.story__card[data-pos=prev],.story__card[data-pos=next]{transform:translate(-50%,-50%) scale(1);z-index:2;visibility:hidden}.story__card[data-pos=exit-left],.story__card[data-pos=exit-right]{transform:translate(-50%,-50%) scale(1);z-index:1;visibility:hidden}.story--animating .story__card{transition:transform .35s cubic-bezier(.32,.72,0,1),filter .35s cubic-bezier(.32,.72,0,1)}.story__overlay{position:absolute;top:50%;left:50%;height:var(--card-h, 100dvh);width:var(--card-w, 100vw);transform:translate(-50%,-50%);z-index:10;pointer-events:none;overflow:hidden}.story__progress{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;gap:4px;padding:10px 12px 0}.story__progress:before{content:"";position:absolute;inset:0 0 auto;height:56px;background:linear-gradient(to bottom,#00000061,#0000);pointer-events:none;border-radius:12px 12px 0 0}.story__bar{flex:1;height:2.5px;background:#ffffff59;border-radius:2px;overflow:hidden;position:relative;box-shadow:0 0 0 .5px #00000038}.story__barFill{position:absolute;inset:0;background:#fff;border-radius:2px;transform-origin:left center;transform:scaleX(0)}.story__barFill--done{transform:scaleX(1)!important}.story__barFill--active{transition:none}.story__bar{transition:flex .3s var(--ease, ease),opacity .3s var(--ease, ease)}.story__header{position:absolute;top:0;left:0;right:0;z-index:12;display:flex;align-items:flex-start;justify-content:space-between;padding:26px 14px 36px;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 100%)}.story__brand{display:flex;flex-direction:column;gap:1px}.story__brandScript{font-family:var(--font-script);font-size:1.3rem;color:#ffffffeb;line-height:1}.story__brandMeta{font-family:var(--font-body);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff8c;font-weight:300}.story__tap{position:absolute;top:0;bottom:0;z-index:8;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.story__tap--prev{left:0;width:35%}.story__tap--next{right:0;width:65%}.story__caption{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:50px 18px 24px;background:linear-gradient(0deg,rgba(0,0,0,.45) 0%,transparent 100%);color:#fffc;font-family:var(--font-body);font-size:.78rem;font-weight:300;letter-spacing:.02em;line-height:1.5}.story__caption:empty{display:none}@media(min-width:768px){.story{--card-h: min(88vh, 700px);--card-w: calc(var(--card-h) * 9 / 16);--side-offset: calc(var(--card-w) * .92 + 24px);background:#1a1a1a}.story__card{border-radius:12px}.story__card[data-pos=center]{transform:translate(-50%,-50%) scale(1);filter:brightness(1);z-index:4}.story__card[data-pos=prev]{transform:translate(calc(-50% - var(--side-offset)),-50%) scale(.82);filter:brightness(.5);z-index:2;visibility:visible;cursor:pointer}.story__card[data-pos=next]{transform:translate(calc(-50% + var(--side-offset)),-50%) scale(.82);filter:brightness(.5);z-index:2;visibility:visible;cursor:pointer}.story__card[data-pos=exit-left]{transform:translate(calc(-50% - var(--side-offset) * 2),-50%) scale(.7);filter:brightness(.3);z-index:1;visibility:visible;opacity:0}.story__card[data-pos=exit-right]{transform:translate(calc(-50% + var(--side-offset) * 2),-50%) scale(.7);filter:brightness(.3);z-index:1;visibility:visible;opacity:0}.story--animating .story__card{transition:transform .35s cubic-bezier(.32,.72,0,1),filter .35s cubic-bezier(.32,.72,0,1),opacity .35s cubic-bezier(.32,.72,0,1)}.story__overlay{border-radius:12px}.story__progress{padding:10px 10px 0}.story__header{padding:24px 12px 0;border-radius:12px 12px 0 0}.story__caption{padding:50px 16px 20px;border-radius:0 0 12px 12px}.story__arrow{display:flex}.story__arrow--prev{left:calc(50% - var(--card-w, calc(min(88vh, 700px)*.5625) ) / 2 - 48px)}.story__arrow--next{right:calc(50% - var(--card-w, calc(min(88vh, 700px)*.5625) ) / 2 - 48px)}.story__close{top:20px;right:20px}}@media(min-width:1100px){.story{--card-h: min(90vh, 740px);--side-offset: calc(var(--card-w) * .92 + 32px)}.story__arrow--prev{left:calc(50% - var(--card-w) / 2 - 56px)}.story__arrow--next{right:calc(50% - var(--card-w) / 2 - 56px)}}.confirm{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:confirmFadeIn .3s var(--ease) both}.confirm.hidden{display:none!important}.confirm__backdrop{position:absolute;inset:0;background:#120c0873;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.confirm__box{position:relative;z-index:2;background:var(--ivory);width:100%;max-width:380px;padding:2.5rem 2rem;border-radius:12px;text-align:center;box-shadow:0 30px 90px #00000040;animation:confirmSlideUp .4s var(--ease) both}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm__icon{margin-bottom:1.2rem;color:var(--warm);display:flex;justify-content:center}.confirm__title{font-family:var(--font-display);font-size:1.6rem;font-weight:300;margin:0 0 .8rem;color:var(--ink)}.confirm__desc{font-family:var(--font-body);font-size:.9rem;line-height:1.6;color:var(--ink-soft);margin:0 0 2rem}.confirm__actions{display:flex;gap:12px}.confirm__btn{flex:1;padding:1rem;border-radius:999px;font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .25s var(--ease);border:1px solid transparent}.confirm__btn--cancel{background:var(--sand);color:var(--ink)}.confirm__btn--cancel:hover{background:var(--sand-deep)}.confirm__btn--ok{background:var(--ink);color:var(--ivory)}.confirm__btn--ok:hover{background:#b43232;border-color:#b43232}.confirm.confirm--closing{animation:confirmFadeOut .25s var(--ease) forwards}.confirm.confirm--closing .confirm__box{animation:confirmSlideDown .25s var(--ease) forwards}@keyframes confirmFadeOut{0%{opacity:1}to{opacity:0}}@keyframes confirmSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.96)}}.card.card--deleting{pointer-events:none;transition:transform .45s var(--ease),opacity .45s var(--ease);transform:scale(0) rotate(0);opacity:0}.story__card.story__card--deleting{transition:transform .4s var(--ease),opacity .4s var(--ease),filter .4s var(--ease);opacity:0;transform:translate(-50%,-50%) scale(.8);filter:brightness(.3) blur(4px)}.oauth-card{max-width:520px;margin:0 auto;text-align:center;padding:3.5rem 2.5rem;background:linear-gradient(135deg,#ffffffb3,#f7f2ecf2);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft);animation:introReveal .8s var(--ease) .15s both}.oauth-card__icon{width:80px;height:80px;margin:0 auto 1.8rem;border-radius:50%;background:linear-gradient(135deg,#f8f9fa,#e8eaed);border:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000000f}.oauth-card__title{font-family:var(--font-display);font-weight:400;font-size:1.8rem;color:var(--ink);margin:0 0 1rem;letter-spacing:.02em}.oauth-card__desc{font-family:var(--font-body);font-size:.9rem;color:var(--ink-soft);line-height:1.8;margin:0 0 2rem;font-weight:300}.oauth-card__desc strong{color:var(--ink);font-weight:500}.oauth-card__perks{list-style:none;padding:0;margin:0 0 2.5rem;text-align:left}.oauth-card__perks li{display:flex;align-items:flex-start;gap:10px;padding:.5rem 0;font-family:var(--font-body);font-size:.82rem;color:var(--ink-soft);font-weight:300;line-height:1.6;letter-spacing:.01em}.oauth-card__perks li svg{flex-shrink:0;color:var(--warm);margin-top:2px}.oauth-card__btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:999px;box-shadow:0 2px 12px #00000014;cursor:pointer;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}.oauth-card__btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0000001f;background:#f8f9fa;border-color:#0000002e}.oauth-card__btn:active{transform:translateY(0)}.oauth-card__fine{margin:1.5rem 0 0;font-family:var(--font-ui);font-size:.65rem;color:var(--ink-mute);font-weight:300;letter-spacing:.02em;line-height:1.7;opacity:.7}@media(max-width:520px){.oauth-card{padding:2.5rem 1.5rem;border-radius:12px}.oauth-card__btn{padding:.9rem 1.8rem;font-size:.7rem}}.tutorial-link{display:flex;align-items:center;gap:.55rem;width:fit-content;margin:-1.2rem auto 2.8rem;padding:.45rem .2rem;background:transparent;border:0;color:var(--warm);font-family:var(--font-ui);font-size:.68rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;position:relative;transition:color .35s var(--ease)}.tutorial-link:after{content:"";position:absolute;left:50%;bottom:.15rem;width:0;height:1px;background:currentColor;opacity:.5;transform:translate(-50%);transition:width .4s var(--ease)}.tutorial-link:hover{color:var(--warm-deep)}.tutorial-link:hover:after{width:calc(100% - .4rem)}.tutorial-link svg{opacity:.75;transition:opacity .35s var(--ease)}.tutorial-link:hover svg{opacity:1}.tutorial-link:focus-visible{outline:none;color:var(--warm-deep)}.tutorial-link:focus-visible:after{width:calc(100% - .4rem)}@media(max-width:480px){.tutorial-link{font-size:.64rem;letter-spacing:.2em;margin:-1rem auto 2.2rem}}.tutorial-hint{display:flex;flex-direction:column;align-items:center;margin:-1.2rem auto 2.8rem}.tutorial-hint .tutorial-link{margin:0}.tutorial-hint.is-new .tutorial-link{background:#b4825014;border-radius:999px;padding:.5rem 1.2rem;animation:hintPulse 2.2s ease-in-out infinite;transition:background .3s var(--ease),color .35s var(--ease)}.tutorial-hint.is-new .tutorial-link:hover{background:#b4825029}.tutorial-hint.is-new .tutorial-link:after{display:none}@keyframes hintPulse{0%,to{box-shadow:0 0 #b4825040,0 0 #b4825014}50%{box-shadow:0 0 0 6px #b4825000,0 0 12px 2px #b4825026}}.tutorial-hint__nudge{margin:0;padding-top:.55rem;font-family:var(--font-body);font-size:.72rem;font-weight:300;letter-spacing:.02em;color:var(--ink-mute);opacity:0;transform:translateY(-4px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none;text-align:center;line-height:1.5}.tutorial-hint.is-new .tutorial-hint__nudge{opacity:1;transform:translateY(0);animation:nudgeEntry .6s var(--ease) 1.2s both}@keyframes nudgeEntry{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tutorial-hint.is-dismissed .tutorial-link{animation:none}.tutorial-hint.is-dismissed .tutorial-hint__nudge{opacity:0;transform:translateY(-4px);transition:opacity .4s var(--ease),transform .4s var(--ease)}@media(max-width:480px){.tutorial-hint{margin:-1rem auto 2.2rem}.tutorial-hint__nudge{font-size:.68rem}}.tour{position:fixed;inset:0;z-index:100;pointer-events:none}.tour.hidden{display:none}.tour__backdrop{position:absolute;inset:0;background:transparent;pointer-events:auto;animation:tourFade .4s var(--ease)}.tour__spotlight{position:absolute;top:0;left:0;width:0;height:0;border-radius:14px;box-shadow:0 0 0 9999px #120c089e,0 0 0 2px #f7f2ecb3,0 0 30px #f7f2ec40;pointer-events:none;transition:transform .5s var(--ease),width .5s var(--ease),height .5s var(--ease),opacity .35s var(--ease),box-shadow .35s var(--ease);will-change:transform,width,height}.tour__spotlight.is-fullscreen{width:100vw;height:100vh;transform:translate(0);border-radius:0;box-shadow:inset 0 0 0 9999px #120c089e}.tour__card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:340px;width:calc(100% - 2.4rem);padding:1.6rem 1.5rem 1.2rem;background:var(--ivory);border:1px solid rgba(138,106,80,.14);border-radius:12px;box-shadow:0 20px 60px #1e140c59,0 2px #ffffff80 inset;pointer-events:auto;animation:tourCardIn .45s var(--ease);transition:top .45s var(--ease),left .45s var(--ease),transform .45s var(--ease)}@keyframes tourFade{0%{opacity:0}to{opacity:1}}@keyframes tourCardIn{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tour__step{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--warm);margin:0 0 .6rem;font-weight:500}.tour__title{font-family:var(--font-display);font-weight:500;font-size:1.35rem;color:var(--ink);margin:0 0 .6rem;line-height:1.25}.tour__body{font-family:var(--font-body);font-size:.95rem;line-height:1.55;color:var(--ink-soft);margin:0 0 1.2rem}.tour__dots{display:flex;justify-content:center;gap:6px;margin:0 0 1rem}.tour__dots span{width:6px;height:6px;border-radius:50%;background:#8a6a5040;transition:background .3s var(--ease),transform .3s var(--ease)}.tour__dots span.is-active{background:var(--warm);transform:scale(1.3)}.tour__actions{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.tour__skip{background:transparent;border:0;color:var(--ink-mute);font-family:var(--font-ui);font-size:.82rem;letter-spacing:.08em;cursor:pointer;padding:.5rem .2rem;transition:color .3s var(--ease)}.tour__skip:hover{color:var(--ink)}.tour__next{background:linear-gradient(135deg,var(--warm) 0%,var(--warm-deep) 100%);border:0;color:var(--ivory);font-family:var(--font-ui);font-size:.88rem;font-weight:500;letter-spacing:.1em;padding:.7rem 1.4rem;border-radius:999px;cursor:pointer;box-shadow:0 6px 18px #8a6a504d;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.tour__next:hover{transform:translateY(-1px);box-shadow:0 10px 24px #8a6a5061}.tour__next:focus-visible,.tour__skip:focus-visible{outline:none;box-shadow:0 0 0 3px #8a6a5059}.tour__card.is-below,.tour__card.is-above{top:auto;transform:translate(-50%)}@media(max-width:480px){.tour__card{max-width:none;width:calc(100% - 1.6rem);padding:1.3rem 1.2rem 1rem}.tour__title{font-size:1.18rem}.tour__body{font-size:.9rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
