:root{--bg-color:#0b0f19;--bg-image:radial-gradient(circle at 50% -20%, #1a2a4c, #0b0f19 80%), linear-gradient(0deg, #00d2ff08 1px, transparent 1px), linear-gradient(90deg, #00d2ff08 1px, transparent 1px);--bg-size:100% 100%, 30px 30px, 30px 30px;--bg-illus:url(/assets/sci-fi.png);--icon-illus:url(/assets/sci-fi-icon.png);--blend-mode:screen;--text-color:#e2e8f0;--primary-color:#00d2ff;--secondary-color:#3a4b7c66;--card-bg:#0f172a99;--card-border:#00d2ff33;--accent-color:#ff007f;--font-family:"Outfit", sans-serif;--heading-font:"Outfit", sans-serif;--btn-radius:9999px;--card-radius:24px;--glass-blur:blur(16px);--transition:all .6s cubic-bezier(.32, .72, 0, 1)}[data-theme=medieval]{--bg-color:#1a1412;--bg-image:radial-gradient(circle at center, #2b1d16 0%, #110c09 100%), repeating-linear-gradient(45deg, #0003 0px, #0003 2px, transparent 2px, transparent 4px);--bg-size:100% 100%, 100% 100%;--bg-illus:url(/assets/medieval.png);--icon-illus:url(/assets/medieval-icon.png);--blend-mode:screen;--text-color:#e5d1b8;--primary-color:#d4af37;--secondary-color:#4a3c3199;--card-bg:#2b2118d9;--card-border:#d4af3766;--accent-color:#8b0000;--font-family:"Lora", serif;--heading-font:"Cinzel", serif;--btn-radius:2px;--card-radius:4px;--glass-blur:blur(4px)}[data-theme=book]{--bg-color:#f4ecd8;--bg-image:linear-gradient(90deg, #f4ecd8 0%, #faefe1 50%, #f4ecd8 100%), repeating-linear-gradient(180deg, transparent 0px, transparent 24px, #5c40331a 24px, #5c40331a 25px);--bg-size:100% 100%, 100% 100%;--bg-illus:url(/assets/book.png);--icon-illus:url(/assets/book-icon.png);--blend-mode:multiply;--text-color:#2c241b;--primary-color:#5c4033;--secondary-color:#d1c0a880;--card-bg:#fffaf0e6;--card-border:#5c40334d;--accent-color:#8b4513;--font-family:"Lora", serif;--heading-font:"Lora", serif;--btn-radius:4px;--card-radius:8px;--glass-blur:blur(2px)}[data-theme=nature]{--bg-color:#0f1c13;--bg-image:radial-gradient(circle at 20% 30%, #4ade8026 0%, transparent 40%), radial-gradient(circle at 80% 70%, #facc151a 0%, transparent 40%), linear-gradient(135deg, #0f1c13 0%, #15291b 100%);--bg-size:100% 100%, 100% 100%, 100% 100%;--bg-illus:url(/assets/nature.png);--icon-illus:url(/assets/nature-icon.png);--blend-mode:screen;--text-color:#e0eee4;--primary-color:#4ade80;--secondary-color:#22422c80;--card-bg:#142819b3;--card-border:#4ade804d;--accent-color:#facc15;--font-family:"Outfit", sans-serif;--heading-font:"Outfit", sans-serif;--btn-radius:24px;--card-radius:24px;--glass-blur:blur(8px)}[data-theme=dark]{--bg-color:#121212;--bg-image:none;--bg-size:auto;--bg-illus:none;--icon-illus:none;--blend-mode:normal;--text-color:#f1f1f1;--primary-color:#fff;--secondary-color:#222;--card-bg:#1e1e1e;--card-border:#333;--accent-color:#ff2a5f;--font-family:"Outfit", sans-serif;--heading-font:"Outfit", sans-serif;--btn-radius:8px;--card-radius:12px;--glass-blur:blur(0px)}[data-theme=light]{--bg-color:#f8f9fa;--bg-image:none;--bg-size:auto;--bg-illus:none;--icon-illus:none;--blend-mode:normal;--text-color:#212529;--primary-color:#000;--secondary-color:#e9ecef;--card-bg:#fff;--card-border:#dee2e6;--accent-color:#ff2a5f;--font-family:"Outfit", sans-serif;--heading-font:"Outfit", sans-serif;--btn-radius:8px;--card-radius:12px;--glass-blur:blur(0px)}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0}::-webkit-scrollbar{display:none}html{overscroll-behavior-y:auto;overscroll-behavior-x:none;height:100%}body{background-color:var(--bg-color);background-image:var(--bg-image);background-size:var(--bg-size);color:var(--text-color);font-family:var(--font-family);transition:var(--transition);overscroll-behavior-y:auto;overscroll-behavior-x:none;z-index:0;background-attachment:fixed;justify-content:center;align-items:center;height:100dvh;display:flex;position:relative;overflow:hidden visible}body:after{content:"";background-image:var(--bg-illus);opacity:.4;pointer-events:none;z-index:-1;background-position:50%;background-repeat:no-repeat;background-size:contain;width:400px;height:400px;position:fixed;bottom:-50px;right:-50px;-webkit-mask-image:radial-gradient(circle,#000 40%,#0000 70%);mask-image:radial-gradient(circle,#000 40%,#0000 70%)}#bg-icons-container{pointer-events:none;z-index:-2;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.scattered-icon{background-image:var(--icon-illus);opacity:.15;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute}body.disable-bg-illus #bg-icons-container{display:none!important}@keyframes floatIcon{0%{transform:translate(-50%, -50%) rotate(var(--base-rot))}33%{transform:translate(calc(-50% + 30px), calc(-50% - 40px)) rotate(calc(var(--base-rot) + 15deg))}66%{transform:translate(calc(-50% - 30px), calc(-50% + 30px)) rotate(calc(var(--base-rot) - 15deg))}to{transform:translate(-50%, -50%) rotate(var(--base-rot))}}.glass-panel>*,.profile-card>*{z-index:1;position:relative}h1,h2,h3,h4{font-family:var(--heading-font);font-weight:700}#app{flex-direction:column;width:100%;max-width:600px;height:100dvh;display:flex;position:relative;overflow:hidden visible}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:0 16px 40px #00000026, 0 8px 16px #0000001a, 0 0 30px var(--secondary-color), inset 0 1px 1px #ffffff26;transition:var(--transition);padding:32px}.form-group{margin-bottom:16px}.form-group label{opacity:.9;margin-bottom:8px;font-size:.9rem;display:block}input,select,textarea{background:var(--secondary-color);border:1px solid var(--card-border);border-radius:var(--btn-radius);width:100%;color:var(--text-color);font-family:var(--font-family);transition:var(--transition);outline:none;padding:12px 16px}textarea{resize:vertical;border-radius:var(--card-radius);scrollbar-width:auto;max-width:100%;min-height:80px;max-height:250px;overflow-y:auto}textarea::-webkit-scrollbar{width:8px;display:block}textarea::-webkit-scrollbar-track{background:0 0}textarea::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:4px}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 8px #00d2ff4d}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.nav-item:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button{background:var(--primary-color);color:var(--bg-color);font-family:var(--heading-font);cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:1px;border:none;border-radius:9999px;padding:16px 32px;font-size:1rem;font-weight:600}.btn-block{width:100%;margin-top:16px}button:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 25px #0003}button:active{transform:scale(.98)}button.secondary{border:1px solid var(--primary-color);color:var(--primary-color);background:0 0}button.secondary:hover{background:var(--secondary-color)}.view{will-change:transform, opacity;flex-direction:column;height:100%;padding:24px 24px 80px;animation:.6s cubic-bezier(.32,.72,0,1) forwards slideUpFade;display:flex;overflow-y:auto}@keyframes slideUpFade{0%{opacity:0;filter:blur(4px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}.view-header{text-align:center;margin-bottom:24px}.logo-container{cursor:pointer;justify-content:center;align-items:center;width:220px;height:220px;margin:0 auto 32px;display:flex;position:relative}.logo-universal{object-fit:contain;width:100%;height:100%;transition:opacity .3s;position:relative}#persistent-logo-wrapper{z-index:1000;transform-origin:0 100%;transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:24px;left:24px}.logo-small{width:64px;height:64px;margin:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),filter .2s}.logo-small:hover{filter:drop-shadow(0 4px 12px var(--primary-color));transform:scale(1.1)}.view-header h1{color:var(--primary-color);text-shadow:0 2px 4px #0000004d;margin-bottom:8px;font-size:2.2rem}.theme-selector{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;display:flex}.theme-btn{background:var(--secondary-color);width:110px;height:38px;color:var(--text-color);text-transform:none;letter-spacing:normal;border-radius:20px;justify-content:center;align-items:center;margin:0;padding:8px;font-size:.8rem;display:flex}.theme-btn.active{background:var(--primary-color);color:var(--bg-color)}.profile-card{border-radius:var(--card-radius);box-shadow:0 8px 24px #0000001f, 0 4px 8px #00000014, 0 0 20px var(--secondary-color), inset 0 1px 1px #ffffff1a;border:1px solid var(--card-border);flex-direction:column;flex:1;margin-bottom:20px;display:flex;overflow:hidden}.profile-image-container{background:var(--secondary-color);cursor:pointer;width:100%;height:240px;position:relative}.profile-image-container:after{content:"📷 View All";color:#fff;pointer-events:none;background:#0009;border-radius:4px;padding:4px 8px;font-size:.8rem;position:absolute;bottom:8px;right:8px}.profile-image{object-fit:cover;width:100%;height:100%}.profile-info{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex:1;padding:20px;overflow-y:auto}.profile-name{color:var(--primary-color);margin-bottom:4px;font-size:1.8rem}#modal-container{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:1;background:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}#modal-container.modal-hidden{opacity:0;pointer-events:none}.modal-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);width:100%;max-width:600px;max-height:80vh;color:var(--text-color);padding:24px;animation:.3s cubic-bezier(.175,.885,.32,1.275) modalPop;position:relative;overflow-y:auto;box-shadow:0 10px 40px #00000080}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-close{color:var(--text-color);cursor:pointer;background:0 0;border:none;width:auto;margin:0;padding:0 8px;font-size:1.5rem;position:absolute;top:16px;right:16px}.modal-gallery-img{border-radius:var(--btn-radius);width:100%;margin-bottom:16px;box-shadow:0 4px 12px #0000004d}.profile-basics{opacity:.8;margin-bottom:16px;font-size:.9rem}.prompt-box{background:var(--secondary-color);border-radius:var(--card-radius);cursor:pointer;transition:var(--transition);text-align:center;margin-bottom:12px;padding:16px}.prompt-box:hover{filter:brightness(1.2);box-shadow:0 4px 12px #0000001a}.prompt-box h4{color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.85rem}.prompt-box p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:1rem;line-height:1.5;display:-webkit-box;overflow:hidden}.action-buttons{gap:16px;margin-top:16px;display:flex}.action-btn{border-radius:50px;flex:1;justify-content:center;align-items:center;margin:0;padding:12px;font-size:1.05rem;display:flex}.btn-pass{border:2px solid var(--text-color);color:var(--text-color);background:0 0}.btn-like{background:var(--primary-color);color:var(--bg-color)}.bottom-nav{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--card-border);z-index:10;justify-content:space-around;width:100%;padding:16px;display:flex;position:absolute;bottom:0}.nav-item{color:var(--text-color);opacity:.6;cursor:pointer;transition:var(--transition);font-size:1rem;font-weight:600}.nav-item.active{opacity:1;color:var(--primary-color)}.message-list{flex:1;overflow-y:auto}.match-item{background:var(--secondary-color);border-radius:var(--btn-radius);cursor:pointer;transition:var(--transition);align-items:center;margin-bottom:8px;padding:12px;display:flex}.match-item:hover{background:var(--card-border)}.match-avatar{background:var(--primary-color);width:48px;height:48px;color:var(--bg-color);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;margin-right:16px;font-size:1.2rem;font-weight:700;display:flex}.match-info h4{margin-bottom:4px}.match-info p{opacity:.7;font-size:.85rem}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px 0;display:flex;overflow-y:auto}.msg{border-radius:16px;max-width:80%;padding:10px 14px;font-size:.95rem}.msg.received{background:var(--secondary-color);border-bottom-left-radius:4px;align-self:flex-start}.msg.sent{background:var(--primary-color);color:var(--bg-color);border-bottom-right-radius:4px;align-self:flex-end}.chat-input-area{gap:8px;margin-top:16px;display:flex}.chat-input-area input{margin-bottom:0}.chat-input-area button{width:auto;margin:0;padding:0 20px}.top-bar{align-items:center;margin-bottom:16px;display:flex}.back-btn{width:auto;color:var(--text-color);background:0 0;margin:0;padding:8px;font-size:1.5rem}.top-bar h2{text-align:center;flex:1;margin-right:32px}.synergy-bar{background:var(--primary-color);color:var(--bg-color);z-index:10;border-radius:20px;padding:6px 16px;font-size:.9rem;font-weight:700;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #00000080}.badge-chip{background:var(--secondary-color);color:var(--text-color);border:1px solid var(--primary-color);border-radius:12px;padding:4px 10px;font-size:.8rem;display:inline-block}.match-anim-wrapper{width:120px;height:120px;margin:0 auto 20px;position:relative}.match-heart{z-index:2;font-size:80px;animation:.8s ease-in-out forwards heartPulse;position:absolute;top:20px;left:20px}.match-sword{z-index:1;will-change:transform, opacity;font-size:110px;animation:.6s cubic-bezier(.25,1,.5,1) forwards sheathSword;position:absolute;top:5px;left:5px}@keyframes heartPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes sheathSword{0%{opacity:0;transform:translate(60px,-80px)rotate(15deg)}to{opacity:1;transform:translate(0)rotate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scattered-icon{display:none!important}}#persistent-chat-wrapper{z-index:1000;opacity:0;pointer-events:none;width:350px;height:500px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s;display:none;position:fixed;bottom:20px;right:20px;transform:translateY(150%)}.chat-widget-panel{background:var(--bg-color);border:1px solid var(--card-border);pointer-events:auto;border-radius:16px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000080}.chat-widget-header{border-bottom:1px solid var(--card-border);background:#0003;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.close-chat-btn{width:32px;height:32px;color:var(--text-color);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:sans-serif;font-size:24px;font-weight:400;line-height:1;transition:opacity .2s;display:flex}.close-chat-btn:hover{opacity:1}.chat-widget-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-message{word-wrap:break-word;border-radius:16px;max-width:80%;padding:10px 14px;line-height:1.4}.chat-message.me{background:var(--primary-color);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-message.them{color:var(--text-color);background:#ffffff1a;border-bottom-left-radius:4px;align-self:flex-start}.chat-widget-footer{border-top:1px solid var(--card-border);background:#0000001a;align-items:center;gap:8px;padding:12px;display:flex}#chat-widget-input{border:1px solid var(--card-border);background:var(--secondary-color);min-width:0;height:40px;color:var(--text-color);border-radius:20px;outline:none;flex:1;margin:0;padding:0 14px}.btn-send{background:var(--primary-color);width:auto;height:40px;color:var(--bg-color);cursor:pointer;border:none;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0 20px;font-weight:700;display:flex}.chat-bubble-minimized{background:var(--primary-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;transition:transform .2s;display:flex;position:absolute;bottom:0;right:0;box-shadow:0 4px 12px #0000004d}.chat-bubble-minimized:hover{transform:scale(1.1)}.chat-bubble-minimized{pointer-events:auto}.inbox-item{cursor:pointer;border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.inbox-item:hover{background:#ffffff0d}.theme-floating-selector{z-index:100;gap:8px;display:flex;position:fixed;top:20px;right:20px}.theme-floating-btn{cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:50%;justify-content:center;align-items:center;gap:0;width:44px;height:44px;margin:0;padding:0;transition:all .2s;display:flex}.theme-floating-btn img{object-fit:contain;pointer-events:none;width:24px;height:24px}.theme-floating-btn span{pointer-events:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}@media (max-width:600px){.global-theme-wrapper.desktop-only{display:none!important}.view{padding:16px 16px 76px}#app{max-width:100vw}body:after{left:-50px;right:auto;transform:scaleX(-1)}.theme-floating-selector{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:140px;top:auto;bottom:24px;right:16px}.theme-floating-btn{width:36px;height:36px}.theme-floating-btn img{width:18px;height:18px}.theme-floating-btn span{font-size:16px}.logo-container{width:160px;height:160px;margin-bottom:24px}.view-header h1{font-size:1.8rem}#modal-container{padding:16px}.modal-content{max-height:85vh;padding:16px}.modal-close{top:8px;right:8px}.profile-image-container{height:100vw;max-height:400px}.profile-info{padding:12px}.profile-name{font-size:clamp(1.2rem,5vw,1.5rem)}.action-buttons{flex-wrap:wrap;gap:8px}.action-btn{flex:auto;padding:10px;font-size:clamp(.8rem,4vw,.95rem)}.glass-panel{padding:16px 12px}.bottom-nav{flex-wrap:nowrap;gap:4px;padding:10px 4px;overflow-x:auto}.nav-item{white-space:nowrap;padding:6px;font-size:clamp(.7rem,3.5vw,1rem)}}@media (max-width:1100px){#persistent-chat-wrapper,#persistent-logo-wrapper,.chat-bubble-minimized,.theme-floating-selector{display:none!important}}@media (min-width:1101px){.settings-theme-group{display:none!important}}
