.cartoon-page{z-index:1;max-width:1180px;padding:calc(var(--navbar-height) + 3rem) 1.5rem 5rem;margin:0 auto;position:relative}.restoring-spinner{border:3px solid #ffffff2e;border-top-color:var(--accent-secondary,#ff8bd0);border-radius:50%;width:28px;height:28px;margin-top:.75rem;animation:.9s linear infinite cartoon-spin;display:inline-block}.restoring-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.85rem;display:flex}.cartoon-primary-link-button{appearance:none;font:inherit;cursor:pointer;border:none}.cartoon-primary-link-button:disabled{cursor:progress;opacity:.7}.cartoon-secondary-link{color:var(--text-secondary);font-size:.92rem;text-decoration:underline}.cartoon-secondary-link:hover{color:var(--text-primary)}.admin-cta-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.admin-usage-cta{color:var(--text-primary);cursor:pointer;background:linear-gradient(135deg,#ff8bd02e,#7ea8ff2e);border:1px solid #ff8bd059;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.admin-usage-cta.admin-kb-cta{background:linear-gradient(135deg,#7ea8ff2e,#50c8782e);border-color:#7ea8ff6b}.admin-usage-cta.admin-kb-cta:hover{border-color:#7ea8ffb3;box-shadow:0 14px 32px #7ea8ff47}.admin-usage-cta.admin-kb-cta .admin-usage-cta-arrow{color:var(--accent-tertiary,#7ea8ff)}.admin-usage-cta.admin-kb-cta .admin-usage-cta-text strong{background:linear-gradient(135deg, var(--accent-tertiary,#7ea8ff), #8fe6c0);color:#0000;-webkit-background-clip:text;background-clip:text}.admin-usage-cta:hover{border-color:#ff8bd099;transform:translateY(-2px);box-shadow:0 14px 32px #ff8bd040}.admin-usage-cta-icon{filter:drop-shadow(0 0 6px #ffffff2e);font-size:1.8rem;line-height:1}.admin-usage-cta-text{flex-direction:column;gap:.15rem;line-height:1.25;display:flex}.admin-usage-cta-text strong{background:linear-gradient(135deg, var(--accent-secondary,#ff8bd0), var(--accent-tertiary,#7ea8ff));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700}.admin-usage-cta-text small{color:var(--text-secondary);font-size:.82rem}.admin-usage-cta-arrow{color:var(--accent-secondary,#ff8bd0);font-size:1.4rem;transition:transform .18s}.admin-usage-cta:hover .admin-usage-cta-arrow{transform:translate(4px)}.cartoon-hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:2rem;margin-bottom:2rem;display:grid}.cartoon-hero-copy h1{letter-spacing:-.05em;background:linear-gradient(135deg, var(--text-primary), var(--accent-secondary), var(--accent-tertiary));color:#0000;-webkit-background-clip:text;background-clip:text;margin:.5rem 0 1rem;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1}.cartoon-hero-copy p{color:var(--text-secondary);max-width:680px;font-size:1.1rem}.cartoon-kicker{color:var(--accent-secondary);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.cartoon-example-card,.cartoon-card{border:1px solid var(--glass-border);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px);background:#ffffff0e;border-radius:28px}.cartoon-example-card{min-height:320px;padding:1.5rem;overflow:hidden}.cartoon-example-scene{background:radial-gradient(circle at 25% 25%,#f472b659,#0000 35%),radial-gradient(circle at 75% 20%,#06b6d459,#0000 35%),linear-gradient(145deg,#8b5cf638,#0f172abf);border-radius:24px;place-items:center;height:100%;min-height:280px;display:grid;position:relative}.cartoon-bubble{color:#111827;text-align:center;background:#ffffffeb;border-radius:999px;padding:.75rem 1rem;font-weight:800;position:absolute;top:1.25rem;left:1.25rem;right:1.25rem;box-shadow:0 16px 50px #00000038}.cartoon-cat,.cartoon-bag{filter:drop-shadow(0 16px 30px #0000004d);position:absolute}.cartoon-cat{font-size:6rem;bottom:30%;left:24%;transform:rotate(-10deg)}.cartoon-bag{font-size:6.5rem;bottom:18%;right:22%;transform:rotate(10deg)}.cartoon-card{margin-bottom:1.5rem;padding:1.5rem}.generator-card{gap:1.5rem;display:grid}.cartoon-auth-callout{text-align:center;padding:2rem 1rem}.cartoon-auth-callout h2,.section-heading-row h2{margin:.25rem 0;font-size:1.6rem}.cartoon-auth-callout p,.empty-state{color:var(--text-secondary)}.cartoon-primary-link,#generateBtn{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow);transition:transform var(--transition-fast), opacity var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-weight:800;display:inline-flex}.cartoon-primary-link:hover,#generateBtn:hover{color:#fff;transform:translateY(-1px)}.cartoon-form label{color:var(--text-primary);margin-bottom:.65rem;font-weight:800;display:block}.prompt-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:1rem;display:grid}#cartoonPrompt{resize:vertical;border:1px solid var(--glass-border);width:100%;min-height:110px;color:var(--text-primary);background:#00000038;border-radius:20px;outline:none;padding:1rem}#cartoonPrompt:focus{border-color:rgba(var(--accent-secondary-rgb), .7);box-shadow:0 0 0 3px rgba(var(--accent-secondary-rgb), .12)}#generateBtn{border:none;min-width:150px}#generateBtn:disabled{cursor:not-allowed;opacity:.65;transform:none}.generate-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.9s linear infinite cartoon-spin;display:none}#generateBtn.loading .generate-spinner{display:inline-block}@keyframes cartoon-spin{to{transform:rotate(360deg)}}.prompt-input-wrap{min-width:0;position:relative}.prompt-input-wrap #cartoonPrompt{padding-right:3.4rem}.mic-btn{border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:#00000059;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:10px;right:10px}.mic-btn:hover{color:var(--text-primary);background:rgba(var(--accent-secondary-rgb), .18);transform:translateY(-1px)}.mic-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.mic-btn .mic-spinner,.mic-btn .mic-countdown{display:none}.mic-btn.recording{color:#fff;background:#e5484d;border-color:#e5484d;animation:1.4s ease-out infinite mic-pulse;box-shadow:0 0 #e5484d8c}.mic-btn.recording .mic-icon{display:none}.mic-btn.recording .mic-countdown{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:800;display:inline-block}@keyframes mic-pulse{0%{box-shadow:0 0 #e5484d8c}70%{box-shadow:0 0 0 10px #e5484d00}to{box-shadow:0 0 #e5484d00}}.mic-btn.transcribing{color:var(--text-primary)}.mic-btn.transcribing .mic-icon{display:none}.mic-btn.transcribing .mic-spinner{border:2px solid #ffffff59;border-top-color:var(--text-primary);border-radius:50%;width:16px;height:16px;animation:.9s linear infinite cartoon-spin;display:inline-block}.mic-status{color:var(--text-tertiary);margin:.55rem 0 0;font-size:.88rem}.mic-status.is-error{color:#ff8a8a}.voice-survey{z-index:1200;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.voice-survey-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;position:absolute;inset:0}.voice-survey-box{background:var(--bg-card,#14182a);border:1px solid var(--glass-border);width:min(440px,100%);box-shadow:var(--shadow-glow);border-radius:22px;padding:1.6rem 1.5rem 1.3rem;animation:.18s ease-out voice-survey-pop;position:relative}@keyframes voice-survey-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.voice-survey-box h3{color:var(--text-primary);margin:0 0 .6rem;font-size:1.15rem}.voice-survey-close{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.voice-survey-close:hover{color:var(--text-primary);background:#ffffff14}.voice-survey-heard{color:var(--text-secondary);margin:0 0 1rem;font-size:.92rem}.voice-survey-heard span{color:var(--text-primary);font-style:italic;font-weight:700}.voice-survey-rate{gap:.75rem;display:flex}.voice-survey-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:#ffffff0d;border-radius:14px;flex:1;padding:.75rem 1rem;font-weight:700}.voice-survey-btn:hover{transform:translateY(-1px)}.voice-survey-btn.good.is-selected{background:#2ecc712e;border-color:#2ecc7199}.voice-survey-btn.bad.is-selected{background:#e5484d2e;border-color:#e5484d99}.voice-survey-comment{resize:vertical;border:1px solid var(--glass-border);width:100%;min-height:70px;color:var(--text-primary);background:#00000038;border-radius:14px;outline:none;margin-top:1rem;padding:.8rem}.voice-survey-actions{justify-content:flex-end;margin-top:.85rem;display:flex}.voice-survey-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.65rem 1.2rem;font-weight:800}.voice-survey-hint{color:var(--text-tertiary);margin:1rem 0 0;font-size:.82rem}.prompt-meta{color:var(--text-tertiary);justify-content:space-between;gap:1rem;margin:.65rem 0 1rem;font-size:.9rem;display:flex}.context-block{border:1px dashed var(--glass-border);background:#00000024;border-radius:18px;margin:0 0 1rem;padding:.9rem 1rem}.cartoon-form .context-label{margin-bottom:.35rem;font-size:.95rem;font-weight:700}.context-optional{color:var(--text-tertiary);font-weight:500}.context-help{color:var(--text-tertiary);margin:0 0 .6rem;font-size:.85rem;line-height:1.45}.context-input-wrap{min-width:0;position:relative}.context-input{resize:vertical;border:1px solid var(--glass-border);width:100%;min-height:68px;color:var(--text-primary);font:inherit;background:#00000038;border-radius:16px;outline:none;padding:.8rem 3.4rem .8rem .9rem}.context-input:focus{border-color:rgba(var(--accent-secondary-rgb), .7);box-shadow:0 0 0 3px rgba(var(--accent-secondary-rgb), .12)}.context-input-wrap .mic-btn{width:34px;height:34px;bottom:8px;right:8px}.context-meta{margin:.45rem 0 0;font-size:.82rem}.context-saved{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.context-saved-text{color:var(--text-secondary);flex:16rem;margin:0;font-size:.95rem;line-height:1.55}.context-saved-label{color:var(--text-tertiary)}.context-saved q{color:var(--text-primary);font-style:italic}.context-saved.is-ignored .context-saved-text{opacity:.45;text-decoration:line-through}.context-saved-actions{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.context-link{color:rgba(var(--accent-secondary-rgb), .95);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.context-link:hover:not(:disabled){color:var(--text-primary)}.context-link:disabled{cursor:not-allowed;opacity:.55}.context-link[aria-pressed=true]{color:var(--text-primary);font-weight:700}.context-link.is-danger{color:var(--accent-danger,#ef4444)}.context-btn{border:1px solid var(--glass-border);border-radius:var(--radius-full);min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#ffffff0f;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.05rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.context-btn:hover:not(:disabled){color:var(--text-primary);border-color:rgba(var(--accent-secondary-rgb), .5);background:rgba(var(--accent-secondary-rgb), .12)}.context-btn:active:not(:disabled){transform:translateY(1px)}.context-btn:focus-visible{outline:2px solid rgba(var(--accent-secondary-rgb), .9);outline-offset:2px}.context-btn:disabled{cursor:not-allowed;opacity:.5}.context-btn[aria-pressed=true]{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb), .6);background:rgba(var(--accent-primary-rgb), .18)}.context-btn-primary{background:var(--gradient-primary);color:#fff;border-color:#0000;font-weight:700}.context-btn-primary:hover:not(:disabled){color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-glow);border-color:#0000}.context-btn-danger{border-color:rgba(var(--warning-rgb), .55);background:rgba(var(--warning-rgb), .12);color:var(--text-primary)}.context-btn-danger:hover:not(:disabled){border-color:rgba(var(--warning-rgb), .85);background:rgba(var(--warning-rgb), .2);color:var(--text-primary)}.context-share-group{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.context-share-status{border-radius:var(--radius-full);color:var(--text-secondary);white-space:nowrap;background:#ffffff12;align-items:center;padding:.22rem .62rem;font-size:.82rem;font-weight:600;display:inline-flex}.context-share-status.is-live{color:var(--accent-success);background:#10b98129}.shared-meanings{border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:#00000029;margin:0 0 1rem;padding:1.15rem 1.25rem}.shared-meanings-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.shared-meanings-title{align-items:baseline;gap:.55rem;margin:0;font-size:1.08rem;font-weight:700;display:flex}.shared-meanings-count{color:var(--text-tertiary);font-size:.82rem;font-weight:500}.shared-meanings-loading,.shared-meanings-empty{color:var(--text-tertiary);margin:0;font-size:.9rem}.shared-rotate{border:1px solid var(--glass-border);border-radius:var(--radius-full);min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:#ffffff0f;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.shared-rotate:hover:not(:disabled){color:var(--text-primary);border-color:rgba(var(--accent-secondary-rgb), .5);background:rgba(var(--accent-secondary-rgb), .12)}.shared-rotate:focus-visible,.shared-like:focus-visible,.shared-use:focus-visible{outline:2px solid rgba(var(--accent-secondary-rgb), .9);outline-offset:2px}.shared-rotate:disabled{cursor:not-allowed;opacity:.45}.shared-rotate-icon{width:17px;height:17px;transition:transform .25s}.shared-rotate:hover:not(:disabled) .shared-rotate-icon{transform:rotate(-45deg)}.shared-meanings-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.shared-meaning{border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), background var(--transition-fast);background:#0000002e;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.shared-meaning:hover{border-color:rgba(var(--accent-secondary-rgb), .3);background:#0000003d}.shared-meaning-text{color:var(--text-primary);quotes:"“" "”";margin:0;font-size:.98rem;line-height:1.55}.shared-meaning-actions{flex:none;align-items:center;gap:.6rem;display:flex}.shared-like{border:1px solid var(--glass-border);border-radius:var(--radius-full);min-width:68px;min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:#ffffff0d;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.92rem;font-weight:700;display:inline-flex}.shared-like:hover:not(:disabled){color:var(--accent-danger);background:#ef44441a;border-color:#ef444480}.shared-like:active:not(:disabled){transform:scale(.96)}.shared-like.is-liked{color:var(--accent-danger);background:#ef444424;border-color:#ef44448c}.shared-like:disabled{cursor:not-allowed;opacity:.6}.shared-use{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1.15rem;font-size:.92rem;font-weight:700;display:inline-flex}.shared-use:hover:not(:disabled){box-shadow:var(--shadow-glow)}.shared-use:active:not(:disabled){transform:translateY(1px)}.shared-use:disabled{cursor:not-allowed;opacity:.5}.shared-like-icon{width:19px;height:19px}.shared-like-count{font-variant-numeric:tabular-nums}@media (max-width:520px){.shared-meaning{flex-direction:column;align-items:stretch}.shared-meaning-actions{justify-content:space-between}.shared-use{flex:auto}.context-saved-actions,.context-share-group{flex-wrap:wrap}}.jargon-panel{margin:0 0 1rem}.jargon-toggle{border:1px solid var(--glass-border);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;background:#ffffff08;border-radius:14px;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.88rem;display:flex}.jargon-toggle:hover{color:var(--text-primary);border-color:rgba(var(--accent-secondary-rgb), .45)}.jargon-toggle-label{text-align:left;flex:1;align-items:center;gap:.45rem;display:inline-flex}.jargon-count{background:rgba(var(--accent-secondary-rgb), .18);color:var(--text-primary);font-variant-numeric:tabular-nums;border-radius:999px;padding:.05rem .45rem;font-size:.78rem}.jargon-chevron{color:var(--text-tertiary);font-size:.7rem}.jargon-list{gap:.55rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.jargon-item{border:1px solid var(--glass-border);background:#0000002e;border-radius:14px;padding:.7rem .85rem}.jargon-item-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .9rem;display:flex}.jargon-term{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.jargon-term:hover:not(:disabled){color:rgba(var(--accent-secondary-rgb), .95)}.jargon-term:disabled{cursor:not-allowed}.jargon-item-actions{flex-shrink:0;gap:.9rem;display:flex}.jargon-meaning{color:var(--text-secondary);margin:.35rem 0 0;font-size:.88rem;line-height:1.5}.jargon-promoted{color:rgba(var(--accent-secondary-rgb), .9);margin:.35rem 0 0;font-size:.8rem}.jargon-history{border-top:1px dashed var(--glass-border);gap:.45rem;margin:.55rem 0 0;padding:.55rem 0 0;list-style:none;display:grid}.jargon-history-item{color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .6rem;font-size:.83rem;line-height:1.45;display:flex}.jargon-history-item q{font-style:italic}.jargon-when{font-variant-numeric:tabular-nums;flex-shrink:0}.ratio-picker{border:0;margin:0 0 1rem;padding:0}.ratio-picker legend{color:var(--text-tertiary);margin-bottom:.5rem;padding:0;font-size:.9rem}.ratio-options{flex-wrap:wrap;gap:.6rem;display:flex}.ratio-option{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0b;border-radius:14px;align-items:center;gap:1rem;padding:.5rem 1rem;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.ratio-option:hover{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb), .45)}.ratio-option.is-active{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb), .85);background:rgba(var(--accent-primary-rgb), .14)}.ratio-option input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ratio-option:focus-within{outline:2px solid rgba(var(--accent-primary-rgb), .65);outline-offset:2px}.ratio-text{white-space:nowrap;font-size:.92rem}.ratio-text small{opacity:.6;margin-left:.15rem;font-size:.78em}.prompt-suggestions{flex-wrap:wrap;gap:.6rem;display:flex}.prompt-suggestions button,.review-actions button{border:1px solid var(--glass-border);color:var(--text-secondary);background:#ffffff0e;border-radius:999px;padding:.55rem .8rem}.prompt-suggestions button:hover,.review-actions button:hover{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb), .55)}.cartoon-result{border-top:1px solid var(--glass-border);grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:center;gap:1.25rem;padding-top:1.25rem;display:grid}.result-image-wrap,.gallery-image-wrap{border:1px solid var(--glass-border);aspect-ratio:1;text-align:center;color:var(--text-secondary);background:#0000003d;border-radius:24px;justify-content:center;align-items:center;padding:.75rem;display:flex;overflow:hidden}.gallery-image-wrap.drawing-state{color:var(--text-primary);background:linear-gradient(110deg,#ffffff0a 0%,#ffffff1f 40%,#ffffff0a 80%) 0 0/200% 100%;flex-direction:column;gap:.6rem;font-weight:500;animation:1.6s linear infinite cartoon-shimmer}.gallery-image-wrap.drawing-state .drawing-spinner{border:3px solid #ffffff2e;border-top-color:var(--accent-secondary,#ff8bd0);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite cartoon-spin}.gallery-image-wrap.empty-state.failed{color:var(--accent-warning,#ffb37a);font-weight:500}@keyframes cartoon-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.gallery-image-wrap.drawing-state,.gallery-image-wrap.drawing-state .drawing-spinner{animation:none}}.result-image-wrap.ratio-portrait,.gallery-image-wrap.ratio-portrait{aspect-ratio:3/4}.result-image-wrap.ratio-landscape,.gallery-image-wrap.ratio-landscape{aspect-ratio:4/3}.result-image-wrap.ratio-tall,.gallery-image-wrap.ratio-tall{aspect-ratio:9/16}.result-image-wrap.ratio-wide,.gallery-image-wrap.ratio-wide{aspect-ratio:16/9}:is(.result-image-wrap:has(img),.gallery-image-wrap:has(img)){padding:0}.result-image-wrap img,.gallery-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.review-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.result-label,.gallery-card time,.review-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.86rem;display:flex}.review-current-flag{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--glass-border);background:#ffffff0f;border-radius:999px;padding:.15rem .55rem;font-size:.74rem;font-weight:600;display:inline-block}.review-current-flag.flag-good{color:#6dd28a;background:#50c8782e;border-color:#50c87859}.review-current-flag.flag-needs_improvement{color:#ffc88a;background:#ffaa462e;border-color:#ffaa4659}.review-current-flag.flag-funny{color:#ffce7a;background:#ffc44b2e;border-color:#ffc44b59}.review-current-flag.flag-training_candidate{color:#a3acff;background:#7e8aff2e;border-color:#7e8aff59}.review-current-flag.flag-bad{color:#ff9aa1;background:#ff78822e;border-color:#ff788259}.review-current-flag.flag-unsafe{color:#ff8a8a;background:#ff464638;border-color:#ff464666}.review-current-flag.flag-unreviewed{color:var(--text-secondary);background:#ffffff0f}.review-rag-chip{letter-spacing:.02em;color:#a3bdff;background:#7ea8ff1f;border:1px solid #7ea8ff47;border-radius:999px;padding:.15rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:600;display:inline-block}.review-rewriter-chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--glass-border);cursor:help;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.review-rewriter-chip.rewriter-idiomatic{color:#8fe6c0;background:#7ef0b429;border-color:#7ef0b459}.review-rewriter-chip.rewriter-twist{color:#ffd28a;background:#ffc44b2e;border-color:#ffc44b61}.review-rewriter-chip.rewriter-literal{color:#c8c8e0;background:#b4b4c824;border-color:#b4b4c852}.review-rewriter-chip.rewriter-error{color:#ff9aa1;background:#ff78822e;border-color:#ff788261}.review-rewriter-chip.rewriter-unknown{color:var(--text-secondary);background:#ffffff0f}.promote-kb-block{border:1px solid var(--glass-border);background:linear-gradient(#7ea8ff0f,#7ea8ff05);border-radius:14px;margin-top:.85rem;padding:0;transition:border-color .2s,background .2s;overflow:hidden}.promote-kb-block[open]{background:linear-gradient(#ff8bd014,#7ea8ff05);border-color:#ff8bd066}.promote-kb-block>summary{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;padding:.7rem .85rem;font-size:.86rem;list-style:none;display:flex}.promote-kb-block>summary::-webkit-details-marker{display:none}.promote-kb-block>summary:hover{background:#ffffff0a}.promote-kb-chevron{color:var(--accent-secondary,#ff8bd0);text-align:center;width:14px;font-size:1rem;transition:transform .18s;display:inline-block}.promote-kb-block[open] .promote-kb-chevron{transform:rotate(90deg)}.promote-kb-summary-text{flex-direction:column;gap:.1rem;line-height:1.25;display:flex}.promote-kb-summary-text strong{color:var(--text-primary);font-weight:600}.promote-kb-summary-text small{color:var(--text-tertiary);font-size:.74rem}.promote-kb-block>summary>input[type=checkbox]{appearance:none;border:1.5px solid var(--glass-border);cursor:pointer;background:#0000004d;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;transition:background .12s,border-color .12s;display:inline-flex}.promote-kb-block>summary>input[type=checkbox]:hover{border-color:var(--accent-secondary,#ff8bd0)}.promote-kb-block>summary>input[type=checkbox]:checked{background:var(--accent-secondary,#ff8bd0);border-color:var(--accent-secondary,#ff8bd0)}.promote-kb-block>summary>input[type=checkbox]:checked:after{content:"✓";color:#111;font-size:.8rem;font-weight:800}.promote-kb-form{border-top:1px solid #ffffff0a;gap:.65rem;padding:.25rem .85rem .85rem;display:grid}.promote-kb-status{color:var(--text-tertiary);border:1px dashed var(--glass-border);background:#ffffff08;border-radius:8px;margin:.3rem 0 .1rem;padding:.35rem .55rem;font-size:.78rem;line-height:1.3}.promote-kb-status[data-state=loading]{color:#ffd28a;border-color:#ffc44b66}.promote-kb-status[data-state=loaded]{color:#8fe6c0;background:#50c87814;border-color:#50c87866}.promote-kb-status[data-state=empty]{color:var(--text-secondary)}.promote-kb-status[data-state=error]{color:#ff9aa1;border-color:#ff788273}.promote-kb-form label{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.promote-kb-form input,.promote-kb-form textarea{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);resize:vertical;background:#00000047;border-radius:10px;padding:.5rem .65rem;font-family:inherit;font-size:.88rem}.promote-kb-form textarea{min-height:2.5rem}.promote-kb-hint{color:var(--text-tertiary);border-left:2px solid var(--accent-secondary,#ff8bd0);background:#ff8bd00a;margin:.25rem 0 0;padding:.4rem .55rem;font-size:.78rem;line-height:1.35}.promote-kb-draft-row{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:-.2rem;display:flex}.promote-kb-draft-btn{appearance:none;color:#c2d2ff;cursor:pointer;background:#7ea8ff1f;border:1px solid #7ea8ff80;border-radius:999px;padding:.45rem .85rem;font-size:.82rem;font-weight:600;transition:transform .12s,background .12s,box-shadow .12s}.promote-kb-draft-btn:hover:not(:disabled){background:#7ea8ff38;transform:translateY(-1px);box-shadow:0 6px 18px #7ea8ff2e}.promote-kb-draft-btn:disabled{cursor:progress;opacity:.7}.promote-kb-draft-hint{color:var(--text-tertiary);font-size:.76rem;line-height:1.3}.promote-kb-draft-hint[data-state=loading]{color:#ffd28a}.promote-kb-draft-hint[data-state=ok]{color:#8fe6c0}.promote-kb-draft-hint[data-state=warn]{color:#ffce7a}.promote-kb-draft-hint[data-state=error]{color:#ff9aa1}.user-vote-row{align-items:center;gap:.4rem;margin-top:.65rem;display:flex}.user-vote-label{color:var(--text-tertiary);margin-right:.3rem;font-size:.82rem}.user-vote{appearance:none;border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex}.user-vote:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.user-vote.active.vote-up{background:#50c87838;border-color:#50c8788c;box-shadow:0 0 0 2px #50c8782e}.user-vote.active.vote-down{background:#ff788238;border-color:#ff78828c;box-shadow:0 0 0 2px #ff78822e}.user-vote:disabled{cursor:progress;opacity:.6}.result-vote-row{margin-top:1rem}.admin-review-filter{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.admin-review-filter select{color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;background:#0000003d;border-radius:12px;padding:.4rem .7rem;font-size:.9rem}.review-actions .ghost{border:1px dashed var(--glass-border);color:var(--text-secondary);background:0 0}.review-actions button[aria-pressed=true]{outline:2px solid var(--accent-secondary,#ff8bd0);outline-offset:1px}.review-save-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.review-save{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border-radius:999px;padding:.45rem 1.1rem;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s}.review-save:disabled{cursor:not-allowed;opacity:.55}.review-save.has-changes:not(:disabled){background:linear-gradient(135deg, var(--accent-secondary,#ff8bd0), var(--accent-tertiary,#7ea8ff));color:#111;border-color:#0000;box-shadow:0 6px 18px #ff8bd040}.review-save.has-changes:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 26px #ff8bd052}.review-save.saving{opacity:.7;cursor:progress}.review-save-hint{color:var(--text-tertiary);font-size:.82rem;line-height:1.3}.result-copy h2{margin:.25rem 0 .75rem}#downloadLink{font-weight:800}.section-heading-row{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.cartoon-gallery,.admin-review-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;display:grid}.gallery-card,.review-card{border:1px solid var(--glass-border);background:#0000002e;border-radius:22px;overflow:hidden}.gallery-card-body,.review-card-body{padding:.9rem}.gallery-card h3,.review-card h3{margin:0 0 .35rem;font-size:1rem}.review-notes-label{color:var(--text-secondary);gap:.4rem;margin-top:.75rem;font-size:.86rem;font-weight:700;display:grid}.review-notes{resize:vertical;border:1px solid var(--glass-border);width:100%;min-height:76px;color:var(--text-primary);background:#0003;border-radius:14px;outline:none;padding:.65rem .75rem;font-size:.92rem}.review-notes:focus{border-color:rgba(var(--accent-secondary-rgb), .65);box-shadow:0 0 0 3px rgba(var(--accent-secondary-rgb), .12)}.review-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.review-actions button[data-flag=good],.review-actions button[data-flag=funny],.review-actions button[data-flag=training_candidate]{color:var(--accent-success)}.review-actions button[data-flag=bad],.review-actions button[data-flag=unsafe]{color:var(--accent-danger)}.quota-banner{box-shadow:var(--shadow-md);background:linear-gradient(135deg,#f59e0b2e,#8b5cf62e);border:1px solid #f59e0b66;border-radius:18px;gap:.35rem;margin:0 0 1.25rem;padding:1rem 1.25rem;display:grid}.quota-banner-title{color:var(--text-primary);font-size:1.05rem}.quota-banner-body{color:var(--text-secondary);margin:0;font-size:.95rem}.quota-banner-countdown{color:var(--accent-warning);font-variant-numeric:tabular-nums;font-weight:800;font-family:var(--font-mono);margin:0}.quota-banner{animation:.32s cubic-bezier(.22,1,.36,1) both quota-pop-in;position:relative}@keyframes quota-pop-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.quota-banner-release{background:linear-gradient(135deg,#22c55e33,#8b5cf62e);border-color:#22c55e80;animation:.9s cubic-bezier(.4,0,.2,1) forwards quota-pop-out}.quota-banner-release .quota-banner-countdown{color:var(--accent-success,#22c55e)}@keyframes quota-pop-out{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1.03)}to{opacity:0;transform:scale(.92)translateY(-10px)}}.quota-spark{background:var(--accent-success,#22c55e);pointer-events:none;opacity:0;width:8px;height:8px;animation:quota-spark-fly .85s ease-out var(--sd,0s) forwards;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #22c55ecc}@keyframes quota-spark-fly{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)}to{opacity:0;transform:translate(calc(-50% + var(--sx,0px)), -180%) scale(1.1)}}@media (prefers-reduced-motion:reduce){.quota-banner,.quota-banner-release{animation:none}.quota-spark{display:none}}.hidden{display:none!important}[data-theme=light] .cartoon-example-card,[data-theme=light] .cartoon-card{background:#ffffffc7}[data-theme=light] #cartoonPrompt,[data-theme=light] .context-input,[data-theme=light] .review-notes,[data-theme=light] .gallery-card,[data-theme=light] .review-card,[data-theme=light] .result-image-wrap,[data-theme=light] .gallery-image-wrap{background:#ffffffb8}[data-theme=light] .context-block{background:#ffffff73}[data-theme=light] .jargon-toggle,[data-theme=light] .jargon-item{background:#ffffff9e}[data-theme=light] .shared-meanings,[data-theme=light] .shared-meaning{background:#ffffff8c}[data-theme=light] .context-btn,[data-theme=light] .shared-like,[data-theme=light] .context-share-status{background:#ffffffbf;border-color:#0f172a1f}[data-theme=light] .context-btn:hover:not(:disabled){background:rgba(var(--accent-secondary-rgb), .14)}[data-theme=light] .context-btn-primary{background:var(--gradient-primary);border-color:#0000}[data-theme=light] .context-btn-danger{background:rgba(var(--warning-rgb), .16);border-color:rgba(var(--warning-rgb), .5)}[data-theme=light] .context-share-status.is-live{background:#10b9812e}[data-theme=light] .shared-like.is-liked{background:#ef444424;border-color:#ef444480}[data-theme=light] .shared-rotate{background:#ffffffb3}@media (max-width:820px){.cartoon-page{padding-inline:1rem}.cartoon-hero,.cartoon-result,.prompt-row{grid-template-columns:1fr}#generateBtn{width:100%}}.annotation-overlay{pointer-events:none}#resultImage{cursor:zoom-in}.cartoon-lightbox{z-index:1900;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03060ee6;position:absolute;inset:0}.lightbox-shell{z-index:1;flex-direction:column;align-items:center;gap:.85rem;max-width:min(1100px,100%);max-height:94vh;display:flex;position:relative}.lightbox-close{z-index:3;appearance:none;color:#fff;cursor:pointer;background:#141822c7;border:none;border-radius:50%;width:40px;height:40px;font-size:1.6rem;line-height:1;position:absolute;top:0;right:0;transform:translate(35%,-35%);box-shadow:0 2px 10px #00000073}.lightbox-close:hover{background:#282e3ceb}.lightbox-stage{justify-content:center;align-items:center;min-height:0;display:flex}.lightbox-img-wrap{line-height:0;position:relative}.lightbox-img{width:auto;max-width:100%;height:auto;max-height:78vh;box-shadow:var(--shadow-xl,0 30px 80px #0009);border-radius:12px;display:block}.lightbox-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1rem;max-width:100%;display:flex}.lightbox-title{color:var(--text-secondary);text-align:center;width:100%;margin:0;font-size:.9rem}.lightbox-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.lightbox-open{color:var(--text-secondary);font-size:.85rem;text-decoration:underline}.lightbox-open:hover{color:var(--text-primary)}.cartoon-lightbox .lightbox-actions .cartoon-edit-btn,.cartoon-lightbox .lightbox-actions .cartoon-talk-btn,.cartoon-lightbox .lightbox-actions .cartoon-recover-btn,.cartoon-lightbox .lightbox-actions .cartoon-share-btn,.cartoon-lightbox .lightbox-actions .cartoon-forum-btn{color:#fff;background:#ffffff1a;border-color:#ffffff61}.cartoon-lightbox .lightbox-actions .cartoon-edit-btn:hover,.cartoon-lightbox .lightbox-actions .cartoon-talk-btn:hover,.cartoon-lightbox .lightbox-actions .cartoon-recover-btn:hover,.cartoon-lightbox .lightbox-actions .cartoon-share-btn:hover,.cartoon-lightbox .lightbox-actions .cartoon-forum-btn:hover{color:#fff;background:#ffffff2e;border-color:#ffffffb3}.cartoon-lightbox .lightbox-open{color:#ffffffd9}.cartoon-lightbox .lightbox-open:hover{color:#fff}.cartoon-lightbox .lightbox-title{color:#ffffffd1}.result-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0;display:flex}.cartoon-edit-btn,.cartoon-talk-btn,.cartoon-recover-btn,.gallery-edit-btn,.gallery-recover-btn{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);color:var(--text-primary);transition:transform var(--transition-fast,.15s), border-color var(--transition-fast,.15s);background:#ffffff0a;border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.cartoon-edit-btn:hover,.gallery-edit-btn:hover{border-color:rgba(var(--accent-secondary-rgb,255, 139, 208), .7);transform:translateY(-1px)}.cartoon-talk-btn:hover{border-color:rgba(var(--accent-primary-rgb,126, 168, 255), .7);transform:translateY(-1px)}.cartoon-recover-btn:hover,.gallery-recover-btn:hover{border-color:var(--accent-warning,#ffb37a);color:var(--accent-warning,#ffb37a)}.gallery-edit-row{gap:.45rem;margin-top:.5rem;display:flex}.gallery-edit-btn,.gallery-recover-btn{padding:.28rem .6rem;font-size:.78rem}.gallery-image-wrap{position:relative}body.annotator-open{overflow:hidden}.annotator-modal{z-index:2000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.annotator-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050812c7;position:absolute;inset:0}.annotator-shell{z-index:1;background:var(--bg-elevated,#131826);border:1px solid var(--glass-border);width:min(960px,100%);max-height:94vh;box-shadow:var(--shadow-xl,0 30px 80px #00000080);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.annotator-head{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.annotator-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;overflow:hidden}.annotator-close{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1}.annotator-close:hover{color:var(--text-primary)}.annotator-toolbar{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.7rem 1.1rem;display:flex}.annotator-tools,.annotator-widths,.annotator-colors,.annotator-edits{align-items:center;gap:.35rem;display:flex}.atool,.awidth,.aedit{appearance:none;cursor:pointer;font:inherit;color:var(--text-primary);border:1px solid var(--glass-border);min-width:38px;transition:border-color var(--transition-fast,.15s), background var(--transition-fast,.15s);background:#ffffff0a;border-radius:8px;padding:.35rem .55rem;font-size:.85rem}.atool.active,.atool[aria-pressed=true],.awidth.active{border-color:rgba(var(--accent-secondary-rgb,255, 139, 208), .9);background:rgba(var(--accent-secondary-rgb,255, 139, 208), .16)}.atool:hover,.awidth:hover,.aedit:hover{border-color:rgba(var(--accent-secondary-rgb,255, 139, 208), .7)}.annotator-opacity{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:8px;align-items:center;gap:.45rem;padding:.25rem .6rem;display:flex}.aopacity-label{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.aopacity-input{appearance:none;background:linear-gradient(90deg, rgba(var(--accent-secondary-rgb,255, 139, 208), .25), rgba(var(--accent-secondary-rgb,255, 139, 208), .95));cursor:pointer;border-radius:999px;outline:none;width:96px;height:6px}.aopacity-input::-webkit-slider-thumb{appearance:none;border:2px solid rgba(var(--accent-secondary-rgb,255, 139, 208), .95);cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}.aopacity-input::-moz-range-thumb{border:2px solid rgba(var(--accent-secondary-rgb,255, 139, 208), .95);cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}.aopacity-val{color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;min-width:2.6em;font-size:.78rem}.aswatch{width:24px;height:24px;box-shadow:0 0 0 1px var(--glass-border);cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0}.aswatch.active{border-color:var(--text-primary);transform:scale(1.1)}.aswatch-custom{width:24px;height:24px;box-shadow:0 0 0 1px var(--glass-border);cursor:pointer;border-radius:50%;display:inline-flex;overflow:hidden}.acolor-input{cursor:pointer;background:0 0;border:none;width:200%;height:200%;margin:-25%;padding:0}.annotator-stage{background:repeating-conic-gradient(#ffffff08 0% 25%,#0000 0% 50%) 50%/24px 24px;flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex;overflow:auto}.annotator-canvas-wrap{max-width:100%;line-height:0;position:relative}.annotator-img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:64vh;display:block}.annotator-canvas{touch-action:none;cursor:crosshair;position:absolute;top:0;left:0}.annotator-canvas.is-eraser{cursor:cell}.annotator-foot{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.1rem;display:flex}.annotator-hint{color:var(--text-tertiary,var(--text-secondary));font-size:.82rem}.annotator-foot-actions{gap:.6rem;display:flex}.annotator-cancel,.annotator-save{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);border-radius:999px;padding:.5rem 1.1rem;font-weight:600}.annotator-cancel{color:var(--text-primary);background:#ffffff0a}.annotator-save{background:var(--gradient-primary,linear-gradient(135deg, #ff8bd0, #7ea8ff));color:#fff;box-shadow:var(--shadow-glow,0 8px 24px #7ea8ff66);border:none}.annotator-save.saving{opacity:.7;cursor:progress}.annotator-guess{appearance:none;cursor:pointer;font:inherit;color:var(--text-primary);background:#ffd54a24;border:1px solid #ffe28280;border-radius:999px;margin-right:auto;padding:.5rem 1.1rem;font-weight:600}.annotator-guess:hover{background:#ffd54a3d}.annotator-guess.saving{opacity:.7;cursor:progress}.guess-dialog{z-index:2200;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.guess-backdrop{background:#050812b8;position:absolute;inset:0}.guess-box{z-index:1;background:var(--bg-elevated,#131826);border:1px solid var(--glass-border);width:min(460px,100%);box-shadow:var(--shadow-xl,0 30px 80px #00000080);border-radius:18px;padding:1.4rem;position:relative}.guess-eyebrow{letter-spacing:.02em;color:var(--accent-warning,#ffd54a);margin:0 0 .5rem;font-size:.8rem;font-weight:600}.guess-headline{color:var(--text-primary);margin:0 0 .4rem;font-size:1.25rem}.guess-sub{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.guess-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;display:flex}.guess-chip{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);color:var(--text-primary);text-transform:capitalize;background:#ffffff0a;border-radius:999px;padding:.45rem .95rem;font-weight:600}.guess-chip.active{background:var(--gradient-primary,linear-gradient(135deg, #ff8bd0, #7ea8ff));color:#fff;border-color:#0000}.guess-input-wrap{margin:0 0 1.2rem}.guess-input-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;display:block}.guess-input{box-sizing:border-box;appearance:none;width:100%;font:inherit;border:1px solid var(--glass-border);color:var(--text-primary);background:#ffffff0d;border-radius:12px;padding:.55rem .85rem}.guess-input:focus{border-color:#7ea8ff;outline:none;box-shadow:0 0 0 3px #7ea8ff40}textarea.guess-textarea{resize:vertical;min-height:2.6rem;line-height:1.4}.guess-counter{color:var(--text-tertiary,var(--text-secondary));text-align:right;margin-top:.35rem;font-size:.78rem;display:block}.guess-counter.low{color:var(--accent-warning,#ffb37a)}.guess-actions{justify-content:flex-end;gap:.6rem;display:flex}.guess-cancel,.guess-ok{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);border-radius:999px;padding:.55rem 1.1rem;font-weight:600}.guess-cancel{color:var(--text-primary);background:#ffffff0a}.guess-ok{background:var(--gradient-primary,linear-gradient(135deg, #ff8bd0, #7ea8ff));color:#fff;box-shadow:var(--shadow-glow,0 8px 24px #7ea8ff66);border:none}.confirm-dialog{z-index:2100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-backdrop{background:#050812b3;position:absolute;inset:0}.confirm-box{z-index:1;background:var(--bg-elevated,#131826);border:1px solid var(--glass-border);width:min(420px,100%);box-shadow:var(--shadow-xl,0 30px 80px #00000080);border-radius:16px;padding:1.3rem;position:relative}.confirm-msg{color:var(--text-primary);margin:0 0 1.1rem;font-size:.95rem;line-height:1.45}.confirm-actions{justify-content:flex-end;gap:.6rem;display:flex}.confirm-cancel,.confirm-ok{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);border-radius:999px;padding:.5rem 1rem;font-weight:600}.confirm-cancel{color:var(--text-primary);background:#ffffff0a}.confirm-ok{background:var(--gradient-primary,linear-gradient(135deg, #ff8bd0, #7ea8ff));color:#fff;border:none}.confirm-ok.danger{background:var(--accent-warning,#ffb37a);color:#2a1a08}@media (max-width:640px){.annotator-toolbar{gap:.5rem .75rem}.annotator-foot{flex-direction:column;align-items:stretch}.annotator-foot-actions{justify-content:flex-end}}.cartoon-share-btn{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--glass-border);color:var(--text-primary);transition:transform var(--transition-fast,.15s) ease, border-color var(--transition-fast,.15s) ease, background var(--transition-fast,.15s) ease;background:#ffffff0a;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.85rem;font-weight:600;line-height:1;display:inline-flex}.cartoon-share-btn svg{display:block}.cartoon-share-btn:hover{border-color:rgba(var(--accent-tertiary-rgb,126, 168, 255), .7);background:rgba(var(--accent-tertiary-rgb,126, 168, 255), .12);transform:translateY(-1px)}.cartoon-share-btn:focus-visible{outline:2px solid rgba(var(--accent-primary-rgb,126, 168, 255), .65);outline-offset:2px}.gallery-share-btn{padding:.28rem .45rem}.gallery-share-btn .cartoon-share-btn-label{display:none}.cartoon-share-btn-label{font-size:.85rem}.cartoon-forum-btn{appearance:none;cursor:pointer;font:inherit;border:1px solid rgba(var(--accent-primary-rgb,126, 168, 255), .45);background:rgba(var(--accent-primary-rgb,126, 168, 255), .12);color:var(--text-primary);transition:transform var(--transition-fast,.15s), border-color var(--transition-fast,.15s), background var(--transition-fast,.15s);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.85rem;font-weight:600;line-height:1;display:inline-flex}.cartoon-forum-btn svg{display:block}.cartoon-forum-btn:hover{border-color:rgba(var(--accent-primary-rgb,126, 168, 255), .9);background:rgba(var(--accent-primary-rgb,126, 168, 255), .2);transform:translateY(-1px)}.cartoon-forum-btn:focus-visible{outline:2px solid rgba(var(--accent-primary-rgb,126, 168, 255), .65);outline-offset:2px}.gallery-forum-btn{padding:.28rem .45rem}.gallery-forum-btn .cartoon-forum-btn-label{display:none}.forum-share-box .forum-share-preview{border:1px solid var(--glass-border);background:#0000003d;border-radius:14px;justify-content:center;align-items:center;max-height:220px;margin:0 0 1rem;display:flex;overflow:hidden}.forum-share-box .forum-share-preview img{object-fit:contain;max-width:100%;max-height:220px;display:block}.forum-share-box .guess-input-wrap{margin-bottom:.9rem}.guess-ok[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.cartoon-share-pop{z-index:2300;box-sizing:border-box;border:1px solid var(--glass-border);background:var(--bg-elevated,#131826);width:296px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-xl,0 24px 60px #00000080);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:.65rem;animation:.14s ease-out cartoon-share-pop-in;position:fixed}@keyframes cartoon-share-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cartoon-share-pop[data-placement=above]{animation-name:cartoon-share-pop-in-up}@keyframes cartoon-share-pop-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cartoon-share-pop-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary,#8b93a7);padding:.15rem .35rem .5rem;font-size:.72rem;font-weight:700}.cartoon-share-pop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.cartoon-share-item{appearance:none;cursor:pointer;min-width:0;font:inherit;color:var(--text-secondary);transition:background var(--transition-fast,.15s) ease, border-color var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .2rem;display:flex}.cartoon-share-item:hover{border-color:var(--glass-border);color:var(--text-primary);background:#ffffff0d;transform:translateY(-1px)}.cartoon-share-item:focus-visible{outline:2px solid rgba(var(--accent-primary-rgb,126, 168, 255), .65);outline-offset:1px}.cartoon-share-ic{width:40px;height:40px;color:var(--text-primary);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cartoon-share-ic svg{display:block}.cartoon-share-name{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:.7rem;font-weight:600;line-height:1.1}.cartoon-share-ic-native{color:#7ea8ff;background:#7ea8ff29}.cartoon-share-ic-x{color:#f5f5f5;background:#ffffff14}.cartoon-share-ic-facebook{color:#4d90ff;background:#1877f229}.cartoon-share-ic-whatsapp{color:#25d366;background:#25d36629}.cartoon-share-ic-telegram{color:#2aabee;background:#2aabee29}.cartoon-share-ic-instagram{color:#e1306c;background:#e1306c29}.cartoon-share-ic-pinterest{color:#e60023;background:#e6002329}.cartoon-share-ic-linkedin{color:#4d90ff;background:#0a66c229}.cartoon-share-ic-tiktok{color:#f5f5f5;background:#ffffff14}.cartoon-share-ic-copy{color:var(--text-secondary);background:#ffffff0f}[data-theme=light] .cartoon-share-ic-x,[data-theme=light] .cartoon-share-ic-tiktok{color:#0f1419}@media (max-width:380px){.cartoon-share-pop-grid{grid-template-columns:repeat(3,1fr)}}.idiom-puzzle-card{border-color:rgba(var(--accent-secondary-rgb), .35);background:radial-gradient(circle at 12% 0,#ff8bd029,#0000 45%),radial-gradient(circle at 92% 8%,#7ea8ff29,#0000 42%),#ffffff0e;gap:1.1rem;display:grid;position:relative;overflow:hidden}.idiom-puzzle-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.idiom-puzzle-intro h2{margin:.2rem 0 .4rem;font-size:1.55rem}.idiom-sparkle{animation:2.4s ease-in-out infinite idiom-twinkle;display:inline-block}@keyframes idiom-twinkle{0%,to{opacity:.85;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(12deg)}}.idiom-puzzle-intro .cartoon-hint{max-width:560px;margin:0}.idiom-refresh-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);background:#00000040;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:700;display:inline-flex}.idiom-refresh-btn:hover{background:rgba(var(--accent-secondary-rgb), .16);border-color:rgba(var(--accent-secondary-rgb), .55);transform:translateY(-1px)}.idiom-refresh-btn .idiom-refresh-icon{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.idiom-refresh-btn:hover .idiom-refresh-icon,.idiom-refresh-btn.spinning .idiom-refresh-icon{transform:rotate(180deg)}.idiom-stage{border:1px solid var(--glass-border);background:linear-gradient(145deg,#8b5cf624,#0f172a66);border-radius:22px;padding:1.6rem 1.4rem}.idiom-phrase{letter-spacing:-.01em;color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin:0;font-size:clamp(1.4rem,3.4vw,2.1rem);font-weight:800;line-height:1.45;display:flex}.idiom-word{display:inline-block}.idiom-blank-wrap{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.idiom-blank-input{font:inherit;text-align:center;color:#fff;border:none;border-bottom:3px dashed rgba(var(--accent-secondary-rgb), .85);background:rgba(var(--accent-secondary-rgb), .14);width:6ch;min-width:4ch;max-width:100%;caret-color:var(--accent-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:12px 12px 6px 6px;outline:none;padding:.1em .55em .18em;font-weight:800}.idiom-blank-input::placeholder{color:#fff6;letter-spacing:.04em;font-weight:700}.idiom-blank-input:focus{border-bottom-color:var(--accent-secondary);background:rgba(var(--accent-secondary-rgb), .22);box-shadow:0 6px 20px rgba(var(--accent-secondary-rgb), .25)}.idiom-blank-input.is-filled{border-bottom-style:solid;border-bottom-color:var(--accent-tertiary,#7ea8ff);background:#7ea8ff2e}[data-theme=light] .idiom-blank-input{color:#16213e}[data-theme=light] .idiom-blank-input::placeholder{color:#16213e73}.idiom-mic-btn{flex:none;width:34px;height:34px;margin-left:.4rem;position:static}.idiom-mic-btn .mic-icon svg{width:17px;height:17px}.idiom-meaning{color:var(--text-secondary);margin:1rem 0 0;font-size:.98rem;line-height:1.5}.idiom-meaning:before{content:"Meaning · ";color:var(--accent-secondary);font-weight:700}.idiom-answer{color:var(--text-tertiary);margin:.55rem 0 0;font-size:.95rem}.idiom-answer strong{color:var(--accent-tertiary,#7ea8ff)}.idiom-mic-status,.idiom-ratio-picker{margin:0}.idiom-puzzle-card{position:relative;overflow:visible}.idiom-puzzle-card>:not(.idiom-bg-layer):not(.idiom-bg-scrim){z-index:1;position:relative}.idiom-bg-layer,.idiom-bg-scrim{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.idiom-bg-layer{background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .35s}.idiom-bg-scrim{opacity:0;transition:opacity .35s}.idiom-puzzle-card.has-bg-image .idiom-bg-scrim,.idiom-puzzle-card.has-bg-color .idiom-bg-scrim{opacity:1;background:radial-gradient(120% 120% at 20% 0,#080a164d,#0000 55%),linear-gradient(#080a166b,#080a169e)}.idiom-puzzle-card.has-bg-image .idiom-puzzle-intro h2,.idiom-puzzle-card.has-bg-image .idiom-phrase,.idiom-puzzle-card.has-bg-image .idiom-word,.idiom-puzzle-card.has-bg-color .idiom-puzzle-intro h2,.idiom-puzzle-card.has-bg-color .idiom-phrase,.idiom-puzzle-card.has-bg-color .idiom-word{color:#fff;text-shadow:0 2px 14px #0000008c}.idiom-puzzle-card.has-bg-image .idiom-puzzle-intro .cartoon-hint,.idiom-puzzle-card.has-bg-image .idiom-meaning,.idiom-puzzle-card.has-bg-image .idiom-answer,.idiom-puzzle-card.has-bg-color .idiom-puzzle-intro .cartoon-hint,.idiom-puzzle-card.has-bg-color .idiom-meaning,.idiom-puzzle-card.has-bg-color .idiom-answer{color:#ffffffe6;text-shadow:0 1px 8px #00000080}.idiom-puzzle-card.has-bg-image .idiom-stage,.idiom-puzzle-card.has-bg-color .idiom-stage{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1857;border-color:#ffffff2e}.idiom-puzzle-card.has-bg-image .idiom-meaning:before,.idiom-puzzle-card.has-bg-color .idiom-meaning:before{color:#ffd9f1}.idiom-puzzle-card.has-bg-image .idiom-blank-input,.idiom-puzzle-card.has-bg-color .idiom-blank-input{color:#fff}.idiom-puzzle-card.has-bg-image .idiom-blank-input::placeholder,.idiom-puzzle-card.has-bg-color .idiom-blank-input::placeholder{color:#fff9}.idiom-ratio-picker .ratio-option{color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 1px 6px #00000073;background:#080a168c;border-color:#ffffff38;box-shadow:0 2px 10px #00000047}.idiom-ratio-picker .ratio-option:not(.is-active){color:#ffffffe0}.idiom-ratio-picker .ratio-option:hover{color:#fff;border-color:rgba(var(--accent-primary-rgb), .6);background:#080a16b8}.idiom-ratio-picker .ratio-option.is-active{color:#fff;border-color:rgba(var(--accent-secondary-rgb), .9);box-shadow:0 0 0 1px rgba(var(--accent-secondary-rgb), .45), 0 6px 18px rgba(var(--accent-secondary-rgb), .3);background:linear-gradient(135deg,#ff8bd057,#7ea8ff57),#080a168c}.idiom-puzzle-card.has-bg-image .idiom-ratio-picker legend,.idiom-puzzle-card.has-bg-color .idiom-ratio-picker legend{color:#ffffffd9;text-shadow:0 1px 6px #00000073}.idiom-head-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.idiom-tool-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:#00000047;border-radius:999px;align-items:center;gap:.45rem;padding:.6rem .95rem;font-size:.88rem;font-weight:700;display:inline-flex}.idiom-tool-btn:hover{background:rgba(var(--accent-secondary-rgb), .16);border-color:rgba(var(--accent-secondary-rgb), .55);transform:translateY(-1px)}.idiom-puzzle-card.has-bg-image .idiom-tool-btn,.idiom-puzzle-card.has-bg-image .idiom-refresh-btn,.idiom-puzzle-card.has-bg-color .idiom-tool-btn,.idiom-puzzle-card.has-bg-color .idiom-refresh-btn{color:#fff;background:#0006;border-color:#ffffff47}.idiom-puzzle-card.has-bg-image .idiom-reveal-btn,.idiom-puzzle-card.has-bg-color .idiom-reveal-btn{color:#fff;text-shadow:0 1px 6px #00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a168c;border-color:#ffffff47}.idiom-puzzle-card.has-bg-image .idiom-reveal-btn:hover,.idiom-puzzle-card.has-bg-color .idiom-reveal-btn:hover{border-color:rgba(var(--accent-secondary-rgb), .6);background:#080a16b8}.idiom-bg-popover{z-index:40;border:1px solid var(--glass-border);background:var(--bg-card,#14182a);border-radius:18px;width:min(360px,92vw);max-height:70vh;padding:1rem;animation:.16s ease-out voice-survey-pop;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 24px 60px #00000080}.idiom-bg-popover-wrap{position:relative}.idiom-puzzle-card.cw-bg-open .idiom-puzzle-head{z-index:50}.idiom-puzzle-card.cw-bg-open{z-index:70}.idiom-bg-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin:.25rem 0 .55rem;font-size:.74rem;font-weight:800}.idiom-bg-section-label:not(:first-child){margin-top:1rem}.idiom-bg-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.6rem;display:grid}.idiom-swatch{cursor:pointer;background-position:50%;background-size:cover;border:2px solid #ffffff2e;border-radius:50%;width:52px;height:52px;padding:0;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.idiom-swatch:hover{transform:scale(1.08)}.idiom-swatch.is-selected{border-color:var(--accent-secondary,#ff8bd0);box-shadow:0 0 0 3px rgba(var(--accent-secondary-rgb), .35)}.idiom-swatch.is-selected:after{content:"✓";color:#fff;text-shadow:0 1px 4px #000000b3;background:#00000040;place-items:center;font-size:1.1rem;font-weight:900;display:grid;position:absolute;inset:0}.idiom-swatch-default{color:#fff;background:radial-gradient(circle at 30% 20%,#ff8bd099,#0000 60%),radial-gradient(circle at 80% 30%,#7ea8ff99,#0000 55%),linear-gradient(145deg,#2a2350,#141a2e);place-items:center;font-size:.6rem;font-weight:800;display:grid}.idiom-bg-empty-note{color:var(--text-tertiary);margin:.4rem 0 0;font-size:.8rem}.idiom-bg-admin{border-top:1px dashed var(--glass-border);margin-top:1rem;padding-top:.85rem}.idiom-bg-admin-actions{flex-wrap:wrap;gap:.5rem;display:flex}.idiom-bg-admin-btn{border:1px solid var(--glass-border);min-width:130px;color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.idiom-bg-admin-btn:hover{background:#ffffff1a}.idiom-bg-admin-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-tertiary,#7ea8ff);vertical-align:middle;border:1px solid #7ea8ff80;border-radius:999px;margin-left:.35rem;padding:.05rem .5rem;font-size:.62rem;font-weight:800;display:inline-block}.idiom-bg-admin-label{align-items:center;display:flex}.idiom-bg-upload-btn{text-align:left;background:linear-gradient(135deg, rgba(var(--accent-secondary-rgb), .18), rgba(var(--accent-primary-rgb), .14));width:100%;color:var(--text-primary);font:inherit;cursor:pointer;border:1.5px dashed #7ea8ffbf;border-radius:14px;align-items:center;gap:.75rem;padding:.75rem .9rem;transition:transform .15s,border-color .15s,background .15s;display:flex}.idiom-bg-upload-btn:hover{border-color:rgba(var(--accent-secondary-rgb), .95);background:linear-gradient(135deg, rgba(var(--accent-secondary-rgb), .28), rgba(var(--accent-primary-rgb), .22));transform:translateY(-1px)}.idiom-bg-upload-icon{flex:none;font-size:1.35rem;line-height:1}.idiom-bg-upload-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.idiom-bg-upload-text strong{font-size:.9rem;font-weight:800}.idiom-bg-upload-text small{color:var(--text-tertiary);font-size:.74rem}.cw-crop-modal,.cw-snap-modal{z-index:11000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cw-crop-backdrop,.cw-snap-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d1;position:absolute;inset:0}.cw-crop-box,.cw-snap-box{z-index:1;color:#fff;background:#14182a;border:1px solid #ffffff1f;border-radius:18px;width:min(560px,96vw);max-height:92vh;padding:1.1rem;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0009}.cw-crop-box h3,.cw-snap-box h3{margin:0 0 .85rem;font-size:1.1rem}.cw-crop-stage{touch-action:none;cursor:grab;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.cw-crop-stage:active{cursor:grabbing}.cw-crop-canvas{width:100%;height:100%;display:block}.cw-crop-frame{pointer-events:none;border:2px solid #ffffffe6;border-radius:6px;position:absolute;inset:0;box-shadow:0 0 0 9999px #0000008c}.cw-crop-controls{align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.cw-crop-controls input[type=range]{flex:1}.cw-crop-actions,.cw-snap-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.cw-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:999px;padding:.6rem 1.1rem;font-weight:700}.cw-btn-primary{background:var(--gradient-primary);border:none}.cw-btn:hover{transform:translateY(-1px)}.cw-snap-preview{background:#0b0d18;border:1px solid #ffffff1f;border-radius:10px;width:100%;display:block}.cw-snap-frames{flex-wrap:wrap;gap:.5rem;margin:.9rem 0 .2rem;display:flex}.cw-frame-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;padding:.45rem .85rem;font-size:.82rem;font-weight:700}.cw-frame-btn.is-active{border-color:var(--accent-secondary,#ff8bd0);background:rgba(var(--accent-secondary-rgb), .22)}.cw-snap-hint{color:#fff9;margin:.6rem 0 0;font-size:.8rem}.toast-container{z-index:12000}.cw-snap-opt{align-items:center;gap:.7rem;margin:.9rem 0 .2rem;display:flex}.cw-snap-opt-label,.cw-snap-share-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-size:.72rem;font-weight:800}.cw-snap-toggle{background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;gap:3px;padding:3px;display:inline-flex}.cw-toggle-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.cw-toggle-btn.is-active{background:var(--gradient-primary,linear-gradient(135deg, #ff8bd0, #7ea8ff));color:#fff}.cw-snap-share{margin:.9rem 0 .2rem}.cw-snap-share-label{margin-bottom:.5rem;display:block}.cw-snap-share-row{flex-wrap:wrap;gap:.5rem;display:flex}.cw-share-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.8rem;font-weight:700;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.cw-share-btn:hover{background:#ffffff1f;transform:translateY(-1px)}.cw-share-ico{justify-content:center;align-items:center;width:18px;height:18px;font-size:1rem;line-height:1;display:inline-flex}.cw-share-btn.is-native{background:#7ea8ff38;border-color:#7ea8ff80}.cw-share-btn.is-x:hover{background:#000;border-color:#000}.cw-share-btn.is-fb:hover{background:#1877f2;border-color:#1877f2}.cw-share-btn.is-wa:hover{color:#062e15;background:#25d366;border-color:#25d366}.cw-share-btn.is-ig:hover{background:linear-gradient(45deg,#f09433,#e6683c 30%,#dc2743 55%,#cc2366 75%,#bc1888);border-color:#0000}.cw-share-btn.is-tt:hover{background:#010101;border-color:#25f4ee}.cw-share-btn.is-pin:hover{background:#e60023;border-color:#e60023}.cw-share-btn.is-li:hover{background:#0a66c2;border-color:#0a66c2}@media (max-width:480px){.cw-share-name{display:none}.cw-share-btn{padding:.55rem}}.idiom-puzzle-card.cw-capturing .idiom-head-tools,.idiom-puzzle-card.cw-capturing .idiom-ratio-picker,.idiom-puzzle-card.cw-capturing .idiom-controls,.idiom-puzzle-card.cw-capturing .idiom-mic-status,.idiom-puzzle-card.cw-capturing .idiom-mic-btn{display:none!important}.idiom-puzzle-card.cw-capturing,.idiom-puzzle-card.cw-capturing *{-webkit-backdrop-filter:none!important;filter:none!important}.idiom-puzzle-card.cw-capturing .idiom-blank-input{border-bottom-style:solid}.idiom-puzzle-card.cw-capturing-nobg .idiom-bg-layer,.idiom-puzzle-card.cw-capturing-nobg .idiom-bg-scrim{display:none!important}.idiom-blank-capture{box-sizing:border-box;white-space:nowrap;vertical-align:middle;border-bottom-style:solid;justify-content:center;align-items:center;line-height:1.15;display:inline-flex}.idiom-blank-capture.is-placeholder{color:#ffffffd9}.idiom-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.idiom-reveal-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast);background:#ffffff0d;border-radius:999px;align-items:center;gap:.35rem;padding:.7rem 1.1rem;font-weight:700;display:inline-flex}.idiom-reveal-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.idiom-generate-btn{background:var(--gradient-primary);color:#fff;cursor:pointer;min-width:190px;box-shadow:var(--shadow-glow);transition:transform var(--transition-fast), opacity var(--transition-fast), filter var(--transition-fast);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;margin-left:auto;padding:.8rem 1.3rem;font-weight:800;display:inline-flex}.idiom-generate-btn:not(:disabled):hover{transform:translateY(-1px)}.idiom-generate-btn:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.4);box-shadow:none;transform:none}.idiom-generate-btn.is-ready{animation:1.8s ease-in-out infinite idiom-ready-pulse}@keyframes idiom-ready-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--accent-secondary-rgb), .45)}50%{box-shadow:0 0 0 8px rgba(var(--accent-secondary-rgb), 0)}}.idiom-generate-btn.loading .generate-spinner{display:inline-block}@media (max-width:560px){.idiom-generate-btn{width:100%;margin-left:0}.idiom-reveal-btn{flex:1}}.draw-cta-link{color:#fff;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:var(--radius-lg,16px);box-shadow:0 10px 28px rgba(var(--accent-primary-rgb), .35);align-items:center;gap:.75rem;margin-top:1rem;padding:.85rem 1.1rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.draw-cta-link:hover{box-shadow:0 16px 36px rgba(var(--accent-primary-rgb), .5);transform:translateY(-2px)}.draw-cta-emoji{filter:drop-shadow(0 2px 4px #0003);font-size:1.8rem;line-height:1}.draw-cta-text{flex-direction:column;line-height:1.25;display:flex}.draw-cta-text strong{font-size:1.02rem;font-weight:800}.draw-cta-text small{opacity:.92;font-size:.8rem}.draw-cta-arrow{margin-left:auto;font-size:1.3rem;font-weight:700;transition:transform .18s}.draw-cta-link:hover .draw-cta-arrow{transform:translate(4px)}
