html,body{margin:0;padding:0;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color: --secondary-color: #666;--hover-color: #e60000;--font-family: "Lobster", cursive;--sai-top: env(safe-area-inset-top, 0px);--sai-bottom: env(safe-area-inset-bottom, 0px);--sai-left: env(safe-area-inset-left, 0px);--sai-right: env(safe-area-inset-right, 0px)}body{font-family:var(--font-family);text-align:center;margin:0;background:#0a0515}.App{height:100vh;height:100dvh;overflow:hidden;position:relative}.App{min-height:100vh;min-height:100dvh;position:relative}.lock-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0515,#1a0a2e,#2d1230,#1a0820,#050210);background-size:400% 400%;animation:lockBg 12s ease infinite;overflow:hidden;z-index:50;overscroll-behavior:none;-webkit-overflow-scrolling:touch}.lock-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1px 1px at 8% 15%,rgba(255,200,220,.3) 0%,transparent 100%),radial-gradient(1px 1px at 25% 55%,rgba(255,255,255,.25) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 45% 10%,rgba(255,180,200,.35) 0%,transparent 100%),radial-gradient(1px 1px at 65% 40%,rgba(255,255,255,.2) 0%,transparent 100%),radial-gradient(1px 1px at 80% 75%,rgba(255,200,230,.3) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 15% 80%,rgba(255,180,255,.25) 0%,transparent 100%),radial-gradient(1px 1px at 55% 85%,rgba(255,255,255,.2) 0%,transparent 100%),radial-gradient(1px 1px at 92% 8%,rgba(255,180,220,.3) 0%,transparent 100%);pointer-events:none;animation:twinkle 4s ease-in-out infinite alternate}@keyframes lockBg{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes twinkle{0%{opacity:.6}to{opacity:1}}.lock-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.5) 100%);pointer-events:none}.lock-icon{font-size:48px;margin-bottom:24px;animation:lockPulse 2s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,150,180,.5));position:relative;z-index:2}@keyframes lockPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.lock-input{width:200px;padding:14px 20px;font-size:24px;text-align:center;border:2px solid rgba(255,180,200,.4);border-radius:30px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8c8dc;outline:none;letter-spacing:8px;transition:border-color .3s,box-shadow .3s;font-family:var(--font-family);position:relative;z-index:2}.lock-input:focus{border-color:#ffb4c8b3;box-shadow:0 0 20px #ff96b44d}.lock-input::placeholder{color:transparent}.falling-petals{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.petal{position:absolute;top:-30px;animation:petalFall var(--sway-duration, 12s) linear infinite,petalSway var(--sway-duration, 4s) ease-in-out infinite alternate;will-change:transform}@keyframes petalFall{0%{top:-8%;opacity:0}5%{opacity:1}90%{opacity:1}to{top:105%;opacity:0;transform:rotate(calc(var(--initial-rotation, 0deg) + 360deg))}}@keyframes petalSway{0%{margin-left:0;transform:rotate(var(--initial-rotation, 0deg))}to{margin-left:var(--sway-amount, 40px);transform:rotate(calc(var(--initial-rotation, 0deg) + 45deg))}}@media(max-width:768px){.lock-icon{font-size:64px;margin-bottom:30px}.lock-input{width:220px;padding:16px 24px;font-size:28px}}@media(max-height:500px)and (orientation:landscape){.lock-icon{font-size:36px;margin-bottom:12px}.lock-input{width:180px;padding:10px 16px;font-size:22px}}@supports (padding: env(safe-area-inset-bottom)){.lock-screen{padding-top:env(safe-area-inset-top)}}@media only screen and (max-device-width:480px)and (-webkit-min-device-pixel-ratio:2){.lock-screen{padding-top:calc(40px + env(safe-area-inset-top,0px))}}.App-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff0f3,#ffe0e8,#fff5f7)}.App-text{font-size:calc(10px + 4vmin);font-weight:700}.App-text:hover{color:#391253}.App-gif{width:80%;max-width:300px;height:auto}.App-button{margin:10px;padding:15px 20px;font-size:20px;cursor:pointer;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;transition:background-color .3s ease,transform .3s ease}.App-button:before{content:"💘";font-size:20px;margin-right:5px}.App-button:hover{background-color:var(--hover-color);transform:scale(1.1);box-shadow:0 4px 10px #0003}.App-button:nth-child(2){background-color:var(--secondary-color)}.App-button:nth-child(2):before{content:"💔";color:var(--secondary-color)}.App-button:nth-child(2):hover{background-color:#404040}.App-text-success{font-size:19px;line-height:1.5}.App-text-success:before{content:"💖";color:var(--primary-color);margin-right:5px;font-size:24px}.App-text-success:hover{color:var(--primary-color)}.App-text-date{font-size:18px}.App-text-date:before{content:"💕";color:var(--primary-color);margin-right:5px}.App-success{padding:20px}.App-memory-btn-container{display:flex;justify-content:center;margin-top:30px;margin-bottom:20px}.App-memory-btn{padding:15px 30px;font-size:18px;font-family:var(--font-family);cursor:pointer;background:linear-gradient(135deg,#ff4d4d,#ff85a2);color:#fff;border:none;border-radius:30px;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 12px #ff4d4d4d}.App-memory-btn:hover{background:linear-gradient(135deg,#e60000,#ff4d6d);transform:scale(1.05);box-shadow:0 6px 16px #ff4d4d80}.memory-lane{height:100vh;height:100dvh;height:-webkit-fill-available;width:100vw;position:fixed;top:0;left:0;display:flex;flex-direction:column;align-items:center;background-image:url(/assets/background-BRHioK1-.png);background-size:105%;background-position:center;background-repeat:no-repeat;transition:background-position .15s ease-out;overscroll-behavior:none;overflow:hidden}.memory-lane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a051566,#1e0a284d 40%,#3c0f2d59,#0a051580);z-index:0;pointer-events:none}.starfield-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.memory-lane-overlay{background:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:24px;padding:50px 40px;max-width:520px;width:85%;box-shadow:0 8px 32px #ff648240;text-align:center}.memory-lane-title{font-family:var(--font-family);font-size:2.5em;color:#d63384;margin-bottom:10px;text-shadow:0 2px 8px rgba(214,51,132,.2)}.memory-lane-subtitle{font-family:var(--font-family);font-size:1.2em;color:#e75480;margin-bottom:30px}.memory-lane-content{margin-top:20px}.memory-lane-text{font-family:var(--font-family);font-size:1.1em;color:#6b3a5d;line-height:1.8;margin-bottom:18px}.media-showcase{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1;contain:layout style}.showcase-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffc8dcb3;font-family:var(--font-family);font-size:1.3em;animation:loadPulse 1.5s ease-in-out infinite}@keyframes loadPulse{0%,to{opacity:.5}50%{opacity:1}}.showcase-box{position:absolute;border-radius:13px;overflow:hidden;z-index:10;box-shadow:0 0 18px #ff96b440,0 4px 16px #0000001a,inset 0 .5px #fff3;contain:layout style paint;will-change:transform,opacity,filter;box-sizing:border-box}.showcase-box.showcase-fg{z-index:10;opacity:1;filter:none;transform:scale(1);pointer-events:auto;cursor:pointer}.showcase-box.showcase-bg-pushed{z-index:5;opacity:.38;filter:blur(6px);transform:scale(.6);pointer-events:none;box-shadow:none}.showcase-glass-inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:#ffffff0a;pointer-events:none;z-index:0}.showcase-box.showcase-fg:hover{z-index:20;box-shadow:0 0 30px #ff96b473,0 8px 28px #0000002e,inset 0 .5px #ffffff4d}.showcase-aura{position:absolute;border-radius:50%;filter:blur(50px);opacity:.3;z-index:-1;pointer-events:none;transition:opacity .5s ease}.showcase-box.showcase-fg:hover .showcase-aura{opacity:.5}.showcase-shine{position:absolute;width:60%;height:60%;background:radial-gradient(ellipse at center,rgba(255,255,255,.25),transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease;transform:translate(-50%,-50%);z-index:5}.showcase-box.showcase-fg:hover .showcase-shine{opacity:1}.showcase-media{width:100%;height:100%;object-fit:cover;display:block;border-radius:11px;background:#00000014}.love-counter-overlay{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;pointer-events:none;width:90%;max-width:820px}.love-counter-growing{font-family:Dancing Script,cursive;font-size:16px;color:#ffb3d0;margin:6px 0 0;text-align:center;text-shadow:0 0 12px rgba(255,80,120,.6),0 1px 4px rgba(0,0,0,.7)}.love-counter-message{font-family:Playfair Display,serif;font-size:17px;font-style:italic;font-weight:500;color:#ffd6e3;text-align:center;margin:0 0 6px;line-height:1.4;text-shadow:0 0 10px rgba(255,100,150,.5),0 2px 8px rgba(0,0,0,.8);max-width:600px}.love-counter-clock{display:flex;gap:8px;background:#781e3c66;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:14px 28px;box-shadow:0 0 30px #ff467840,0 4px 16px #0000004d,inset 0 1px #ffffff14}.love-counter-unit{display:flex;flex-direction:column;align-items:center;min-width:52px}.love-counter-num{font-family:Courier Prime,monospace;font-size:48px;font-weight:700;color:#ff4d88;text-shadow:0 0 14px rgba(255,80,140,.8),0 0 30px rgba(255,60,120,.4),0 2px 4px rgba(0,0,0,.6);line-height:1}.love-counter-label{font-family:var(--font-family);font-size:10px;font-weight:600;color:#ffdcebf2;margin-top:4px;text-transform:uppercase;letter-spacing:1.2px;text-shadow:0 0 6px rgba(255,100,150,.4),0 1px 2px rgba(0,0,0,.5)}@media(max-width:768px){.memory-lane{height:100vh;height:100dvh;height:-webkit-fill-available;background-size:cover!important;background-position:left center!important}.memory-lane:before{background:linear-gradient(135deg,#0a051573,#1e0a2859 40%,#3c0f2d66,#0a05158c)}.postbox-wrapper{display:none!important}.love-counter-overlay{top:calc(6px + env(safe-area-inset-top,0px));max-width:520px;gap:2px;z-index:100}.love-counter-message{display:none}.love-counter-growing{font-size:11px;margin:2px 0 0}.love-counter-clock{display:flex;justify-content:center;flex-wrap:nowrap;gap:5px;padding:6px 10px;border-radius:20px;width:auto;box-sizing:border-box}.love-counter-num{font-size:17px}.love-counter-unit{min-width:auto;flex:0 0 auto;text-align:center}.love-counter-label{font-size:7px;letter-spacing:.4px;margin-top:1px}.view-switcher-container{display:none}.add-memory-fab{display:none!important}.story-timeline-scroll{padding-top:80px;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.showcase-box.showcase-fg:active{z-index:20;box-shadow:0 0 35px #ff96b480,0 8px 30px #00000040}.showcase-box.showcase-fg:active .showcase-caption{opacity:1;pointer-events:auto}.showcase-box.showcase-fg:active .showcase-aura{opacity:.5}.add-memory-input,.add-memory-textarea,.letter-textarea{font-size:16px!important}.memory-lane--timeline .love-counter-growing{display:none}.memory-lane--timeline .love-counter-clock{padding:5px 10px;gap:4px}.memory-lane--timeline .love-counter-num{font-size:14px}.memory-lane--timeline .love-counter-unit{min-width:auto}.memory-lane--timeline .love-counter-label{font-size:7px}.memory-lane--timeline .story-timeline-scroll{padding-top:60px;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.memory-lane--timeline .starfield-canvas{opacity:.3}}.mobile-bottom-nav{display:none}@media(max-width:768px){.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;justify-content:space-around;align-items:center;background:#14081ebf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,200,220,.15);padding:4px 0;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));z-index:2000}.mobile-bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;color:#ffdce699;font-size:18px;padding:3px 10px;cursor:pointer;transition:color .2s,transform .15s;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav-btn.active{color:#ffb3d0;text-shadow:0 0 8px rgba(255,179,208,.4)}.mobile-bottom-nav-btn:active{transform:scale(.92)}.mobile-bottom-nav-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;font-weight:500;letter-spacing:.3px}.mobile-bottom-nav-btn.active:after{content:"";display:block;width:3px;height:3px;border-radius:50%;background:#ffb3d0;margin-top:1px;box-shadow:0 0 4px #ffb3d080}}.postbox-wrapper{position:absolute;bottom:18px;left:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;z-index:50;transition:transform .3s ease;transform:scale(.8);transform-origin:bottom left}.postbox-wrapper:hover{transform:scale(1.08)}.postbox{position:relative;width:68px}.postbox-body{width:68px;height:78px;background:linear-gradient(135deg,#e53935,#c62828);border:2px solid #b71c1c;border-radius:6px 6px 2px 2px;position:relative;box-shadow:0 4px 16px #00000059,inset 0 2px 6px #ffffff1f,inset -4px 0 8px #00000026;display:flex;flex-direction:column;align-items:center;justify-content:center}.postbox-slot{width:34px;height:6px;background:#1a1a1a;border-radius:1px;border:1px solid #b71c1c;margin-top:-4px;box-shadow:inset 0 1px 3px #0009}.postbox-heart{font-size:18px;margin-top:5px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.postbox-flag{position:absolute;right:-10px;top:8px;width:6px;height:22px;background:linear-gradient(to bottom,#ff8f00,#f57f17);border-radius:2px;transform-origin:bottom center;transition:transform .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 5px #0000004d;z-index:2}.postbox-flag:after{content:"";position:absolute;top:0;left:-3px;width:12px;height:8px;background:#ff6f00;border-radius:2px}.postbox-wrapper:hover .postbox-flag{transform:rotate(-70deg)}.postbox-wrapper:hover .postbox-body{box-shadow:0 0 20px #ff505066,0 4px 16px #00000059,inset 0 2px 6px #ffffff1f}.postbox-base{width:72px;height:7px;background:linear-gradient(to bottom,#8d6e63,#5d4037);border-radius:0 0 3px 3px;margin:0 auto}.postbox-sign{margin-top:6px;padding:5px 14px;background:#e53935d9;border:1.5px solid #b71c1c;border-radius:4px;font-family:Dancing Script,cursive;font-size:12px;color:#fff1f0;text-shadow:1px 1px 2px rgba(0,0,0,.6);transform-origin:top center;animation:gentleSwing 3.5s ease-in-out infinite;white-space:nowrap;box-shadow:0 3px 10px #00000040}@keyframes gentleSwing{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.letter-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.letter-modal{width:66%;max-width:750px;max-height:85vh;background:#fffaf5;border-radius:20px;padding:40px 36px 30px;box-shadow:0 12px 48px #d6338440,0 0 0 1px #ffc8c84d;display:flex;flex-direction:column;position:relative;animation:slideUp .35s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.letter-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:22px;color:#c2185b;cursor:pointer;transition:transform .2s}.letter-close:hover{transform:scale(1.2)}.letter-title{font-family:var(--font-family);font-size:1.8em;color:#d63384;text-align:center;margin:0 0 6px}.letter-hint{font-family:var(--font-family);font-size:.95em;color:#b06080;text-align:center;margin-bottom:20px}.letter-textarea{flex:1;min-height:220px;width:100%;border:2px solid #f3c4d8;border-radius:14px;padding:18px 20px;font-family:Georgia,serif;font-size:16px;line-height:1.7;color:#4a2040;background:#fff;resize:vertical;outline:none;transition:border-color .3s;box-sizing:border-box}.letter-textarea:focus{border-color:#e75480;box-shadow:0 0 0 3px #e7548026}.letter-textarea::placeholder{color:#d4a0b8;font-style:italic}.letter-send-wrapper{display:flex;justify-content:center;margin-top:22px}.letter-send-btn{width:110px;height:100px;background:linear-gradient(135deg,#ff4d6d,#ff85a2);color:#fff;font-family:var(--font-family);font-size:16px;font-weight:700;border:none;cursor:pointer;clip-path:path("M55 90 C55 90 10 60 10 35 A22 22 0 0 1 55 25 A22 22 0 0 1 100 35 C100 60 55 90 55 90 Z");transition:transform .3s ease,filter .3s ease;display:flex;align-items:center;justify-content:center;padding-bottom:12px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.letter-send-btn:hover:not(:disabled){transform:scale(1.1);filter:brightness(1.1)}.letter-send-btn:disabled{opacity:.7;cursor:default}@media(max-width:768px){.letter-modal{width:92%;padding:24px 16px 20px;max-height:75dvh;max-height:75vh;-webkit-overflow-scrolling:touch}.letter-textarea{min-height:160px;font-size:16px}.letter-title{font-size:1.4em}.letter-send-btn{width:90px;height:82px;font-size:14px}}.cinema-intro,.cinema-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;opacity:0;transform:scale(1.02);transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1);overscroll-behavior:none}.cinema-intro--visible,.cinema-page--visible{opacity:1;transform:scale(1)}.cinema-intro--fadeout{opacity:0;transform:scale(.97);transition:opacity 1s cubic-bezier(.4,0,.2,1),transform 1s cubic-bezier(.4,0,.2,1)}.cinema-intro{background:linear-gradient(135deg,#fff0f3,#ffe0e8,#ffccd5,#ffc2d1,#ffe0e8,#fff5f7);background-size:400% 400%;animation:cinemaLightShift 10s ease infinite}.cinema-page--asking{background:linear-gradient(135deg,#fff0f5,#fce4ec,#f8bbd0,#fce4ec,#fff5f8);background-size:400% 400%;animation:cinemaLightShift 12s ease infinite;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:var(--sai-top);padding-bottom:var(--sai-bottom)}.cinema-page--success{background:linear-gradient(135deg,#fff5f7,#fce4ec 20%,#f48fb1,#f8bbd0 70%,#fff0f3);background-size:400% 400%;animation:cinemaLightShift 10s ease infinite;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:var(--sai-top);padding-bottom:var(--sai-bottom)}@keyframes cinemaLightShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.cinema-grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:3;animation:grainDrift .8s steps(6) infinite}@keyframes grainDrift{0%,to{transform:translate(0)}20%{transform:translate(-2%,-1%)}40%{transform:translate(1%,2%)}60%{transform:translate(-1%,1%)}80%{transform:translate(2%,-2%)}}.cinema-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(244,143,177,.15) 100%);pointer-events:none;z-index:2}.cinema-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:3}.cinema-particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,20,80,.5) 0%,rgba(255,105,180,.25) 60%,transparent 100%);animation:cinemaFloat var(--duration, 10s) ease-in-out infinite;animation-delay:var(--delay, 0s);box-shadow:0 0 8px #ff69b44d,0 0 16px #e91e631a}@keyframes cinemaFloat{0%{transform:translateY(0) translate(0) scale(1)}25%{transform:translateY(-50px) translate(var(--drift, 15px)) scale(1.3)}50%{transform:translateY(-100px) translate(calc(var(--drift, 15px) * -.6)) scale(.7)}75%{transform:translateY(-50px) translate(var(--drift, 15px)) scale(1.15)}to{transform:translateY(0) translate(0) scale(1)}}.cinema-text-area{text-align:center;min-height:180px;position:relative;z-index:10;padding:0 20px;animation:cinemaTextAreaIn 1s cubic-bezier(.4,0,.2,1) forwards}@keyframes cinemaTextAreaIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cinema-heading{font-family:"Courier Prime","Courier New",var(--font-family);font-size:calc(20px + 4vmin);color:#c2185b;margin:0 0 8px;display:inline;text-shadow:0 0 20px rgba(194,24,91,.2),0 2px 8px rgba(233,30,99,.1);letter-spacing:2px;animation:cinemaLineReveal .6s cubic-bezier(.4,0,.2,1) forwards}.cinema-body{font-family:"Courier Prime","Courier New",var(--font-family);font-size:calc(10px + 2vmin);color:#ad1457;margin:6px 0;line-height:1.7;text-shadow:0 0 15px rgba(173,20,87,.15);letter-spacing:1px;animation:cinemaLineReveal .5s cubic-bezier(.4,0,.2,1) forwards}.cinema-line{min-height:1.4em;transform:translateY(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}.cinema-break{height:20px}.cinema-cursor{display:inline-block;color:#e91e63;font-weight:100;font-family:Courier Prime,monospace;margin-left:1px;font-size:1.2em;text-shadow:0 0 10px rgba(233,30,99,.3);transition:opacity .15s ease}.cinema-cursor-hidden{opacity:0}@keyframes cinemaLineReveal{0%{opacity:.7;filter:blur(1px);transform:translateY(4px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.cinema-enter-btn{margin-top:40px;padding:16px 36px;font-size:18px;font-family:var(--font-family);cursor:pointer;background:linear-gradient(135deg,#e91e63,#ff4081,#ff1744);color:#fff;border:none;border-radius:30px;box-shadow:0 4px 20px #e91e6359,0 0 40px #ff408126;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);animation:cinemaBtnIn .8s cubic-bezier(.22,1,.36,1) forwards,cinemaBtnPulse 2.5s ease-in-out 1s infinite;opacity:0;position:relative;z-index:10;letter-spacing:1px}.cinema-enter-btn--warm{background:linear-gradient(135deg,#c2185b,#e91e63,#ff4081);max-width:420px;font-size:16px;line-height:1.4}.cinema-enter-btn:hover{transform:scale(1.1);box-shadow:0 6px 30px #e91e6380,0 0 60px #ff408140}@keyframes cinemaBtnIn{0%{opacity:0;transform:translateY(25px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cinemaBtnPulse{0%,to{box-shadow:0 4px 20px #e91e6359,0 0 40px #ff408126}50%{box-shadow:0 6px 30px #e91e6380,0 0 60px #ff40814d}}.cinema-page-content{position:relative;z-index:10;text-align:center;padding:40px 24px;max-width:600px;width:100%}.cinema-gif-frame{display:inline-block;border-radius:16px;overflow:hidden;box-shadow:0 0 25px #e91e6333,0 0 50px #ff69b41a,0 8px 24px #880e4f26;margin-bottom:24px;border:2px solid rgba(233,30,99,.15)}.cinema-gif{width:80%;max-width:280px;height:auto;display:block}.cinema-text{font-family:var(--font-family);font-size:calc(12px + 3vmin);color:#880e4f;text-shadow:0 0 15px rgba(233,30,99,.15),0 2px 4px rgba(136,14,79,.08);margin:8px 0;opacity:0;animation:cinemaTextIn .53s ease forwards;line-height:1.5}.cinema-text-question{font-size:calc(14px + 3.5vmin);color:#c2185b;text-shadow:0 0 20px rgba(194,24,91,.2),0 0 40px rgba(233,30,99,.1);margin-top:16px}.cinema-text-success{font-size:calc(10px + 2vmin);line-height:1.6;color:#ad1457}.cinema-text-delay-1{animation-delay:.2s}.cinema-text-delay-2{animation-delay:.47s}.cinema-text-delay-3{animation-delay:.73s}.cinema-text-delay-4{animation-delay:1s}.cinema-text-delay-5{animation-delay:1.27s}.cinema-text-delay-6{animation-delay:1.53s;opacity:0;animation:cinemaTextIn .53s ease 1.53s forwards}@keyframes cinemaTextIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cinema-button-group{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:24px;opacity:0;animation:cinemaTextIn .53s ease forwards}.cinema-btn{padding:14px 28px;font-size:18px;font-family:var(--font-family);cursor:pointer;border:none;border-radius:12px;transition:transform .3s ease,box-shadow .3s ease;letter-spacing:1px}.cinema-btn-yes{background:linear-gradient(135deg,#e91e63,#ff4081);color:#fff;box-shadow:0 4px 20px #e91e6359;animation:cinemaBtnPulse 2.5s ease-in-out infinite}.cinema-btn-yes:hover{transform:scale(1.1);box-shadow:0 6px 30px #e91e6380}.cinema-btn-no{background:#880e4f14;color:#880e4f;border:1.5px solid rgba(233,30,99,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cinema-btn-no:hover{background:#880e4f1f;transform:scale(1.05);color:#ad1457}@keyframes musicPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #ff649680}50%{transform:scale(1.08);box-shadow:0 0 30px #ff6496b3,0 0 60px #ff64964d}}.view-switcher-container{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:100}.view-switcher{display:flex;gap:0;background:#ffffff26;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px;padding:5px;box-shadow:0 4px 24px #0000002e,inset 0 0 0 1px #fff3;border:1px solid rgba(255,200,220,.15)}.view-switcher-btn{padding:10px 24px;font-family:Playfair Display,serif;font-size:13px;font-weight:600;border:none;border-radius:26px;cursor:pointer;background:transparent;color:#ffdce6bf;transition:all .35s ease;white-space:nowrap;letter-spacing:.5px}.view-switcher-btn.active{background:linear-gradient(135deg,#e91e63d9,#ff4081d9);color:#fff;box-shadow:0 2px 14px #e91e6373;text-shadow:0 1px 3px rgba(0,0,0,.2)}.view-switcher-btn:hover:not(.active){background:#ffffff1f;color:#ffdce6}.story-timeline-scroll{position:absolute;top:0;left:0;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:200px 40px 120px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,150,180,.3) transparent;z-index:2}.story-timeline-scroll::-webkit-scrollbar{width:6px}.story-timeline-scroll::-webkit-scrollbar-thumb{background:#ff96b44d;border-radius:3px}.story-timeline{position:relative;max-width:800px;margin:0 auto;padding:20px 0}.story-timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#ff96b400,#ff96b480 10%,#ff96b480 90%,#ff96b400);transform:translate(-50%)}.story-timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ffdce6b3;font-family:var(--font-family);font-size:1.3em;text-align:center;padding:40px}.story-timeline-empty-icon{font-size:3em;margin-bottom:16px;animation:loadPulse 2s ease-in-out infinite}.story-timeline-empty-hint{font-size:.7em;color:#ffc8dc80;margin-top:12px}.timeline-node{position:relative;width:45%;margin-bottom:50px;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.timeline-node-visible{opacity:1;transform:translateY(0)}.timeline-node-left{margin-right:auto;margin-left:0;padding-right:40px;text-align:right}.timeline-node-right{margin-left:auto;margin-right:0;padding-left:40px;text-align:left}.timeline-node-highlight .timeline-card{animation:nodeGlow 1s ease 2}@keyframes nodeGlow{0%,to{box-shadow:0 4px 20px #ff649633}50%{box-shadow:0 4px 30px #ff649699,0 0 40px #ff64964d}}.timeline-dot{position:absolute;top:20px;width:36px;height:36px;background:linear-gradient(135deg,#ff4d6d,#ff85a2);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #ff4d6d80;z-index:5}.timeline-node-left .timeline-dot{right:-18px}.timeline-node-right .timeline-dot{left:-18px}.timeline-dot-icon{font-size:16px}.timeline-date{font-family:var(--font-family);font-size:.8em;color:#ffc8dc99;margin-bottom:8px}.timeline-card{background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,200,220,.2);border-radius:16px;padding:18px 20px;transition:all .3s ease;position:relative;overflow:hidden}.timeline-card:hover{background:#ffffff1f;border-color:#ffc8dc66;box-shadow:0 4px 24px #ff649640;transform:translateY(-2px)}.timeline-card-locked{filter:grayscale(.5) blur(1px);cursor:default}.timeline-card-locked:hover{animation:lockedShake .4s ease;filter:grayscale(.5) blur(1px)}@keyframes lockedShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.timeline-card-letter{cursor:pointer;border-color:#ffc8964d}.timeline-card-letter:hover:not(.timeline-card-locked){border-color:#ffc89699;box-shadow:0 4px 24px #ffb4824d}.timeline-lock-badge{position:absolute;top:10px;right:10px;font-size:18px}.timeline-card-title{font-family:var(--font-family);font-size:1.1em;color:#ffe6f0f2;margin:0 0 8px}.timeline-card-media{border-radius:10px;overflow:hidden;margin:10px 0}.timeline-media-el{width:100%;max-height:280px;object-fit:cover;border-radius:10px;display:block}.timeline-card-text{font-family:Georgia,serif;font-size:.95em;color:#ffdce6cc;line-height:1.6;margin:8px 0 0}.timeline-card-text-locked{filter:blur(4px);-webkit-user-select:none;user-select:none}.timeline-letter-prompt{font-family:var(--font-family);font-size:.8em;color:#ffc896b3;margin-top:10px;font-style:italic}.timeline-edit-btn{position:absolute;top:8px;right:8px;background:#ffffff26;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s;z-index:5}.timeline-edit-btn:hover{background:#ffffff4d}.letter-reader-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.letter-reader-modal{width:66%;max-width:700px;max-height:85vh;overflow-y:auto;background:linear-gradient(135deg,#fffaf5,#fff5ee);border-radius:20px;padding:50px 44px 40px;box-shadow:0 12px 60px #a050644d;position:relative;animation:slideUp .4s ease}.letter-reader-seal{text-align:center;font-size:2.5em;margin-bottom:10px}.letter-reader-title{font-family:var(--font-family);font-size:1.8em;color:#8b3a62;text-align:center;margin:0 0 6px}.letter-reader-date{font-family:Georgia,serif;font-size:.9em;color:#b06080;text-align:center;margin-bottom:24px;font-style:italic}.letter-reader-content{font-family:Georgia,serif;font-size:1.05em;color:#4a2040;line-height:1.9;white-space:pre-wrap;text-align:left}.letter-reader-blurred{filter:blur(5px);-webkit-user-select:none;user-select:none;color:#999}.letter-reader-signature{font-family:var(--font-family);font-size:1.1em;color:#d63384;text-align:right;margin-top:30px}.letter-reader-locked{text-align:center}.letter-reader-lock-icon{font-size:3em;margin-bottom:12px;animation:lockPulse 2s ease-in-out infinite}.letter-reader-lock-msg{font-family:var(--font-family);font-size:1.1em;color:#8b3a62;margin-bottom:20px}.add-memory-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.add-memory-modal{width:90%;max-width:520px;max-height:85vh;overflow-y:auto;background:#ffffff1f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,200,220,.25);border-radius:24px;padding:36px 30px 28px;box-shadow:0 12px 48px #0000004d;position:relative;animation:slideUp .35s ease;color:#fff}.add-memory-title{font-family:var(--font-family);font-size:1.6em;color:#ffe6f0f2;text-align:center;margin:0 0 20px}.add-memory-subtitle{font-family:var(--font-family);font-size:1em;color:#ffdce6b3;text-align:center;margin-bottom:16px}.add-memory-categories{display:flex;flex-direction:column;gap:10px}.add-memory-cat-btn{padding:14px 20px;font-family:var(--font-family);font-size:15px;border:1px solid rgba(255,200,220,.2);border-radius:14px;background:#ffffff0f;color:#ffe6f0e6;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:10px}.add-memory-cat-btn:hover{background:#ffffff26;border-color:#ffc8dc66;transform:translate(4px)}.add-memory-cat-icon{font-size:1.4em}.add-memory-form{display:flex;flex-direction:column;gap:16px}.add-memory-back{background:none;border:none;color:#ffc8dcb3;font-family:var(--font-family);font-size:14px;cursor:pointer;align-self:flex-start;padding:4px 0;transition:color .2s}.add-memory-back:hover{color:#ffc8dc}.add-memory-label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-family);font-size:.9em;color:#ffdce6cc}.add-memory-input{padding:10px 14px;border:1px solid rgba(255,200,220,.25);border-radius:10px;background:#ffffff14;color:#fff;font-family:var(--font-family);font-size:15px;outline:none;transition:border-color .2s}.add-memory-input:focus{border-color:#ff96b480}.add-memory-textarea{padding:12px 14px;border:1px solid rgba(255,200,220,.25);border-radius:12px;background:#ffffff14;color:#fff;font-family:Georgia,serif;font-size:15px;line-height:1.6;outline:none;resize:vertical;min-height:80px;transition:border-color .2s}.add-memory-textarea:focus{border-color:#ff96b480}.add-memory-hint{font-size:.8em;color:#ffc8dc80;margin-top:2px}.add-memory-upload{display:flex;flex-direction:column;gap:10px}.add-memory-upload-btn{padding:12px 18px;font-family:var(--font-family);font-size:14px;border:2px dashed rgba(255,200,220,.3);border-radius:12px;background:#ffffff0a;color:#ffdce6cc;cursor:pointer;transition:all .2s;text-align:center}.add-memory-upload-btn:hover{border-color:#ffc8dc80;background:#ffffff14}.add-memory-preview{border-radius:12px;overflow:hidden;max-height:200px}.add-memory-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;border-radius:12px;overflow:hidden;max-height:280px;overflow-y:auto}.add-memory-preview-media{width:100%;max-height:200px;object-fit:cover;border-radius:8px;background:#0000001a}.add-memory-file-info{display:block;text-align:center;font-size:11px;color:#ffb4c8cc;margin-top:6px;font-family:Courier Prime,monospace;letter-spacing:.3px}.add-memory-save-btn{padding:14px 28px;font-family:var(--font-family);font-size:16px;border:none;border-radius:30px;background:linear-gradient(135deg,#ff4d6d,#ff85a2);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #ff4d6d59;align-self:center}.add-memory-save-btn:hover:not(:disabled){transform:scale(1.04);box-shadow:0 6px 24px #ff4d6d80}.add-memory-save-btn:disabled{opacity:.6;cursor:default}.add-memory-saved{text-align:center;padding:40px 0}.add-memory-saved-icon{font-size:3em;margin-bottom:12px;animation:loadPulse 1s ease-in-out infinite}.add-memory-saved p{font-family:var(--font-family);font-size:1.3em;color:#ffe6f0f2}.add-memory-fab{position:absolute;bottom:38px;right:30px;width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff4d6d,#ff85a2);color:#fff;font-size:27px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #ff4d6d80;z-index:100;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.add-memory-fab:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 6px 28px #ff4d6db3}.admin-badge{position:absolute;top:18px;right:18px;background:#ff4d6dcc;color:#fff;font-family:var(--font-family);font-size:12px;padding:6px 14px;border-radius:20px;z-index:100;animation:fadeIn .3s ease}.edit-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.letter-modal .add-memory-input,.letter-modal .add-memory-textarea{background:#fff!important;color:#4a2040!important;border:2px solid #f3c4d8!important}.letter-modal .add-memory-input::placeholder,.letter-modal .add-memory-textarea::placeholder{color:#c89aaa}.letter-modal .add-memory-input:focus,.letter-modal .add-memory-textarea:focus{border-color:#e75480!important;box-shadow:0 0 0 3px #e7548026}.letter-modal .add-memory-label{color:#8b3a62;font-size:.95em;margin-bottom:8px}.letter-modal .letter-title{color:#c2185b}.letter-modal .add-memory-save-btn{margin-top:8px}.letter-modal .edit-actions{margin-top:24px}.letter-modal .edit-delete-btn{background:#dc323214;border-color:#dc32324d}.edit-delete-btn{padding:10px 20px;font-family:var(--font-family);font-size:14px;border:1px solid rgba(220,50,50,.4);border-radius:20px;background:#dc32321a;color:#e74c3c;cursor:pointer;transition:all .2s}.edit-delete-btn:hover{background:#dc323233;border-color:#dc323299}.media-story-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:20px;box-sizing:border-box}.media-story-modal{width:96%;max-width:720px;max-height:92vh;max-height:92dvh;background:linear-gradient(135deg,#280f23f2,#3c1432eb);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,200,220,.2);border-radius:24px;padding:0;box-shadow:0 20px 60px #00000080,0 0 40px #ff508c26,inset 0 1px #ffffff14;display:flex;flex-direction:column;position:relative;animation:slideUp .35s ease;overflow:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.media-story-close{position:absolute;top:12px;right:14px;background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:36px;height:36px;font-size:18px;color:#ffdce6e6;cursor:pointer;transition:all .2s;z-index:10;display:flex;align-items:center;justify-content:center}.media-story-close:hover{background:#e91e6399;transform:scale(1.1)}.media-story-media-wrapper{width:100%;max-height:70vh;min-height:30vh;overflow:hidden;border-radius:24px 24px 0 0;background:#0000004d;display:flex;align-items:center;justify-content:center;flex-shrink:0}.media-story-media{width:100%;max-height:70vh;object-fit:contain;display:block}.media-story-content{padding:24px 28px 28px}.media-story-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:#ffd6e3;margin:0 0 6px;line-height:1.3;text-shadow:0 0 8px rgba(255,100,150,.3)}.media-story-date{font-family:var(--font-family);font-size:13px;color:#ffb4c8b3;margin:0 0 16px;font-style:italic}.media-story-text{font-family:var(--font-family);font-size:15px;color:#ffe6f0e6;line-height:1.7;margin:0 0 20px;white-space:pre-wrap;word-wrap:break-word}.media-story-form{padding:24px 28px 28px}.media-story-form-title{font-family:Playfair Display,serif;font-size:20px;font-weight:600;color:#ffd6e3;margin:0 0 20px;text-align:center;text-shadow:0 0 8px rgba(255,100,150,.3)}.media-story-label{display:flex;flex-direction:column;font-family:var(--font-family);font-size:13px;font-weight:600;color:#ffc8dccc;margin-bottom:16px;gap:6px}.media-story-input{width:100%;padding:12px 16px;font-family:var(--font-family);font-size:15px;border:1px solid rgba(255,200,220,.2);border-radius:14px;background:#ffffff0f;color:#ffe6f0f2;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.media-story-input:focus{border-color:#ff649680;box-shadow:0 0 12px #ff508c33}.media-story-textarea{width:100%;padding:12px 16px;font-family:var(--font-family);font-size:15px;border:1px solid rgba(255,200,220,.2);border-radius:14px;background:#ffffff0f;color:#ffe6f0f2;outline:none;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.media-story-textarea:focus{border-color:#ff649680;box-shadow:0 0 12px #ff508c33}.media-story-actions{display:flex;gap:12px;justify-content:center;margin-top:8px;flex-wrap:wrap}.media-story-btn{padding:12px 24px;font-family:Playfair Display,serif;font-size:15px;font-weight:600;border:none;border-radius:22px;cursor:pointer;transition:all .25s ease;letter-spacing:.3px}.media-story-btn-save{background:linear-gradient(135deg,#e91e63d9,#ff4081d9);color:#fff;box-shadow:0 4px 16px #e91e6359}.media-story-btn-save:hover{transform:scale(1.05);box-shadow:0 6px 24px #e91e6380}.media-story-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.media-story-btn-edit{background:#ffffff1a;color:#ffdce6e6;border:1px solid rgba(255,200,220,.25)}.media-story-btn-edit:hover{background:#ffffff2e;transform:scale(1.05)}.media-story-btn-delete{background:#dc32321f;color:#ff6b6b;border:1px solid rgba(220,50,50,.25)}.media-story-btn-delete:hover{background:#dc323240;transform:scale(1.05)}.media-story-btn-delete:disabled{opacity:.5;cursor:not-allowed}.media-story-btn-cancel{background:#ffffff14;color:#ffdce6b3;border:1px solid rgba(255,200,220,.15)}.media-story-btn-cancel:hover{background:#ffffff26}.media-story-saved{padding:30px 28px;text-align:center}.media-story-saved-icon{font-size:48px;display:block;margin-bottom:10px}.media-story-saved p{font-family:Playfair Display,serif;font-size:20px;color:#ffd6e3;margin:0}@media(max-width:768px){.media-story-modal{width:96%;max-width:100%;max-height:90vh;max-height:90dvh;border-radius:20px}.media-story-media-wrapper,.media-story-media{max-height:40vh}.media-story-content,.media-story-form{padding:20px 20px 24px}.media-story-title{font-size:19px}.media-story-text{font-size:14px}.media-story-input,.media-story-textarea{font-size:16px}.media-story-btn{padding:10px 20px;font-size:14px}}.showcase-caption{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;background:linear-gradient(transparent,#000000b3);border-radius:0 0 12px 12px;display:flex;align-items:flex-end;justify-content:space-between;opacity:0;transition:opacity .3s ease;pointer-events:none}.showcase-box:hover .showcase-caption{opacity:1;pointer-events:auto}.showcase-caption-text{font-family:var(--font-family);font-size:12px;color:#ffffffe6;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.showcase-caption-link{cursor:pointer;font-size:16px;margin-left:8px;transition:transform .2s;flex-shrink:0}.showcase-caption-link:hover{transform:scale(1.3)}@media(max-width:768px){.cinema-page-content{padding:24px 16px;padding-top:calc(24px + var(--sai-top));padding-bottom:calc(24px + var(--sai-bottom))}.cinema-gif{max-width:220px}.cinema-text{font-size:calc(10px + 2.5vmin)}.cinema-text-question{font-size:calc(12px + 2.5vmin)}.cinema-enter-btn{padding:18px 40px;font-size:20px;min-height:48px}.cinema-heading{font-size:calc(16px + 3vmin)}.cinema-body{font-size:calc(9px + 1.5vmin)}.cinema-intro,.cinema-page{height:100vh;height:100dvh;height:-webkit-fill-available}.cinema-grain{opacity:.015;animation:none}.cinema-particle{will-change:auto}.story-timeline{padding-left:6px;overflow-x:hidden;box-sizing:border-box;width:100%}.story-timeline-line{left:16px;transform:none}.story-timeline-scroll{padding:120px 6px 100px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overflow-x:hidden}.timeline-node{width:auto;margin-left:36px!important;margin-right:0!important;padding-left:14px!important;padding-right:0!important;text-align:left!important;margin-bottom:16px;box-sizing:border-box}.timeline-dot{left:-28px!important;right:auto!important;width:24px;height:24px}.timeline-dot .timeline-dot-icon{font-size:11px}.timeline-card{width:100%!important;max-width:none!important;box-sizing:border-box;min-width:0;overflow:hidden}.timeline-media-el{object-fit:contain!important;max-height:260px;background:#00000026}.timeline-date{font-size:.72em}.timeline-card-title{font-size:1em}.timeline-card-text{font-size:.9em}.timeline-card-compact{padding:0!important;cursor:pointer;overflow:hidden;transition:all .35s cubic-bezier(.25,1,.5,1)}.timeline-compact-tray{display:flex;align-items:stretch;gap:0;width:100%;min-height:72px;min-width:0;overflow:hidden}.timeline-compact-tray:before{content:"";flex-shrink:0;width:3px;border-radius:3px 0 0 3px;background:linear-gradient(180deg,#ff6b8a,#ff85a2)}.timeline-compact-tray--letter:before{background:linear-gradient(180deg,#ffc078,#ffab6b)}.timeline-compact-tray--note:before{background:linear-gradient(180deg,#a78bfa,#c4b5fd)}.timeline-compact-tray--event:before{background:linear-gradient(180deg,#60a5fa,#93c5fd)}.timeline-compact-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:10px 10px 10px 12px;justify-content:center}.timeline-compact-header{display:flex;align-items:center;gap:6px;margin-bottom:1px}.timeline-compact-icon{font-size:11px;line-height:1}.timeline-compact-date{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.65em;color:#ffc8dc73;letter-spacing:.3px}.timeline-date-hidden{display:none}.timeline-compact-text .timeline-card-title{font-size:.88em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.timeline-card-snippet{font-family:Georgia,serif;font-size:.78em;color:#ffdce68c;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timeline-tap-hint,.timeline-compact-text .timeline-letter-prompt{font-size:.68em;color:#ffc8dc59;margin-top:1px}.timeline-compact-media{display:flex;gap:2px;flex-shrink:0;align-items:stretch;align-self:stretch;max-width:40%}.timeline-compact-thumb{width:52px;height:100%;min-height:68px;object-fit:cover;background:#0003;display:block}.timeline-compact-media:not(.timeline-compact-media--duo) .timeline-compact-thumb{border-radius:0 16px 16px 0}.timeline-compact-media--duo .timeline-compact-thumb:last-of-type{border-radius:0 16px 16px 0}.timeline-compact-more{width:28px;min-height:68px;display:flex;align-items:center;justify-content:center;font-size:.68em;font-weight:600;color:#ffc8dcb3;background:#ffffff0f;border-radius:0 16px 16px 0}.timeline-compact-placeholder{width:44px;min-height:68px;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:0 16px 16px 0;background:linear-gradient(135deg,#ff6b8a26,#ff85a214);opacity:.7}.timeline-compact-placeholder--letter{background:linear-gradient(135deg,#ffc07826,#ffab6b14)}.timeline-compact-placeholder--note{background:linear-gradient(135deg,#a78bfa26,#c4b5fd14)}.timeline-compact-placeholder--event{background:linear-gradient(135deg,#60a5fa26,#93c5fd14)}.timeline-collapse-btn{display:block;width:100%;margin-top:10px;padding:6px;background:#ffffff0f;border:1px solid rgba(255,200,220,.15);border-radius:8px;color:#ffc8dc80;font-size:.72em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:background .2s}.timeline-collapse-btn:active{background:#ffffff1f}.timeline-card-media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.timeline-card-media-grid img,.timeline-card-media-grid video{width:100%;height:auto;border-radius:10px;object-fit:cover;max-height:200px}.add-memory-modal{width:95%;padding:24px 14px 20px;max-height:80dvh;max-height:80vh;-webkit-overflow-scrolling:touch}.letter-reader-modal{width:92%;padding:28px 18px 22px;max-height:80dvh;max-height:80vh;-webkit-overflow-scrolling:touch}.admin-badge{top:auto;bottom:80px;right:16px;font-size:10px}.starfield-canvas{opacity:.7}.memory-lane{position:fixed;top:0;left:0;right:0;bottom:0;height:100dvh;height:-webkit-fill-available}.letter-overlay,.letter-reader-overlay,.add-memory-overlay{height:100vh;height:100dvh;height:-webkit-fill-available}}@media only screen and (max-device-width:480px)and (-webkit-min-device-pixel-ratio:2){.love-counter-overlay{padding-top:calc(10px + env(safe-area-inset-top,0px))}.mobile-bottom-nav{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));height:calc(52px + env(safe-area-inset-bottom,0px))}.timeline-media-el{max-height:60vh!important;object-fit:contain!important}.timeline-card-media{max-height:none;overflow:visible}}.love-counter-num{font-variant-numeric:tabular-nums lining-nums}@keyframes pulseGlow{0%,to{box-shadow:0 0 18px var(--glow-color, rgba(255,150,180,.25)),0 4px 16px #0000001a}50%{box-shadow:0 0 28px var(--glow-color, rgba(255,150,180,.45)),0 4px 20px #00000026}}.memory-lane:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");opacity:.018;pointer-events:none;z-index:0;mix-blend-mode:overlay}.showcase-box{border-radius:16px}.showcase-media{border-radius:14px}.timeline-card{border-radius:16px}.letter-reader-modal,.add-memory-modal{border-radius:20px}.view-switcher{border-radius:32px}.timeline-card{background:#1e0a198c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,200,220,.18)}.timeline-card:hover{background:#280f23a6;border-color:#ffc8dc59}.timeline-date{display:inline-block;background:#ff64961f;padding:3px 10px;border-radius:12px;color:#ffc8dcbf}.letter-reader-content{color:#2c1810}.letter-reader-title{color:#4a1e2e}.letter-reader-date{color:#6b3a4a}.letter-reader-signature{color:#8b2252}.letter-reader-lock-msg{color:#4a1e2e}.story-timeline-scroll~.starfield-canvas{filter:blur(3px);transition:filter .5s ease}.memory-lane--timeline .postbox-wrapper,.memory-lane--timeline .love-counter-growing{display:none}.timeline-card:hover{transform:translateY(-3px) scale(1.015)}@media(max-width:768px){.timeline-node{transform:translate(-20px) translateY(20px);opacity:0;transition:opacity .5s ease,transform .5s cubic-bezier(.25,1,.5,1)}.timeline-node-visible{opacity:1;transform:translate(0) translateY(0)}.timeline-card:active{transform:scale(.98);transition:transform .1s ease}}.notebook-container{background:#fdfdfd;color:#1a1a1a;height:100vh;height:100dvh;width:100%;max-width:860px;margin:0 auto;padding:16px 20px 0;padding-top:calc(16px + env(safe-area-inset-top,0px));font-family:Georgia,Times New Roman,serif;text-align:left;box-sizing:border-box;display:flex;flex-direction:column}.notebook-header{border-bottom:2px solid #e8e8e8;margin-bottom:8px;padding-bottom:6px;flex-shrink:0}.notebook-composer{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:16px;margin-bottom:12px;position:relative;flex-shrink:0}.notebook-composer textarea{width:100%;border:none;font-family:Georgia,serif;font-size:1.15rem;resize:none;min-height:200px;outline:none;line-height:1.8;color:#1a1a1a;box-sizing:border-box;overflow-y:hidden}.notebook-controls{display:flex;justify-content:space-between;align-items:center;margin-top:10px;border-top:1px solid #eee;padding-top:10px;flex-shrink:0}.pdf-extract-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:.8rem;cursor:pointer;transition:opacity .2s,transform .1s;white-space:nowrap}.pdf-extract-btn:hover{opacity:.9;transform:translateY(-1px)}.pdf-extract-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.notebook-feed{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto;min-height:0;padding-bottom:24px}.mobile-scroll-area{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}.mobile-scroll-area .notebook-feed{overflow-y:visible;flex:none}.desktop-scroll-area{flex:1;overflow-y:auto;min-height:0}.desktop-scroll-area .notebook-feed{overflow-y:visible;flex:none}@media(max-width:768px){.notebook-container{padding:12px 16px 0;padding-top:calc(12px + env(safe-area-inset-top,0px))}.notebook-header h1{font-size:1.7rem}.notebook-composer textarea{font-size:16px;min-height:120px}.entry-content p{font-size:1.05rem;line-height:1.75}}.notebook-composer--daily textarea{min-height:260px}.journal-discovery{margin-bottom:12px;border-top:1px solid #eee;padding-top:12px;flex-shrink:0}@media(max-width:768px){.notebook-composer--daily textarea{min-height:160px}.journal-tag-cloud{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.journal-search{font-size:1rem}.bujo-bullet,.bujo-task,.bujo-task-done,.bujo-task-migrated,.bujo-insight,.bujo-plain{font-size:1rem;line-height:1.65}.daily-spark{margin-top:40px;padding:20px 12px}}.identity-anchor{text-transform:uppercase;letter-spacing:2px;font-size:.75rem;color:#999;text-align:center;margin-top:0;margin-bottom:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border-bottom:1px solid #f0f0f0;padding-bottom:8px;flex-shrink:0}.help-toggle-btn{color:#888;font-family:Georgia,serif;font-style:italic}.principles-toggle-btn{color:#8b5cf6;font-family:Georgia,serif;font-weight:700}.principles-toggle-btn:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6;transform:scale(1.1)}.help-modal{position:fixed;bottom:116px;right:max(16px,2vw);background:#fffffff7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #e5e5e5;box-shadow:0 8px 30px #00000014;border-radius:12px;padding:20px 24px;width:min(580px,90vw);max-height:calc(100vh - 140px);overflow-y:auto;z-index:1000;animation:helpFadeIn .2s ease-out}.help-header{margin:0 0 14px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c1810}.help-grid-container{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help-section{margin-bottom:14px}.help-section h4{margin:0 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.8px;color:#888;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-list{list-style:none;padding:0;margin:0}.help-list li{font-size:.82rem;line-height:1.7;color:#555;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-list code{background:#f5f5f5;padding:1px 5px;border-radius:3px;font-size:.78rem;color:#2c1810;font-weight:600}@media(max-width:768px){.help-modal{right:12px;left:12px;width:auto;bottom:64px;max-height:70vh}.help-grid-container{grid-template-columns:1fr;gap:12px}}.deadline-banner{text-align:center;padding:8px 16px;background:#2c18100d;border:1px solid rgba(44,24,16,.12);border-radius:8px;font-size:.85rem;color:#4a2c2a;font-family:Georgia,serif;margin-bottom:10px;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.mode-toggle-row{display:inline-flex;gap:4px;align-items:center}.mode-btn{background:none;border:1px solid transparent;font-size:.78rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;padding:3px 10px;border-radius:6px;color:#888;transition:all .2s;white-space:nowrap}.mode-btn:hover{background:#2c18100f;color:#555}.mode-btn-active{background:#2c1810;color:#fff;border-color:#2c1810}.mode-btn-active:hover{background:#1a0f0a;color:#fff}.notebook-container.zen-mode-on{max-width:900px!important;padding:24px 20px 0;background:#fdfcf9;transition:all .4s ease;display:flex!important;flex-direction:column;height:100vh;height:100dvh}.zen-main{max-width:100%;margin:0 auto;width:100%;display:flex;flex-direction:column;flex:1;min-height:0}.zen-main .mode-toggle-row{margin-bottom:12px;flex-shrink:0}.zen-active{border:none;background:transparent;padding:16px 0 0;max-width:100%;margin:0 auto;box-shadow:none;flex:1;display:flex;flex-direction:column;min-height:0}.zen-active textarea{font-size:1.25rem;line-height:2;flex:1;min-height:0!important;letter-spacing:.3px;color:#2c1810;overflow-y:auto!important;resize:none}.notebook-container.zen-mode-on .notebook-composer{border-color:transparent;box-shadow:none;flex:1;min-height:0}.notebook-container.research-mode-on{display:grid!important;max-width:100%!important;height:100vh;height:100dvh;overflow:hidden;padding:0!important;transition:all .3s ease}.research-split{grid-template-columns:60fr 40fr;gap:0}.research-left{padding:24px 28px 0 24px;border-right:1px solid #eaeaea;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.research-left .mode-toggle-row{margin-bottom:12px;flex-shrink:0}.research-left .notebook-composer{flex:1;display:flex;flex-direction:column;border:none;background:transparent;padding:16px 0 0;box-shadow:none;margin-bottom:0;min-height:0;overflow:visible}.research-left .notebook-composer textarea{flex:1;font-size:1.2rem;line-height:1.95;min-height:0;color:#2c1810;overflow-y:auto!important;resize:none}.research-left .notebook-composer:focus-within{box-shadow:none}.research-right{padding:24px 24px 0 28px;overflow-y:auto;height:100vh;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column}.research-right .notebook-header{margin-bottom:14px;padding-bottom:8px;border-bottom-width:1px;flex-shrink:0}.research-right .notebook-header h1{font-size:1.4rem;color:#666}.research-right .notebook-entry{padding:18px 0}.research-right .entry-content p{font-size:1rem;line-height:1.7}.research-right .notebook-feed{flex:1;overflow-y:auto;min-height:0}@media(max-width:768px){.notebook-composer{padding:16px 16px 12px;margin-bottom:12px;position:relative;flex-shrink:0;max-height:40vh;overflow:visible;display:flex;flex-direction:column}.notebook-composer textarea{min-height:120px;padding-bottom:44px;overflow-y:auto;flex:1}.mobile-layout .inline-save-btn{position:absolute;bottom:56px;right:16px;z-index:10;width:40px;height:40px;box-shadow:0 3px 12px #2c181059}.notebook-controls{flex-wrap:wrap;gap:8px}.composer-hint{display:none}.notebook-header-row{flex-wrap:wrap;gap:6px}.journal-view-toggle{justify-content:space-around}.journal-view-toggle button{font-size:.9rem}.deadline-banner{font-size:.78rem;padding:6px 12px}.deadline-edit-row{flex-direction:column;gap:6px}.zen-toggle-btn,.mode-toggle-row{display:none}}@media(min-width:769px){.desktop-layout .identity-anchor{margin-bottom:10px;padding-bottom:8px;font-size:.7rem}.desktop-layout .notebook-header{margin-bottom:14px;padding-bottom:8px;border-bottom-width:1px}.desktop-layout .notebook-header h1{font-size:1.8rem}.desktop-layout .deadline-banner{margin-bottom:10px;padding:6px 14px;font-size:.82rem}.desktop-layout .sticky-mit-banner{margin-bottom:6px}.desktop-layout .notebook-composer{padding:16px 20px;margin-bottom:12px;border-radius:8px;border-color:#d8d8d8;box-shadow:0 1px 4px #0000000a;transition:box-shadow .3s,border-color .3s;flex-shrink:0;max-height:55vh;display:flex;flex-direction:column;overflow:visible}.desktop-layout .notebook-composer:focus-within{border-color:#c0b8ae;box-shadow:0 2px 12px #2c181014}.desktop-layout .notebook-composer textarea{font-size:1.2rem;line-height:1.9;min-height:200px;max-height:100%;overflow-y:auto;resize:none;flex:1}.desktop-layout .notebook-composer--daily textarea{min-height:280px}.desktop-layout .journal-discovery{margin-bottom:12px;padding-top:12px;flex-shrink:0}.desktop-layout .journal-view-toggle{margin-bottom:10px;padding-bottom:8px}.desktop-layout .journal-search{font-size:1rem}.desktop-layout .journal-tag-cloud{margin-top:10px}.desktop-layout .notebook-entry{padding:24px 0}.desktop-layout .daily-spark{margin-top:40px;padding:20px}}@media(min-width:769px){.notebook-container.desktop-layout{max-width:100%!important;width:100%;height:100vh;height:100dvh;padding:16px 28px 0;display:flex;flex-direction:column}.desktop-layout .desktop-main{max-width:960px;margin:0 auto;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible}.desktop-layout.ivory-right-only{max-width:100%!important;display:grid!important;grid-template-columns:minmax(auto,900px) minmax(280px,1fr);flex-direction:unset}.desktop-layout.ivory-right-only .desktop-main{overflow-y:auto}.ivory-sidebar-right{width:100%;max-width:100%;overflow-y:auto;height:100vh;height:100dvh;box-sizing:border-box}}.action-drawer-btn{position:relative}.action-badge{position:absolute;top:-4px;right:-6px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 3px}.sticky-mit-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fdf6e3,#fef9ef);border:1px solid #f0d87030;border-radius:8px;padding:8px 14px;margin:0 0 8px;font-size:13px;flex-wrap:wrap;flex-shrink:0}.mit-banner-label{font-weight:700;color:#b8860b;white-space:nowrap;font-size:12px;letter-spacing:.3px}.mit-banner-items{display:flex;gap:8px;flex-wrap:wrap}.mit-banner-item{background:#fff;border:1px solid #f0d87050;border-radius:6px;padding:3px 10px;font-size:12.5px;color:#4a3c1a;display:inline-flex;align-items:center;gap:6px}.mit-remove-btn{background:none;border:none;cursor:pointer;font-size:14px;color:#c0a050;padding:0;line-height:1;opacity:.5;transition:opacity .15s}.mit-remove-btn:hover{opacity:1;color:#e74c3c}.action-drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000059;z-index:2000;display:flex;justify-content:flex-end;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.zen-action-drawer{width:380px;max-width:90vw;height:100%;background:#fafaf8;box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;animation:slideInDrawer .25s ease-out;overflow:hidden}@keyframes slideInDrawer{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;gap:10px;padding:18px 20px 14px;border-bottom:1px solid #eee;background:#fff}.drawer-header h3{margin:0;font-size:16px;font-weight:700;color:#333}.drawer-count{font-size:12px;color:#999;margin-left:auto;margin-right:8px}.drawer-empty{text-align:center;color:#aaa;padding:40px 20px;font-size:14px}.drawer-task-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1}.drawer-task-item{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid #f0f0f0;transition:background .12s}.drawer-task-item:hover{background:#f5f5f0}.drawer-task-urgent{border-left:3px solid #e74c3c;padding-left:17px}.drawer-task-text{flex:1;font-size:13.5px;color:#333;line-height:1.4}.drawer-task-date{font-size:11px;color:#bbb;white-space:nowrap}.drawer-task-check{background:none;border:1.5px solid #ccc;border-radius:4px;width:26px;height:26px;cursor:pointer;font-size:13px;color:#999;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.drawer-task-check:hover{background:#27ae60;color:#fff;border-color:#27ae60}.mit-star{background:none;border:none;cursor:pointer;font-size:18px;padding:0;line-height:1;flex-shrink:0;opacity:.4;transition:opacity .15s,transform .15s}.mit-star:hover{opacity:1;transform:scale(1.15)}.mit-star-active{opacity:1}.mit-star:disabled{opacity:.15;cursor:default}.drawer-mit-section{border-top:1px solid #eee;padding:14px 20px;background:#fdf6e3}.drawer-mit-section h4{margin:0 0 8px;font-size:13px;font-weight:700;color:#b8860b}.drawer-mit-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;font-size:13px;color:#4a3c1a}.notebook-container,.notebook-container.desktop-layout,.notebook-container.zen-mode-on,.notebook-container.research-mode-on{box-sizing:border-box}.help-toggle-btn,.principles-toggle-btn,.quick-dump-fab{position:fixed;right:20px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #ddd;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 12px #00000014;z-index:1000;transition:all .2s}.help-toggle-btn{bottom:20px}.principles-toggle-btn{bottom:68px}.quick-dump-fab{bottom:116px}.quick-dump-fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #0000001f}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:auto}.export-modal,.analytics-modal,.principles-modal,.audit-modal{max-height:90vh;max-width:95vw;overflow-y:auto}.four-s-bar{display:flex;gap:6px;padding:6px 10px;background:#f8f7f4;border-bottom:1px solid #e8e4dc;flex-wrap:wrap;align-items:center;flex-shrink:0}.four-s-item{position:relative;display:inline-flex;gap:2px}.four-s-btn{background:none;border:1px solid #d1cdc5;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;transition:all .15s ease;color:#6b6455}.four-s-btn:hover{background:#ece9e1}.four-s-btn.active{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.four-s-dropdown{position:absolute;top:100%;left:0;z-index:50;background:#fff;border:1px solid #d1cdc5;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;min-width:50px;margin-top:4px}.four-s-option{display:block;width:100%;padding:6px 14px;border:none;background:none;cursor:pointer;font-size:14px;text-align:center;transition:background .1s}.four-s-option:hover{background:#f0ece4}.four-s-option.selected{background:#ede9fe;font-weight:600}.four-s-clear{background:none;border:none;color:#999;cursor:pointer;font-size:11px;padding:3px 6px;margin-left:4px;opacity:.7;transition:opacity .15s}.four-s-clear:hover{opacity:1;color:#ef4444}.principles-modal{max-width:640px;width:90vw}.principles-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e4dc}.principles-modal-header h3{margin:0;font-size:1.15rem;color:#2d2a24}.principles-textarea{width:100%;min-height:360px;padding:16px 20px;border:none;outline:none;font-family:Georgia,serif;font-size:.95rem;line-height:1.7;resize:vertical;color:#2d2a24;background:#fdfcfa;box-sizing:border-box}.principles-textarea::placeholder{color:#b0a898}.principles-modal-footer{padding:12px 20px;border-top:1px solid #e8e4dc;display:flex;justify-content:flex-end}.principles-modal-footer .export-go.saving{background:#10b981;pointer-events:none}.analytics-modal{max-width:900px;width:95vw;max-height:85vh;overflow-y:auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e4dc;flex-wrap:wrap;gap:8px}.analytics-title-group{display:flex;align-items:center;gap:10px}.analytics-title-group h3{margin:0;font-size:1.15rem;color:#2d2a24}.streak-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.analytics-controls{display:flex;align-items:center;gap:8px}.timeframe-select{padding:4px 10px;border-radius:8px;border:1px solid #d1cdc5;font-size:13px;background:#fff;color:#2d2a24;cursor:pointer}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}.analytics-widget{background:#fdfcfa;border:1px solid #e8e4dc;border-radius:12px;padding:16px}.analytics-widget.full-width{grid-column:1 / -1}.analytics-widget h4{margin:0 0 12px;font-size:.85rem;color:#6b6455;text-transform:uppercase;letter-spacing:.5px}.chart-container{height:280px;width:100%}.pie-container{display:flex;align-items:center;gap:20px}.pie-legend{display:flex;flex-direction:column;gap:6px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#4b5563}.legend-color{width:12px;height:12px;border-radius:3px;display:inline-block;flex-shrink:0}@media(max-width:800px){.analytics-grid{grid-template-columns:1fr}.analytics-modal{max-height:90vh;width:95vw}}.reviewer-card{position:fixed;bottom:24px;right:24px;width:380px;max-height:400px;background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000026;z-index:1100;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e4dc;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.reviewer-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8e4dc;background:#f8f7f4}.reviewer-card-header h4{margin:0;font-size:.95rem;color:#2d2a24}.reviewer-card-body{padding:14px 16px;overflow-y:auto;flex:1;font-size:.9rem;line-height:1.65;color:#3b3a36}.reviewer-card-body p{margin:0 0 6px}.reviewer-card-footer{padding:10px 16px;border-top:1px solid #e8e4dc;font-size:11px;color:#9b9488;text-align:center;background:#f8f7f4}.nexus-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:#fff;box-shadow:-6px 0 24px #0000001f;z-index:1200;display:flex;flex-direction:column;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.nexus-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e4dc;background:#f8f7f4}.nexus-header h3{margin:0;font-size:1.1rem;color:#2d2a24}.nexus-body{flex:1;overflow-y:auto;padding:20px}.nexus-spinner{text-align:center;padding:40px 0;color:#8b5cf6;font-style:italic}.nexus-section{margin-bottom:24px}.nexus-section h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#6b6455;margin:0 0 8px}.nexus-section p{font-size:.92rem;line-height:1.65;color:#3b3a36;margin:0}.link-tags{display:flex;flex-wrap:wrap;gap:6px}.suggested-link{display:inline-block;background:#ede9fe;color:#7c3aed;padding:4px 10px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.suggested-link:hover{background:#ddd6fe}.audit-modal{max-width:640px;width:90vw}.audit-results{padding:20px;min-height:120px;max-height:50vh;overflow-y:auto;color:#3b3a36}.ai-scalpel-toolbar button{font-size:14px}.ai-scalpel-toolbar button:disabled{opacity:.4;cursor:not-allowed}.ai-spinner{font-size:13px;color:#8b5cf6;font-style:italic;padding:4px 0}.audit-btn{background:none;border:1px solid #d1cdc5;border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;color:#6b6455;transition:all .15s}.audit-btn:hover{background:#ece9e1}.slice-btn{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;opacity:.6;transition:opacity .15s}.slice-btn:hover{opacity:1}.nexus-trigger-btn{background:none;border:1px solid #ddd6fe;border-radius:6px;padding:2px 8px;font-size:12px;cursor:pointer;color:#7c3aed;transition:all .15s;margin-left:auto}.nexus-trigger-btn:hover{background:#ede9fe}.drawer-section{margin-top:12px;padding-top:10px;border-top:1px solid #e8e4dc}.drawer-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#9b9488;margin:0 0 6px;font-weight:600}.drawer-task-deferred{opacity:.5;font-style:italic}.error-text{color:#ef4444;font-size:.9rem}@media(max-width:700px){.analytics-grid{grid-template-columns:1fr}.analytics-modal{width:98vw;max-height:90vh}.nexus-panel{width:100vw}.reviewer-card{width:calc(100vw - 32px);right:16px;bottom:16px}.pie-container{flex-direction:column}}.composer-top-bar{display:flex;justify-content:space-between;align-items:center;background:#f8f7f4;border-bottom:1px solid #e8e4dc;padding:4px 10px;flex-wrap:wrap;gap:8px}.composer-top-bar .four-s-bar{border-bottom:none;padding:0;background:transparent}.format-toolbar{display:flex;align-items:center;gap:4px}.format-toolbar button{background:transparent;border:1px solid transparent;color:#555;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:Georgia,serif;font-size:14px;transition:background .15s,color .15s}.format-toolbar button:hover{background:#ebe6df;color:#2c1810}.toolbar-divider{width:1px;height:16px;background:#d1cdc5;margin:0 4px}.notebook-container{background:#fdfdfd;color:#1a1a1a;min-height:100vh;min-height:100dvh;width:100%;max-width:720px;margin:0 auto;padding:60px 32px;padding-top:calc(60px + env(safe-area-inset-top,0px));padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));font-family:Georgia,Times New Roman,serif;text-align:left;box-sizing:border-box}.notebook-header{border-bottom:2px solid #e8e8e8;margin-bottom:40px;padding-bottom:12px}.notebook-header h1{font-family:Playfair Display,Georgia,serif;font-size:2.2rem;font-weight:700;margin:0;color:#222;letter-spacing:.5px}.notebook-header p{margin:6px 0 0;font-size:.95rem;color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:2px}.notebook-composer{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:24px;margin-bottom:56px;position:relative}.notebook-composer textarea{width:100%;border:none;font-family:Georgia,serif;font-size:1.15rem;resize:none;min-height:140px;outline:none;line-height:1.8;color:#1a1a1a;box-sizing:border-box}.notebook-composer textarea::placeholder{color:#bbb}.notebook-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid #eee;padding-top:14px}.attach-btn{cursor:pointer;font-size:.9rem;color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:color .2s;padding:6px 0}.attach-btn:hover{color:#333}.notebook-save-btn{background:#222;color:#fff;border:none;padding:10px 24px;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.5px;transition:background .2s,transform .15s}.notebook-save-btn:hover{background:#444;transform:translateY(-1px)}.notebook-save-btn:disabled{background:#ccc;color:#888;cursor:not-allowed;transform:none}.notebook-feed{display:flex;flex-direction:column;gap:0;padding-bottom:60px}.notebook-empty{text-align:center;color:#bbb;font-size:1.1rem;margin-top:40px;font-style:italic}.notebook-entry{padding:32px 0;border-bottom:1px solid #eee}.notebook-entry:first-child{padding-top:0}.notebook-entry time{display:block;font-size:.78rem;color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.entry-content p{font-size:1.15rem;line-height:1.85;color:#2a2a2a;margin:0;white-space:pre-wrap}.notebook-entry img{max-width:100%;border-radius:4px;margin-top:18px}@media(max-width:768px){.notebook-container{padding:24px 16px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.notebook-header h1{font-size:1.7rem}.notebook-composer textarea{font-size:16px;min-height:120px}.entry-content p{font-size:1.05rem;line-height:1.75}}.notebook-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.save-indicator{font-size:.75rem;color:#aaa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.5px;white-space:nowrap;transition:opacity .3s}.notebook-composer--daily textarea{min-height:200px}.composer-hint{font-size:.75rem;color:#bbb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.5px}.habit-tracker{display:flex;justify-content:center;gap:8px;margin-bottom:32px}.habit-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid #d0d0d0;background:transparent;transition:background .3s,border-color .3s}.habit-dot--filled{background:#2c1810;border-color:#2c1810}.habit-dot--today{border-color:#888;box-shadow:0 0 0 2px #2c181026}.habit-dot--today.habit-dot--filled{box-shadow:0 0 0 2px #2c18104d}.bujo-parsed{display:flex;flex-direction:column;gap:4px}.bujo-bullet,.bujo-task,.bujo-task-done,.bujo-task-migrated,.bujo-insight,.bujo-plain{font-size:1.1rem;line-height:1.75;color:#2a2a2a;margin:0}.bujo-symbol{display:inline-block;width:22px;font-size:1rem;text-align:center;margin-right:6px;flex-shrink:0;color:#666}.bujo-bullet{display:flex;align-items:baseline;padding-left:8px}.bujo-task{display:flex;align-items:flex-start;gap:8px;color:#444;padding-left:8px;margin-bottom:4px}.bujo-task-done{display:flex;align-items:flex-start;gap:8px;text-decoration:line-through;opacity:.55;color:#888;padding-left:8px;margin-bottom:4px}.bujo-task-migrated{display:flex;align-items:flex-start;gap:8px;color:#999;font-style:italic;text-decoration:line-through;padding-left:8px;margin-bottom:4px}.bujo-insight{display:flex;align-items:flex-start;gap:8px;border-left:3px solid #ffd700;padding:8px 12px;font-weight:600;background:#ffd70026;border-radius:0 4px 4px 0;margin:10px 0;color:#2c1810}.bujo-exclaim{flex-shrink:0;font-size:1rem}.bujo-box.clickable{cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.bujo-box.clickable:hover{color:#4a2c2a}.bujo-task.completed{color:#aaa}.bujo-image{max-width:100%;border-radius:4px;margin:12px 0}.bujo-file-link{display:inline-block;color:#0056b3;text-decoration:none;font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f5f5;padding:6px 14px;border-radius:6px;margin:6px 0;transition:background .15s}.bujo-file-link:hover{background:#eaeaea;text-decoration:underline}.bujo-spacer{height:8px}.bujo-tag{color:#0056b3;font-weight:600;cursor:pointer;border-radius:3px;transition:background .15s}.bujo-tag:hover{background:#0056b314}.bujo-wikilink{color:#4a2c2a;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}.clickable-wikilink{color:#4a2c2a;text-decoration:underline dotted;cursor:pointer;transition:background-color .2s;border-radius:3px;padding:0 2px}.clickable-wikilink:hover{background-color:#4a2c2a1a}.clickable-wikilink:focus-visible{outline:2px solid #4a2c2a;outline-offset:1px}.journal-discovery{margin-bottom:40px;border-top:1px solid #eee;padding-top:24px}.journal-search{width:100%;background:transparent;border:none;border-bottom:1px solid #d0d0d0;font-family:Georgia,serif;font-size:1.1rem;padding:8px 0;color:#1a1a1a;outline:none;box-sizing:border-box;transition:border-color .2s}.journal-search:focus{border-bottom-color:#888}.journal-search::placeholder{color:#bbb;font-style:italic}.journal-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tag-pill{display:inline-block;background:#f0f0f0;color:#555;border:none;border-radius:14px;padding:5px 14px;font-size:.8rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;cursor:pointer;letter-spacing:.3px;transition:background .2s,color .2s;white-space:nowrap}.tag-pill:hover{background:#e0e0e0}.tag-pill--active{background:#2c1810;color:#fff}.tag-pill--active:hover{background:#3d2820}.journal-history{border-top:2px solid #eaeaea;padding-top:32px}.daily-spark{margin-top:60px;padding:24px;border-top:1px solid #eee;text-align:center}.daily-spark .spark-label{display:block;font-size:.72rem;color:#bbb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.daily-spark p{font-family:Georgia,serif;font-size:1.15rem;line-height:1.7;color:#777;font-style:italic;margin:0}.daily-spark .spark-date{display:block;font-size:.72rem;color:#ccc;margin-top:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(max-width:768px){.habit-tracker{gap:6px;margin-bottom:24px}.habit-dot{width:12px;height:12px}.notebook-composer--daily textarea{min-height:160px}.journal-tag-cloud{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.journal-search{font-size:1rem}.bujo-bullet,.bujo-task,.bujo-task-done,.bujo-task-migrated,.bujo-insight,.bujo-plain{font-size:1rem;line-height:1.65}.daily-spark{margin-top:40px;padding:20px 12px}}.identity-anchor{text-transform:uppercase;letter-spacing:2px;font-size:.75rem;color:#999;text-align:center;margin-top:0;margin-bottom:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border-bottom:1px solid #f0f0f0;padding-bottom:12px}.help-toggle-btn{position:fixed;bottom:24px;right:24px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #ddd;color:#888;font-family:Georgia,serif;font-size:1.1rem;font-style:italic;cursor:pointer;box-shadow:0 4px 12px #0000000d;transition:all .2s ease;z-index:1000}.help-toggle-btn:hover{background:#2c1810;color:#fff;border-color:#2c1810;transform:scale(1.1)}.help-modal{position:fixed;bottom:70px;right:24px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #eaeaea;box-shadow:0 10px 40px #0000001a;border-radius:12px;padding:24px;width:340px;max-height:calc(100vh - 120px);overflow-y:auto;z-index:1000;text-align:left;animation:helpFadeIn .2s ease-out}@keyframes helpFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.help-close-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#999;transition:color .2s}.help-close-btn:hover{color:#333}.help-content h3{margin:15px 0 5px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c1810;border-bottom:1px solid #eee;padding-bottom:3px}.help-content h3:first-of-type{margin-top:0}.help-content ul{list-style-type:none;padding-left:0;margin-top:0;margin-bottom:8px}.help-content li{margin-bottom:8px;font-size:.85rem;line-height:1.4;color:#555;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-content li strong{color:#2c1810;font-family:SFMono-Regular,Consolas,monospace;background:#f5f5f5;padding:2px 5px;border-radius:3px;font-size:.82rem}.help-content li em{color:#888;font-size:.8rem}.help-content small{color:#999;font-weight:400;font-size:.75rem}.help-grid{display:flex;gap:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-grid h4{margin:0 0 12px;font-size:.85rem;color:#888;text-transform:uppercase;letter-spacing:1px}.help-grid p{margin:6px 0;font-size:.85rem;color:#444;display:flex;align-items:center;gap:8px}.help-grid code{background:#f5f5f5;padding:3px 6px;border-radius:4px;color:#2c1810;font-weight:700;font-size:.8rem;min-width:30px;text-align:center}@media(max-width:768px){.help-modal{right:12px;left:12px;width:auto;bottom:64px;max-height:70vh}.help-grid{flex-direction:column;gap:16px}}.journal-view-toggle{display:flex;gap:10px;margin-bottom:16px;border-bottom:1px solid #eee;padding-bottom:12px}.journal-view-toggle button{background:none;border:none;font-family:Georgia,serif;font-size:1rem;color:#888;cursor:pointer;padding:0 0 4px;transition:color .2s}.journal-view-toggle button.active{color:#1a1a1a;font-weight:700;border-bottom:2px solid #2c1810}.ghost-mention{border-bottom:1px dashed #ccc;cursor:help;transition:border-color .2s}.ghost-mention:hover{border-bottom-color:#888}.search-highlight{background-color:#ffd70066;color:inherit;padding:0 2px;border-radius:2px}.suggestion-dropdown{position:fixed;background:#fffffff7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:50;max-height:200px;overflow-y:auto;min-width:200px}.suggestion-item{padding:8px 14px;cursor:pointer;font-size:.9rem;font-family:Georgia,serif;color:#4a2c2a;transition:background .15s}.suggestion-item:hover{background:#4a2c2a14}.suggestion-item:first-child{border-radius:8px 8px 0 0}.suggestion-item:last-child{border-radius:0 0 8px 8px}.richness-meter{display:flex;gap:15px;margin-top:15px;padding-top:15px;border-top:1px dashed #ddd}.battery-unit{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#666;font-family:Playfair Display,Georgia,serif}.battery-label{font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.battery-bar-bg{width:100%;height:6px;background:#eee;border-radius:3px;overflow:hidden}.battery-fill{height:100%;background:#2c1810;border-radius:3px;transition:width .5s ease}.battery-value{font-size:.7rem;color:#999;text-align:center}.deadline-banner{text-align:center;padding:8px 16px;background:#2c18100d;border:1px solid rgba(44,24,16,.12);border-radius:8px;font-size:.85rem;color:#4a2c2a;font-family:Georgia,serif;margin-bottom:16px;cursor:pointer;position:relative;transition:background .2s}.deadline-banner:hover{background:#2c181017}.deadline-edit-icon{margin-left:8px;opacity:0;transition:opacity .2s;font-size:.8rem}.deadline-banner:hover .deadline-edit-icon{opacity:1}.deadline-banner.deadline-editing{cursor:default;padding:12px 16px}.deadline-banner.deadline-add{opacity:.5;font-style:italic;border-style:dashed}.deadline-banner.deadline-add:hover{opacity:.8}.deadline-edit-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;justify-content:center}.deadline-input-name{flex:1;min-width:140px;padding:6px 10px;border:1px solid rgba(44,24,16,.2);border-radius:6px;background:#fff;font-family:Georgia,serif;font-size:.85rem;color:#4a2c2a}.deadline-input-date{padding:6px 10px;border:1px solid rgba(44,24,16,.2);border-radius:6px;background:#fff;font-family:Georgia,serif;font-size:.85rem;color:#4a2c2a}.deadline-edit-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.deadline-btn{padding:4px 14px;border:none;border-radius:6px;font-size:.8rem;font-family:Georgia,serif;cursor:pointer;transition:background .2s,transform .1s}.deadline-btn:active{transform:scale(.96)}.deadline-btn.save{background:#4a7c59;color:#fff}.deadline-btn.save:hover{background:#3a6a49}.deadline-btn.cancel{background:#2c18101a;color:#4a2c2a}.deadline-btn.cancel:hover{background:#2c18102e}.deadline-btn.remove{background:#b428281a;color:#b42828}.deadline-btn.remove:hover{background:#b4282833}.streak-badge{display:inline-flex;align-items:center;gap:5px;background:#ff4d6d1a;color:#ff4d6d;padding:4px 10px;border-radius:20px;font-weight:700;font-size:.85rem;margin-left:auto;white-space:nowrap}.backlinks-panel{background:#f9f9f9;border-left:4px solid #2c1810;padding:15px;margin-bottom:20px;border-radius:0 8px 8px 0}.backlinks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.backlinks-header h4{margin:0;font-size:1rem;color:#2c1810;font-family:Georgia,serif}.backlinks-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:#999;transition:color .2s}.backlinks-close:hover{color:#333}.backlinks-empty{font-size:.85rem;color:#999;font-style:italic}.backlink-snippet{font-size:.85rem;color:#555;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #ddd}.backlink-snippet:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.backlink-snippet time{display:block;font-size:.75rem;color:#999;margin-bottom:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.backlink-snippet p{margin:0;line-height:1.5;word-break:break-word}.log-block{padding:15px 20px;border-radius:0 8px 8px 0;margin:15px 0;border-left:4px solid}.log-self{background-color:#2e7d320d;border-left-color:#2e7d32}.log-self .bujo-heading{color:#2e7d32;margin-top:0}.log-success{background-color:#1565c00d;border-left-color:#1565c0}.log-success .bujo-heading{color:#1565c0;margin-top:0}.log-social{background-color:#e651000d;border-left-color:#e65100}.log-social .bujo-heading{color:#e65100;margin-top:0}.log-service{background-color:#6a1b9a0d;border-left-color:#6a1b9a}.log-service .bujo-heading{color:#6a1b9a;margin-top:0}.journal-4s-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.s4-filter-btn{padding:5px 12px;border-radius:20px;font-size:.8rem;font-family:Georgia,serif;cursor:pointer;transition:all .2s;border:1px solid;background:transparent}.s4-filter-btn:active{transform:scale(.95)}.s4-filter-self{border-color:#2e7d32;color:#2e7d32}.s4-filter-self.active,.s4-filter-self:hover{background:#2e7d321f}.s4-filter-success{border-color:#1565c0;color:#1565c0}.s4-filter-success.active,.s4-filter-success:hover{background:#1565c01f}.s4-filter-social{border-color:#e65100;color:#e65100}.s4-filter-social.active,.s4-filter-social:hover{background:#e651001f}.s4-filter-service{border-color:#6a1b9a;color:#6a1b9a}.s4-filter-service.active,.s4-filter-service:hover{background:#6a1b9a1f}.bujo-heading{font-size:1rem;font-family:Georgia,serif;margin:12px 0 6px;color:#2c1810}.review-heatmap{display:flex;gap:4px;align-items:flex-end;margin:20px 0;padding:15px;background:#fdfdfd;border:1px solid #eee;border-radius:8px;overflow-x:auto}.heatmap-column{display:flex;flex-direction:column;gap:2px;width:12px;flex-shrink:0}.heat-block{width:100%;height:12px;border-radius:2px}.heat-self{background-color:#2e7d32}.heat-success{background-color:#1565c0}.heat-social{background-color:#e65100}.heat-service{background-color:#6a1b9a}.export-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .2s;margin-left:8px}.export-btn:hover{background:#2c181014}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.export-modal{background:#fff;padding:28px;border-radius:14px;max-width:420px;width:100%;box-shadow:0 12px 40px #00000040;font-family:Georgia,serif;color:#2c1810;max-height:90vh;overflow-y:auto}.export-modal h3{margin:0 0 20px;font-size:1.15rem;border-bottom:2px solid #eee;padding-bottom:12px}.export-group{margin-bottom:18px}.export-label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px;color:#4a2c2a}.export-dates{display:flex;align-items:center;gap:10px}.export-dates input[type=date]{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-family:Georgia,serif;font-size:.85rem;color:#2c1810}.export-dates span{color:#999;font-size:.85rem}.export-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-cat-label{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;padding:6px 10px;border-radius:8px;transition:background .2s}.export-cat-label:hover{background:#00000008}.export-cat-label input[type=checkbox]{accent-color:#2c1810;width:16px;height:16px}.export-cat-self{color:#2e7d32}.export-cat-success{color:#1565c0}.export-cat-social{color:#e65100}.export-cat-service{color:#6a1b9a}.export-query{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-family:Georgia,serif;font-size:.85rem;color:#2c1810;box-sizing:border-box}.export-query::placeholder{color:#bbb}.export-format-btns{display:flex;gap:6px;flex-wrap:wrap}.export-format-btn{flex:1;padding:8px 6px;border:1px solid #ddd;border-radius:8px;background:#fff;font-family:Georgia,serif;font-size:.8rem;cursor:pointer;transition:all .2s;color:#2c1810;text-align:center;min-width:0}.export-format-btn.active{background:#2c1810;color:#fff;border-color:#2c1810}.export-format-btn:hover:not(.active){background:#2c18100f}.export-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.export-go{background:#2c1810;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-family:Georgia,serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s}.export-go:hover{background:#1a0f0a}.export-go:active{transform:scale(.97)}.export-cancel{background:#f3f3f3;color:#555;border:none;padding:10px 20px;border-radius:8px;font-family:Georgia,serif;font-size:.9rem;cursor:pointer;transition:background .2s}.export-cancel:hover{background:#e5e5e5}.export-preview-count{font-size:.82rem;color:#888;margin-right:auto;align-self:center;font-style:italic}@media(max-width:480px){.export-modal{padding:20px}.export-checkboxes{grid-template-columns:1fr}.export-format-btns{flex-direction:column}}.notebook-composer{position:relative}.inline-save-btn{width:36px;height:36px;border-radius:50%;background:#2c1810;color:#fff;border:none;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #2c18104d;transition:transform .15s,background .2s,box-shadow .2s;flex-shrink:0;margin-left:auto}.inline-save-btn:hover{background:#1a0f0a;transform:scale(1.08);box-shadow:0 4px 14px #2c181066}.inline-save-btn:active{transform:scale(.9);background:#1a0f0a}.zen-toggle-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .2s;margin-left:4px}.zen-toggle-btn:hover{background:#2c181014}.notebook-container.zen-mode-on{max-width:680px!important;padding:60px 40px;background:#faf8f5;transition:all .4s ease;display:block!important}.notebook-container.zen-mode-on .notebook-header{border-bottom:none;margin-bottom:16px;opacity:.35;transition:opacity .3s}.notebook-container.zen-mode-on .notebook-header:hover{opacity:1}.notebook-container.zen-mode-on .habit-tracker,.notebook-container.zen-mode-on .identity-anchor,.notebook-container.zen-mode-on .deadline-banner{display:none}.zen-active{border:none;background:transparent;padding:40px 24px;max-width:680px;margin:0 auto}.zen-active textarea{font-size:1.3rem;line-height:2.1;min-height:70vh!important;letter-spacing:.3px;color:#2c1810}.notebook-container.zen-mode-on .notebook-composer{border-color:transparent;box-shadow:none}.bujo-task-priority{border-left:3px solid #e53935;padding-left:12px;background:#e539350a;border-radius:0 4px 4px 0}.task-progress{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed #eee}.task-progress-bar{flex:1;height:5px;background:#eee;border-radius:3px;overflow:hidden}.task-progress-fill{height:100%;background:linear-gradient(90deg,#4a7c59,#2e7d32);border-radius:3px;transition:width .5s ease}.task-progress-label{font-size:.72rem;color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.notebook-composer.drag-over{border-color:#4a7c59;background:#4a7c5908}@media(max-width:768px){.notebook-composer{padding:16px 16px 12px;margin-bottom:32px;position:relative}.notebook-composer textarea{min-height:120px;padding-bottom:44px}.mobile-layout .inline-save-btn{position:absolute;bottom:56px;right:16px;z-index:10;width:40px;height:40px;box-shadow:0 3px 12px #2c181059}.notebook-controls{flex-wrap:wrap;gap:8px}.composer-hint{display:none}.notebook-header-row{flex-wrap:wrap;gap:6px}.journal-4s-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:4px}.s4-filter-btn{font-size:.72rem;padding:4px 10px;white-space:nowrap;flex-shrink:0}.journal-view-toggle{justify-content:space-around}.journal-view-toggle button{font-size:.9rem}.deadline-banner{font-size:.78rem;padding:6px 12px}.deadline-edit-row{flex-direction:column;gap:6px}.zen-toggle-btn{display:none}}.foldable-section{margin:0}.foldable-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.foldable-header:hover{opacity:.7}.fold-arrow{font-size:.7rem;color:#999;transition:transform .2s;flex-shrink:0;line-height:1}.fold-arrow.collapsed{transform:rotate(-90deg)}.foldable-body{animation:foldOpen .15s ease-out}@keyframes foldOpen{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.foldable-header .bujo-heading{margin:0}.bujo-indent{border-left:1px solid #e8e8e8;padding-left:4px}.entry-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.entry-header-row time{margin-bottom:0}.pin-btn{background:none;border:none;font-size:.85rem;cursor:pointer;opacity:.25;transition:opacity .2s,transform .15s;padding:2px 4px}.pin-btn:hover{opacity:.6;transform:scale(1.15)}.pin-btn.pinned{opacity:1;transform:rotate(-15deg)}.entry-pinned{background:#ffd7000a;border-left:3px solid rgba(255,215,0,.5);padding-left:16px;border-radius:0 4px 4px 0}.outline-panel{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:12px 16px;margin-bottom:20px}.outline-header{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;color:#2c1810;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.outline-list{list-style:none;padding:0;margin:0}.outline-item{font-size:.88rem;color:#555;font-family:Georgia,serif;padding:5px 8px;cursor:pointer;border-radius:4px;transition:background .15s,color .15s}.outline-item:hover{background:#2c18100f;color:#2c1810}.word-count{font-size:.72rem;color:#bbb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.3px;white-space:nowrap}.entry-actions{display:flex;align-items:center;gap:2px}.entry-action-btn{background:none;border:none;font-size:.78rem;cursor:pointer;padding:4px 6px;border-radius:6px;opacity:.35;transition:opacity .2s,background .15s,transform .1s;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.entry-action-btn:hover{opacity:1;background:#2c18100f}.entry-action-btn:active{opacity:1;transform:scale(.92)}.entry-delete-btn:hover{background:#dc282814}.delete-confirm-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:4px 0 8px;background:#dc28280f;border:1px solid rgba(220,40,40,.15);border-radius:10px;animation:slideDown .2s ease-out}.delete-confirm-msg{flex:1;font-size:.82rem;color:#8b4040;font-weight:500}.delete-confirm-yes{background:#c62828;color:#fff;border:none;padding:6px 16px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.delete-confirm-yes:hover{background:#b71c1c}.delete-confirm-yes:active{transform:scale(.95)}.delete-confirm-no{background:transparent;color:#8b7355;border:1px solid rgba(139,115,85,.25);padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s}.delete-confirm-no:hover{background:#f0f0f0}.floating-highlight-toolbar{position:absolute;z-index:60;display:flex;gap:2px;background:#2c1810;border-radius:8px;padding:4px 6px;box-shadow:0 4px 16px #00000040;animation:highlightFadeIn .15s ease}@keyframes highlightFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.floating-highlight-toolbar button{background:transparent;border:none;color:#fff;font-size:.78rem;padding:4px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .15s}.floating-highlight-toolbar button:hover{background:#ffffff26}.command-menu-dropdown{position:absolute;z-index:100;bottom:100%;left:12px;right:12px;max-height:280px;overflow-y:auto;background:#fffffff7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #e0dcd6;border-radius:10px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;padding:6px 0;animation:cmdMenuIn .12s ease}@keyframes cmdMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.command-menu-header{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#999;padding:8px 14px 4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.command-item{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;transition:background .1s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.command-item:hover{background:#f5f0eb}.command-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0}.command-label{font-size:.85rem;color:#333}.command-menu-empty{text-align:center;padding:16px;color:#aaa;font-size:.82rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(min-width:769px){.notebook-container.desktop-layout{max-width:100%!important;width:100%;padding-left:48px;padding-right:48px}.desktop-layout .desktop-main{max-width:850px;margin:0 auto}.desktop-layout.ivory-left-only{max-width:100%!important;grid-template-columns:220px minmax(0,1fr)}.desktop-layout.ivory-right-only{max-width:100%!important;grid-template-columns:minmax(auto,850px) minmax(300px,1fr)}.desktop-layout.ivory-three-col{max-width:100%!important;grid-template-columns:220px minmax(0,1fr) 300px}.ivory-sidebar-right{width:100%;max-width:100%}}.academic-quote{border-left:4px solid #b0bec5;background:#b0bec514;padding:12px 16px;margin:12px 0;color:#455a64;font-family:Georgia,serif;font-style:italic;border-radius:0 6px 6px 0;line-height:1.7}.citation-link{color:#5d4037!important;background:#5d40370f;border-bottom:1px dashed #8d6e63}.citation-link:hover{background:#5d40371f}.bujo-zotero-link{color:#c62828;text-decoration:none;font-size:.9em;padding:1px 4px;border-radius:3px;background:#c628280f}.bujo-zotero-link:hover{background:#c628281f;text-decoration:underline}.notebook-header h1{color:#1b5e20}
