.mobile-nav-fab-container{position:fixed;bottom:24px;right:24px;z-index:9999}.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998}.mobile-nav-main{position:fixed;bottom:24px;right:24px;z-index:9999;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:2px solid hsla(0,0%,100%,.3);box-shadow:0 4px 12px rgba(139,92,246,.4),0 2px 4px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.mobile-nav-main:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(139,92,246,.5),0 4px 8px rgba(0,0,0,.3);background:linear-gradient(135deg,#7c3aed,#4f46e5)}.mobile-nav-main:active{transform:scale(.95)}.mobile-nav-actions{position:fixed;bottom:90px;right:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-end;z-index:9999}.mobile-nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:rgba(30,30,46,.95);border:1px solid hsla(0,0%,100%,.1);border-radius:50px;color:#fff;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .2s ease;min-width:180px}.mobile-nav-item:hover{background:rgba(40,40,56,.95);border-color:hsla(0,0%,100%,.2)}.mobile-nav-item.active{background:rgba(201,169,89,.2);border-color:#c9a959}.mobile-nav-item.active .mobile-nav-item-icon{background:linear-gradient(135deg,#c9a959,#8b4513)}.mobile-nav-item.danger{color:#ef4444}.mobile-nav-item.danger:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}.mobile-nav-item-icon{width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-nav-item-label{font-size:.95rem;font-weight:500}@media (min-width:768px){.mobile-nav-fab-container{display:none}}.mobile-card-container{position:absolute;inset:0;width:100%;height:100dvh;max-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0a0a0a,#1a1a2e);overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.person-card-wrapper{width:100%;height:100%;max-width:none}.person-card{width:100%;height:100%;border-radius:0!important;border:none!important;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;touch-action:none;cursor:grab;transform-style:preserve-3d}.person-card:active{cursor:grabbing}.card-overlay{position:absolute;inset:0;pointer-events:none;border-radius:24px}.card-content{position:relative;z-index:10;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.theme-badge{align-self:flex-start;z-index:15;display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:50px;border:1px solid;background:rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.75rem;font-weight:500}.theme-emoji{font-size:1.1rem}.linked-badge,.theme-label{text-transform:uppercase;letter-spacing:.05em}.linked-badge{align-self:flex-start;padding:4px 12px;border-radius:50px;font-size:.75rem;font-weight:600}.person-name{font-size:2rem;font-weight:700;line-height:1.2;text-shadow:2px 2px 10px rgba(0,0,0,.5);margin:0}.birth-info{font-size:1rem;font-weight:500;margin:0;opacity:.9}.death-info{display:flex;align-items:center;gap:8px;font-size:.875rem;margin-top:4px}.lunar-death{padding:4px 10px;background:rgba(0,0,0,.3);border-radius:6px}.spouse-hint{bottom:80px;left:50%;transform:translateX(-50%);gap:6px;padding:8px 16px;background:rgba(0,0,0,.6);border-radius:50px;font-size:.75rem;white-space:nowrap}.long-press-indicator,.spouse-hint{position:absolute;display:flex;align-items:center}.long-press-indicator{inset:0;justify-content:center;background:rgba(0,0,0,.7);border-radius:24px;z-index:20}.navigation-hints{position:absolute;inset:0;pointer-events:none;z-index:5}.nav-hint{position:absolute;display:flex;align-items:center;justify-content:center;opacity:.5;animation:nav-hint-pulse 2s ease-in-out infinite}.nav-hint-up{top:calc(60px + env(safe-area-inset-top))}.nav-hint-down,.nav-hint-up{left:50%;transform:translateX(-50%)}.nav-hint-down{bottom:16px}.nav-hint-left{left:16px}.nav-hint-left,.nav-hint-right{top:50%;transform:translateY(-50%)}.nav-hint-right{right:16px}@keyframes nav-hint-pulse{0%,to{opacity:.3}50%{opacity:.7}}.back-button{position:absolute;top:calc(20px + env(safe-area-inset-top));left:20px;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .2s ease}.back-button:hover{background:hsla(0,0%,100%,.2)}.person-counter{position:absolute;top:20px;right:20px;padding:6px 12px;border-radius:50px;background:rgba(0,0,0,.4);color:hsla(0,0%,100%,.7);font-size:.75rem;font-weight:500;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.settings-trigger{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100px;height:30px;z-index:110;cursor:pointer}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:200}.settings-drawer{position:absolute;top:0;left:0;right:0;max-height:80vh;background:linear-gradient(180deg,#1e1e2e,#2a2a3e);border-radius:0 0 24px 24px;padding:16px 20px 24px;z-index:210;overflow-y:auto}.drawer-handle{display:flex;justify-content:center;padding-bottom:12px}.handle-bar{width:40px;height:4px;border-radius:2px;background:hsla(0,0%,100%,.3)}.drawer-close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.1);border:none;color:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center;cursor:pointer}.drawer-menu{display:flex;flex-direction:column;gap:4px}.drawer-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:12px;background:transparent;border:none;color:hsla(0,0%,100%,.9);font-size:1rem;cursor:pointer;transition:background .2s ease;text-align:left}.drawer-item:hover{background:hsla(0,0%,100%,.1)}.drawer-item-danger{color:#ef4444}.drawer-divider{height:1px;background:hsla(0,0%,100%,.1);margin:8px 0}.drawer-section{padding:8px 0}.section-header{display:flex;align-items:center;gap:10px;padding:8px 16px;color:hsla(0,0%,100%,.6);font-size:.875rem;font-weight:500}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:8px 16px}.theme-option{position:relative;aspect-ratio:3/2;border-radius:12px;border:2px solid transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:8px;transition:all .2s ease;overflow:hidden}.theme-option.active{border-color:#c9a959}.theme-option:hover{transform:scale(1.05)}.theme-check{position:absolute;top:8px;right:8px;background:#c9a959;color:#000;border-radius:50%;padding:2px}.theme-name{font-size:.75rem;font-weight:600;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.8)}.fab-container{position:absolute;bottom:24px;right:24px;z-index:150}.fab-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3)}.fab-main{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c9a959,#8b4513);border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(201,169,89,.4);cursor:pointer;position:relative;z-index:10}.fab-actions{position:absolute;bottom:70px;right:0;display:flex;flex-direction:column;gap:10px;align-items:flex-end;max-height:calc(100vh - 150px);overflow-y:auto;overflow-x:visible;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(201,169,89,.5) transparent}.fab-actions::-webkit-scrollbar{width:4px}.fab-actions::-webkit-scrollbar-track{background:transparent}.fab-actions::-webkit-scrollbar-thumb{background:rgba(201,169,89,.5);border-radius:2px}.fab-actions::-webkit-scrollbar-thumb:hover{background:rgba(201,169,89,.7)}.fab-action{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(30,30,46,.95);border:1px solid hsla(0,0%,100%,.1);border-radius:50px;color:#fff;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .2s ease}.fab-action:hover{background:rgba(40,40,56,.95);border-color:hsla(0,0%,100%,.2)}.fab-action.danger{color:#ef4444}.fab-action.danger:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}.fab-action.danger .fab-action-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.fab-action-icon{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c9a959,#8b4513);display:flex;align-items:center;justify-content:center}.fab-action-text{display:flex;flex-direction:column}.fab-action-label{font-size:.9rem;font-weight:500}.fab-context{padding:8px 16px;background:rgba(0,0,0,.5);border-radius:8px;color:hsla(0,0%,100%,.7);font-size:.75rem;margin-top:8px}.empty-card,.error-card,.loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:hsla(0,0%,100%,.7)}.mobile-nav-item.context-action{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(217,119,6,.15));border-color:rgba(245,158,11,.3)}.mobile-nav-item.context-action:hover{background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(217,119,6,.25));border-color:rgba(245,158,11,.5)}.mobile-nav-item.context-action .mobile-nav-item-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.loading-spinner{width:40px;height:40px;border:3px solid hsla(0,0%,100%,.1);border-top-color:#c9a959;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-card button,.error-card button{padding:10px 20px;border-radius:8px;background:#c9a959;border:none;color:#000;font-weight:500;cursor:pointer}