@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit/outfit-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit/outfit-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light;--tm-page: #fbfaf6;--tm-gutter: clamp(1rem, 4vw, 2rem);--tm-radius-lg: 22px;--tm-radius-md: 16px;--tm-radius-sm: 12px;--tm-accent-contrast: #ffffff;--tm-field: #fbfaf6;--tm-danger: #b42318;--tm-danger-soft: rgba(180, 35, 24, .1);--tm-success: #0f766e;--tm-success-soft: rgba(15, 118, 110, .12);--tm-toast-bg: #0f172a;--tm-toast-ink: #f8fafc;--tm-panel-shadow: 0 24px 60px -48px var(--shell-shadow);--tm-dialog-shadow: 0 40px 90px -40px rgba(15, 23, 42, .55);--tm-dialog-width: 560px}:root[data-theme=dark]{color-scheme:dark;--tm-page: #0b1020;--tm-accent-contrast: #0b1020;--tm-field: #0e1424;--tm-danger: #fb8b7a;--tm-danger-soft: rgba(251, 139, 122, .14);--tm-success: #5eead4;--tm-success-soft: rgba(94, 234, 212, .14);--tm-toast-bg: #f8fafc;--tm-toast-ink: #0b1020;--tm-panel-shadow: 0 26px 60px -44px rgba(0, 0, 0, .85);--tm-dialog-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--tm-page);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:320px;min-height:100vh;margin:0;background:transparent;color:var(--shell-ink);font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}[hidden]{display:none!important}h1,h2,h3{color:var(--shell-ink);font-weight:800;line-height:1.2}:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--shell-focus);outline-offset:2px}.tm-icon-button{position:relative;display:inline-grid;width:38px;height:38px;flex:0 0 auto;padding:0;place-items:center;border:1px solid var(--shell-line);border-radius:50%;background:color-mix(in srgb,var(--shell-surface) 88%,transparent);color:var(--shell-muted);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tm-icon-button:hover{border-color:var(--shell-line-strong);background:var(--shell-surface-muted);color:var(--shell-ink)}.tm-credits{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;padding:.3rem .75rem;border:1px solid color-mix(in srgb,var(--shell-accent) 28%,var(--shell-line));border-radius:999px;background:var(--shell-accent-soft);color:var(--shell-accent-strong);font:inherit;font-size:.78rem;font-weight:800;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.tm-credits svg{flex:0 0 auto}.tm-credits:hover{border-color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent-soft) 65%,var(--shell-surface))}.tm-icon-button:after,.tm-credits:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit}.tm-auth-dot{position:absolute;right:5px;bottom:5px;width:7px;height:7px;border:1px solid var(--shell-surface);border-radius:50%;background:var(--shell-soft)}.tm-auth-trigger.is-authenticated .tm-auth-dot{background:var(--tm-success)}.tm-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.62rem 1.35rem;border:1px solid var(--shell-accent);border-radius:999px;background:var(--shell-accent);color:var(--tm-accent-contrast);font:inherit;font-size:.92rem;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px -18px var(--shell-shadow);transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.tm-primary:hover:not(:disabled){border-color:var(--shell-accent-strong);background:var(--shell-accent-strong);color:var(--tm-accent-contrast);text-decoration:none;box-shadow:0 16px 32px -18px var(--shell-shadow);transform:translateY(-1px)}.tm-primary:active:not(:disabled){transform:translateY(0)}.tm-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.58rem 1.1rem;border:1px solid var(--shell-line-strong);border-radius:999px;background:var(--shell-surface);color:var(--shell-ink);font:inherit;font-size:.86rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tm-secondary:hover:not(:disabled){border-color:var(--shell-accent);background:var(--shell-surface-muted);color:var(--shell-ink)}.tm-primary:disabled,.tm-secondary:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.tm-link-button{display:flex;align-items:center;justify-content:center;min-height:44px;margin:.55rem auto 0;padding:.4rem .6rem;border:0;background:transparent;color:var(--shell-accent-strong);font:inherit;font-size:.82rem;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.tm-link-button:hover{color:var(--shell-ink)}.tm-shell{width:min(1120px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,2.75rem) var(--tm-gutter) clamp(2rem,5vw,3.5rem)}.tm-hero{display:grid;gap:clamp(1.4rem,4vw,2.4rem);min-width:0}.tm-hero-copy{min-width:0}.tm-eyebrow{margin:0 0 .6rem;color:var(--shell-accent-strong);font-size:.72rem;font-weight:850;line-height:1.3;letter-spacing:.12em;text-transform:uppercase}.tm-hero h1{max-width:15ch;margin:0;font-size:clamp(2rem,6vw,3.3rem);font-weight:850;line-height:1.05;letter-spacing:-.015em;overflow-wrap:break-word;text-wrap:balance}.tm-lede{max-width:46ch;margin:.9rem 0 0;color:var(--shell-muted);font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.55}.tm-hero-start{min-height:48px;margin-top:clamp(1.1rem,3vw,1.6rem);padding:.8rem 1.6rem;font-size:.98rem}.tm-examples{display:flex;gap:.7rem;min-width:0;margin:1.25rem calc(-1 * var(--tm-gutter)) 0;padding:0 var(--tm-gutter) .4rem;overflow-x:auto;list-style:none;scroll-snap-type:x mandatory;scroll-padding-inline:var(--tm-gutter);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tm-example{position:relative;display:grid;flex:0 0 min(76vw,290px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;padding:.5rem;border:1px solid var(--shell-line);border-radius:18px;background:var(--shell-surface);box-shadow:0 18px 40px -34px var(--shell-shadow);scroll-snap-align:start}.tm-example img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;border-radius:13px;background:var(--shell-surface-muted);object-fit:cover}.tm-example:before{content:"";position:absolute;z-index:1;top:50%;left:50%;width:26px;height:26px;border:1px solid var(--shell-line);border-radius:50%;background:var(--shell-surface);box-shadow:0 6px 14px -8px var(--shell-shadow);transform:translate(-50%,-50%)}.tm-example:after{content:"";position:absolute;z-index:2;top:50%;left:50%;width:7px;height:7px;border-top:2px solid var(--shell-accent-strong);border-right:2px solid var(--shell-accent-strong);transform:translate(-60%,-50%) rotate(45deg)}.tm-notice{margin:1.2rem 0 0;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--shell-accent) 30%,var(--shell-line));border-radius:14px;background:color-mix(in srgb,var(--shell-accent-soft) 70%,var(--shell-surface));color:var(--shell-ink);font-size:.86rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.tm-studio{display:grid;gap:1rem;align-items:start;margin-top:clamp(1.6rem,4vw,2.4rem);min-width:0}.tm-panel{min-width:0;padding:clamp(1rem,2.4vw,1.5rem);border:1px solid var(--shell-line);border-radius:var(--tm-radius-lg);background:var(--shell-surface);box-shadow:var(--tm-panel-shadow)}.tm-upload-panel{min-width:0}.tm-styles-panel{display:flex;min-width:0;flex-direction:column}.tm-step{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;font-size:1.02rem;font-weight:800;line-height:1.2;letter-spacing:-.005em}.tm-step-number{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--shell-accent);color:var(--tm-accent-contrast);font-size:.82rem;font-weight:850;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 8px 18px -12px var(--shell-shadow)}.tm-dropzone{position:relative;display:grid;min-height:260px;padding:1.1rem;place-items:center;border:2px dashed var(--shell-line-strong);border-radius:var(--tm-radius-md);background:color-mix(in srgb,var(--shell-surface-muted) 60%,transparent);text-align:center;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.tm-dropzone:hover{border-color:color-mix(in srgb,var(--shell-accent) 45%,var(--shell-line-strong))}.tm-dropzone:focus-within{border-color:var(--shell-accent);box-shadow:0 0 0 3px var(--shell-accent-soft)}.tm-dropzone.is-dragging{border-style:solid;border-color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent-soft) 70%,var(--shell-surface));box-shadow:0 0 0 4px var(--shell-accent-soft)}.tm-dropzone-empty{display:grid;justify-items:center;gap:.7rem;color:var(--shell-muted)}.tm-dropzone-empty svg{color:color-mix(in srgb,var(--shell-accent) 70%,var(--shell-muted))}.tm-dropzone-empty .tm-primary{min-width:180px}.tm-muted{color:var(--shell-muted);font-size:.84rem;line-height:1.45}.tm-photo{display:grid;width:100%;max-width:100%;margin:0;justify-items:center;gap:.65rem}.tm-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:360px;border-radius:var(--tm-radius-sm);background:var(--shell-surface);object-fit:contain}.tm-change{min-height:44px;padding:.4rem .9rem;font-size:.78rem}.tm-hint{margin:.85rem 0 0;color:var(--shell-muted);font-size:.74rem;line-height:1.45}.tm-consent{display:flex;align-items:flex-start;gap:.6rem;min-height:44px;margin-top:.9rem;padding:.65rem .7rem;border:1px solid var(--shell-line);border-radius:var(--tm-radius-sm);background:color-mix(in srgb,var(--shell-surface-muted) 45%,transparent);color:var(--shell-muted);font-size:.8rem;line-height:1.45;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.tm-consent:hover{border-color:var(--shell-line-strong);background:var(--shell-surface-muted)}.tm-consent input{width:20px;height:20px;flex:0 0 auto;margin:.05rem 0 0;accent-color:var(--shell-accent);cursor:pointer}.tm-privacy{display:flex;align-items:flex-start;gap:.4rem;margin:.7rem 0 0;color:var(--shell-muted);font-size:.72rem;line-height:1.45}.tm-privacy svg{flex:0 0 auto;margin-top:.12rem;opacity:.85}.tm-style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.6rem;margin-top:.85rem}.tm-style{position:relative;display:block;min-width:0;aspect-ratio:1 / 1;overflow:hidden;padding:0;border:1px solid var(--shell-line);border-radius:var(--tm-radius-md);background:var(--shell-surface);color:var(--shell-ink);font:inherit;text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.tm-style img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background:var(--shell-surface-muted);object-fit:cover;transition:transform .2s ease}.tm-style-name{position:absolute;z-index:1;right:0;bottom:0;left:0;display:block;padding:1.2rem .45rem .42rem;background:linear-gradient(to top,#080c18e6,#080c189e 55%,#080c1800);color:#fff;font-size:.72rem;font-weight:800;line-height:1.2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.35);overflow-wrap:anywhere}.tm-style-tag{position:absolute;z-index:1;top:.55rem;left:.55rem;max-width:calc(100% - 3rem);padding:.14rem .38rem;overflow:hidden;overflow-wrap:anywhere;border-radius:9px;background:color-mix(in srgb,var(--shell-ink) 84%,transparent);color:var(--tm-page);font-size:.56rem;font-weight:800;line-height:1.25;letter-spacing:0;text-align:left;white-space:normal}.tm-style-check{position:absolute;z-index:1;top:.55rem;right:.55rem;display:grid;width:22px;height:22px;place-items:center;border:1.5px solid color-mix(in srgb,var(--shell-surface) 55%,var(--shell-line-strong));border-radius:50%;background:color-mix(in srgb,var(--shell-surface) 82%,transparent);color:transparent;box-shadow:0 2px 6px -3px var(--shell-shadow);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tm-style-check:after{content:"";width:4px;height:8px;margin-top:-2px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg)}.tm-style:hover:not(:disabled):not(.is-selected){border-color:var(--shell-line-strong);transform:translateY(-1px)}.tm-style:hover:not(:disabled) img{transform:scale(1.035)}.tm-style.is-selected{border-color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent-soft) 55%,var(--shell-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--shell-accent) 55%,transparent),0 18px 34px -28px var(--shell-shadow)}.tm-style.is-selected .tm-style-check{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--tm-accent-contrast)}.tm-style:disabled{cursor:not-allowed;opacity:.52}.tm-action-bar{position:sticky;z-index:12;bottom:0;display:flex;flex-direction:column-reverse;gap:.4rem;margin:1rem -.35rem -.35rem;padding:.65rem .35rem calc(.65rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--shell-line);border-radius:var(--tm-radius-md) var(--tm-radius-md) 0 0;background:color-mix(in srgb,var(--shell-surface) 92%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.tm-generate{width:100%;min-height:52px;padding:.85rem 1.2rem;font-size:1rem;letter-spacing:.01em}.tm-cost{margin:0;color:var(--shell-muted);font-size:.73rem;font-weight:650;line-height:1.4;text-align:center}.tm-cost:empty{display:none}.tm-progress{margin-top:clamp(1.4rem,4vw,2rem);padding:clamp(1rem,2.6vw,1.5rem);border:1px solid var(--shell-line);border-radius:var(--tm-radius-lg);background:var(--shell-surface);box-shadow:var(--tm-panel-shadow)}.tm-progress-head{display:flex;align-items:flex-start;gap:.85rem}.tm-progress-head h2{margin:0;font-size:1.02rem;line-height:1.25}.tm-progress-head p{margin:.2rem 0 0;font-size:.76rem}.tm-progress-head .tm-spinner{width:26px;height:26px;margin-top:.1rem}.tm-spinner{display:inline-block;width:22px;height:22px;flex:0 0 auto;border:2.5px solid color-mix(in srgb,var(--shell-accent) 22%,transparent);border-top-color:var(--shell-accent);border-radius:50%;animation:tm-spin .9s linear infinite}@keyframes tm-spin{to{transform:rotate(360deg)}}.tm-game{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--shell-line)}.tm-game h3{margin:0 0 .8rem;font-size:.9rem;font-weight:800}.tm-game-swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}.tm-game-swatch{display:grid;justify-items:center;gap:.35rem}.tm-game-swatch small{color:var(--shell-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tm-swatch{display:block;width:clamp(64px,18vw,88px);aspect-ratio:1 / 1;border-radius:50%;background:var(--shell-surface-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shell-ink) 10%,transparent),0 0 0 3px var(--shell-surface),0 0 0 4px var(--shell-line),0 14px 28px -18px var(--shell-shadow)}.tm-slider{display:grid;gap:.25rem;margin-top:.6rem}.tm-slider>span{color:var(--shell-muted);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.tm-slider input[type=range]{width:100%;min-height:44px;margin:0;accent-color:var(--shell-accent);cursor:pointer}.tm-slider input[type=range]:focus-visible{border-radius:999px}.tm-game-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.9rem}.tm-game-actions .tm-secondary{min-height:44px;padding:.4rem .9rem;font-size:.8rem}.tm-game-result{color:var(--shell-accent-strong);font-size:.84rem;font-weight:800}.tm-game-result:empty{display:none}.tm-gallery-section{margin-top:clamp(2rem,5vw,3rem)}.tm-gallery-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.tm-gallery-head h2{margin:0;font-size:clamp(1.25rem,2.6vw,1.55rem);letter-spacing:-.01em}.tm-gallery-head .tm-secondary{min-height:44px;padding:.42rem 1rem;font-size:.8rem}.tm-badge-note{margin:.5rem 0 0;color:var(--shell-muted);font-size:.76rem;line-height:1.45}.tm-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.tm-card{container-type:inline-size;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--shell-line);border-radius:var(--tm-radius-md);background:var(--shell-surface);box-shadow:0 16px 36px -32px var(--shell-shadow)}.tm-card[data-status=pending]{border-style:dashed}.tm-card[data-status=succeeded] .tm-card-media{background:var(--shell-surface-muted)}.tm-card[data-status=failed] .tm-card-media{background:color-mix(in srgb,var(--tm-danger-soft) 65%,var(--shell-surface-muted))}.tm-card-media{position:relative;display:grid;overflow:hidden;aspect-ratio:1 / 1;place-items:center;background:var(--shell-surface-muted)}.tm-card-media img{display:block;width:100%;height:100%;object-fit:cover}.tm-card-body{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:.6rem .65rem .7rem}.tm-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;font-size:.82rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.tm-card-tag{padding:.1rem .4rem;border:1px solid color-mix(in srgb,var(--shell-accent) 30%,transparent);border-radius:999px;background:var(--shell-accent-soft);color:var(--shell-accent-strong);font-size:.56rem;font-weight:850;line-height:1.4;letter-spacing:.05em;text-transform:uppercase}.tm-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}.tm-card-action{display:inline-flex;min-width:0;flex:1 1 calc(50% - .2rem);align-items:center;justify-content:center;gap:.25rem;min-height:38px;padding:.32rem .4rem;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-muted);font:inherit;font-size:.68rem;font-weight:750;line-height:1.2;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tm-card-action svg{width:16px;height:16px;flex:0 0 auto}.tm-card-action:hover{border-color:var(--shell-line-strong);background:var(--shell-surface-muted);color:var(--shell-ink)}.tm-card-action:only-child{flex-basis:100%}.tm-card-pending{display:grid;justify-items:center;gap:.6rem;padding:.8rem;color:var(--shell-muted);font-size:.76rem;font-weight:700;text-align:center}.tm-card-pending .tm-spinner{width:26px;height:26px}.tm-card-failed{max-width:calc(100% - 1.4rem);margin:0;padding:.75rem .8rem;border-radius:var(--tm-radius-sm);background:color-mix(in srgb,var(--tm-danger-soft) 85%,transparent);color:var(--tm-danger);font-size:.76rem;font-weight:750;line-height:1.45;text-align:center}.tm-empty{margin:1rem 0 0;padding:1.4rem 1rem;border:1px dashed var(--shell-line-strong);border-radius:var(--tm-radius-md);color:var(--shell-muted);font-size:.84rem;text-align:center}.tm-faq{margin-top:clamp(2rem,5vw,3rem)}.tm-faq h2{margin:0 0 .5rem;font-size:clamp(1.25rem,2.6vw,1.55rem);letter-spacing:-.01em}.tm-faq details{border-top:1px solid var(--shell-line)}.tm-faq details:last-of-type{border-bottom:1px solid var(--shell-line)}.tm-faq summary{position:relative;min-height:48px;padding:1rem 2.2rem 1rem 0;color:var(--shell-ink);font-size:.9rem;font-weight:750;line-height:1.4;list-style:none;cursor:pointer}.tm-faq summary::-webkit-details-marker{display:none}.tm-faq summary::marker{content:""}.tm-faq summary:after{content:"";position:absolute;top:50%;right:.55rem;width:8px;height:8px;border-right:2px solid var(--shell-muted);border-bottom:2px solid var(--shell-muted);transform:translateY(-70%) rotate(45deg);transition:transform .18s ease}.tm-faq details[open] summary:after{transform:translateY(-30%) rotate(225deg)}.tm-faq summary:hover{color:var(--shell-accent-strong)}.tm-faq details p{max-width:72ch;margin:0 0 1rem;color:var(--shell-muted);font-size:.86rem;line-height:1.6}.tm-faq details p:empty{display:none}.tm-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.1rem;padding:1.5rem var(--tm-gutter) 2.5rem;color:var(--shell-muted);font-size:.76rem;text-align:center}.tm-footer a{color:var(--shell-muted);font-weight:650;text-decoration:none}.tm-footer a:hover{color:var(--shell-ink);text-decoration:underline;text-underline-offset:3px}.tm-modal-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;overflow-y:auto;padding:clamp(.75rem,3vw,1.75rem);place-items:center;background:color-mix(in srgb,#0b1020 62%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overscroll-behavior:contain}.tm-modal-overlay.hidden{display:none}body.tm-modal-open,body.auth-modal-open{overflow:hidden;overscroll-behavior:none}.tm-dialog{position:relative;width:min(100%,var(--tm-dialog-width, 560px));max-height:92vh;max-height:min(92dvh,940px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.1rem,3vw,1.6rem);border:1px solid var(--shell-line);border-radius:var(--tm-radius-lg);background:var(--shell-surface);color:var(--shell-ink);box-shadow:var(--tm-dialog-shadow)}.tm-packs-dialog{--tm-dialog-width: 600px}.tm-auth-dialog{--tm-dialog-width: 420px}.tm-dialog h2{margin:0 3.25rem .35rem 0;font-size:clamp(1.2rem,3vw,1.45rem);line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere}.tm-dialog>.tm-muted{margin:0 0 1rem;font-size:.82rem}.tm-dialog-close{position:absolute;z-index:1;top:.7rem;right:.7rem;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--shell-muted);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tm-dialog-close:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px}.tm-dialog-close:hover{border-color:var(--shell-line);background:var(--shell-surface-muted);color:var(--shell-ink)}.tm-packs-dialog #tm-packs-view>.tm-muted{margin:0 0 1rem;font-size:.82rem}.tm-packs{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem;margin-top:1.2rem}.tm-pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-top:.4rem;padding:1.2rem .7rem .7rem;border:1.5px solid var(--shell-line);border-radius:var(--tm-radius-md);background:var(--shell-surface);color:var(--shell-ink);font:inherit;text-align:center;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.tm-pack:hover:not(:disabled){border-color:var(--shell-line-strong);box-shadow:0 22px 44px -34px var(--shell-shadow);transform:translateY(-2px)}.tm-pack:disabled{cursor:wait;opacity:.6}.tm-pack[data-badge=popular]{border-color:color-mix(in srgb,var(--shell-accent) 45%,var(--shell-line))}.tm-pack[data-badge=best_value]{border-color:var(--shell-accent);box-shadow:0 0 0 3px var(--shell-accent-soft),0 22px 44px -34px var(--shell-shadow)}.tm-pack[data-badge=best_value]:hover:not(:disabled){box-shadow:0 0 0 3px var(--shell-accent-soft),0 26px 48px -34px var(--shell-shadow)}.tm-pack-badge{position:absolute;top:-.65rem;left:50%;padding:.18rem .55rem;border:1px solid color-mix(in srgb,var(--shell-accent) 40%,transparent);border-radius:999px;background:var(--shell-accent-soft);color:var(--shell-accent-strong);font-size:.6rem;font-weight:850;line-height:1.4;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transform:translate(-50%)}.tm-pack[data-badge=best_value] .tm-pack-badge{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--tm-accent-contrast)}.tm-pack-credits{font-size:1.5rem;font-weight:850;line-height:1.1;letter-spacing:-.01em}.tm-pack-price{font-size:1rem;font-weight:800;line-height:1.3}.tm-pack-per{color:var(--shell-muted);font-size:.68rem;line-height:1.4}.tm-pack-save{margin-top:.35rem;padding:.16rem .5rem;border-radius:999px;background:var(--tm-success-soft);color:var(--tm-success);font-size:.64rem;font-weight:850;line-height:1.5;letter-spacing:.02em}.tm-pack-cta{display:grid;width:100%;min-height:44px;margin-top:.7rem;padding:.5rem .6rem;place-items:center;border:1px solid var(--shell-line-strong);border-radius:999px;background:var(--shell-surface-muted);color:var(--shell-ink);font-size:.76rem;font-weight:800;line-height:1.2}.tm-pack:hover:not(:disabled) .tm-pack-cta,.tm-pack[data-badge=best_value] .tm-pack-cta{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--tm-accent-contrast)}.tm-pack-note{margin:1rem 0 0;color:var(--shell-muted);font-size:.74rem;line-height:1.45;text-align:center}.tm-express-checkout{margin:1rem 0 0}.tm-pay-or{display:flex;align-items:center;gap:.75rem;margin:.9rem 0 0;color:var(--shell-muted);font-size:.8rem}.tm-pay-or:before,.tm-pay-or:after{content:"";flex:1;height:1px;background:currentColor;opacity:.35}.tm-express-checkout[hidden],.tm-pay-or[hidden]{display:none}.tm-payment-element{min-height:200px;margin:1rem 0 .4rem}.tm-pay-submit{width:100%;min-height:48px;margin-top:.35rem}.tm-pay-message{margin:.9rem 0 0;color:var(--shell-muted);font-size:.8rem;font-weight:750;line-height:1.45;text-align:center;overflow-wrap:anywhere}.tm-pay-message:empty{display:none}.tm-pay-message[data-tone=error]{padding:.55rem .7rem;border-radius:var(--tm-radius-sm);background:var(--tm-danger-soft);color:var(--tm-danger)}.tm-pay-message[data-tone=success]{padding:.55rem .7rem;border-radius:var(--tm-radius-sm);background:var(--tm-success-soft);color:var(--tm-success)}.tm-secure{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;margin:1rem 0 0;color:var(--shell-muted);font-size:.7rem;line-height:1.4}.tm-secure svg{flex:0 0 auto}.tm-auth-view{display:grid;gap:.75rem;margin-top:1rem}.tm-auth-view h3{margin:0;font-size:1rem;line-height:1.3}.tm-auth-view p{margin:0;color:var(--shell-muted);font-size:.84rem;line-height:1.5}.tm-auth-view p.tm-auth-email{color:var(--shell-ink);font-weight:750;overflow-wrap:anywhere}.tm-auth-google{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;gap:.55rem;padding:.6rem .8rem;border:1px solid #dadce0;border-radius:var(--tm-radius-sm);background:#fff;color:#1f2937;font:inherit;font-size:.88rem;font-weight:750;line-height:1.2;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.tm-auth-google:hover:not(:disabled){background:#f8f9fa;box-shadow:0 6px 16px -12px #0f172a73}.tm-auth-google:disabled{cursor:wait;opacity:.65}.tm-auth-google img{flex:0 0 auto}.tm-auth-divider{display:flex;align-items:center;gap:.6rem;color:var(--shell-muted);font-size:.7rem;font-weight:700;line-height:1.3;letter-spacing:.04em;text-transform:uppercase}.tm-auth-divider:before,.tm-auth-divider:after{content:"";height:1px;flex:1;background:var(--shell-line)}.tm-auth-form{display:grid;gap:.7rem}.tm-auth-form label{display:grid;gap:.35rem;color:var(--shell-muted);font-size:.75rem;font-weight:750;letter-spacing:.02em}.tm-auth-form input{width:100%;height:46px;padding:0 .8rem;border:1px solid var(--shell-line-strong);border-radius:var(--tm-radius-sm);background:var(--tm-field);color:var(--shell-ink);font:inherit;font-size:.9rem}.tm-auth-form input:focus-visible{border-color:var(--shell-accent)}.tm-auth-form .tm-primary{width:100%;min-height:46px}.tm-auth-feedback{min-height:1.1rem;margin:.85rem 0 0;color:var(--shell-muted);font-size:.78rem;font-weight:650;line-height:1.45;text-align:center;overflow-wrap:anywhere}.tm-auth-feedback:empty{display:none}.tm-auth-feedback.is-error{color:var(--tm-danger)}.tm-toast{position:fixed;z-index:120;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));left:50%;width:max-content;max-width:min(22rem,calc(100% - 2rem));margin:0;padding:.68rem 1rem;border:1px solid color-mix(in srgb,var(--shell-line) 60%,transparent);border-radius:999px;background:var(--tm-toast-bg);color:var(--tm-toast-ink);box-shadow:0 20px 40px -24px #0f172a99;font-size:.8rem;font-weight:750;line-height:1.35;text-align:center;transform:translate(-50%);animation:tm-toast-in .18s ease-out}@keyframes tm-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (min-width: 640px){.tm-packs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}}@media (min-width: 680px){.tm-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}}@media (min-width: 720px){.tm-style-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem}.tm-action-bar{position:static;margin:1.1rem 0 0;padding:0;border-top:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.tm-cost{font-size:.76rem}.tm-card-action{min-height:36px;font-size:.7rem}}@media (min-width: 900px){.tm-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,4vw,3.5rem)}.tm-examples{display:grid;width:min(100%,400px);grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;gap:.75rem;margin:0;padding:0;overflow:visible;scroll-snap-type:none}.tm-example{width:100%;flex:none}.tm-example:first-child{grid-column:1 / -1}}@media (min-width: 940px){.tm-studio{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.25rem}}@media (min-width: 1100px){.tm-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.tm-example{padding:.55rem}}@media (max-width: 679px){.tm-card-action{min-width:38px;min-height:44px;padding:.32rem .25rem}.tm-card-action span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}}@container (max-width: 240px){.tm-card-action{padding:.32rem .25rem}.tm-card-action span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}}@media (max-width: 719px){.tm-toast{bottom:calc(7.5rem + env(safe-area-inset-bottom,0px))}}@media (max-width: 620px){.tm-icon-button{width:34px;height:34px}.tm-credits{min-height:32px;padding:.25rem .55rem;font-size:.72rem}.tm-hero h1{max-width:20ch}.tm-example{flex-basis:min(80vw,300px)}.tm-dialog{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0px))}}@media (max-width: 560px){.tm-credits{width:34px;height:34px;justify-content:center;padding:0}.tm-credits span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}}@media (max-width: 500px){.tools-logo-text{display:none}}@media (max-width: 420px){.tm-icon-button{width:32px;height:32px}.tm-generate{padding-inline:.9rem;font-size:.95rem}}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){.tm-spinner{animation:none;border-top-color:var(--shell-accent)}.tm-toast{animation:none}.tm-style,.tm-pack,.tm-primary,.tm-secondary,.tm-card-action,.tm-icon-button,.tm-credits,.tm-dialog-close,.tm-consent,.tm-dropzone,.tm-faq summary:after{transition:none}.tm-style:hover:not(:disabled),.tm-pack:hover:not(:disabled),.tm-primary:hover:not(:disabled){transform:none}.tm-style img,.tm-style:hover:not(:disabled) img{transform:none;transition:none}}@media (max-width: 480px){.tools-play-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tools-play-link{padding-inline:.55rem}.tools-lang-select{width:76px;min-width:76px}}.tm-perks{margin:.2rem 0 1.1rem;color:var(--shell-ink);font-size:.9rem;font-weight:700}.tm-style--custom img{filter:saturate(1.15)}.tm-style.is-locked img{filter:grayscale(.25) brightness(.72)}.tm-style.is-locked .tm-style-check{background:color-mix(in srgb,var(--shell-ink) 70%,transparent);border-color:transparent}.tm-style.is-locked .tm-style-check:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:10px;height:12px;background:var(--tm-page);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;border:0;transform:none}.tm-custom{display:grid;gap:.45rem;margin-top:1rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--shell-line) 90%,transparent);border-radius:var(--tm-radius-md);background:var(--tm-field)}.tm-custom[hidden],.tm-custom-locked[hidden]{display:none}.tm-custom-label{font-weight:800;font-size:.92rem;color:var(--shell-ink)}.tm-custom textarea{width:100%;min-height:3.6rem;padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--shell-line) 95%,transparent);border-radius:var(--tm-radius-sm);background:var(--shell-surface);color:var(--shell-ink);font:inherit;line-height:1.4;resize:vertical;box-sizing:border-box}.tm-custom textarea:focus-visible{outline:2px solid var(--shell-accent, #6d4cff);outline-offset:1px}.tm-custom-meta{display:flex;justify-content:space-between;gap:.75rem;color:var(--shell-muted);font-size:.78rem}.tm-custom-meta span:last-child{flex:none;font-variant-numeric:tabular-nums}.tm-custom-locked{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.8rem .9rem;border-radius:var(--tm-radius-md);background:linear-gradient(135deg,#7c3aed24,#ec48991f);border:1px solid rgba(124,58,237,.28)}.tm-custom-locked div{display:grid;gap:.15rem;min-width:0}.tm-custom-locked strong{color:var(--shell-ink);font-size:.92rem}.tm-custom-locked span{color:var(--shell-muted);font-size:.82rem}.tm-custom-locked .tm-secondary{flex:none}.tm-pack-perks{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.75rem 0 .25rem;padding:0;list-style:none}.tm-pack-perks li{position:relative;padding-left:1.25rem;color:var(--shell-ink);font-size:.86rem;font-weight:700}.tm-pack-perks li:before{content:"";position:absolute;left:0;top:.2em;width:.85rem;height:.85rem;border-radius:50%;background:var(--tm-success-soft);box-shadow:inset 0 0 0 1.5px var(--tm-success)}.tm-pack-perks li:after{content:"";position:absolute;left:.28rem;top:.38em;width:.22rem;height:.4rem;border:solid var(--tm-success);border-width:0 2px 2px 0;transform:rotate(45deg)}@media (max-width: 480px){.tm-custom-locked{flex-direction:column;align-items:stretch}}
