.style-dropdown{width:100%;position:relative;container-type:inline-size}.style-dropdown-trigger{background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);width:100%;min-height:48px;box-shadow:var(--shadow-sm);font-size:var(--font-size-lg);letter-spacing:-.01em;color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:11px;padding:5px 14px 5px 5px;font-weight:800;display:flex}@media (hover:hover){.style-dropdown-trigger:hover{background:var(--face-hover)}}.style-dropdown-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.style-dropdown-trigger.open{border-color:var(--color-primary);box-shadow:var(--shadow-lg);border-radius:28px 28px 0 0}.style-dropdown-trigger-icon{margin-left:var(--spacing-sm);color:var(--color-primary);flex-shrink:0}.style-thumb-crop{border:var(--stroke-w) solid var(--stroke);background:var(--paper);border-radius:50%;flex:none;width:42px;height:42px;position:relative;overflow:hidden}.style-thumb-crop img{width:auto;height:185%;left:var(--fx);top:var(--fy);transform:translate(calc(-1 * var(--fx)), calc(-1 * var(--fy)));position:absolute}.style-thumb-crop[data-style=GEN_Z]{--fx:51%;--fy:5%}.style-thumb-crop[data-style=STREET]{--fx:48%;--fy:4%}.style-thumb-crop[data-style=IT_SLANG]{--fx:32%;--fy:6%}.style-thumb-crop[data-style=KANCLER]{--fx:45%;--fy:13%}.style-thumb-crop[data-style=POFENI]{--fx:41%;--fy:9%}.style-thumb-crop[data-style=GALICIAN]{--fx:32%;--fy:8%}.style-dropdown-trigger:active:not(:disabled){box-shadow:0 0 0 var(--offset);transform:var(--press)}@media (prefers-reduced-motion:reduce){.style-dropdown-trigger:active:not(:disabled){transform:none}}.style-dropdown-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-lg);font-size:min(var(--font-size-2xl), calc((100cqw - 110px) / var(--label-cap,7.5)));flex:1;padding:0;overflow:hidden}.style-dropdown-label[data-style=GEN_Z]{--label-cap:12.9}.style-dropdown-label[data-style=STREET]{--label-cap:6.7}.style-dropdown-label[data-style=IT_SLANG]{--label-cap:7.3}.style-dropdown-label[data-style=POFENI]{--label-cap:9.5}.style-dropdown-label[data-style=KANCLER]{--label-cap:12.3}.style-dropdown-label[data-style=GALICIAN]{--label-cap:7.8}.style-dropdown-chevron{color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.style-dropdown-chevron.open{transform:rotate(180deg)}.style-dropdown-panel{top:calc(100% - var(--stroke-w));background:var(--color-bg);border:var(--stroke-w) solid var(--color-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:min(var(--style-dropdown-max-h,70dvh), 36rem);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(2,1fr);gap:12px 14px;padding:10px;animation:.2s style-dropdown-pop;display:grid;position:absolute;left:0;right:0;overflow-y:auto}@media (width<=359.98px){.style-dropdown-panel{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}@keyframes style-dropdown-pop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.style-dropdown-item{background:var(--color-tile-bg);border:var(--stroke-w) solid var(--color-tile-border);width:100%;box-shadow:var(--shadow-sm);font-size:var(--font-size-lg);color:var(--color-text);cursor:pointer;text-align:left;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);transform-origin:50%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:15px;flex-direction:column;align-items:stretch;gap:2px;padding:5px 5px 7px;font-weight:700;display:flex;position:relative}@media (hover:hover){.style-dropdown-item:hover{background:var(--color-tile-bg-hover)}}.style-dropdown-item:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.style-dropdown-panel:focus,.style-dropdown-panel:focus-visible{outline:none}.style-dropdown-item.highlighted{background:var(--color-tile-bg-hover)}.style-dropdown-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.style-dropdown-item.selected{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-tile-bg));border-color:var(--tg-link-color,var(--color-primary));box-shadow:var(--shadow-sm), inset 0 0 0 2px var(--tg-link-color,var(--color-primary))}.style-dropdown-item.selected:active{box-shadow:0 0 0 var(--offset), inset 0 0 0 2px var(--tg-link-color,var(--color-primary))}.style-dropdown-item.selected.highlighted{background:color-mix(in srgb, var(--color-primary) 20%, var(--color-tile-bg))}.style-dropdown-item.locked{color:var(--color-text-secondary)}.style-dropdown-item.locked .style-dropdown-item-art{filter:grayscale()brightness(.85)}.style-dropdown-item-art{aspect-ratio:4/3;object-fit:cover;border:var(--stroke-w) solid var(--stroke);border-radius:10px;width:100%;height:auto;display:block}.style-dropdown-item-icon{color:var(--color-primary);flex-shrink:0}.style-dropdown-item.locked .style-dropdown-item-icon{color:var(--color-text-secondary)}.style-dropdown-item-title{text-align:center;font-size:var(--font-size-base);justify-content:center;align-items:center;min-height:2.4em;line-height:1.2;display:flex}.style-dropdown-check{border-radius:var(--radius-full);background:var(--color-primary);width:26px;height:26px;color:var(--color-on-primary);border:var(--stroke-w) solid var(--stroke);font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex;position:absolute;top:11px;left:11px}.style-dropdown-lock{background:var(--flare);color:#141210;border:var(--stroke-w) solid #141210;border-radius:9px;padding:3px 6px;font-size:11px;font-weight:800;line-height:1;position:absolute;top:11px;right:11px}@media (prefers-reduced-motion:reduce){.style-dropdown-item{transition:none}.style-dropdown-item:active{transform:none}}.text-input-wrapper{border-radius:var(--radius-lg);background:var(--tg-bg-color,var(--color-bg));border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.text-input-container{position:relative}.text-input-wrapper:focus-within{border-color:var(--tg-link-color,var(--color-primary))}.text-input-wrapper.over-limit{border-color:var(--tg-destructive-color,var(--color-error))}.text-input-wrapper.warning-zone{border-color:var(--tg-warning-color,var(--color-warning))}.text-input{width:100%;min-height:120px;max-height:200px;padding:var(--spacing-sm);padding-bottom:calc(var(--spacing-sm) + var(--font-size-xs) + var(--spacing-xs));font-family:inherit;font-size:var(--font-size-editor);line-height:var(--line-height-relaxed);color:var(--tg-text-color,var(--color-text));resize:none;box-sizing:border-box;background:0 0;border:none;outline:none}.text-input::placeholder{color:var(--tg-hint-color,var(--color-text-muted))}.text-input:disabled{opacity:.6;cursor:not-allowed}.text-input-footer{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:2px solid var(--color-divider-strong);display:flex}.text-input-paste-btn,.text-input-random-btn{align-items:center;gap:var(--spacing-xs);min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);white-space:nowrap;color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-shrink:0;font-weight:700;display:inline-flex}.text-input-paste-btn:hover:not(:disabled),.text-input-random-btn:hover:not(:disabled){background:var(--face-hover)}.text-input-paste-btn:active:not(:disabled),.text-input-random-btn:active:not(:disabled){box-shadow:0 0 0 var(--offset);transform:var(--press)}.text-input-paste-btn:disabled,.text-input-random-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.text-input-paste-btn:focus-visible,.text-input-random-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.char-counter{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--tg-hint-color,var(--color-text-muted));transition:color var(--transition-fast);bottom:var(--spacing-xs);right:var(--spacing-sm);pointer-events:none;z-index:1;display:inline-flex;position:absolute}.char-counter.warning{color:var(--tg-warning-color,var(--color-warning))}.char-counter.error{color:var(--tg-destructive-color,var(--color-error))}.char-counter svg{flex-shrink:0}.text-input-clear-btn{width:44px;height:44px;color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.text-input-clear-btn:hover{background:var(--face-hover)}.text-input-clear-btn:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.text-input-clear-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}@media (width<=480px){.text-input{min-height:100px}.text-input-paste-btn span{display:none}.text-input-paste-btn,.text-input-random-btn{min-height:44px;padding:0 var(--spacing-sm)}.text-input-footer{gap:var(--spacing-xs);padding:var(--spacing-sm)}.char-counter{font-size:11px}}.preview-result{border-radius:var(--radius-lg);background:var(--tg-bg-color,var(--color-bg));border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));box-shadow:var(--shadow-lg);transition:border-color var(--transition-fast);position:relative}.preview-result:focus-within{border-color:var(--tg-link-color,var(--color-primary))}.preview-result.empty{background:var(--tg-bg-color,var(--color-bg));justify-content:center;align-items:center;min-height:140px;display:flex}.preview-empty{align-items:center;gap:var(--spacing-xs);text-align:center;padding:var(--spacing-lg);color:var(--tg-hint-color,var(--color-text-muted));flex-direction:column;display:flex}.preview-empty p{font-size:var(--font-size-base);color:var(--tg-text-color,var(--color-text));margin:0;font-weight:500}.preview-hint{font-size:var(--font-size-sm)}.preview-result.loading{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:140px;padding:var(--spacing-lg);flex-direction:column;display:flex}.preview-skeleton{gap:var(--spacing-sm);flex-direction:column;width:100%;max-width:100%;display:flex}.skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--face) 25%, var(--face-hover) 50%, var(--face) 75%);background-size:200% 100%;height:16px;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.preview-loading-text{font-size:var(--font-size-sm);color:var(--tg-hint-color,var(--color-text-muted));margin:0}.preview-result.updating,.preview-content{padding:var(--spacing-sm)}.preview-text{font-size:var(--font-size-editor);line-height:var(--line-height-relaxed);color:var(--tg-text-color,var(--color-text));white-space:pre-wrap;word-wrap:break-word;margin-bottom:var(--spacing-sm)}.preview-meta{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--tg-hint-color,var(--color-text-muted));flex-wrap:wrap;display:flex}.preview-style{color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));text-transform:uppercase;letter-spacing:.05em;border-radius:8px;align-items:center;padding:2px 6px;font-weight:800;display:inline-flex}.preview-provider{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);opacity:.7}.preview-updating-indicator{align-items:center;gap:var(--spacing-xs);color:var(--tg-link-color,var(--color-primary));font-weight:500;display:inline-flex}.preview-updating-indicator .spinning{animation:1s linear infinite spin}.preview-actions{gap:var(--spacing-sm);padding:var(--spacing-sm);border-top:2px solid var(--color-divider-strong);display:flex}.preview-result.error{min-height:140px;padding:var(--spacing-lg);border-color:var(--tg-destructive-color,var(--color-error));background:color-mix(in srgb, var(--tg-destructive-color,var(--color-error)) 8%, var(--color-bg));justify-content:center;align-items:center;display:flex}.preview-error{align-items:center;gap:var(--spacing-sm);text-align:center;flex-direction:column;max-width:280px;display:flex}.preview-error svg{color:var(--tg-destructive-color,var(--color-error));flex-shrink:0}.preview-error p{font-size:var(--font-size-sm);color:var(--tg-text-color,var(--color-text));margin:0}.retry-btn{min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);color:var(--tg-button-text-color,var(--color-on-primary));background:var(--tg-destructive-color,var(--color-error));border:var(--stroke-w) solid var(--stroke);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.retry-btn:hover{background:color-mix(in srgb, var(--tg-destructive-color,var(--color-error)) 85%, var(--ink))}.retry-btn:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.retry-btn:focus-visible{outline:2px solid var(--tg-destructive-color,var(--color-error));outline-offset:2px}.preview-result.success{padding:var(--spacing-sm)}.preview-result.success .preview-content{padding:0}.preview-result.success .preview-actions{padding-top:var(--spacing-sm);border-top:2px solid var(--color-divider-strong)}.preview-action-btn{justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;flex:1;font-weight:700;display:inline-flex}.preview-action-btn:active:not(:disabled){box-shadow:0 0 0 var(--offset);transform:var(--press)}.preview-action-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.copy-btn{color:var(--tg-text-color,var(--color-text));background:var(--face)}.copy-btn:hover:not(:disabled){background:var(--face-hover)}.copy-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.save-btn,.share-btn{color:var(--tg-button-text-color,var(--color-on-primary));background:var(--tg-link-color,var(--color-primary))}.save-btn:hover:not(:disabled),.share-btn:hover:not(:disabled){background:color-mix(in srgb, var(--tg-link-color,var(--color-primary)) 85%, var(--ink))}.save-btn:focus-visible,.share-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.save-btn .spinning{animation:1s linear infinite spin}@media (width<=480px){.preview-meta{font-size:11px}.preview-action-btn{padding:0 var(--spacing-sm);font-size:var(--font-size-sm)}.preview-action-btn span{display:none}}.toast{bottom:calc(var(--bottom-nav-height,48px) + var(--safe-area-bottom) + var(--spacing-md));left:var(--spacing-md);right:var(--spacing-md);align-items:flex-start;gap:var(--spacing-md);max-width:560px;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border:var(--stroke-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);margin:0 auto;animation:.3s ease-out toast-slide-in;display:flex;position:fixed}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-icon{flex-shrink:0;margin-top:2px}.toast-success{background:color-mix(in srgb, var(--color-success) 12%, var(--color-bg));border-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{background:color-mix(in srgb, var(--color-error) 12%, var(--color-bg));border-color:var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-info{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-bg));border-color:var(--color-primary)}.toast-info .toast-icon{color:var(--color-primary)}.toast-message{font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);overflow-wrap:break-word;white-space:pre-line;flex:1;margin:0}.toast-action{min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);color:var(--color-primary-text);background:var(--color-primary);border:var(--stroke-w) solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.toast-action:hover{background:color-mix(in srgb, var(--color-primary) 85%, var(--ink))}.toast-action:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.toast-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toast-close{width:44px;height:44px;color:var(--color-text);background:var(--face);border:var(--stroke-w) solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-close:hover{background:var(--face-hover)}.toast-close:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.toast-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=480px){.toast{left:var(--spacing-sm);right:var(--spacing-sm);gap:var(--spacing-sm);padding:var(--spacing-md)}}.translate-page{background:var(--tg-bg-color,var(--color-bg));color:var(--tg-text-color,var(--color-text));flex-direction:column;flex:1 0 auto;display:flex}.translate-page.loading{justify-content:center;align-items:center;display:flex}.translate-page.loading .loading-spinner{width:40px;height:40px}.translate-main{gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xl);flex-direction:column;flex:1;display:flex}.translate-output{flex-direction:column;gap:12px;display:flex;position:relative}.translate-output .style-dropdown{z-index:1}.translate-output .preview-result:before{content:"";box-sizing:border-box;background:var(--tg-bg-color,var(--color-bg));border-left:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-top:var(--stroke-w) solid var(--tg-border-color,var(--color-border));width:14px;height:14px;position:absolute;top:-9px;left:19px;transform:rotate(45deg)}.translate-output .preview-result.empty:before{display:none}.translate-output.active .preview-result{border-color:var(--tg-link-color,var(--color-primary))}.translate-output.active .preview-result:before{border-left-color:var(--tg-link-color,var(--color-primary));border-top-color:var(--tg-link-color,var(--color-primary))}.text-input-wrapper:focus-within~.translate-output.active .preview-result{border-color:var(--tg-border-color,var(--color-border))}.text-input-wrapper:focus-within~.translate-output.active .preview-result:before{border-left-color:var(--tg-border-color,var(--color-border));border-top-color:var(--tg-border-color,var(--color-border))}.translate-age-modal-overlay{z-index:var(--z-modal);padding:var(--spacing-lg);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.translate-age-modal{width:min(100%,24rem);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-bg);border:var(--stroke-w) solid var(--color-border);box-shadow:var(--shadow-lg)}.translate-age-modal h2{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg)}.translate-age-modal p{color:var(--color-text-secondary)}.translate-age-modal-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.translate-age-modal-actions button{min-height:44px;padding:0 var(--spacing-md);border:var(--stroke-w) solid var(--color-border);border-radius:var(--radius-full);background:var(--face);color:var(--color-text);box-shadow:var(--shadow-sm);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);font-weight:700}.translate-age-modal-actions button:hover:not(:disabled){background:var(--face-hover)}.translate-age-modal-actions button:active:not(:disabled){box-shadow:0 0 0 var(--offset);transform:var(--press)}.translate-age-modal-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.translate-age-modal-actions button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.translate-age-modal-actions .confirm{background:var(--color-primary);color:var(--color-primary-text)}.translate-age-modal-actions .confirm:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 85%, var(--ink))}@media (prefers-reduced-motion:reduce){.translate-age-modal-actions button:active:not(:disabled){transform:none}}@media (width<=480px){.translate-main{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg);gap:12px}}.select-field{justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;min-width:140px;min-height:48px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);text-align:left;color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);font-weight:700;display:inline-flex}@media (hover:hover){.select-field:hover:not(:disabled){background:var(--face-hover)}}.select-field:focus-visible,.select-field.open{border-color:var(--tg-link-color,var(--color-primary));outline:none}.select-field:active:not(:disabled){box-shadow:0 0 0 var(--offset);transform:var(--press)}.select-field:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.select-field-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-field-chevron{color:var(--tg-hint-color,var(--color-text-muted));transition:transform var(--transition-fast);flex-shrink:0}.select-field-chevron.open{transform:rotate(180deg)}.select-field-panel{z-index:var(--z-dropdown);max-height:min(50vh,320px);padding:var(--spacing-xs);background:var(--tg-bg-color,var(--color-bg));border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;overflow-y:auto}.select-field-panel:focus{outline:none}.select-field-option{justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;min-height:44px;padding:var(--spacing-xs) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);text-align:left;color:var(--tg-text-color,var(--color-text));border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;display:flex}.select-field-option.highlighted{background:var(--face-hover)}.select-field-option.selected{color:var(--tg-link-color,var(--color-primary));font-weight:700}.select-field-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-field-check{color:var(--tg-link-color,var(--color-primary));flex-shrink:0}.error-banner{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tg-destructive-color,var(--color-error)) 12%, var(--color-bg));border:var(--stroke-w) solid var(--tg-destructive-color,var(--color-error));box-shadow:var(--shadow-sm);animation:.3s ease-out error-banner-slide-in;display:flex}@keyframes error-banner-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-banner-icon{width:24px;height:24px;color:var(--tg-destructive-color,var(--color-error));flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.error-banner-message{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--tg-text-color,var(--color-text));word-break:break-word;flex:1;margin:0}.error-banner-retry{justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);color:var(--tg-button-text-color,var(--color-on-primary));background:var(--tg-destructive-color,var(--color-error));border:var(--stroke-w) solid var(--stroke);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;flex-shrink:0;font-weight:700;display:inline-flex}.error-banner-retry:hover{background:color-mix(in srgb, var(--tg-destructive-color,var(--color-error)) 85%, var(--ink))}.error-banner-retry:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.error-banner-retry:focus-visible{outline:2px solid var(--tg-destructive-color,var(--color-error));outline-offset:2px}.error-banner-dismiss{width:44px;height:44px;color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.error-banner-dismiss:hover{background:var(--face-hover)}.error-banner-dismiss:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.error-banner-dismiss:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.error-banner-offline,.error-banner-rate_limited{background:color-mix(in srgb, var(--tg-warning-color,var(--color-warning)) 12%, var(--color-bg));border-color:var(--tg-warning-color,var(--color-warning))}.error-banner-offline .error-banner-icon,.error-banner-rate_limited .error-banner-icon{color:var(--tg-warning-color,var(--color-warning))}.error-banner-unauthorized .error-banner-retry,.error-banner-age_restricted_style .error-banner-retry{background:var(--tg-link-color,var(--color-primary))}.error-banner-unauthorized .error-banner-retry:hover,.error-banner-age_restricted_style .error-banner-retry:hover{background:color-mix(in srgb, var(--tg-link-color,var(--color-primary)) 85%, var(--ink))}@media (width<=480px){.error-banner{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.error-banner-message{font-size:var(--font-size-sm);margin-top:var(--spacing-xs);flex-basis:calc(100% - 24px)}.error-banner-retry{padding:0 var(--spacing-sm)}.error-banner-retry span{display:none}}.history-page{background:var(--tg-bg-color,var(--color-bg));min-width:0;max-width:100%;color:var(--tg-text-color,var(--color-text));flex-direction:column;flex:1 0 auto;display:flex}.history-loading{padding:var(--spacing-xl);flex:1;justify-content:center;align-items:center;display:flex}.history-loading .loading-spinner{width:40px;height:40px}.history-topbar{z-index:10;background:var(--tg-bg-color,var(--color-bg));border-bottom:var(--stroke-w) solid var(--tg-border-color,var(--color-border));position:sticky;top:0}.history-header{padding:var(--spacing-md) var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:relative}.history-header h1{margin:0}.history-stats{right:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--tg-hint-color,var(--color-text-secondary));font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;top:50%;transform:translateY(-50%)}.history-filters{gap:var(--spacing-sm);min-width:0;padding:0 var(--spacing-lg) var(--spacing-md);display:flex}.history-search{appearance:none;min-width:0;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);color:var(--tg-text-color,var(--color-text));background:var(--tg-bg-color,var(--color-bg));border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);flex:1}.history-search:focus{border-color:var(--tg-link-color,var(--color-primary));outline:none}.history-search::placeholder{color:var(--tg-hint-color,var(--color-text-muted))}.history-filters .select-field{flex-shrink:0;width:auto;min-width:150px}.history-empty{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--tg-hint-color,var(--color-text-muted));flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.history-empty p:first-child{font-size:var(--font-size-lg);color:var(--tg-text-color,var(--color-text));margin:0 0 var(--spacing-xs);font-weight:700}.history-empty-hint{font-size:var(--font-size-sm);max-width:280px;line-height:var(--line-height-relaxed);margin:0}.history-list{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xl);min-width:0;margin:0;list-style:none}.history-item{margin-bottom:var(--spacing-md)}.history-entry{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:var(--tg-bg-color,var(--color-bg));border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);flex-direction:column;display:flex}@media (hover:hover){.history-entry:hover{border-color:var(--tg-link-color,var(--color-primary))}}.history-entry-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.history-style-badge{padding:2px var(--spacing-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:var(--sun);color:#141210;border:var(--stroke-w) solid #141210;border-radius:var(--radius-full);align-items:center;font-weight:800;display:inline-flex}.history-style-pofeni{background:var(--flare)}.history-time{font-size:var(--font-size-xs);color:var(--tg-hint-color,var(--color-text-muted));white-space:nowrap}.history-entry-content{gap:var(--spacing-xs);flex-direction:column;display:flex}.history-original,.history-translated{line-height:var(--line-height-normal);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;margin:0}.history-original{font-size:var(--font-size-base);color:var(--tg-hint-color,var(--color-text-secondary));font-style:italic}.history-match{background:var(--sun);color:#141210;border-radius:3px;padding:0 2px;font-weight:700}.history-translated{padding-top:var(--spacing-xs);border-top:var(--stroke-w) solid var(--color-divider-strong);font-size:var(--font-size-lg);color:var(--tg-text-color,var(--color-text));font-weight:500}.history-entry-actions{justify-content:flex-end;gap:var(--spacing-xs);padding-top:var(--spacing-xs);display:flex}.history-favorite-btn,.history-delete-btn,.history-share-btn{width:44px;height:44px;color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.history-favorite-btn:hover,.history-delete-btn:hover,.history-share-btn:hover{background:var(--face-hover)}}.history-favorite-btn:active,.history-delete-btn:active,.history-share-btn:active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.history-favorite-btn:focus-visible,.history-delete-btn:focus-visible,.history-share-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.history-favorite-btn.active{color:#141210;background:var(--flare)}@media (hover:hover){.history-favorite-btn.active:hover{background:color-mix(in srgb, var(--flare) 85%, var(--ink))}}.history-load-more{justify-content:center;align-items:center;gap:var(--spacing-sm);width:auto;min-height:48px;padding:0 var(--spacing-lg);margin:0 var(--spacing-lg) var(--spacing-xl);font-family:inherit;font-size:var(--font-size-base);color:var(--tg-text-color,var(--color-text));background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);font-weight:700;display:flex}@media (hover:hover){.history-load-more:hover:not(:disabled){background:var(--face-hover)}}.history-load-more:not(:disabled):active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.history-load-more:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.history-load-more:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}@media (width<=480px){.history-header{padding:var(--spacing-sm) var(--spacing-md)}.history-stats{right:var(--spacing-md);font-size:var(--font-size-xs)}.history-filters{padding:0 var(--spacing-md) var(--spacing-sm)}.history-filters .select-field{min-width:120px}.history-list{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg)}.history-entry{padding:var(--spacing-xs) var(--spacing-sm)}.history-load-more{margin:0 var(--spacing-md) var(--spacing-lg);padding:0 var(--spacing-md)}}.password-prompt-form{gap:var(--spacing-md);flex-direction:column;display:flex}.password-prompt-input{width:100%;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);border:var(--stroke-w) solid var(--color-border);border-radius:var(--radius-md);letter-spacing:.08em}.password-prompt-input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.password-prompt-input:disabled{opacity:.6}.password-prompt-error{font-size:var(--font-size-sm);color:var(--color-error);line-height:1.4}.settings-page{background:var(--tg-bg-color,var(--color-bg));min-width:0;max-width:100%;color:var(--tg-text-color,var(--color-text));flex-direction:column;flex:1 0 auto;display:flex}.settings-page.loading{justify-content:center;align-items:center}.settings-page.loading .loading-spinner{width:40px;height:40px}.settings-header{z-index:10;padding:var(--spacing-md) var(--spacing-lg);background:var(--tg-bg-color,var(--color-bg));border-bottom:var(--stroke-w) solid var(--tg-border-color,var(--color-border));position:sticky;top:0}.settings-header h1{margin:0}.settings-main{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);flex:1}.settings-section{margin-bottom:var(--spacing-md)}.settings-section:last-child{margin-bottom:0}.settings-section-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:var(--line-height-tight);color:var(--tg-text-color,var(--color-text))}.settings-item{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-divider);display:flex}.settings-item:last-child{border-bottom:none}.settings-item-info{flex:1;min-width:0}.settings-item-label{font-size:var(--font-size-base);color:var(--tg-text-color,var(--color-text));font-weight:500}.settings-item-description{font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--tg-hint-color,var(--color-text-secondary));margin-top:2px;display:block}.settings-item-control{flex-shrink:0;justify-content:flex-end;width:48%;max-width:200px;display:flex}.settings-item.settings-item-stacked{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.settings-item.settings-item-stacked .settings-item-control{justify-content:stretch;width:100%;max-width:none}.settings-toggle{cursor:pointer;align-items:center;min-height:44px;display:inline-flex;position:relative}.settings-toggle input{opacity:0;width:0;height:0;position:absolute}.settings-toggle-slider{background:var(--face);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);width:52px;height:30px;transition:background-color var(--transition-fast);display:block;position:relative}.settings-toggle-slider:before{content:"";box-sizing:border-box;background:var(--paper);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));width:22px;height:22px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.settings-toggle input:checked+.settings-toggle-slider{background:var(--tg-link-color,var(--color-primary))}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(22px)}.settings-toggle input:focus-visible+.settings-toggle-slider{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.settings-toggle input:disabled+.settings-toggle-slider{opacity:.5;cursor:not-allowed}.settings-btn{min-height:44px;padding:0 var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);border:var(--stroke-w) solid var(--tg-border-color,var(--color-border));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.settings-btn:not(:disabled):active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.settings-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.settings-btn:focus-visible{outline:2px solid var(--tg-link-color,var(--color-primary));outline-offset:2px}.settings-btn-secondary{color:var(--tg-text-color,var(--color-text));background:var(--face)}@media (hover:hover){.settings-btn-secondary:hover:not(:disabled){background:var(--face-hover)}}.settings-btn-danger{color:var(--on-blue);background:var(--tg-destructive-color,var(--color-error))}@media (hover:hover){.settings-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--tg-destructive-color,var(--color-error)) 85%, var(--ink))}}@media (width<=480px){.settings-header{padding:var(--spacing-sm) var(--spacing-md)}.settings-main{padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm)}.settings-item{padding:var(--spacing-sm) 0}.settings-item-control{width:50%;max-width:180px}}.loading-screen{min-height:100dvh;padding:var(--spacing-xl);background:var(--tg-bg-color,var(--color-bg));color:var(--tg-text-color,var(--color-text));flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-screen .loading-spinner{width:48px;height:48px;margin-bottom:var(--spacing-md)}.loading-text{font-size:var(--font-size-base);color:var(--tg-hint-color,var(--color-text-muted));text-align:center;margin:0;font-weight:500}@media (width<=480px){.loading-screen .loading-spinner{width:40px;height:40px}.loading-text{font-size:var(--font-size-sm)}}:root{--bottom-nav-height:48px}.bottom-nav{z-index:var(--z-dropdown);height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding:0 var(--spacing-xs) var(--safe-area-bottom);background:var(--paper);border-top:var(--stroke-w) solid var(--stroke);align-items:stretch;display:flex;position:absolute;bottom:0;left:0;right:0}.bottom-nav-item{min-width:0;color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav-glyph{width:62px;max-width:100%;height:36px;transition:background-color var(--transition-fast), color var(--transition-fast);border-radius:13px;justify-content:center;align-items:center;display:flex}.bottom-nav-icon{flex-shrink:0}.bottom-nav-item.active .bottom-nav-glyph{background:var(--ink);color:var(--paper)}@media (hover:hover){.bottom-nav-item:hover .bottom-nav-glyph{background:var(--face)}.bottom-nav-item.active:hover .bottom-nav-glyph{background:color-mix(in srgb, var(--ink) 85%, var(--paper))}}.bottom-nav-item:active .bottom-nav-glyph{background:var(--face-hover)}.bottom-nav-item.active:active .bottom-nav-glyph{background:color-mix(in srgb, var(--ink) 75%, var(--paper))}.bottom-nav-item:focus-visible{outline:none}.bottom-nav-item:focus-visible .bottom-nav-glyph{outline:2px solid var(--color-primary);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.bottom-nav-glyph{transition:none}}.app-layout{background:var(--color-bg);width:100%;height:100dvh;max-height:100dvh;color:var(--color-text);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-layout-content{width:100%;min-height:0;padding-bottom:calc(var(--bottom-nav-height,48px) + var(--safe-area-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow:hidden auto}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2eee4;--ink:#141210;--stroke:var(--ink);--face:#e6dcc3;--face-hover:#dccfae;--offset:#d98a0b;--sun:#f7c948;--flare:#ff4a6e;--ink-blue:#2b4bd8;--on-blue:#f6f3ec;--stroke-w:2px;--press:translate(4px, 4px);--tg-bg-color:var(--paper);--tg-text-color:var(--ink);--tg-hint-color:color-mix(in srgb, var(--ink) 52%, var(--paper));--tg-link-color:var(--ink-blue);--tg-button-color:var(--ink-blue);--tg-button-text-color:var(--on-blue);--tg-border-color:var(--stroke);--tg-destructive-color:#cc2b48;--tg-warning-color:var(--offset);--safe-area-top:0px;--safe-area-bottom:0px;--safe-area-left:0px;--safe-area-right:0px;--color-primary:var(--tg-button-color);--color-primary-text:var(--tg-button-text-color);--color-on-primary:var(--tg-button-text-color);--color-bg:var(--tg-bg-color);--color-text:var(--tg-text-color);--color-text-secondary:var(--tg-hint-color);--color-text-muted:var(--tg-hint-color);--color-border:var(--stroke);--color-error:var(--tg-destructive-color);--color-success:#1f7a4d;--color-warning:var(--offset);--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--color-tile-bg:var(--face);--color-tile-bg-hover:var(--face-hover);--color-tile-border:var(--stroke);--color-divider-strong:var(--stroke);--color-divider:color-mix(in srgb, var(--ink) 22%, var(--paper));--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:4px 4px 0 var(--offset);--shadow-md:4px 4px 0 var(--offset);--shadow-lg:6px 6px 0 var(--offset);--transition-fast:.15s ease;--transition-normal:.25s ease;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.7;--font-size-editor:var(--font-size-xl);--z-dropdown:100;--z-modal:200;--z-toast:300}@media (width<=480px){:root{--font-size-editor:var(--font-size-lg)}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#131210;--ink:#f2eee4;--face:#2a2622;--face-hover:#363029;--offset:var(--sun);--ink-blue:#8fa6ff;--on-blue:#10100e;--tg-destructive-color:var(--flare);--color-success:#57c98d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#131210;--ink:#f2eee4;--face:#2a2622;--face-hover:#363029;--offset:var(--sun);--ink-blue:#8fa6ff;--on-blue:#10100e;--tg-destructive-color:var(--flare);--color-success:#57c98d}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);overscroll-behavior:none;flex-direction:column;min-height:100dvh;line-height:1.5;display:flex}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.safe-area-left{padding-left:var(--safe-area-left)}.safe-area-right{padding-right:var(--safe-area-right)}#root{flex-direction:column;flex:1;width:100%;min-width:320px;display:flex}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:var(--radius-full);opacity:.3}::-webkit-scrollbar-thumb:hover{opacity:.5}::selection{background:var(--color-primary);color:var(--color-primary-text)}.loading-spinner{border:3px solid color-mix(in srgb, var(--ink) 22%, var(--paper));border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}.skeleton-line{background:linear-gradient(90deg, var(--face) 25%, var(--face-hover) 50%, var(--face) 75%);border-radius:var(--radius-sm);background-size:200% 100%;height:16px;margin-bottom:8px;animation:1.5s infinite shimmer}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:48px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);background:var(--face);color:var(--color-text);border:var(--stroke-w) solid var(--stroke);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;font-weight:700;line-height:1.5;text-decoration:none;display:inline-flex}.btn:not(:disabled):active{box-shadow:0 0 0 var(--offset);transform:var(--press)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 var(--offset);transform:var(--press)}.btn-primary{background:var(--color-primary);color:var(--color-primary-text)}.btn-primary:not(:disabled):hover{background:color-mix(in srgb, var(--color-primary) 85%, var(--ink))}.btn-secondary{background:var(--face);color:var(--color-text)}.btn-secondary:not(:disabled):hover{background:var(--face-hover)}.btn-danger{background:var(--color-error);color:var(--on-blue)}.btn-danger:not(:disabled):hover{background:color-mix(in srgb, var(--color-error) 85%, var(--ink))}.input,textarea{background:var(--paper);border:var(--stroke-w) solid var(--stroke);border-radius:var(--radius-md);width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text);transition:border-color var(--transition-fast);font-family:inherit}.input{min-height:48px;box-shadow:var(--shadow-sm)}.input:focus,textarea:focus{border-color:var(--color-primary);outline:none}.input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}textarea{resize:none;min-height:120px;line-height:1.6}.modal-overlay{padding:var(--spacing-md);z-index:var(--z-modal);background:#00000073;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border:var(--stroke-w) solid var(--stroke);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);animation:.3s slide-up}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--spacing-sm);font-weight:600}.modal-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.modal-actions{gap:var(--spacing-md);justify-content:flex-end;display:flex}.page-title{width:100%;font-size:var(--font-size-2xl);line-height:var(--line-height-tight);text-align:center;color:var(--color-text);font-weight:700;display:block}.badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);letter-spacing:.09em;text-transform:uppercase;background:var(--sun);color:#141210;border:var(--stroke-w) solid #141210;border-radius:var(--radius-full);align-items:center;font-weight:800;display:inline-flex}.badge-success{background:var(--color-success);color:#141210}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.text-center{text-align:center}.page-enter{animation:.3s page-in}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(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}.loading-spinner,.spinner-sm{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}
