.engrave-box{opacity:0;width:100%;max-width:380px;margin:.6rem auto 0;padding:0 1rem;animation:.6s .3s forwards engraveIn}.engrave-box.inline{opacity:1;max-width:100%;margin:0 auto 1rem;animation:none}@keyframes engraveIn{to{opacity:1}}.engrave-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.3rem;padding-bottom:.3rem;transition:border-color .3s;display:flex}.engrave-input-row:focus-within{border-bottom-color:var(--text-muted)}.engrave-input{color:var(--text-dim);letter-spacing:.03em;background:0 0;border:none;outline:none;flex:1;padding:.3rem 0;font-family:inherit;font-size:.76rem;font-weight:300}.engrave-input::placeholder{color:var(--text-muted);opacity:.35;font-style:italic}.engrave-attach,.engrave-send{color:var(--text-muted);opacity:.3;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .2s,color .2s;display:flex}.engrave-attach:hover,.engrave-send:hover{opacity:.7}.engrave-attach.active{opacity:.8;color:var(--text-dim)}.engrave-send.ready{opacity:.6}.engrave-send.ready:hover{opacity:1}.engrave-attach:disabled,.engrave-send:disabled{opacity:.15;cursor:default}.engrave-file-name{color:var(--text-muted);letter-spacing:.02em;margin-top:.25rem;padding:0;font-size:.6rem}.engrave-file-remove{cursor:pointer;opacity:.4;margin-left:.3rem}.engrave-file-remove:hover{opacity:.8}.engrave-done,.engrave-error{letter-spacing:.05em;margin-top:.2rem;font-size:.6rem;animation:3s forwards fadeInOut}.engrave-done{color:var(--text-muted)}.engrave-error{color:#855}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.spin{transform-origin:50%;animation:.8s linear infinite spin}@media (width<=768px){.engrave-box{max-width:100%}}:root,[data-theme=dark]{--ramp-0:#0a0a0a;--ramp-1:#111;--ramp-2:#141414;--ramp-3:#1a1a1a;--ramp-4:#222;--ramp-5:#2a2a2a;--ramp-6:#333;--ramp-7:#555;--ramp-8:#777;--ramp-9:#888;--ramp-10:#aaa;--ramp-11:#ccc;--ramp-12:#e8e8e8;--ramp-13:#f0f0f0;--ramp-14:#f5f5f5;--ramp-15:#fff;--bg:var(--ramp-0);--surface:var(--ramp-2);--surface-above:var(--ramp-3);--surface2:var(--ramp-3);--border:var(--ramp-4);--border-light:var(--ramp-5);--text:var(--ramp-12);--text-dim:var(--ramp-9);--text-muted:var(--ramp-7);--accent:var(--ramp-15);--accent-dim:var(--ramp-11);--hover-glow:#ffffff0f;--tag-bg:var(--ramp-3);--tag-text:var(--ramp-10);--card-him-bg:var(--surface);--card-hover-bg:var(--ramp-3)}[data-theme=light]{--ramp-0:#fff;--ramp-1:#f5f5f5;--ramp-2:#eee;--ramp-3:#e5e5e5;--ramp-4:#ddd;--ramp-5:#ccc;--ramp-6:#bbb;--ramp-7:#999;--ramp-8:#777;--ramp-9:#666;--ramp-10:#555;--ramp-11:#333;--ramp-12:#1a1a1a;--ramp-13:#111;--ramp-14:#0a0a0a;--ramp-15:#000;--bg:var(--ramp-0);--surface:var(--ramp-2);--surface-above:var(--ramp-3);--surface2:var(--ramp-3);--border:var(--ramp-4);--border-light:var(--ramp-5);--text:var(--ramp-12);--text-dim:var(--ramp-9);--text-muted:var(--ramp-7);--accent:var(--ramp-15);--accent-dim:var(--ramp-11);--hover-glow:#0000000f;--tag-bg:var(--ramp-3);--tag-text:var(--ramp-10);--card-him-bg:var(--surface);--card-hover-bg:var(--ramp-3)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}.hero-wrapper{min-height:100vh;position:relative}.hero{z-index:2;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.scroll-hint{width:100%;color:var(--text-muted);letter-spacing:.3em;opacity:0;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;animation:.8s 3s forwards fadeUp;display:flex;position:absolute;bottom:2rem;left:0;right:0}.scroll-arrow{opacity:.5;animation:2s infinite arrowBounce}@keyframes arrowBounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.8;transform:translateY(6px)}}.grain{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;width:100%;height:100%;position:fixed;top:0;left:0}.nav{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);opacity:0;background:#0a0a0ad9;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;transition:opacity .4s,transform .4s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.nav.visible{opacity:1;transform:translateY(0)}.nav-brand{cursor:pointer;align-items:center;gap:.4rem;display:flex}.nav-infinity{filter:drop-shadow(0 0 6px #ffffff1f);flex-shrink:0;width:32px;height:auto}.nav-logo{letter-spacing:.1em;text-transform:lowercase;font-size:.85rem;font-weight:300}.nav-links{gap:1.5rem;list-style:none;display:flex}.nav-link{color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:.3rem;padding-bottom:2px;font-size:.7rem;text-decoration:none;transition:color .2s;display:flex}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);border-bottom-color:var(--accent-dim)}.nav-link-icon{opacity:.6;align-items:center;display:flex}.nav-link.active .nav-link-icon{opacity:1}.nav-link-label{white-space:nowrap}.nav-link-count{color:var(--text-muted);vertical-align:super;margin-left:.1rem;font-size:.55rem}.main{width:100%;max-width:1100px;margin:0 auto;padding:6rem 2rem 4rem}.section{margin-bottom:4rem}.section-header{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.section-icon{color:var(--text-muted);align-items:center;display:flex}.section-title{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:.75rem;font-weight:500}.section-count{color:var(--text-muted);letter-spacing:.15em;margin-left:auto;font-size:.65rem}.section-chevron{color:var(--text-muted);font-size:.6rem;transition:transform .3s;display:inline-block}.section-chevron.open{transform:rotate(90deg)}.section-filter-badge{color:var(--text-muted);background:var(--tag-bg);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:.1rem .4rem;font-size:.6rem}.section-sort{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;outline:none;padding:.15rem .4rem;font-family:inherit;font-size:.6rem}.section-sort:focus{border-color:var(--border-light)}.page-cards{flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.card{background:var(--card-him-bg);border:1px solid var(--border);cursor:default;border-radius:6px;flex-direction:column;width:100%;min-width:0;padding:1.4rem;transition:border-color .3s,background .4s,color .4s;display:flex;position:relative;overflow:hidden}.card:has(.media-ref-preview){overflow:visible}.card.him{color:#e0e0e0;background:#1a1a1a;border-color:#333}.card.him .card-body{color:#ccc}.card.him .card-date{color:#888}.card.him .tag{color:#bbb;background:#2a2a2a;border-color:#444}.card.him:hover{background:#222;border-color:#555}.card.her{color:#1a1a1a;background:#eaeaea;border-color:#ccc}.card.her .card-body{color:#2a2a2a}.card.her .card-date{color:#666}.card.her .tag{color:#444;background:#d5d5d5;border-color:#ccc}.card.her:hover{background:#dcdcdc;border-color:#bbb}:is(.card:has(.card-image),.card:has(.card-video)){width:100%;max-height:none;padding:.6rem;display:block;overflow:hidden}:is(.card:has(.card-image) .card-date,.card:has(.card-video) .card-date){margin-bottom:.3rem;display:block}:is(.card:has(.card-image) .card-body,.card:has(.card-video) .card-body){color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:none;margin:0 0 .5rem;padding:0;font-size:.72rem;line-height:1.3;display:block;overflow:visible}:is(.card:has(.card-image) .card-image,.card:has(.card-video) .card-video){object-fit:contain;border-radius:4px;width:100%;height:auto;max-height:60vh;display:block}:is(.card:has(.card-image) .card-tags,.card:has(.card-video) .card-tags){margin-top:.5rem;margin-bottom:.5rem;display:flex}.card:has(.card-image) .card-image{border:1px solid var(--border)}.card:has(.card-video) .card-video{border:1px solid var(--border);background:#000}.card:hover{border-color:var(--border-light);background:var(--card-hover-bg)}.card-date{color:var(--text-muted);letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:.65rem}.card-body{color:var(--text);margin-top:.8rem;font-size:.92rem;line-height:1.65}.card-link{color:var(--accent-dim);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);transition:color .2s}.card-link:hover{color:var(--text);-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.card-body.quote{color:var(--accent-dim);border-left:1px solid var(--text-muted);padding-left:1rem;font-style:italic}.card-body.quote .quote-author{color:var(--text-muted);letter-spacing:.05em;margin-top:.5rem;font-size:.7rem;font-style:normal;display:block}.card-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{background:var(--tag-bg);color:var(--tag-text);letter-spacing:.05em;border:1px solid var(--border);border-radius:3px;padding:.2rem .6rem;font-size:.65rem}.card-body{color:var(--text-dim);overflow-wrap:break-word;word-break:break-word;flex:1;font-size:.76rem;line-height:1.45;overflow-y:auto}.card.idea .idea-marker{letter-spacing:.2em;color:var(--accent);opacity:.5;font-size:.6rem;position:absolute;top:1rem;right:1.2rem}.card.thought .card-body{color:var(--text-dim);font-weight:300}.empty-state{text-align:center;color:var(--text-muted);letter-spacing:.1em;padding:3rem 1rem;font-size:.8rem}.empty-state .empty-icon{opacity:.3;margin-bottom:1rem;font-size:2rem}.footer{text-align:center;color:var(--text-muted);letter-spacing:.2em;border-top:1px solid var(--border);max-width:1100px;margin:0 auto;padding:3rem 2rem;font-size:.65rem}.moon-container{z-index:3;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;transition:opacity .5s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.moon-wrap{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 25px #ffffff1f)drop-shadow(0 0 60px #ffffff0f);justify-content:center;align-items:center;width:180px;height:180px;transition:filter .3s;display:flex;position:relative}.moon-wrap>*{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.moon-container:hover .moon-wrap{filter:drop-shadow(0 0 35px #fff3)drop-shadow(0 0 80px #ffffff1a)}.moon-svg-inner{pointer-events:none;width:100%;height:100%}.moon-layer{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.moon-infinity-svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.moon-brand-text{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.moon-brand-links{letter-spacing:8px;color:#e8e8e8;text-shadow:0 0 6px #000c;text-transform:lowercase;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:19px;font-weight:200;line-height:1}.moon-info{text-align:center;opacity:.85;margin-top:.8rem;transition:opacity .3s}.moon-container:hover .moon-info{opacity:1}.moon-phase-name{letter-spacing:.18em;color:var(--text-dim);text-transform:uppercase;font-size:.7rem}.moon-illum{color:var(--text-muted);letter-spacing:.1em;margin-top:.15rem;font-size:.6rem}.moon-container.shrunk{z-index:auto;cursor:pointer;align-self:center;align-items:center;gap:.5rem;margin-left:1rem;display:flex;position:relative;top:auto;left:auto;transform:none}.moon-container.shrunk .moon-wrap{filter:drop-shadow(0 0 8px #ffffff26);width:36px;height:36px}.moon-container.shrunk .moon-info{text-align:left;margin-top:0}.moon-container.shrunk .moon-phase-name{letter-spacing:.12em;font-size:.6rem}.moon-container.shrunk .moon-illum,.moon-container.shrunk .moon-infinity-svg,.moon-container.shrunk .moon-brand-text{display:none}@media (width<=768px){.hero{width:100%;padding:1.5rem}.nav{padding:0 1rem}.nav-links{gap:1rem}.nav-links a{font-size:.65rem}.nav-infinity{width:24px}.nav-logo{font-size:.75rem}.main{padding:4rem 1rem 2rem}.page-cards{gap:.8rem}.card{padding:1rem}.card-body{font-size:.72rem}.moon-wrap{width:120px;height:120px}.moon-container.shrunk .moon-wrap{width:30px;height:30px}.moon-container.shrunk{gap:.3rem;margin-left:.5rem}.moon-container.shrunk .moon-phase-name{font-size:.55rem}.moon-container.shrunk .moon-info{display:none}}@media (width<=480px){.hero{width:100%;padding:1rem}.nav-brand{gap:.3rem}.nav-infinity{width:20px}.nav-links{gap:.6rem}.nav-links a{letter-spacing:.1em;font-size:.6rem}.section-header{flex-direction:column;align-items:flex-start;gap:.3rem}}.access-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;animation:.25s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.access-modal{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;width:90%;max-width:380px;padding:2.5rem 2rem;animation:.3s ease-out modalSlideUp;position:relative}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.access-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s;position:absolute;top:.75rem;right:1rem}.access-modal-close:hover{color:var(--text)}.access-modal-icon{opacity:.7;width:60px;height:60px;margin:0 auto .5rem}.access-modal-icon svg{width:100%;height:100%}.access-modal-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.access-modal-subtitle{color:var(--text-dim);margin-bottom:1.5rem;font-size:.75rem}.access-modal-input{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);letter-spacing:.15em;text-align:center;border-radius:8px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.access-modal-input:focus{border-color:var(--border-light)}.access-modal-input.error{border-color:#f44}.access-modal-input::placeholder{color:var(--text-muted);letter-spacing:.1em}.access-modal-error{color:#f55;margin-top:.5rem;font-size:.72rem;animation:.4s ease-out errorShake}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.access-modal-submit{background:var(--accent);width:100%;color:var(--bg);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.7rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:opacity .2s}.access-modal-submit:disabled{opacity:.4;cursor:not-allowed}.access-modal-submit:not(:disabled):hover{opacity:.85}.access-modal-hint{color:var(--text-muted);letter-spacing:.08em;margin-top:1rem;font-size:.65rem}.access-modal-lockout{color:#f88;letter-spacing:.05em;text-align:center;padding:1rem 0;font-size:.8rem;animation:2s ease-in-out infinite lockoutPulse}@keyframes lockoutPulse{0%,to{opacity:.6}50%{opacity:1}}.card-media-refs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.media-ref-wrap{display:inline-block;position:relative}.media-ref-btn{background:var(--surface2);border:1px solid var(--border-light);color:var(--text-dim);cursor:pointer;border-radius:4px;align-items:center;padding:4px 6px;line-height:1;transition:border-color .2s,color .2s;display:flex}.media-ref-btn:hover{border-color:var(--text-muted);color:var(--accent-dim)}.media-ref-preview{background:var(--surface);border:1px solid var(--border-light);z-index:20;border-radius:6px;min-width:240px;max-width:90vw;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 8px 32px #0009}.media-ref-preview img{object-fit:contain;width:100%;height:auto;max-height:70vh;display:block}.media-ref-loading{color:var(--text-muted);text-align:center;padding:2rem 1.5rem;font-size:.7rem}.tag{cursor:pointer}.tag:hover{border-color:var(--text-muted)}body{transition:background-color .4s,color .4s}[data-theme=light] .nav{background:#ffffffd9}[data-theme=light] .grain{opacity:.015}[data-theme=light] .moon-brand-links{color:var(--text);text-shadow:none}[data-theme=light] .moon-container.shrunk .moon-wrap{filter:drop-shadow(0 0 8px #0000001a)}[data-theme=light] .nav-infinity{filter:drop-shadow(0 0 6px #00000014)}[data-theme=light] .media-ref-preview{box-shadow:0 8px 32px #00000026}[data-theme=light] .moon-wrap{filter:drop-shadow(0 0 25px #00000014)drop-shadow(0 0 60px #0000000a)}[data-theme=light] .moon-container:hover .moon-wrap{filter:drop-shadow(0 0 35px #0000001f)drop-shadow(0 0 80px #0000000f)}.search-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#000000b3;justify-content:center;padding-top:15vh;display:flex;position:fixed;inset:0}.search-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:90%;max-width:500px;max-height:60vh;display:flex;overflow:hidden}.search-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.8rem 1rem;display:flex}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem;font-weight:300}.search-input::placeholder{color:var(--text-muted)}.search-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.4rem;line-height:1}.search-results{padding:.5rem 0;overflow-y:auto}.search-result{cursor:pointer;gap:.8rem;padding:.6rem 1rem;transition:background .15s;display:flex}.search-result:hover{background:var(--surface-above)}.search-result-cat{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;min-width:60px;font-size:.6rem}.search-result-text{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.search-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.8rem}.scroll-top-btn{z-index:50;background:var(--surface);border:1px solid var(--border-light);width:32px;height:32px;color:var(--text-dim);cursor:pointer;opacity:.6;border-radius:6px;justify-content:center;align-items:center;transition:opacity .3s,border-color .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.scroll-top-btn:hover{opacity:1;border-color:var(--text-muted)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes syncSlide{0%{width:0;margin-left:0}50%{width:30%;margin-left:35%}to{width:0;margin-left:100%}}[data-density=compact] .cards-grid{gap:.6rem;height:35vh}[data-density=compact] .card{min-width:160px;max-width:280px}[data-density=compact] .card-body{font-size:.68rem}[data-density=compact] .card-date{font-size:.55rem}[data-density=compact] .card-tags{margin-top:.5rem}[data-density=compact] .tag{padding:.12rem .4rem;font-size:.55rem}[data-density=compact] .section{margin-bottom:2.5rem}:is([data-density=compact] .card:has(.card-image),[data-density=compact] .card:has(.card-video)){max-height:35vh}:is([data-density=compact] .card:has(.card-image) .card-image,[data-density=compact] .card:has(.card-video) .card-video){max-height:calc(35vh - 5rem)}@media (width<=768px){[data-density=compact] .cards-grid{height:30vh}[data-density=compact] .card{min-width:140px;max-width:220px}:is([data-density=compact] .card:has(.card-image),[data-density=compact] .card:has(.card-video)){max-height:30vh}:is([data-density=compact] .card:has(.card-image) .card-image,[data-density=compact] .card:has(.card-video) .card-video){max-height:calc(30vh - 5rem)}}.card-body-fade{position:relative}.card-body-fade:after{content:"";background:linear-gradient(to bottom, transparent, var(--card-him-bg));pointer-events:none;height:2rem;position:absolute;bottom:0;left:0;right:0}.card.him .card-body-fade:after{background:linear-gradient(#0000,#1a1a1a)}.card.her .card-body-fade:after{background:linear-gradient(#0000,#eaeaea)}.lightbox-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:300;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{z-index:10;color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:1rem;right:1.5rem}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex}.lightbox-image{object-fit:contain;border-radius:4px;max-width:90vw;max-height:70vh}.lightbox-loading{background:var(--surface);width:200px;height:150px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.lightbox-info{text-align:center;margin-top:1rem}.lightbox-caption{color:var(--text-dim);margin-bottom:.4rem;font-size:.85rem}.lightbox-tags{justify-content:center;gap:.5rem;margin-bottom:.3rem;display:flex}.lightbox-tag{background:var(--tag-bg);color:var(--tag-text);border:1px solid var(--border);border-radius:3px;padding:.15rem .5rem;font-size:.6rem}.lightbox-date{color:var(--text-muted);letter-spacing:.1em;font-size:.65rem}.lightbox-nav{color:var(--text-dim);cursor:pointer;opacity:.5;background:0 0;border:none;padding:1rem;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{opacity:1}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-counter{color:var(--text-muted);font-size:.65rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.image-skeleton{background:linear-gradient(90deg, var(--ramp-2) 25%, var(--ramp-3) 50%, var(--ramp-2) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite shimmer}.sync-indicator{z-index:1000;height:1px;position:fixed;top:0;left:0;right:0}.sync-bar{background:var(--text-muted);height:100%;animation:1.5s ease-in-out infinite syncSlide}.sync-dot{background:var(--text-muted);opacity:.5;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;right:12px}.chat-fab{background:var(--ramp-1);border:1px solid var(--ramp-4);cursor:pointer;z-index:400;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s,border-color .3s,box-shadow .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.chat-fab:hover{background:var(--ramp-2);border-color:var(--ramp-5);transform:scale(1.08);box-shadow:0 0 20px #ffffff0a}.chat-fab.active{background:var(--ramp-3);border-color:var(--ramp-6);transform:scale(.95)}.chat-fab-svg{pointer-events:none;width:32px;height:32px}.chat-window{background:var(--ramp-0);border:1px solid var(--ramp-4);z-index:399;border-radius:12px;flex-direction:column;width:360px;max-width:calc(100vw - 2rem);height:480px;max-height:calc(100vh - 7rem);animation:.25s cubic-bezier(.16,1,.3,1) chatSlideIn;display:flex;position:fixed;bottom:5rem;right:2rem;overflow:hidden;box-shadow:0 8px 40px #00000080}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-header{border-bottom:1px solid var(--ramp-3);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.chat-header-title{color:var(--text-dim);letter-spacing:.05em;font-size:.85rem;font-weight:500}.chat-header-right{align-items:center;gap:.5rem;display:flex}.chat-toggle{border:1px solid var(--ramp-4);background:var(--ramp-1);cursor:pointer;letter-spacing:.04em;color:var(--text-dim);border-radius:20px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.68rem;transition:all .25s;display:flex}.chat-toggle:hover{border-color:var(--ramp-6)}.chat-toggle.him{color:#e0e0e0;background:#1a1a1a;border-color:#333}.chat-toggle.her{color:#1a1a1a;background:#eaeaea;border-color:#ccc}.chat-toggle-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chat-toggle-label{text-transform:lowercase}.chat-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.2rem;line-height:1;transition:color .2s}.chat-close:hover{color:var(--text-dim)}.chat-messages{flex-direction:column;flex:1;gap:.6rem;padding:.75rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:3px}.chat-messages::-webkit-scrollbar-thumb{background:var(--ramp-4);border-radius:3px}.chat-loading,.chat-empty{text-align:center;color:var(--text-muted);padding:2rem 0;font-size:.7rem}.chat-msg{flex-direction:column;max-width:85%;display:flex}.chat-msg.him{align-self:flex-end}.chat-msg.her{align-self:flex-start}.chat-msg-bubble{word-break:break-word;white-space:pre-wrap;border-radius:12px;padding:.55rem .85rem;font-size:.78rem;line-height:1.45}.chat-msg.him .chat-msg-bubble{color:#e0e0e0;background:#1a1a1a;border:1px solid #333;border-bottom-right-radius:4px}.chat-msg.her .chat-msg-bubble{color:#1a1a1a;background:#eaeaea;border:1px solid #ccc;border-bottom-left-radius:4px}.chat-msg-time{color:var(--text-muted);margin-top:.2rem;padding:0 .35rem;font-size:.58rem}.chat-msg.him .chat-msg-time{text-align:right}.chat-msg.her .chat-msg-time{text-align:left}.chat-input-row{border-top:1px solid var(--ramp-3);flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem .75rem;display:flex}.chat-input{background:var(--ramp-1);border:1px solid var(--ramp-4);color:var(--text);border-radius:20px;outline:none;flex:1;padding:.5rem .85rem;font-family:inherit;font-size:.78rem;transition:border-color .2s}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--ramp-6)}.chat-send{border:1px solid var(--ramp-4);background:var(--ramp-1);width:32px;height:32px;color:var(--text-dim);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.chat-send:hover:not(:disabled){background:var(--ramp-3);border-color:var(--ramp-6);color:var(--accent)}.chat-send:disabled{opacity:.3;cursor:default}.chat-password-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:450;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chat-password-modal{background:var(--ramp-1);border:1px solid var(--ramp-4);border-radius:12px;width:300px;max-width:90vw;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) chatSlideIn;position:relative}.chat-password-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.3rem;line-height:1;transition:color .2s;position:absolute;top:.75rem;right:.9rem}.chat-password-close:hover{color:var(--text-dim)}.chat-password-title{color:var(--text-dim);letter-spacing:.04em;margin-bottom:.25rem;font-size:.9rem;font-weight:500}.chat-password-subtitle{color:var(--text-muted);margin-bottom:1.2rem;font-size:.7rem}.chat-password-input{background:var(--ramp-2);border:1px solid var(--ramp-4);width:100%;color:var(--text);border-radius:6px;outline:none;margin-bottom:.5rem;padding:.55rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.chat-password-input:focus{border-color:var(--ramp-6)}.chat-password-input.error{border-color:#c44}.chat-password-error{color:#c44;margin-bottom:.75rem;font-size:.7rem}.chat-password-submit{border:1px solid var(--ramp-5);background:var(--ramp-3);width:100%;color:var(--text-dim);cursor:pointer;letter-spacing:.03em;border-radius:6px;padding:.55rem;font-family:inherit;font-size:.8rem;transition:all .2s}.chat-password-submit:hover:not(:disabled){background:var(--ramp-4);color:var(--accent)}.chat-password-submit:disabled{opacity:.4;cursor:default}@media (width<=480px){.chat-window{border-radius:10px;width:calc(100vw - 1rem);height:420px;max-height:calc(100vh - 6rem);bottom:4.5rem;right:.5rem}.chat-fab{width:46px;height:46px;bottom:1.25rem;right:1rem}.chat-fab-svg{width:28px;height:28px}}.page-top-bar{z-index:140;background:var(--bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}.page-top-engrave{flex:1;min-width:0}.page-top-bar .page-nav-btn{-webkit-backdrop-filter:none;backdrop-filter:none;flex-shrink:0;position:static}.page-top-bar .engrave-box{opacity:1;max-width:100%;margin:0;padding:0;animation:none}.page-top-bar+.main{padding-top:4rem}@media (width<=768px){.page-top-bar{padding:.5rem .75rem}.page-top-bar+.main{padding-top:3.5rem}}.page-view{width:100%;max-width:800px;margin:0 auto;padding-top:1rem}.page-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);margin-bottom:.5rem;padding:.75rem 0 .5rem;position:sticky;top:0}.page-header-top{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.page-header-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.page-header-title{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:.75rem;font-weight:500}.page-header-count{color:var(--text-muted);letter-spacing:.15em;margin-left:auto;font-size:.65rem}.page-header-sort{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;outline:none;margin-left:.5rem;padding:.15rem .4rem;font-family:inherit;font-size:.6rem}.page-header-sort:focus{border-color:var(--border-light)}.page-search-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.4rem;margin-bottom:.5rem;padding:.4rem .75rem;transition:border-color .2s;display:flex}.page-search-row:focus-within{border-color:var(--border-light)}.page-search-icon{color:var(--text-muted);flex-shrink:0}.page-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.15rem 0;font-family:inherit;font-size:.72rem}.page-search-input::placeholder{color:var(--text-muted);font-size:.68rem}.page-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.1rem;line-height:1}.page-search-clear:hover{color:var(--text)}.page-filter-chips{flex-wrap:wrap;gap:.4rem;padding:.2rem 0 .3rem;display:flex}.page-filter-chip{background:var(--tag-bg);color:var(--tag-text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:10px;padding:.15rem .5rem;font-family:inherit;font-size:.62rem;transition:border-color .15s,background .15s}.page-filter-chip:hover{border-color:var(--text-muted)}.page-filter-chip.active{background:var(--surface-above);border-color:var(--text-muted)}.page-filter-info{color:var(--text-muted);padding-bottom:.3rem;font-size:.6rem}.page-empty{text-align:center;color:var(--text-muted);padding:4rem 1rem}.page-empty-icon{opacity:.3;justify-content:center;margin-bottom:1rem;display:flex}.page-empty-text{letter-spacing:.1em;font-size:.8rem}.page-load-more{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text-dim);letter-spacing:.08em;cursor:pointer;border-radius:6px;margin:1rem 0 2rem;padding:.8rem;font-family:inherit;font-size:.7rem;transition:border-color .2s,color .2s;display:block}.page-load-more:hover{border-color:var(--border-light);color:var(--text)}.page-nav-btn{z-index:150;background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--text-dim);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,background .2s,color .2s;display:flex;position:fixed;top:1rem;right:1rem}.page-nav-btn:hover,.page-nav-btn.active{border-color:var(--border-light);background:var(--surface-above);color:var(--text)}.tesseract-canvas{width:20px;height:20px;display:block}.page-nav-dropdown{z-index:155;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;flex-direction:column;gap:.15rem;min-width:200px;max-width:calc(100vw - 2rem);padding:.4rem;display:flex;position:fixed;top:3.5rem;right:1rem;box-shadow:0 8px 32px #00000080}.page-nav-item{width:100%;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-family:inherit;font-size:.72rem;transition:background .15s,color .15s;display:flex}.page-nav-item:hover{background:var(--surface-above);color:var(--text)}.page-nav-item.active{background:var(--surface-above);color:var(--accent)}.page-nav-bubble{background:var(--surface2);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.page-nav-item.active .page-nav-bubble{border-color:var(--border-light);background:var(--surface-above)}.page-nav-label{text-align:left;flex:1}.page-nav-count{color:var(--text-muted);font-size:.6rem}@media (width<=480px){.page-nav-dropdown{min-width:180px;right:.5rem}.page-view{padding-top:.5rem}.page-header{padding:.5rem 0 .3rem}}
