.app{background:var(--bg-card);border-radius:24px;padding:40px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.header{position:relative;text-align:center;margin-bottom:36px}.header .theme-toggle{position:absolute;top:0;right:0}.header .install-btn{position:absolute;top:0;left:0}.theme-toggle,.install-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all var(--transition);color:var(--text-secondary);font-size:1.1rem}.theme-toggle:hover,.install-btn:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent);transform:scale(1.05)}.logo{font-size:2.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;transition:color var(--transition)}.logo span{cursor:help}.logo span.active,.logo span:hover{color:var(--accent)}.main{display:flex;flex-direction:column;gap:28px}.input-section{width:100%}.input-wrapper{position:relative}.input-action-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-tertiary);transition:all var(--transition);padding:0}.input-action-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--text-tertiary)}.input-action-btn:disabled{opacity:.3;cursor:not-allowed}.input-action-btn svg{width:18px;height:18px}.input{width:100%;padding:16px 52px 16px 20px;font-size:1rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:14px;color:var(--text-primary);resize:none;transition:all var(--transition);font-family:inherit;line-height:1.6}.input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 4px #6366f11a}.input::placeholder{color:var(--text-tertiary)}.char-count{text-align:right;font-size:.8rem;color:var(--text-tertiary);margin-top:6px;transition:color var(--transition)}.char-count.warning{color:#ca8a04}.char-count.danger{color:#dc2626}.service-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;margin-left:auto;margin-right:auto}.service-icon{position:relative;width:20px;height:20px;opacity:.4;transition:all var(--transition);cursor:pointer}.service-icon svg{width:100%;height:100%;fill:var(--text-secondary)}.service-icon:hover{opacity:.7;transform:scale(1.1)}.service-icon:hover:after{content:attr(data-name);position:absolute;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;white-space:nowrap;z-index:10;box-shadow:0 2px 8px #00000026}.service-icon.tooltip-top:hover:after{bottom:100%;margin-bottom:6px}.service-icon.tooltip-bottom:hover:after{top:100%;margin-top:6px}.service-icon.active{opacity:1}.service-icon.active svg{fill:var(--accent)}.qr-section{display:flex;flex-direction:column;align-items:center;gap:16px}.history-btn{width:280px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.history-btn:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.history-btn svg{flex-shrink:0}.qr-container{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;background:#fff;padding:0;border:2px solid transparent;border-radius:16px;box-shadow:var(--shadow-md);box-sizing:border-box}.save-icon{position:absolute;bottom:10px;right:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:0;transition:background var(--transition)}.save-icon:active{background:#000c}.qr-image{display:block;width:280px;height:280px;object-fit:contain;border-radius:16px}.qr-placeholder{width:280px;height:280px;display:flex;justify-content:center;align-items:center;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:16px;text-align:center;padding:24px;box-sizing:border-box}.placeholder-text{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin:0}.footer{text-align:center;margin-top:32px;font-size:.8rem;transition:color var(--transition)}.footer-privacy{color:var(--text-tertiary);margin:0 0 4px}.footer-copy{color:var(--text-tertiary);margin:0;opacity:.7}@media(max-width:480px){.app{padding:28px 24px;border-radius:20px}.logo{font-size:2rem}.qr-container,.qr-image,.qr-placeholder{width:240px;height:240px}.history-btn{width:240px}}.history-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.history-modal{background:var(--bg-card);border-radius:20px;width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);overflow:hidden}.history-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.history-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.history-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.history-close-btn:hover{background:var(--bg-secondary);border-color:var(--text-tertiary);color:var(--text-primary)}.history-content{flex:1;overflow-y:auto;padding:12px}.history-empty{text-align:center;padding:48px 24px;color:var(--text-tertiary)}.history-empty p{margin:0}.history-empty-hint{font-size:.85rem;margin-top:8px!important;opacity:.7}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border-radius:12px;overflow:hidden;transition:all var(--transition)}.history-item:hover{background:var(--bg-secondary)}.history-item-main{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;min-width:0}.history-item-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.history-item-icon svg{width:20px;height:20px;fill:var(--accent);color:var(--accent)}.history-item-text{flex:1;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-delete{display:flex;align-items:center;justify-content:center;width:44px;align-self:stretch;background:none;border:none;border-left:1px solid var(--border-color);cursor:pointer;color:var(--text-tertiary);transition:all var(--transition)}.history-item-delete:hover{background:#ef44441a;color:#ef4444}.history-footer{padding:16px 24px;border-top:1px solid var(--border-color)}.history-clear-btn{width:100%;padding:12px;background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-tertiary);font-size:.9rem;cursor:pointer;transition:all var(--transition)}.history-clear-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.ios-install-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ios-install-modal{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:400px;padding:24px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ios-install-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 8px;text-align:center}.ios-install-benefit{text-align:center;color:var(--accent);font-size:.9rem;margin:0 0 20px}.ios-install-steps{margin-bottom:20px}.ios-install-steps p{display:flex;align-items:center;gap:8px;color:var(--text-secondary);margin:0 0 12px;font-size:1rem;line-height:1.5}.ios-share-icon{display:inline-block;vertical-align:middle;color:var(--accent)}.ios-install-close{width:100%;padding:14px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.ios-install-close:hover{opacity:.9}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f4;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #4a4a68;--text-tertiary: #8e8ea0;--border-color: #e4e4e7;--border-focus: #6366f1;--accent: #6366f1;--accent-hover: #4f46e5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--transition: .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-card: #16161e;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--border-color: #27272a;--border-focus: #818cf8;--accent: #818cf8;--accent-hover: #6366f1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .4)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-secondary);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:24px;transition:background var(--transition),color var(--transition)}@media(min-width:481px){body{align-items:center}}#root{width:100%;max-width:560px}
