*{box-sizing:border-box;margin:0;padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-hover);color:#fff;padding:8px 16px;text-decoration:none;z-index:1000;border-radius:0 0 4px;font-weight:600}.skip-link:focus{top:0;background:#004d40;outline:3px solid var(--accent-hover);outline-offset:2px}.error-message{color:var(--error-color);font-size:var(--font-size-small);margin-top:var(--spacing-xs);display:block}.form-help{font-size:var(--font-size-small);color:var(--text-secondary);margin-top:var(--spacing-xs);display:block}:root{--font-size-base: 16px;--font-size-small: 14px;--font-size-large: 18px;--font-size-h1: 24px;--font-size-h2: 20px;--font-size-h3: 18px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: 8px;--border-width: 1px;--tap-target-size: 44px;--transition-fast: .15s;--transition-normal: .25s}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e0e0e0;--text-primary: #000000;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #cccccc;--accent-color: #d946ef;--accent-hover: #a21caf;--error-color: #dc3545;--success-color: #28a745}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #808080;--border-color: #555555;--accent-color: #d946ef;--accent-hover: #a21caf;--error-color: #dc3545;--success-color: #28a745}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;min-width:360px;overflow-x:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary);margin-bottom:var(--spacing-md);letter-spacing:-.01em}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--accent-color);text-decoration:none}a:hover,a:focus{text-decoration:underline;outline:2px solid var(--accent-color);outline-offset:2px}code{font-family:Courier New,monospace;font-size:.9em;background-color:var(--bg-secondary);padding:2px 6px;border-radius:4px}#app{display:flex;flex-direction:column;min-height:100vh}.content-area{flex:1;padding-bottom:calc(var(--tap-target-size) + var(--spacing-md));overflow-y:auto;-webkit-overflow-scrolling:touch}.header{position:sticky;top:0;z-index:100;background-color:var(--bg-primary);border-bottom:var(--border-width) solid var(--border-color);box-shadow:0 2px 4px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);max-width:100%}.header-title{font-size:var(--font-size-h2);margin:0}.header-menu-btn{background:none;border:none;font-size:var(--font-size-large);cursor:pointer;padding:var(--spacing-sm);min-width:var(--tap-target-size);min-height:var(--tap-target-size);color:var(--text-primary)}.header-menu-btn:hover,.header-menu-btn:focus{background-color:var(--bg-secondary);border-radius:var(--border-radius);outline:2px solid var(--accent-color);outline-offset:2px}.menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:200;opacity:0;transition:opacity var(--transition-normal)}.menu-overlay[aria-hidden=false]{opacity:1}.top-menu{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;background-color:var(--bg-primary);box-shadow:-2px 0 8px #0003;z-index:201;transform:translate(100%);transition:transform var(--transition-normal);overflow-y:auto}.top-menu[aria-hidden=false]{transform:translate(0)}.menu-content{padding:var(--spacing-md);display:flex;flex-direction:column;height:100%}.menu-close-btn{align-self:flex-end;background:none;border:none;font-size:var(--font-size-h2);cursor:pointer;padding:var(--spacing-sm);min-width:var(--tap-target-size);min-height:var(--tap-target-size);color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:center}.menu-icon,.menu-close-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.header-menu-btn .menu-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.menu-close-btn:hover,.menu-close-btn:focus{background-color:var(--bg-secondary);border-radius:var(--border-radius);outline:2px solid var(--accent-color);outline-offset:2px}.menu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.menu-item{display:flex;align-items:center;padding:var(--spacing-md);color:var(--text-primary);text-decoration:none;border-radius:var(--border-radius);min-height:var(--tap-target-size);transition:background-color var(--transition-fast);font-size:var(--font-size-base)}.menu-item:hover,.menu-item:focus{background-color:var(--bg-secondary);outline:2px solid var(--accent-color);outline-offset:2px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background-color:var(--bg-primary);border-top:var(--border-width) solid var(--border-color);box-shadow:0 -2px 4px #0000001a}.bottom-bar-content{display:flex;justify-content:space-around;align-items:center;padding:var(--spacing-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.bottom-bar-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:none;border:none;cursor:pointer;color:var(--text-primary);min-width:var(--tap-target-size);min-height:var(--tap-target-size);font-size:var(--font-size-small);transition:color var(--transition-fast);position:relative}[data-theme=dark] .bottom-bar-tab{color:#e5e5e5}.bottom-bar-tab:hover,.bottom-bar-tab:focus{color:var(--accent-color);outline:2px solid var(--accent-color);outline-offset:2px}.bottom-bar-tab.active{color:var(--accent-color);font-weight:600}.bottom-bar-tab.active:after{content:"";position:absolute;bottom:4px;left:25%;right:25%;height:3px;background:var(--accent-color);border-radius:2px}.tab-icon{font-size:var(--font-size-large);display:flex;align-items:center;justify-content:center}.tab-label{font-size:var(--font-size-small);color:inherit;font-weight:500}.page{padding:var(--spacing-md);max-width:100%}.profile-page{background-color:#f5f5f5}[data-theme=dark] .profile-page{background-color:#1a1a1a}.social-page{background-color:#f5f5f5}[data-theme=dark] .social-page{background-color:#1a1a1a}.links-page{background-color:#f5f5f5}[data-theme=dark] .links-page{background-color:#1a1a1a}.services-page{background-color:#f5f5f5}[data-theme=dark] .services-page{background-color:#1a1a1a}.page-content{max-width:600px;margin:0 auto}.page-title{margin-bottom:var(--spacing-lg)}.page-title svg{vertical-align:middle;margin-right:6px}.profile-form-card,.social-form-card,.links-form-card,.services-form-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-lg);box-shadow:0 1px 3px #0000000f}[data-theme=dark] .profile-form-card,[data-theme=dark] .social-form-card,[data-theme=dark] .links-form-card,[data-theme=dark] .services-form-card{border-color:#ffffff14;box-shadow:0 1px 3px #0000004d}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;color:var(--text-primary);background-color:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);min-height:var(--tap-target-size);transition:border-color var(--transition-fast)}.profile-form-card .form-input,.profile-form-card .form-textarea,.profile-form-card .form-select,.social-form-card .form-input,.social-form-card .form-textarea,.social-form-card .form-select,.services-form-card .form-input,.services-form-card .form-textarea,.services-form-card .form-select{background-color:#fff}[data-theme=dark] .profile-form-card .form-input,[data-theme=dark] .profile-form-card .form-textarea,[data-theme=dark] .profile-form-card .form-select,[data-theme=dark] .social-form-card .form-input,[data-theme=dark] .social-form-card .form-textarea,[data-theme=dark] .social-form-card .form-select,[data-theme=dark] .services-form-card .form-input,[data-theme=dark] .services-form-card .form-textarea,[data-theme=dark] .services-form-card .form-select{background-color:var(--bg-secondary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #00897b40}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true],.form-select[aria-invalid=true]{border-color:var(--error-color);box-shadow:0 0 0 2px #dc354533}.form-input[aria-invalid=true]:focus,.form-textarea[aria-invalid=true]:focus,.form-select[aria-invalid=true]:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #dc35454d}.form-textarea{resize:vertical;min-height:100px}.form-color{width:100%;height:var(--tap-target-size);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer}.form-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:calc(var(--spacing-md) + 32px)}.password-toggle-btn{position:absolute;right:var(--spacing-sm);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border-radius:var(--border-radius);transition:color var(--transition-fast),background-color var(--transition-fast)}.password-toggle-btn:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.password-toggle-btn:focus{outline:2px solid var(--accent-color);outline-offset:2px}.password-toggle-btn:active{transform:scale(.95)}.password-toggle-btn svg{width:20px;height:20px;stroke:currentColor}.btn-primary,.btn-secondary,.btn-danger,.btn-icon{padding:var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;min-height:var(--tap-target-size);min-width:var(--tap-target-size);transition:all var(--transition-fast);font-weight:500}.btn-primary{background-color:var(--accent-color);color:#fff;width:100%}.btn-primary:hover,.btn-primary:focus{background-color:var(--accent-hover);outline:2px solid var(--accent-color);outline-offset:2px}.btn-secondary{background-color:transparent;color:var(--accent-color);border-color:var(--accent-color);width:100%}.btn-secondary:hover,.btn-secondary:focus{background-color:color-mix(in srgb,var(--accent-color) 10%,transparent);outline:2px solid var(--accent-color);outline-offset:2px}.btn-danger{background-color:var(--error-color);color:#fff;width:100%}.btn-danger:hover,.btn-danger:focus{background-color:#c82333;outline:2px solid var(--error-color);outline-offset:2px}.btn-icon{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-large);padding:var(--spacing-sm)}.btn-icon:hover,.btn-icon:focus{color:var(--error-color);background-color:var(--bg-secondary);border-radius:var(--border-radius)}.items-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.item-card{background-color:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.item-header-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.item-header h3{margin:0;font-size:var(--font-size-h3)}.photo-upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);transition:border-color var(--transition-fast),background-color var(--transition-fast);cursor:pointer}.photo-upload-dropzone:hover,.photo-upload-dropzone:focus-within{border-color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-color) 5%,transparent)}.photo-upload-dropzone.dragover{border-color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-color) 10%,transparent);border-style:solid}.photo-upload-area{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-lg)}.photo-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}@media(max-width:480px){.photo-upload-area{flex-direction:column;align-items:center}.photo-buttons{width:100%;max-width:300px}}.photo-preview,.photo-placeholder{width:150px;height:150px;border-radius:50%;object-fit:cover;border:var(--border-width) solid var(--border-color);flex-shrink:0}.photo-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;font-size:48px;font-weight:700;border:3px solid var(--bg-primary);box-shadow:0 2px 8px #0000001f}.photo-placeholder svg{opacity:.5;color:#fff}[data-theme=dark] .photo-placeholder{border-color:var(--bg-secondary)}.photo-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn-photo-upload{background-color:var(--accent-hover);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-family:inherit;border-radius:var(--border-radius);cursor:pointer;min-height:var(--tap-target-size);font-weight:500;transition:background-color var(--transition-fast);width:auto;min-width:150px}.btn-photo-upload:hover,.btn-photo-upload:focus{background-color:#004d40;outline:2px solid var(--accent-hover);outline-offset:2px}.preview-card-container{padding:var(--spacing-md)}.preview-card{max-width:400px;margin:0 auto;background-color:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);padding-top:0;box-shadow:0 4px 6px #0000001a;overflow:hidden;position:relative}.preview-card-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.preview-banner{position:absolute;top:calc(-1 * var(--border-width));left:calc(-1 * var(--spacing-lg) - var(--border-width));right:calc(-1 * var(--spacing-lg) - var(--border-width));height:110px;width:calc(100% + 2 * var(--spacing-lg) + 2 * var(--border-width));border-radius:var(--border-radius) var(--border-radius) 0 0;z-index:0}.preview-card-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);margin-bottom:var(--spacing-lg);position:relative;z-index:1}.preview-photo,.preview-photo-placeholder{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--bg-secondary);box-shadow:0 2px 8px #00000026;background-color:var(--bg-secondary);margin-top:30px}.preview-photo-wrapper{position:relative;display:flex;justify-content:center}.preview-photo-wrapper .preview-photo-placeholder{margin-top:30px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;font-size:42px;font-weight:700}.preview-photo-wrapper .preview-photo-placeholder svg{opacity:.5;color:#fff}.preview-photo-placeholder{display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);font-size:48px;border:3px solid var(--bg-secondary);box-shadow:0 2px 8px #00000026}.preview-header-text{text-align:center}.preview-name{font-size:var(--font-size-h1);margin-bottom:var(--spacing-sm)}.preview-headline{color:var(--text-secondary);font-size:var(--font-size-base)}.preview-live-badge{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:3px 10px;border-radius:50px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.75rem;font-weight:600;letter-spacing:.02em;width:fit-content}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.live-dot.pulse{animation:livePulse .6s ease-out}@keyframes livePulse{0%{transform:scale(1);box-shadow:0 0 0 2px #22c55e4d}50%{transform:scale(1.8);box-shadow:0 0 0 8px #22c55e00}to{transform:scale(1);box-shadow:0 0 0 2px #22c55e4d}}[data-theme=dark] .preview-live-badge{background:#052e16;border-color:#166534;color:#86efac}.preview-bio{margin-bottom:var(--spacing-lg);color:var(--text-secondary);text-align:center}.preview-contact-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:center;justify-content:center}.preview-whatsapp,.preview-mobile,.preview-landline{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.preview-contact-row .preview-landline{margin-bottom:0}.preview-whatsapp-link{display:flex;align-items:center;gap:var(--spacing-sm);color:#25d366;text-decoration:none;transition:opacity var(--transition-fast)}.preview-whatsapp-link:hover,.preview-whatsapp-link:focus{opacity:.8}.preview-mobile-link,.preview-landline-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);text-decoration:none;transition:opacity var(--transition-fast)}.preview-mobile-link:hover,.preview-mobile-link:focus,.preview-landline-link:hover,.preview-landline-link:focus{opacity:.8}.preview-mobile,.preview-landline{color:var(--text-primary)}.preview-email{display:flex;justify-content:center;align-items:center;margin-bottom:var(--spacing-md)}.preview-email-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);text-decoration:none;transition:opacity var(--transition-fast)}.preview-email-link:hover,.preview-email-link:focus{opacity:.8}.preview-icon{flex-shrink:0;color:currentColor}.preview-section{margin-bottom:var(--spacing-lg)}.preview-section-title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-md);color:var(--text-primary)}.preview-social-links{display:flex;flex-direction:row;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.preview-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.preview-social-link{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background-color:transparent;border:none;border-radius:var(--border-radius);color:var(--accent-color);text-align:center;transition:opacity var(--transition-fast)}.preview-social-link:hover{opacity:.7}.preview-link{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);color:var(--accent-color);text-align:center;transition:background-color var(--transition-fast)}.preview-link:hover{background-color:var(--bg-tertiary)}.social-icon{width:24px;height:24px;flex-shrink:0;object-fit:contain;display:inline-block;transition:opacity .1s ease}.social-icon-inline{display:inline-flex;align-items:center;justify-content:center;color:var(--accent-color);width:24px;height:24px;flex-shrink:0}.social-icon-inline svg{width:24px;height:24px;display:block}.social-platform{font-weight:600;display:block}.social-handle{font-size:var(--font-size-small);color:var(--text-secondary)}.preview-services{display:flex;flex-direction:column;gap:var(--spacing-md)}.preview-service{padding:var(--spacing-md);background-color:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius)}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.service-name{font-weight:600}.service-price{color:var(--accent-color);font-weight:600}.service-description{color:var(--text-secondary);font-size:var(--font-size-small)}.preview-nostr{padding:var(--spacing-md);background-color:var(--bg-primary);border-radius:var(--border-radius)}.nostr-key,.nostr-key-display{display:block;word-break:break-all;font-size:var(--font-size-small);color:var(--text-secondary);background-color:var(--bg-tertiary);padding:var(--spacing-sm);border-radius:4px}.publish-banner{position:relative;width:100%;max-height:0;overflow:hidden;opacity:0;transform:translateY(-12px);transition:max-height .35s ease-out,opacity .3s ease-out,transform .3s ease-out;margin-bottom:0;border-radius:var(--border-radius);font-size:var(--font-size-small);z-index:10}.publish-banner.show{max-height:200px;opacity:1;transform:translateY(0);margin-bottom:var(--spacing-md)}.publish-banner.dismissing{max-height:0;opacity:0;transform:translateY(-12px);margin-bottom:0}.publish-banner-content{padding:var(--spacing-md) var(--spacing-lg)}.publish-banner-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.publish-banner-icon{font-size:1.2em;flex-shrink:0}.publish-banner-title{font-weight:600;flex:1}.publish-banner-url-text{color:var(--text-secondary);font-size:var(--font-size-xs);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publish-banner-dismiss{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;padding:4px 8px;font-size:1em;line-height:1;flex-shrink:0}.publish-banner-dismiss:hover{opacity:1}.publish-banner-url-row{display:flex;gap:var(--spacing-xs);align-items:center;margin-bottom:var(--spacing-sm)}.publish-banner-url-input{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:var(--font-size-xs);font-family:monospace;background:var(--bg-primary);color:var(--text-primary);cursor:text}.publish-banner-url-input:focus{outline:2px solid var(--accent-color);outline-offset:-1px}.publish-banner-btn{padding:6px 14px;border-radius:6px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;text-decoration:none;transition:background-color var(--transition-fast);font-family:inherit;line-height:1.4}.publish-banner-btn:hover{background:var(--bg-tertiary)}.publish-banner-btn-copy{background:var(--bg-primary)}.publish-banner-btn-copy.copied{background:#22c55e;color:#fff;border-color:#22c55e}.publish-banner-btn-open{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.publish-banner-btn-open:hover{background:var(--accent-color-hover, #a21caf)}.publish-banner-btn-primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.publish-banner-btn-primary:hover{background:var(--accent-color-hover, #a21caf)}.publish-banner-btn-secondary{background:var(--bg-secondary)}.publish-banner-btn-secondary:hover{background:var(--bg-tertiary)}.publish-banner-cta{display:inline-flex;align-items:center;gap:4px;padding:8px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:50px;font-size:var(--font-size-small);font-weight:600;cursor:pointer;font-family:inherit;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.publish-banner-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.publish-banner-celebration{background:linear-gradient(135deg,#fdf2f8,#fce7f3 40%,#fdf2f8);border:1px solid #f9a8d4;color:#831843}.publish-banner-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}.publish-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}[data-theme=dark] .publish-banner-celebration{background:linear-gradient(135deg,#4a0e2e,#3b0a2a 40%,#4a0e2e);border-color:#9d174d;color:#fdf2f8}[data-theme=dark] .publish-banner-success{background:#052e16;border-color:#166534;color:#dcfce7}[data-theme=dark] .publish-banner-error{background:#2e0505;border-color:#991b1b;color:#fecaca}[data-theme=dark] .publish-banner-url-input,[data-theme=dark] .publish-banner-btn{background:var(--bg-tertiary)}[data-theme=dark] .publish-banner-btn:hover{background:var(--bg-hover)}[data-theme=dark] .publish-banner-btn-copy{background:var(--bg-secondary)}.preview-publish-fab-container{position:fixed;bottom:100px;right:20px;z-index:1000}.preview-publish-fab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--accent-color);color:#fff;border:none;border-radius:50px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all var(--transition-fast);min-height:var(--tap-target-size);font-family:inherit}.preview-publish-fab:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0003}.preview-publish-fab:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #00000026}.preview-publish-fab:focus{outline:2px solid var(--accent-color);outline-offset:2px}.preview-publish-fab:disabled,.preview-publish-fab.disabled{background-color:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.preview-publish-fab.publishing{cursor:wait}.fab-icon{font-size:1.2em;line-height:1}.fab-text{white-space:nowrap}.fab-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-publish-feedback{position:absolute;bottom:calc(100% + 8px);right:0;max-width:280px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-small);font-weight:500;line-height:1.4;box-shadow:0 2px 8px #00000026;animation:fabFeedbackIn .25s ease-out;white-space:normal;word-break:break-word}.preview-publish-feedback-error{background-color:#f8d7da;border:1px solid #dc3545;color:#721c24}.preview-publish-feedback-info{background-color:#d1ecf1;border:1px solid var(--accent-color);color:#004d40}.preview-publish-feedback.fading{opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}@keyframes fabFeedbackIn{0%{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .preview-publish-feedback-error{background-color:#491217;border-color:#dc3545;color:#f8d7da}[data-theme=dark] .preview-publish-feedback-info{background-color:#0a2a3a;border-color:var(--accent-color);color:#d1ecf1}.preview-toast{position:fixed;top:20px;right:20px;max-width:400px;min-width:300px;background-color:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 4px 12px #00000026;z-index:2000;opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}.preview-toast.show{opacity:1;transform:translateY(0)}.preview-toast-success{border-color:#28a745;background-color:#d4edda;color:#155724}.preview-toast-error{border-color:#dc3545;background-color:#f8d7da;color:#721c24}.preview-toast-info{border-color:var(--accent-color);background-color:#d1ecf1;color:#004d40}.preview-toast .toast-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.preview-toast .toast-header{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600}.preview-toast .toast-icon{font-size:1.2em;line-height:1;display:flex;align-items:center}.preview-toast .toast-icon svg{display:block}.preview-toast .toast-message{flex:1}.preview-toast-with-url .toast-url-section{margin-top:var(--spacing-sm)}.preview-toast-with-url .toast-url-label{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs);color:inherit;opacity:.9}.preview-toast-with-url .toast-url-actions{display:flex;gap:var(--spacing-xs);align-items:stretch;flex-wrap:wrap}.preview-toast-with-url .toast-url-input{flex:1;min-width:200px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid currentColor;border-radius:4px;background-color:#fff;color:#000;font-size:var(--font-size-small);font-family:monospace}.preview-toast-with-url .toast-copy-btn,.preview-toast-with-url .toast-view-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid currentColor;border-radius:4px;background-color:transparent;color:inherit;font-size:var(--font-size-small);font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast);font-family:inherit;white-space:nowrap}.preview-toast-with-url .toast-copy-btn:hover,.preview-toast-with-url .toast-view-btn:hover{background-color:#0000001a}.preview-toast-with-url .toast-copy-btn:focus,.preview-toast-with-url .toast-view-btn:focus{outline:2px solid currentColor;outline-offset:2px}.preview-toast-with-url .toast-copy-btn.copied{background-color:#0003}.settings-page{background-color:#f5f5f5;min-height:100vh;padding:var(--spacing-lg) var(--spacing-md)}[data-theme=dark] .settings-page{background-color:#1a1a1a}.settings-section-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 1px 3px #0000000f}[data-theme=dark] .settings-section-card{border-color:#ffffff14;box-shadow:0 1px 3px #0000004d}.settings-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section:last-child{border-bottom:none}.settings-version-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1);text-align:center;color:#6c757d;font-size:.875rem}[data-theme=dark] .settings-version-info{border-top-color:#ffffff1a;color:#9ca3af}.section-title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-md)}.data-actions,.nostr-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.nostr-warning{background-color:#fff3cd;border:1px solid #ffc107;border-radius:var(--border-radius);padding:var(--spacing-md);color:#856404}[data-theme=dark] .nostr-warning{background-color:#664d03;border-color:#ffc107;color:#ffc107}.password-dialog-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn var(--transition-normal)}.password-dialog-header{display:flex;justify-content:space-between;align-items:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.password-dialog{background-color:var(--bg-primary);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-normal)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.password-dialog-header{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--border-color)}.password-dialog-header h3{margin:0;font-size:var(--font-size-h2)}.password-dialog-body{padding:var(--spacing-lg)}.password-info{margin-bottom:var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.password-warning{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#fff3cd;border:1px solid #ffc107;border-radius:var(--border-radius);color:#856404;font-size:var(--font-size-small);line-height:1.6}[data-theme=dark] .password-warning{background-color:#664d03;border-color:#ffc107;color:#ffc107}.password-dialog-footer{padding:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);display:flex;gap:var(--spacing-md)}.password-dialog-footer .btn-primary,.password-dialog-footer .btn-secondary{flex:1}.password-dialog-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.email-verify-row{display:flex;align-items:center;gap:var(--spacing-md, 8px);margin-top:var(--spacing-sm, 4px)}.btn-verify-email{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:var(--font-size-small, .85rem);background:var(--bg-secondary, #f0f0f0);border:1px solid var(--border-color, #ddd);border-radius:var(--border-radius, 6px);cursor:pointer;color:var(--text-primary, #333);transition:background .15s}.btn-verify-email:hover{background:var(--bg-hover, #e0e0e0)}.verify-status-verified{color:var(--success-color, #22c55e);font-size:var(--font-size-small, .85rem)}.verify-status-unverified{color:var(--warning-color, #f59e0b);font-size:var(--font-size-small, .85rem)}.verify-code-dialog{background:var(--bg-primary, #fff);border-radius:var(--border-radius-lg, 12px);padding:var(--spacing-xl, 24px);min-width:320px;max-width:400px;box-shadow:0 8px 32px #0003;z-index:1001}.verify-code-dialog h3{margin:0 0 var(--spacing-md, 8px) 0;font-size:var(--font-size-h3, 1.2rem)}.verify-code-dialog p{margin:0 0 var(--spacing-lg, 16px) 0;color:var(--text-secondary, #666);font-size:var(--font-size-small, .9rem);line-height:1.5}.verify-code-input{text-align:center;font-size:1.5rem;letter-spacing:8px;font-family:monospace}.verify-code-actions{display:flex;gap:var(--spacing-md, 8px);margin-top:var(--spacing-lg, 16px)}.verify-code-actions .btn-primary,.verify-code-actions .btn-secondary{flex:1}.verify-show-code{padding:8px 12px;background:var(--bg-secondary, #f0f0f0);border-radius:var(--border-radius, 6px);font-size:var(--font-size-small, .85rem);text-align:center;margin-bottom:var(--spacing-md, 8px)}.verify-code-display{text-align:center;font-size:1.8rem;letter-spacing:6px;font-family:monospace;padding:12px 16px;background:var(--bg-primary, #fff);border:2px dashed var(--accent-color, #d946ef);border-radius:var(--border-radius, 8px);margin-bottom:var(--spacing-lg, 16px);color:var(--accent-color, #d946ef)}.dialog-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}[data-theme=dark] .dialog-overlay{background:#000000b3}.password-strength-indicator{margin-top:var(--spacing-sm)}.strength-bar-container{width:100%;height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-xs)}.strength-bar{height:100%;transition:width var(--transition-normal),background-color var(--transition-normal);border-radius:4px}.strength-label{font-size:var(--font-size-small);font-weight:600;margin-top:var(--spacing-xs)}.password-feedback{margin-top:var(--spacing-sm);font-size:var(--font-size-small)}.feedback-item{margin:var(--spacing-xs) 0;color:var(--text-secondary);line-height:1.4}.password-match-feedback{margin-top:var(--spacing-xs);font-size:var(--font-size-small)}.help-section{margin-bottom:var(--spacing-lg)}.help-section h3{color:var(--accent-color);margin-bottom:var(--spacing-sm)}.about-section{margin-bottom:var(--spacing-lg)}.about-section h3{color:var(--accent-color);margin-bottom:var(--spacing-sm)}.about-description{font-size:var(--font-size-large);line-height:1.6;margin-bottom:var(--spacing-lg)}.about-features-list{list-style:none;padding-left:0}.about-features-list li{padding:var(--spacing-sm) 0;padding-left:var(--spacing-lg);position:relative;color:var(--text-secondary)}.about-features-list li:before{content:"✓";position:absolute;left:0;color:var(--accent-color);font-weight:700}.about-version-number{font-size:var(--font-size-large);font-weight:700;color:var(--accent-color)}.about-build-info{font-size:var(--font-size-small);color:var(--text-secondary);margin-top:calc(var(--spacing-sm) * -1)}.about-section a{color:var(--accent-color);text-decoration:none}.about-section a:hover{text-decoration:underline}.terms-section{margin-bottom:var(--spacing-lg)}.terms-section h3{color:var(--accent-color);margin-bottom:var(--spacing-sm)}.terms-last-updated{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-style:italic}.howto-section{margin-bottom:var(--spacing-lg)}.howto-section h3{color:var(--accent-color);margin-bottom:var(--spacing-sm)}.howto-intro{font-size:var(--font-size-large);line-height:1.6;margin-bottom:var(--spacing-lg)}.howto-list{list-style:none;padding-left:0;margin-bottom:var(--spacing-md)}.howto-list li{padding:var(--spacing-sm) 0;padding-left:var(--spacing-lg);position:relative;color:var(--text-secondary)}.howto-list li:before{content:"•";position:absolute;left:0;color:var(--accent-color);font-weight:700;font-size:var(--font-size-large)}.howto-note{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--bg-secondary);border-left:3px solid var(--accent-color);border-radius:var(--border-radius)}.privacy-section{margin-bottom:var(--spacing-lg)}.privacy-section h3{color:var(--accent-color);margin-bottom:var(--spacing-sm)}.privacy-last-updated{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-style:italic}.contact-section{margin-bottom:var(--spacing-lg)}.contact-description{font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--spacing-lg);color:var(--text-secondary)}.contact-form{max-width:600px;margin:0 auto}.form-actions{margin-top:var(--spacing-xl)}.contact-message{padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);font-size:var(--font-size-base);line-height:1.6}.contact-message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}[data-theme=dark] .contact-message-success{background-color:#1e4620;border-color:#2d5a2f;color:#90ee90}.contact-message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}[data-theme=dark] .contact-message-error{background-color:#4a1e1e;border-color:#5a2a2a;color:#ff6b6b}@media(min-width:768px){:root{--font-size-base: 16px;--font-size-h1: 28px;--font-size-h2: 24px}.content-area{padding-bottom:0}.bottom-bar{position:relative;box-shadow:none;border-top:none;border-bottom:var(--border-width) solid var(--border-color)}.preview-card{max-width:500px}.preview-publish-fab-container{position:fixed;bottom:90px;right:20px}.preview-publish-fab{padding:.75rem 1.25rem;font-size:.9rem}.preview-toast{max-width:calc(100vw - 2rem);right:1rem;left:1rem}}.share-dialog-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#0006;opacity:0;transition:opacity .25s ease-out}.share-dialog-overlay.show{opacity:1}.share-dialog-overlay.dismissing{opacity:0;transition:opacity .2s ease-in}.share-dialog-overlay.share-sheet{align-items:flex-end}.share-dialog-overlay.share-sheet .share-dialog-panel{width:100%;max-width:500px;border-radius:20px 20px 0 0;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.share-dialog-overlay.share-sheet.show .share-dialog-panel{transform:translateY(0)}.share-dialog-overlay.share-sheet.dismissing .share-dialog-panel{transform:translateY(100%);transition:transform .25s cubic-bezier(.32,.72,0,1)}.share-dialog-overlay:not(.share-sheet) .share-dialog-panel{width:420px;max-width:95vw;border-radius:16px;transform:scale(.95);transition:transform .25s ease-out}.share-dialog-overlay:not(.share-sheet).show .share-dialog-panel{transform:scale(1)}.share-dialog-panel{background:var(--bg-primary);max-height:90vh;overflow-y:auto;box-shadow:0 -4px 24px #00000026}.share-sheet-handle{display:none;width:36px;height:5px;background:var(--border-color);border-radius:3px;margin:12px auto 4px}.share-sheet .share-sheet-handle{display:block}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm)}.share-dialog-title{font-size:1.1rem;font-weight:700;margin:0}.share-dialog-close{background:none;border:none;font-size:1.1rem;padding:4px 8px;cursor:pointer;color:var(--text-secondary);border-radius:6px}.share-dialog-close:hover{background:var(--bg-tertiary)}.share-dialog-body{padding:0 var(--spacing-lg) var(--spacing-xl)}.share-dialog-subtitle{color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6;text-align:center;margin-bottom:var(--spacing-md)}.share-qr-section{display:flex;justify-content:center;margin:var(--spacing-md) 0}.share-qr-wrapper{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-sm);box-shadow:0 2px 8px #0000001a}.share-qr-canvas{display:block;width:120px;height:120px;image-rendering:pixelated}.share-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.share-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--spacing-md) var(--spacing-sm);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;font-size:var(--font-size-small);font-family:inherit;line-height:1.3;background-color:var(--bg-secondary);color:var(--text-primary);text-decoration:none;min-height:72px;opacity:0;transform:translateY(12px);animation:shareActionReveal .35s cubic-bezier(.32,.72,0,1) forwards;transition:background-color var(--transition-fast)}.share-action-btn:nth-child(1){animation-delay:.05s}.share-action-btn:nth-child(2){animation-delay:.1s}.share-action-btn:nth-child(3){animation-delay:.15s}.share-action-btn:nth-child(4){animation-delay:.2s}.share-action-btn:nth-child(5){animation-delay:.25s}.share-action-btn:hover{background-color:var(--bg-tertiary)}.share-action-btn:active{transform:translateY(12px) scale(.97)}.share-action-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.share-action-primary{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.share-action-primary:hover{background-color:var(--accent-hover, #a21caf)}.share-action-primary.copied{background-color:#22c55e;border-color:#22c55e}.share-action-whatsapp{background-color:#dcf8c6;border-color:#25d366;color:#075e54}[data-theme=dark] .share-action-whatsapp{background-color:#075e54;border-color:#128c7e;color:#dcf8c6}.share-action-icon{font-size:1.2rem;line-height:1}.share-action-icon svg{display:block;width:20px;height:20px}.share-action-label{font-size:.72rem;font-weight:500;white-space:nowrap}.share-card-url-row{display:flex;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-sm)}.share-url-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-xs);font-family:monospace;color:var(--text-primary);background-color:var(--bg-primary);min-width:0}.share-view-link{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--accent-color);color:#fff;text-decoration:none;border-radius:var(--border-radius);font-size:var(--font-size-small);white-space:nowrap;flex-shrink:0}.share-view-link:hover{background-color:var(--accent-hover)}.card-view-count{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--border-radius);font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.view-count-icon{font-size:1rem;line-height:1}.view-count-icon svg{display:block;width:20px;height:20px}.view-count-number{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.view-count-label{color:var(--text-tertiary)}@keyframes shareActionReveal{to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.publish-banner-url-row{flex-direction:column}.publish-banner-url-input{width:100%}.publish-banner-btn{width:100%;text-align:center}.publish-banner-cta{width:100%;justify-content:center}.share-actions-grid{grid-template-columns:1fr}.share-qr-canvas{width:100px;height:100px}}.share-action-btn{min-height:72px}.publish-banner-btn{min-height:36px}.publish-banner-cta{min-height:44px}.publish-banner *,.share-dialog-panel *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--accent-color: #d946ef}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}:root{--accent-color: var(--accent-color, #d946ef)}
