.result-folio[hidden],.memory-unlock[hidden],.manual-book-cover[hidden]{display:none!important}
.local-file-notice{padding:15px;border:1px solid #ac8b55;background:#eee1c5;font-size:13px}.local-file-notice a{text-decoration:underline}
.share-options,.share-feedback{grid-column:1/-1}.share-feedback:empty{display:none}
.wall-key{background:radial-gradient(ellipse,#f5d78444,transparent 72%);filter:drop-shadow(0 0 8px #eccc78);animation:key-glow 2.6s ease-in-out infinite}.wall-key span{position:absolute;right:calc(100% + 12px);top:45%;width:150px;padding:9px 12px;background:#252a20ed;border:1px solid #ba9a58;color:#f5e7bf;font:12px Lora;border-radius:4px;box-shadow:0 4px 15px #0004}@keyframes key-glow{50%{filter:drop-shadow(0 0 18px #f4d37e);background-color:#e9c36822}}
.box-lid{overflow:hidden}.box-lid:after{content:'';position:absolute;inset:-80%;background:linear-gradient(110deg,transparent 42%,#ffedbc10 46%,#ffe4a854 50%,#ffedbc10 54%,transparent 58%);transform:translateX(-70%);animation:box-glimmer 2.6s ease-in-out 1 both;pointer-events:none}@keyframes box-glimmer{to{transform:translateX(70%)}}.unlocked .box-lid:after{display:none}
.result-stage.awaiting-key{background-position:right top}
.box-inside{background:repeating-linear-gradient(45deg,#293b2e 0 3px,#304333 3px 5px);overflow:hidden;display:block}.box-letter{position:absolute;left:14px;top:24px;width:120px;height:110px;display:grid;place-items:center;background:linear-gradient(30deg,transparent 48%,#beaf8a 49% 50%,transparent 51%),#e9ddbd;border:1px solid #bcab84;color:#746749;font:9px Plex;transform:rotate(-8deg);box-shadow:2px 4px 8px #0006}.box-journal{position:absolute;right:16px;top:10px;width:118px;height:100px;padding-top:30px;color:#d7bd80;background:linear-gradient(90deg,#293824,#4e5a38 8%,#303e29 12%);border:3px double #b99b65;font:12px Cormorant;transform:rotate(6deg);box-shadow:3px 4px 2px #d6c8a4}.box-card{position:absolute;right:50px;bottom:9px;width:72px;height:83px;padding-top:16px;background:#ede2c5;border:4px double #b89b61;color:#7c673d;font:16px Cormorant;transform:rotate(-10deg);box-shadow:0 3px 7px #0005}
@media(prefers-reduced-motion:reduce){.wall-key,.box-lid:after{animation:none}.wall-key{filter:drop-shadow(0 0 10px #eccc78)}}
.onboarding-sheet{max-width:610px;min-height:470px;padding:32px 40px}.onboarding-sheet:before{display:none!important}.onboarding-sheet h1{font-size:44px}.onboarding-sheet>.eyebrow{margin-top:22px;margin-bottom:18px}.intro-flying-card{animation:none!important;transform-origin:50% 80%}.replay-unbox{font:10px Plex;color:#e4dfd0;margin-left:8px;white-space:nowrap}
@media(max-width:700px){.onboarding-sheet{padding:26px;min-height:0;margin-inline:auto}.onboarding-sheet h1{font-size:36px}.review-bar nav{overflow-x:auto}.replay-unbox{padding:10px}}
.result-private,.result-answer-private,.private-tab{display:none!important}
.result-stage.awaiting-key{background-position:right center}.wall-key{position:absolute;z-index:3;border:1px solid transparent;border-radius:40%;background:transparent;cursor:grab}.wall-key:hover,.wall-key:focus-visible{background:#dfba5920;box-shadow:0 0 20px #e8c57655;border-color:#d5ba6a88}.unlock-key[hidden]{display:none}
.share-options{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:12px 0}.share-options button{background:none;border:1px solid #a89669;color:#343e2b;padding:9px 13px;border-radius:3px;font:12px Lora}.share-feedback{text-align:center;font:12px Lora;max-width:390px;margin:10px auto}
.result-card.template-preview{padding:0;transform:none;background:none;box-shadow:0 10px 25px #31221322;border:0}
.result-card.template-preview>span{display:none}.result-card.template-preview img{height:auto!important;width:100%;max-height:480px;object-fit:contain;margin:0;display:block}
.memory-unlock{text-align:center;color:#eee3c7;max-width:700px;margin:auto;padding:25px 0 35px}.memory-unlock h2{font:clamp(36px,5vw,58px)/1.1 var(--display);margin:14px 0}.memory-unlock>p:not(.eyebrow){font-size:14px;color:#ccc4aa}
.box-perspective{perspective:950px;width:360px;height:260px;margin:40px auto 0}.memory-box{position:relative;width:340px;height:210px;transform-style:preserve-3d;transform:rotateX(25deg) rotateZ(-5deg);margin:auto}
.box-inside{position:absolute;inset:10px;background:linear-gradient(#23332599,#23332588),url('assets/memory-room.png') center/700px;border:13px ridge #704321;box-shadow:inset 0 0 30px #000}
.box-lid{position:absolute;inset:0;background:repeating-linear-gradient(2deg,#fff0 0 5px,#130a0429 6px 7px),linear-gradient(100deg,#362012,#875732 40%,#4b2b18);border:9px ridge #8c603d;box-shadow:inset 0 0 0 3px #402513,inset 0 0 0 5px #b99b6566,0 8px 15px #0005;transform-origin:top;transition:transform 1.1s cubic-bezier(.3,.1,.2,1);backface-visibility:visible;display:flex;flex-direction:column;justify-content:center;gap:16px;color:#d0b479}
.box-lid span{font:52px var(--display)}.box-lid small{font:10px Plex;letter-spacing:3px}.box-front{position:absolute;left:0;right:0;top:100%;height:50px;transform-origin:top;transform:rotateX(-90deg);background:linear-gradient(#785033,#382010);border:5px ridge #744d31}.box-front i{display:block;width:28px;height:37px;background:linear-gradient(90deg,#80622a,#e1c27b,#8e6e36);margin:-12px auto 0;border-radius:3px;box-shadow:0 2px 4px #0008}.box-front i:after{content:'●';color:#302718;font-size:18px}
.unlock-key{border:0;background:none;color:#e2c486;display:flex;align-items:center;gap:15px;margin:20px auto;font:16px Lora;cursor:pointer}.unlock-key svg{width:92px;height:40px;fill:none;stroke:currentColor;stroke-width:4;filter:drop-shadow(1px 2px 1px #0008);transition:transform .4s}.unlock-key:hover svg{transform:rotate(-12deg)}.skip-ceremony{color:#ccc4aa;font-size:11px;margin-top:12px}.unlocked .box-lid{transform:rotateX(112deg)}.unlocked .unlock-key svg{transform:rotate(90deg);opacity:.3}.keepsakes-revealed{animation:keepsake-arrive .65s ease both}@keyframes keepsake-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.manual-book-cover{display:flex;flex-direction:column;align-items:center;justify-content:space-around;min-height:460px;width:min(340px,90%);margin:28px auto 40px;padding:38px 25px;background:linear-gradient(90deg,#202e22,#4a5940 4%,#283c2b 8%,#344730);color:#dfc78b;border:double 5px #a68a51;box-shadow:7px 4px 0 #d4c7a7,10px 5px 0 #243423,14px 13px 25px #0003;transform-origin:left;transition:transform .7s,opacity .7s;cursor:pointer}.manual-book-cover>span{font:15px Plex;letter-spacing:4px}.manual-book-cover strong{font:48px/1.12 var(--display);font-weight:400}.manual-book-cover i{font-size:35px}.manual-book-cover small{font:13px Lora}.manual-book-cover.turned{transform:perspective(1100px) rotateY(-100deg);opacity:0}
@media(max-width:480px){.box-perspective{width:290px;height:240px}.memory-box{width:280px;height:190px}.manual-book-cover{min-height:380px}.result-card.template-preview img{max-height:none}}
@media(prefers-reduced-motion:reduce){.box-lid,.unlock-key svg,.manual-book-cover{transition:none}.keepsakes-revealed{animation:none}}
