.excuse-generator{--excuse-generator-bg: #fff;--excuse-generator-bg-transparent: rgba(255, 255, 255, .8);--excuse-generator-bg-muted: #f1f5f9;--excuse-generator-text: #0f172a;--excuse-generator-text-muted: #475569;--excuse-generator-text-dim: #64748b;--excuse-generator-border: #e2e8f0;--excuse-generator-shadow: rgba(0, 0, 0, .05);--excuse-generator-primary: #ec4899;--excuse-generator-primary-on: #fff;--excuse-generator-accent: #f43f5e;--excuse-generator-success: #10b981;--excuse-generator-warning: #f59e0b;--excuse-generator-error: #f43f5e;--excuse-generator-ring: rgba(236, 72, 153, .2)}.theme-dark .excuse-generator{--excuse-generator-bg: #0f172a;--excuse-generator-bg-transparent: rgba(15, 23, 42, .8);--excuse-generator-bg-muted: #1e293b;--excuse-generator-text: #f8fafc;--excuse-generator-text-muted: #94a3b8;--excuse-generator-text-dim: #64748b;--excuse-generator-border: #334155;--excuse-generator-shadow: rgba(0, 0, 0, .3);--excuse-generator-primary: #f472b6;--excuse-generator-primary-on: #fff;--excuse-generator-accent: #fb7185;--excuse-generator-success: #34d399;--excuse-generator-warning: #fbbf24;--excuse-generator-error: #fb7185;--excuse-generator-ring: rgba(244, 114, 182, .2)}.excuse-generator-root{max-width:64rem;margin-left:auto;margin-right:auto;padding:1rem}@media(min-width:768px){.excuse-generator-root{padding:2rem}}.excuse-generator-card{position:relative;background-color:var(--excuse-generator-bg-transparent);backdrop-filter:blur(24px);border-radius:2rem;padding:2rem;box-shadow:0 25px 50px -12px var(--excuse-generator-shadow);border:1px solid var(--excuse-generator-border);min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}@media(min-width:768px){.excuse-generator-card{padding:3rem}}.excuse-generator-blob{position:absolute;width:24rem;height:24rem;border-radius:9999px;filter:blur(64px);pointer-events:none}.excuse-generator-blob-1{top:0;right:0;transform:translate(50%,-50%);background-color:#f472b633}.excuse-generator-blob-2{bottom:0;left:0;transform:translate(-50%,50%);background-color:#fb718533}.excuse-generator-slots{position:relative;z-index:10;width:100%;max-width:80rem;min-height:200px;display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}@media(min-width:1024px){.excuse-generator-slots{flex-direction:row;align-items:center}}.excuse-generator-slot{position:relative;flex:1;min-width:200px;background-color:#fff9;backdrop-filter:blur(4px);border-radius:1rem;padding:1.5rem;border:2px solid var(--excuse-generator-border);box-shadow:0 10px 15px -3px var(--excuse-generator-shadow);display:flex;align-items:center;justify-content:center;text-align:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.theme-dark .excuse-generator-slot{background-color:#0f172a99}.excuse-generator-slot:hover{transform:scale(1.05);background-color:var(--excuse-generator-bg);border-color:var(--excuse-generator-primary)}.excuse-generator-slot-label{position:absolute;top:.5rem;left:50%;transform:translate(-50%);color:var(--excuse-generator-text-dim);font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.1em;opacity:.5}.excuse-generator-slot-text{font-size:1.5rem;font-weight:900;color:var(--excuse-generator-primary);line-height:1.25;overflow-wrap:break-word;width:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}@media(min-width:768px){.excuse-generator-slot-text{font-size:1.875rem;line-height:2.25rem}}.excuse-generator-slot-text.blur{filter:blur(3px);opacity:.7;transform:scale(.95)}.excuse-generator-separator{display:none;font-size:2rem;color:var(--excuse-generator-border)}@media(min-width:1024px){.excuse-generator-separator{display:block}}.excuse-generator-separator-mobile{display:flex;justify-content:center;color:var(--excuse-generator-border)}@media(min-width:1024px){.excuse-generator-separator-mobile{display:none}}.excuse-generator-actions{position:relative;z-index:10;display:flex;flex-direction:column;gap:1.5rem;align-items:center}.excuse-generator-btn{position:relative;padding:1.25rem 2.5rem;background-color:#0f172a;border-radius:1rem;color:#fff;font-weight:900;font-size:1.25rem;line-height:1.75rem;box-shadow:0 25px 50px -12px #ec489933;border:none;cursor:pointer;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.theme-dark .excuse-generator-btn{background-color:#f8fafc;color:#0f172a}.excuse-generator-btn:hover{transform:translateY(-.25rem);box-shadow:0 25px 50px -12px #ec489966}.excuse-generator-btn:active{transform:translateY(0)}.excuse-generator-btn:disabled{opacity:.7;cursor:not-allowed}.excuse-generator-btn-content{position:relative;z-index:10;display:flex;align-items:center;gap:.75rem}.excuse-generator-btn-gradient{position:absolute;inset:0;background-image:linear-gradient(to right,var(--excuse-generator-primary),var(--excuse-generator-accent),var(--excuse-generator-primary));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.excuse-generator-btn:hover .excuse-generator-btn-gradient{opacity:1}.excuse-generator-btn:hover .excuse-generator-btn-content{color:var(--excuse-generator-primary-on)}.excuse-generator-copy{background:none;border:none;cursor:pointer;color:var(--excuse-generator-text-dim);font-size:.875rem;line-height:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;opacity:0;pointer-events:none;transform:translateY(.5rem)}.excuse-generator-copy.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.excuse-generator-copy:hover{color:var(--excuse-generator-primary)}.excuse-generator-copy-success{color:var(--excuse-generator-success);font-weight:700;display:flex;align-items:center;gap:.5rem}.fortune-cookie{--fortune-cookie-bg: #fff;--fortune-cookie-bg-muted: #fffbeb;--fortune-cookie-text: #0f172a;--fortune-cookie-text-muted: #475569;--fortune-cookie-text-dim: #64748b;--fortune-cookie-border: #fef3c7;--fortune-cookie-shadow: rgba(0, 0, 0, .05);--fortune-cookie-primary: #f59e0b;--fortune-cookie-primary-on: #fff;--fortune-cookie-accent: #fcd34d;--fortune-cookie-success: #10b981;--fortune-cookie-warning: #f59e0b;--fortune-cookie-error: #f43f5e}.theme-dark .fortune-cookie{--fortune-cookie-bg: #0f172a;--fortune-cookie-bg-muted: #1e293b;--fortune-cookie-text: #f8fafc;--fortune-cookie-text-muted: #94a3b8;--fortune-cookie-text-dim: #64748b;--fortune-cookie-border: #334155;--fortune-cookie-shadow: rgba(0, 0, 0, .3);--fortune-cookie-primary: #fbbf24;--fortune-cookie-primary-on: #fff;--fortune-cookie-accent: #fcd34d;--fortune-cookie-success: #34d399;--fortune-cookie-warning: #fbbf24;--fortune-cookie-error: #fb7185}.fortune-cookie-root{width:100%;max-width:64rem;margin-left:auto;margin-right:auto}.fortune-cookie-card{position:relative;background-color:var(--fortune-cookie-bg);border-radius:1.5rem;box-shadow:0 25px 50px -12px var(--fortune-cookie-shadow);overflow:hidden;border:1px solid var(--fortune-cookie-border);min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.fortune-cookie-glow{position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:radial-gradient(circle at center,var(--fortune-cookie-primary),transparent,transparent)}.fortune-cookie-content{position:relative;z-index:10;width:100%;display:flex;flex-direction:column;align-items:center}.fortune-cookie-instruction{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:#92400e;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.1em;animation:fortune-cookie-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.theme-dark .fortune-cookie-instruction{color:#fbbf24}@keyframes fortune-cookie-pulse{0%,to{opacity:1}50%{opacity:.5}}.fortune-cookie-stage{position:relative;width:20rem;height:20rem;cursor:pointer}@media(min-width:768px){.fortune-cookie-stage{width:24rem;height:24rem}}.fortune-cookie-body{position:absolute;inset:2rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}@media(min-width:768px){.fortune-cookie-body{inset:3rem}}.fortune-cookie-body:active{transform:scale(.95)}.fortune-cookie-img{width:100%;height:100%;object-fit:contain;z-index:10;position:relative}.fortune-cookie-broken{position:absolute;inset:2rem;pointer-events:none}.fortune-cookie-broken.hidden{display:none}@media(min-width:768px){.fortune-cookie-broken{inset:3rem}}.fortune-cookie-half{position:absolute;width:50%;height:100%;object-fit:contain;transition-property:all;transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:1s}.fortune-cookie-half-left{left:0;transform-origin:bottom left}.fortune-cookie-half-right{right:0;transform-origin:bottom right}.fortune-cookie-paper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);width:75%;max-width:280px;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:1s;z-index:0}.fortune-cookie-paper.visible{opacity:1;transform:translate(-50%,-50%) scale(1);z-index:20}.fortune-cookie-paper-img{width:100%;filter:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08));transform:rotate(1deg)}.fortune-cookie-paper-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.fortune-cookie-text{color:#0f172a;font-weight:900;font-size:1.125rem;line-height:1.25;transform:rotate(-1deg);user-select:text}@media(min-width:768px){.fortune-cookie-text{font-size:1.25rem;line-height:1.75rem}}.fortune-cookie-lucky-numbers{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;transform:rotate(-1deg)}.fortune-cookie-number{font-size:.75rem;line-height:1rem;font-weight:700;background-color:#ffffffe6;color:#450a0a;padding:.125rem .5rem;border-radius:.25rem;box-shadow:0 1px 2px #0000000d;border:1px solid #fee2e2}.fortune-cookie-particles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:20}.fortune-cookie-reset{display:none;margin-top:3rem;flex-direction:column;align-items:center;gap:1rem}.fortune-cookie-reset.visible{display:flex}.fortune-cookie-status{font-size:.875rem;line-height:1.25rem;color:var(--fortune-cookie-text-dim)}.fortune-cookie-share-btn{padding:.5rem 1.5rem;background-color:#f1f5f9;color:#334155;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.theme-dark .fortune-cookie-share-btn{background-color:#1e293b;color:#cbd5e1}.fortune-cookie-share-btn:hover{background-color:#e2e8f0}.theme-dark .fortune-cookie-share-btn:hover{background-color:#334155}.fortune-cookie-shake-1{animation:fortune-cookie-shake .3s cubic-bezier(.36,.07,.19,.97) both}.fortune-cookie-shake-2{animation:fortune-cookie-shake .4s cubic-bezier(.36,.07,.19,.97) both}.fortune-cookie-shake-3{animation:fortune-cookie-shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes fortune-cookie-shake{10%,90%{transform:translate3d(-1px,0,0) rotate(-1deg)}20%,80%{transform:translate3d(2px,0,0) rotate(2deg)}30%,50%,70%{transform:translate3d(-4px,0,0) rotate(-4deg)}40%,60%{transform:translate3d(4px,0,0) rotate(4deg)}}.fortune-cookie-crumb{position:absolute;width:20px;height:20px;background-image:url(/images/utilities/fortune/fc-crumbs.webp);background-size:contain;background-repeat:no-repeat;pointer-events:none}.synesthesia-painter{--sp-bg: #fff;--sp-bg-muted: #f8fafc;--sp-text: #0f172a;--sp-text-muted: #475569;--sp-text-dim: #64748b;--sp-border: #e2e8f0;--sp-shadow: rgba(0, 0, 0, .08);--sp-primary: #6366f1;--sp-primary-on: #fff;--sp-header-bg: rgba(255, 255, 255, .92)}.theme-dark .synesthesia-painter{--sp-bg: #0f172a;--sp-bg-muted: #1e293b;--sp-text: #f8fafc;--sp-text-muted: #94a3b8;--sp-text-dim: #64748b;--sp-border: #334155;--sp-shadow: rgba(0, 0, 0, .35);--sp-primary: #818cf8;--sp-header-bg: rgba(30, 41, 59, .92)}.synesthesia-painter-card{position:relative;min-height:420px;background-color:var(--sp-bg);border-radius:2rem;border:1px solid var(--sp-border);box-shadow:0 20px 40px -8px var(--sp-shadow);display:flex;flex-direction:column;overflow:hidden}.synesthesia-painter-header{position:absolute;top:1rem;right:1rem;z-index:30;background-color:var(--sp-header-bg);backdrop-filter:blur(8px);padding:.3rem;border-radius:9999px;border:1px solid var(--sp-border);box-shadow:0 1px 4px #00000014;display:flex;gap:.2rem}.synesthesia-painter-mode-btn{padding:.4rem .875rem;border-radius:9999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:background .2s,color .2s;color:var(--sp-text-muted);background:none;border:none;cursor:pointer}.synesthesia-painter-mode-btn:hover{background-color:var(--sp-bg-muted);color:var(--sp-text)}.synesthesia-painter-mode-btn.active{background-color:var(--sp-primary);color:var(--sp-primary-on);box-shadow:0 2px 8px #6366f159}.synesthesia-painter-canvas-wrapper{position:relative;flex-grow:1;padding:5rem 2rem 2rem;cursor:text}@media(min-width:768px){.synesthesia-painter-canvas-wrapper{padding:5rem 3rem 3rem}}.synesthesia-painter-viz-layer{word-break:break-all;white-space:pre-wrap;line-height:1.625;outline:none;font-size:2.5rem;min-height:100%}.synesthesia-painter-input{position:absolute;inset:0;opacity:0;cursor:text;z-index:-10;width:100%;height:100%;resize:none;border:none;background:transparent}.synesthesia-painter-placeholder{position:absolute;top:5rem;left:2rem;pointer-events:none;opacity:.35;user-select:none}@media(min-width:768px){.synesthesia-painter-placeholder{left:3rem}}.synesthesia-painter-placeholder-text{color:var(--sp-text-dim);font-size:2.25rem;font-weight:300;font-style:italic}.synesthesia-painter-footer{background-color:var(--sp-bg-muted);border-top:1px solid var(--sp-border);padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.synesthesia-painter-tooltip{font-size:.75rem;color:var(--sp-text-muted);font-weight:500;margin:0}.synesthesia-painter-clear-btn{font-size:.7rem;font-weight:700;color:var(--sp-text-dim);text-transform:uppercase;letter-spacing:.06em;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:color .2s;white-space:nowrap}.synesthesia-painter-clear-btn:hover{color:#ef4444}.synesthesia-painter-char{display:inline-block;color:var(--char-color);transition:color .3s cubic-bezier(.4,0,.2,1);animation:sp-fade-in .2s ease-out forwards}@keyframes sp-fade-in{0%{opacity:0;transform:translate-y(4px)}to{opacity:1;transform:translate-y(0)}}.synesthesia-painter-viz-layer.dots .synesthesia-painter-char{color:transparent;font-size:0;width:1rem;height:1rem;border-radius:50%;background-color:var(--char-color);margin:.25rem;box-shadow:0 0 8px var(--char-color)}.synesthesia-painter-viz-layer.aura .synesthesia-painter-char{color:#ffffff26;text-shadow:0 0 18px var(--char-color),0 0 36px var(--char-color)}.theme-dark .synesthesia-painter-viz-layer.aura .synesthesia-painter-char{color:#ffffffd9;text-shadow:0 0 14px var(--char-color),0 0 28px var(--char-color),0 0 56px var(--char-color)}.synesthesia-painter-cursor{display:inline-block;width:2px;height:2.5rem;background-color:var(--sp-primary);animation:sp-blink 1s step-end infinite;vertical-align:text-bottom;margin-left:2px}@keyframes sp-blink{0%,to{opacity:1}50%{opacity:0}}.zg-section{max-width:64rem;margin:0 auto;padding:3rem 1rem;position:relative}.zg-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}@media(max-width:768px){.zg-grid{grid-template-columns:1fr}}.zg-left{display:flex;flex-direction:column;gap:1rem}.zg-config-card{position:relative;background:#ffffffd9;backdrop-filter:blur(12px);border:1px solid #e2e8f0;border-radius:1.5rem;padding:1.5rem;box-shadow:0 20px 40px -10px #0000001a;overflow:hidden}.theme-dark .zg-config-card{background:#18181bd9;border-color:#27272a}.zg-config-hover-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(147,51,234,.05),transparent);opacity:0;pointer-events:none;transition:opacity .5s}.zg-config-card:hover .zg-config-hover-bg{opacity:1}.zg-config-title{font-size:1.1rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem}.theme-dark .zg-config-title{color:#fff}.zg-config-body{display:flex;flex-direction:column;gap:2rem}.zg-field{display:flex;flex-direction:column;gap:.75rem}.zg-field-header{display:flex;justify-content:space-between;align-items:center}.zg-field-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#64748b}.theme-dark .zg-field-label{color:#71717a}.zg-intensity-val{font-size:.875rem;font-weight:700;color:#9333ea}.zg-slider{width:100%;height:.375rem;border-radius:999px;background:#e2e8f0;appearance:none;cursor:pointer;accent-color:#9333ea}.theme-dark .zg-slider{background:#27272a}.zg-toggles{display:flex;flex-direction:column;gap:.75rem}.zg-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f8fafc;border-radius:1rem;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.zg-toggle-row:hover{background:#f1f5f9;border-color:#9333ea26}.theme-dark .zg-toggle-row{background:#09090b80}.theme-dark .zg-toggle-row:hover{background:#27272a}.zg-toggle-label{font-size:.875rem;font-weight:500;color:#374151}.theme-dark .zg-toggle-label{color:#d4d4d8}.zg-switch{position:relative;display:inline-flex;align-items:center}.zg-switch-input{position:absolute;opacity:0;width:0;height:0}.zg-switch-track{width:2.5rem;height:1.25rem;background:#d1d5db;border-radius:999px;transition:background .2s;position:relative}.zg-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform .2s}.zg-switch-input:checked+.zg-switch-track{background:#9333ea}.zg-switch-input:checked+.zg-switch-track:after{transform:translate(1.25rem)}.theme-dark .zg-switch-track{background:#3f3f46}.zg-reset-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:transparent;border:none;cursor:pointer;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;transition:color .15s}.zg-reset-btn:hover{color:#9333ea}.theme-dark .zg-reset-btn{color:#52525b}.theme-dark .zg-reset-btn:hover{color:#a855f7}.zg-warning{padding:1rem;background:#6366f10d;border:1px solid rgba(99,102,241,.1);border-radius:1rem}.zg-warning p{font-size:.65rem;line-height:1.6;color:#4338ca;font-weight:500;margin:0}.theme-dark .zg-warning p{color:#a5b4fccc}.zg-right{display:flex;flex-direction:column;gap:2rem}.zg-editor-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;overflow:hidden;box-shadow:0 25px 50px -12px #0000001a;display:flex;flex-direction:column}.theme-dark .zg-editor-card{background:#09090b;border-color:#27272a}.zg-editor-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;background:#f8fafc80}.theme-dark .zg-editor-bar{border-color:#18181b;background:#18181b4d}.zg-editor-bar-left{display:flex;align-items:center;gap:.75rem}.zg-editor-filename{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.theme-dark .zg-editor-filename{color:#52525b}.zg-textarea{width:100%;padding:2rem;background:transparent;color:#1e293b;font-size:1.125rem;font-weight:500;outline:none;resize:none;min-height:10rem;border:none}.theme-dark .zg-textarea{color:#e4e4e7}.zg-textarea::placeholder{color:#cbd5e1}.theme-dark .zg-textarea::placeholder{color:#3f3f46}.zg-editor-footer{display:flex;align-items:center;gap:1rem;padding:0 2rem 2rem;justify-content:flex-end}.zg-char-count{font-size:.65rem;color:#94a3b8}.theme-dark .zg-char-count{color:#3f3f46}.zg-footer-sep{height:1rem;width:1px;background:#e2e8f0}.theme-dark .zg-footer-sep{background:#27272a}.zg-copy-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#9333ea;color:#fff;border:none;border-radius:.75rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #9333ea40;transition:background .15s,transform .1s}.zg-copy-btn:hover{background:#7c3aed}.zg-copy-btn:active{transform:scale(.95)}.zg-clear-btn{padding:.75rem;background:#f1f5f9;color:#64748b;border:none;border-radius:.75rem;cursor:pointer;transition:background .15s}.zg-clear-btn:hover{background:#e2e8f0}.theme-dark .zg-clear-btn{background:#18181b;color:#71717a}.theme-dark .zg-clear-btn:hover{background:#27272a}.zg-preview-wrap{position:relative}.zg-preview-badge{position:absolute;top:-.75rem;left:-.5rem;z-index:10;background:#9333ea;color:#fff;font-size:.6rem;font-weight:900;padding:.2rem .5rem;border-radius:.25rem;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 4px 8px #9333ea4d}.zg-preview-body{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;padding:2rem;box-shadow:inset 0 2px 8px #0000000a;transition:border-color .5s,box-shadow .5s;min-height:15rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.theme-dark .zg-preview-body{background:#18181b;border-color:#27272a}.zg-preview-dots{position:absolute;inset:0;pointer-events:none;border-radius:1.5rem;overflow:hidden;opacity:.03;background-image:radial-gradient(circle at 2px 2px,currentcolor 1px,transparent 0);background-size:24px 24px}.zg-output{font-size:2rem;font-weight:700;text-align:center;max-width:100%;line-height:1.5;z-index:10;transition:color .3s;overflow-wrap:anywhere;color:var(--zalgo-color, inherit)}@media(min-width:768px){.zg-output{font-size:3rem}}.zg-output-empty{color:#e2e8f0;font-style:italic;font-weight:500;transition:color .5s}.theme-dark .zg-output-empty{color:#27272a}.zg-glitch-overlay{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s}.zg-glitch-line{position:absolute;left:0;width:100%;height:1px}.zg-glitch-line-1{top:25%;background:#9333ea33;animation:zg-pulse 2s infinite}.zg-glitch-line-2{top:66%;background:#6366f133;animation:zg-pulse 2s 1s infinite}@keyframes zg-pulse{0%,to{opacity:.3}50%{opacity:1}}.zg-preview-note{margin-top:1rem;text-align:center;font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.theme-dark .zg-preview-note{color:#52525b}.zg-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#9333ea;border-radius:50%;cursor:pointer;border:3px solid #fff;box-shadow:0 2px 6px #00000026}.theme-dark .zg-slider::-webkit-slider-thumb{border-color:#18181b}.bead-wrapper{width:100%;max-width:72rem;margin:0 auto;padding:1rem 2rem}.bead-hidden{display:none}.bead-card{position:relative;background:#ffffffd9;backdrop-filter:blur(16px);border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000026;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.theme-dark .bead-card{background:#111827d9;border-color:#3741514d}.bead-top-bar{position:absolute;top:0;left:0;width:100%;height:.5rem;background:linear-gradient(to right,#ec4899,#a855f7,#6366f1)}.bead-inner{padding:2.5rem;display:flex;flex-direction:column;gap:2rem}.bead-header{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:flex-end}.bead-header-title h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.theme-dark .bead-header-title h2{color:#fff}.bead-header-title p{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.theme-dark .bead-header-title p{color:#9ca3af}.bead-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.bead-control-group{display:flex;flex-direction:column;gap:.25rem;min-width:9rem}.bead-control-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#6b7280}.bead-slider-row{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.5rem;border-radius:.5rem;border:1px solid #e5e7eb}.theme-dark .bead-slider-row{background:#1f2937;border-color:#374151}.bead-slider{flex:1;height:.5rem;border-radius:.5rem;appearance:none;cursor:pointer;background:#d1d5db}.theme-dark .bead-slider{background:#4b5563}.bead-slider-pink{accent-color:#ec4899}.bead-slider-purple{accent-color:#a855f7}.bead-slider-val{font-size:.875rem;font-weight:700;width:2rem;text-align:center}.bead-val-pink{color:#ec4899}.bead-val-purple{color:#a855f7}.bead-options-row{display:flex;align-items:center;gap:1rem;height:2.625rem;background:#f3f4f6;padding:.5rem .75rem;border-radius:.5rem;border:1px solid #e5e7eb}.theme-dark .bead-options-row{background:#1f2937;border-color:#374151}.bead-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:700;color:#374151;white-space:nowrap}.theme-dark .bead-checkbox-label{color:#d1d5db}.bead-checkbox{width:1rem;height:1rem;accent-color:#ec4899;cursor:pointer}.bead-divider{width:1px;height:100%;background:#d1d5db}.theme-dark .bead-divider{background:#4b5563}.bead-download-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:.75rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #4f46e54d;transition:background .2s,box-shadow .2s;white-space:nowrap}.bead-download-btn:hover{background:#4338ca}.bead-download-btn:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.bead-canvas-area{position:relative;min-height:25rem;display:flex;flex-direction:column}.bead-drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px dashed #d1d5db;border-radius:1rem;min-height:25rem;background:#ffffff80;backdrop-filter:blur(4px);transition:border-color .2s,background .2s,transform .2s;cursor:pointer}.theme-dark .bead-drop-zone{border-color:#374151;background:#1f293780}.bead-drop-zone:hover,.bead-drop-active{border-color:#ec4899;background:#ec48990a;transform:scale(1.01)}.bead-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.bead-drop-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;pointer-events:none}.bead-upload-icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;background:linear-gradient(135deg,#f472b6,#a855f7);border-radius:50%;box-shadow:0 8px 20px #a855f74d;color:#fff}.bead-drop-content h3{font-size:1.25rem;font-weight:700;color:#374151;margin:0}.theme-dark .bead-drop-content h3{color:#e5e7eb}.bead-drop-content p{color:#6b7280;margin:0}.bead-result{display:flex;flex-direction:column;gap:2rem;animation:bead-fade-in .5s ease}@keyframes bead-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.bead-result-inner{display:flex;gap:2rem;align-items:flex-start}@media(max-width:640px){.bead-result-inner{flex-direction:column}}.bead-palette-col{width:12rem;flex-shrink:0}.bead-palette-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem}.bead-palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.bead-palette-item{display:flex;flex-direction:column;align-items:center}.bead-color-swatch{width:100%;aspect-ratio:1;border-radius:50%;box-shadow:0 2px 6px #00000026;border:2px solid #fff;outline:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center}.theme-dark .bead-color-swatch{border-color:#1f2937;outline-color:#374151}.bead-symbol{font-size:.75rem;font-weight:700;user-select:none}.bead-symbol-dark{color:#000}.bead-symbol-light{color:#fff}.bead-reupload-btn{margin-top:1.5rem;width:100%;padding:.5rem;font-size:.875rem;font-weight:700;color:#6b7280;border:1px solid #e5e7eb;border-radius:.5rem;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:color .2s,border-color .2s}.bead-reupload-btn:hover{color:#ec4899;border-color:#f9a8d4}.bead-canvas-col{flex:1;background:#f3f4f6;padding:1rem;border-radius:.75rem;border:2px solid #e5e7eb;box-shadow:inset 0 2px 8px #0000000f;overflow-x:auto;text-align:center}.theme-dark .bead-canvas-col{background:#030712;border-color:#1f2937}.bead-canvas{display:inline-block;max-width:100%;box-shadow:0 20px 40px #0003;cursor:crosshair;image-rendering:pixelated}.bead-tunnel-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem;background:#eef2ff;border:1px solid #c7d2fe;border-radius:.75rem}.theme-dark .bead-tunnel-bar{background:#4f46e51a;border-color:#6366f14d}.bead-tunnel-title{font-weight:700;color:#312e81;margin:0}.theme-dark .bead-tunnel-title{color:#c7d2fe}.bead-tunnel-sub{font-size:.875rem;color:#4338ca;margin:.25rem 0 0}.theme-dark .bead-tunnel-sub{color:#818cf8}.bead-tunnel-controls{display:flex;gap:.5rem;align-items:center}.bead-tunnel-btn{padding:.5rem;border-radius:.5rem;border:none;background:#fff;color:#4f46e5;cursor:pointer;transition:background .15s}.bead-tunnel-btn:hover{background:#e0e7ff}.theme-dark .bead-tunnel-btn{background:#1f2937;color:#818cf8}.bead-tunnel-display{padding:.5rem 1rem;background:#fff;border-radius:.5rem;font-weight:700;color:#4f46e5;border:1px solid #c7d2fe;min-width:3rem;text-align:center}.theme-dark .bead-tunnel-display{background:#1f2937;color:#818cf8;border-color:#6366f14d}.dr-root{--dr-bg: #fff;--dr-bg-muted: #f8fafc;--dr-bg-card: #fff;--dr-text: #0f172a;--dr-text-muted: #64748b;--dr-border: #e2e8f0;--dr-primary: #7c3aed;--dr-primary-light: #ede9fe;--dr-primary-dark: #5b21b6;--dr-accent: #f59e0b;--dr-danger: #ef4444;--dr-success: #10b981;--dr-shadow-sm: 0 1px 3px rgba(0,0,0,.08);--dr-shadow-md: 0 4px 16px rgba(0,0,0,.1);--dr-shadow-lg: 0 8px 32px rgba(0,0,0,.12);--dr-radius: 1rem;--dr-radius-sm: .5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin:0 auto;padding:1rem}.theme-dark .dr-root{--dr-bg: #0f172a;--dr-bg-muted: #1e293b;--dr-bg-card: #1e293b;--dr-text: #f1f5f9;--dr-text-muted: #94a3b8;--dr-border: #334155;--dr-primary: #a78bfa;--dr-primary-light: #2d1b69;--dr-primary-dark: #7c3aed;--dr-accent: #fbbf24;--dr-shadow-sm: 0 1px 3px rgba(0,0,0,.3);--dr-shadow-md: 0 4px 16px rgba(0,0,0,.4);--dr-shadow-lg: 0 8px 32px rgba(0,0,0,.5)}@media(max-width:680px){.dr-root{grid-template-columns:1fr}}.dr-panel{background:var(--dr-bg-card);border:1px solid var(--dr-border);border-radius:var(--dr-radius);box-shadow:var(--dr-shadow-md);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.dr-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dr-text-muted);margin:0 0 .625rem}.dr-dice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.dr-die-btn{display:flex;align-items:center;justify-content:center;padding:.75rem .5rem;background:var(--dr-bg-muted);border:1px solid var(--dr-border);border-radius:var(--dr-radius-sm);cursor:pointer;transition:background .15s,border-color .15s,transform .1s;color:var(--dr-primary);font-size:.85rem;font-weight:700}.dr-die-btn:hover{background:var(--dr-primary-light);border-color:var(--dr-primary);transform:translateY(-2px)}.dr-die-btn:active{transform:translateY(0)}.dr-pool-section{border:1px solid var(--dr-border);border-radius:var(--dr-radius-sm);padding:.875rem;background:var(--dr-bg-muted)}.dr-pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.dr-pool-header .dr-label{margin-bottom:0}.dr-clear-btn{font-size:.7rem;font-weight:600;color:var(--dr-text-muted);background:none;border:1px solid var(--dr-border);border-radius:.375rem;padding:.2rem .5rem;cursor:pointer;transition:color .15s,border-color .15s}.dr-clear-btn:hover{color:var(--dr-danger);border-color:var(--dr-danger)}.dr-pool-display{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.5rem;align-items:center}.dr-pool-empty{font-size:.8rem;color:var(--dr-text-muted);font-style:italic}.dr-pool-chip{display:flex;align-items:center;gap:.25rem;background:var(--dr-primary-light);border:1px solid var(--dr-primary);border-radius:2rem;padding:.2rem .5rem .2rem .75rem}.dr-chip-label{font-size:.8rem;font-weight:700;color:var(--dr-primary)}.dr-chip-remove{width:1.125rem;height:1.125rem;border-radius:50%;border:none;background:var(--dr-primary);color:#fff;font-size:.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;padding:0}.dr-chip-remove:hover{background:var(--dr-primary-dark)}.dr-modifier-section{display:flex;align-items:center;justify-content:space-between}.dr-modifier-controls{display:flex;align-items:center;gap:.75rem;background:var(--dr-bg-muted);border:1px solid var(--dr-border);border-radius:2rem;padding:.25rem .5rem}.dr-mod-btn{width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--dr-border);background:var(--dr-bg-card);color:var(--dr-text);font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;line-height:1;padding:0}.dr-mod-btn:hover{background:var(--dr-primary-light);border-color:var(--dr-primary)}.dr-modifier-display{min-width:2rem;text-align:center;font-weight:700;font-size:1rem;color:var(--dr-text)}.dr-roll-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:linear-gradient(135deg,var(--dr-primary),var(--dr-primary-dark));color:#fff;border:none;border-radius:var(--dr-radius-sm);font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;box-shadow:0 4px 12px #7c3aed59;margin-top:auto}.dr-roll-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.dr-roll-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed73}.dr-roll-btn:not(:disabled):active{transform:translateY(0)}@keyframes dr-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-15deg)}40%{transform:rotate(15deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(10deg)}}.dr-rolling{animation:dr-shake .4s ease-in-out}.dr-results-panel{display:flex;flex-direction:column;gap:1.25rem}.dr-result-card{background:var(--dr-bg-card);border:1px solid var(--dr-border);border-radius:var(--dr-radius);box-shadow:var(--dr-shadow-md);padding:1.5rem;min-height:12rem;display:flex;align-items:center;justify-content:center}.dr-result-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--dr-text-muted)}.dr-result-empty p{font-size:.9rem;margin:0}.dr-result-content{width:100%;flex-direction:column;align-items:center;gap:1rem}.dr-total-area{display:flex;flex-direction:column;align-items:center;gap:.25rem}.dr-total-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dr-text-muted)}.dr-total-val{font-size:4rem;font-weight:900;color:var(--dr-primary);line-height:1}.dr-roll-expr{font-size:.8rem;color:var(--dr-text-muted);font-style:italic}.dr-dice-results{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.dr-result-pip{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;background:var(--dr-bg-muted);border:2px solid var(--dr-border);border-radius:var(--dr-radius-sm);min-width:3rem;transition:border-color .2s}.dr-pip-max{border-color:var(--dr-success);background:#10b9811a}.dr-pip-min{border-color:var(--dr-danger);background:#ef44441a}.dr-pip-val{font-size:1.25rem;font-weight:800;color:var(--dr-text);line-height:1}.dr-pip-die{font-size:.65rem;color:var(--dr-text-muted);font-weight:600}.dr-history-section{background:var(--dr-bg-card);border:1px solid var(--dr-border);border-radius:var(--dr-radius);box-shadow:var(--dr-shadow-sm);padding:1.25rem;flex:1}.dr-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dr-history-header .dr-label{margin-bottom:0}.dr-history-list{display:flex;flex-direction:column;gap:.375rem;max-height:220px;overflow-y:auto}.dr-history-list::-webkit-scrollbar{width:4px}.dr-history-list::-webkit-scrollbar-thumb{background:var(--dr-border);border-radius:2px}.dr-history-empty{font-size:.8rem;color:var(--dr-text-muted);font-style:italic;text-align:center;margin:1rem 0}.dr-history-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.4rem .6rem;background:var(--dr-bg-muted);border-radius:var(--dr-radius-sm);font-size:.8rem;animation:dr-fadein .2s ease-out}@keyframes dr-fadein{0%{opacity:0;transform:translate-y(-4px)}to{opacity:1;transform:translateY(0)}}.dr-hist-expr{color:var(--dr-text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dr-hist-result{font-weight:800;font-size:1rem;color:var(--dr-primary)}.dr-hist-time{font-size:.7rem;color:var(--dr-text-muted)}
