@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentColor}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}html{font-size:18px}.app{color:#fff;background:radial-gradient(circle,#ff4d6d0f,#0000 34rem),#050505;width:100%;min-height:100vh;position:relative;overflow:hidden}.app.ready{cursor:pointer}.scanline{z-index:10;opacity:.2;pointer-events:none;background:linear-gradient(#0000 0%,#ffffff06 50%,#0000 100%);width:100%;height:100px;animation:10s linear infinite scanline;position:absolute;top:-100px;left:0}.console-screen,.reveal-screen,.photo-screen{animation:1.5s both sceneFadeIn}@keyframes sceneFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal-screen.reveal-leaving{animation:1s forwards sceneFadeOut}@keyframes sceneFadeOut{to{opacity:0}}.console-screen,.reveal-screen{place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:hidden auto}.console{color:#ffffffc7;width:min(100%,680px);font-family:Fira Code,monospace;font-size:.75rem}.console-line{align-items:center;gap:10px;min-height:28px;display:flex}.console-package-wrapper{min-height:100px}.tag{color:#ff8fb19e;white-space:nowrap}.status{color:#4ade80}.package{justify-items:start;gap:20px;padding-top:40px;animation:.8s both packageFadeIn;display:grid}@keyframes packageFadeIn{0%{opacity:0}to{opacity:1}}.package p{color:#ffffff61;margin:0;font-style:italic}.decrypt{color:#ff8fb1;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:#ff4d6d0d;border:1px solid #ff4d6d52;justify-content:center;align-items:center;gap:12px;width:100%;padding:13px 16px;font-family:Fira Code,monospace;font-size:.8rem;transition:background .22s,border-color .22s,transform .22s;display:flex}.decrypt:hover{background:#ff4d6d1a;border-color:#ff4d6d94;transform:translateY(-1px)}.terminal-cursor{border-right:2px solid #ff4d6d;height:16px;animation:1s step-end infinite blink;display:inline-block}.reveal-screen{overflow:hidden}.heart-canvas{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.center-message{z-index:2;text-align:center;place-items:center;animation:1.5s 3s both centerEnter;display:grid;position:relative}.center-message h1{color:#ff4d6d;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 10px #ff4d6d80,0 0 20px #ff4d6d4d;margin:0;font-family:Fira Code,monospace;font-size:1.4rem;font-weight:500}.divider{background:#ff4d6d4d;width:48px;height:1px;margin:12px auto 30px}.center-message p{font-size:.95rem;min-height:auto!important}.reencrypt{color:#ffffff38;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-family:Fira Code,monospace;font-size:.8rem;display:flex}.reencrypt:hover{color:#ffffff9e}.reencrypt.locked{opacity:.5;cursor:not-allowed;color:#fff3}.reencrypt.locked:hover{color:#fff3}.share-btn{color:#ff8fb1;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:#ff4d6d1f;border:1px solid #ff4d6d73;border-radius:10px;align-items:center;gap:6px;padding:12px 24px;font-family:Fira Code,monospace;font-size:.9rem;transition:background-color .25s,border-color .25s,transform .25s;display:inline-flex}.share-btn:hover{background:#ff4d6d33;border-color:#ff4d6db3;transform:translateY(-2px);box-shadow:0 0 14px #ff4d6d4d}.music-panel{z-index:9998;background:#080808d9;border:1px solid #ff4d6d1f;border-radius:30px;align-items:center;gap:6px;padding:5px 10px;transition:opacity .25s,background-color .25s,border-color .25s;display:flex;position:fixed;top:12px;right:12px;overflow:hidden}.music-panel.music-hidden{opacity:0;pointer-events:none}.music-panel.expanded .volume-slider{opacity:1;width:70px}.music-toggle{cursor:pointer;color:#ff8fb1;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:18px;transition:transform .2s,text-shadow .2s;display:flex}.music-toggle:hover{text-shadow:0 0 8px #ff4d6d99;transform:scale(1.15)}.volume-slider{appearance:none;cursor:pointer;opacity:0;background:#ff4d6d40;border-radius:2px;outline:none;width:0;height:3px;transition:width .3s,opacity .3s}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#ff4d6d;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #ff4d6db3}.volume-slider::-moz-range-thumb{cursor:pointer;background:#ff4d6d;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #ff4d6db3}.photo-screen{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100vw;height:100vh;display:flex;position:relative;overflow-y:auto}.photo-container{z-index:2;text-align:center;color:#fff;animation:1s photoFadeIn;position:relative}.photo-pair{width:100%;max-width:100%;min-height:auto;margin:10px auto 0;position:static;overflow:visible}.pair-wrapper{opacity:1;pointer-events:auto;flex-direction:column;gap:8px;width:100%;height:auto;padding:0 5vw;transition:none;transform:none;position:static!important}.pair-wrapper:not(.active){display:none}.photo-polaroid{background:#1a1a1a radial-gradient(circle at 30% 40%,#ffffff08 1px,#0000 1px) 0 0/22px 22px;border:1px solid #ffffff14;border-radius:4px;margin-bottom:20px;padding:8px 8px 32px;line-height:0;transition:transform .35s ease-out;display:inline-block;position:relative;box-shadow:0 12px 28px #000000b3,0 2px 6px #00000080,inset 0 0 18px #ffffff08}.photo-polaroid:before{display:none}.photo-wrapper{cursor:pointer;background:0 0;border:2px solid #333;border-radius:2px;padding:0;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.photo-wrapper:focus-visible,.lightbox-close:focus-visible,.card-close:focus-visible,button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #ff8fb1}.photo-wrapper .photo{aspect-ratio:3/4;object-fit:cover;border-radius:2px;width:100%;max-width:100%;display:block}.zoom-icon{opacity:0;pointer-events:none;color:#fff;background:#000000bf;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;transition:opacity .25s;display:flex;position:absolute;top:8px;right:8px}.photo-wrapper:active .zoom-icon{opacity:1}.photo-caption{color:#ccc;text-align:center;white-space:pre-wrap;letter-spacing:.4px;margin-top:10px;font-family:inherit;font-size:14px;font-style:italic;line-height:1.4}@keyframes polaroidDrop{0%{opacity:0;transform:scale(.7) translateY(20px) rotate(var(--start-rotate,-8deg))}to{opacity:1;transform:scale(1) translateY(0) rotate(var(--tilt,0deg))}}.pair-wrapper.active .photo-polaroid{animation:1s ease-out both polaroidDrop}.pair-wrapper.active .photo-polaroid:first-child{animation-delay:0s}.pair-wrapper.active .photo-polaroid:nth-child(2){animation-delay:.15s}.galaxy-canvas{z-index:0;pointer-events:none;background:0 0;position:fixed;inset:0}.card-overlay{z-index:99999;background:#000000bf;place-items:center;display:grid;position:fixed;inset:0}.card{text-align:center;box-sizing:border-box;background:#0f0f0ff0;border:1px solid #ff4d6d40;border-radius:18px;width:min(90%,520px);padding:16px;animation:.5s cardIn;position:relative;overflow:hidden;box-shadow:0 0 25px #ff4d6d26,0 0 60px #ff4d6d14}.card h2{font-size:1.3rem}.card p{font-size:.95rem;line-height:1.4}.card-controls{color:#fff9;justify-content:space-between;margin-top:16px;display:flex}.card-controls button{color:#ff8fb1;cursor:pointer;letter-spacing:.12em;background:#ff4d6d0d;border:1px solid #ff4d6d40;border-radius:10px;min-width:44px;height:34px;padding:8px 12px;font-family:Fira Code,monospace;font-size:14px;transition:background-color .25s,border-color .25s,transform .25s}.card-controls span{letter-spacing:.25em;color:#ffffff73;background:#00000040;border:1px solid #ffffff0f;border-radius:8px;justify-content:center;align-items:center;min-width:70px;height:34px;padding:0 10px;font-family:Fira Code,monospace;font-size:14px;display:flex}.card-close{color:#ff8fb1e6;cursor:pointer;z-index:2;background:#ff4d6d14;border:1px solid #ff4d6d40;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex;position:absolute;top:12px;right:12px}.lightbox-overlay{z-index:99999;cursor:zoom-out;background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.lightbox-image-wrapper{will-change:transform;flex-direction:column;justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex}.lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;max-width:100%;max-height:80vh;box-shadow:0 20px 40px #00000080}.lightbox-caption{color:#fffc;text-align:center;margin-top:12px;font-size:.9rem}.lightbox-close{color:#ff8fb1;cursor:pointer;background:#ff4d6d26;border:1px solid #ff4d6d66;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex;position:absolute;top:20px;right:20px}.progress-bar{background:#ff4d6d26;border-radius:2px;width:220px;height:4px;margin:20px auto 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#ff4d6d,#ff8fb1);border-radius:2px;width:0%;height:100%;transition:width .2s;box-shadow:0 0 12px #ff4d6d99}.preload-text{font-size:.7rem;animation:2s infinite pulse}.memory-date{opacity:.5;letter-spacing:.2em;margin:8px 0 16px;font-size:.7rem}@keyframes blink{50%{border-color:#0000}}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(calc(100vh + 100px))}}@keyframes centerEnter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}@keyframes cardIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:.5}to{opacity:0;transform:translateY(420px)rotate(180deg)}}.pattern-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.pattern-icon{-webkit-user-select:none;user-select:none;position:absolute}.leaf-animation{pointer-events:none;z-index:0;position:absolute;inset:0}.leaf{opacity:.35;color:#fff;font-size:18px;animation:linear infinite fall;position:absolute;top:-20px}@media screen and (width>=768px){.console{font-size:1rem}.decrypt{width:auto;font-size:.9rem}.center-message h1{font-size:1.6rem}.center-message p{font-size:1.05rem}.preload-text,.memory-date{font-size:.85rem}.music-panel{gap:8px;padding:6px 12px;top:20px;right:20px}.music-toggle{font-size:20px}.music-panel:hover .volume-slider{opacity:1;width:70px}.photo-screen{align-items:center;overflow:hidden}.photo-pair{width:min(90vw,1100px);min-height:70vh;margin:0 auto;position:relative}.pair-wrapper{opacity:0;pointer-events:none;flex-direction:row;justify-content:center;align-items:center;gap:30px;width:100%;height:100%;padding:0;transition:opacity .8s,transform .8s;top:0;left:0;transform:scale(.92);position:absolute!important}.pair-wrapper.active{opacity:1;pointer-events:auto;display:flex;transform:scale(1)}.pair-wrapper:not(.active){display:none}.photo-polaroid{margin-bottom:0;padding:10px 10px 50px}.photo-polaroid:before{content:"";z-index:2;background:#ffffdc3d;border-radius:3px;width:70px;height:24px;display:block;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #0000004d}.photo-wrapper{border:3px solid #333}.photo-wrapper .photo{max-width:420px}.photo-caption{margin-top:14px;font-size:16px}@media (hover:hover){.photo-polaroid:hover{transform:translateY(-6px) rotate(var(--tilt,0deg));box-shadow:0 24px 40px #000c,0 4px 12px #0009}.photo-wrapper:hover .zoom-icon{opacity:1}.card-controls button:hover{background:#ff4d6d1f;border-color:#ff4d6d8c;transform:translateY(-2px)scale(1.03);box-shadow:0 0 12px #ff4d6d40}.share-btn:hover{background:#ff4d6d33;border-color:#ff4d6db3;transform:translateY(-2px);box-shadow:0 0 14px #ff4d6d4d}.music-panel:hover{background:#080808f2;border-color:#ff4d6d40}}@media (hover:none) and (pointer:coarse){.photo-polaroid:hover{box-shadow:0 12px 28px #000000b3,0 2px 6px #00000080;transform:none!important}.card-controls button:hover{background:#ff4d6d0d;box-shadow:none!important;transform:none!important}.share-btn:hover{box-shadow:none!important;transform:none!important}}}@media (pointer:coarse){.leaf:nth-child(n+11){display:none}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.scanline,.leaf-animation{display:none}}@media screen and (width>=1280px){html{font-size:20px}.console{font-size:1.1rem}.decrypt{font-size:1rem}.center-message h1{font-size:2rem}.center-message p{font-size:1.15rem}.card h2{font-size:1.5rem}.card p{font-size:1.05rem}.reencrypt{font-size:.9rem}.share-btn{font-size:1rem}.photo-polaroid{padding:12px 12px 60px}.photo-caption{font-size:18px}.preload-text{font-size:1rem}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#e9e7e7;background:#050505;font-family:Georgia,Times New Roman,serif;overflow:hidden}button,input,textarea,select{font:inherit}
