:root{--background: oklch(.98 .01 95.77);--foreground: oklch(.28 .03 257.68);--primary: oklch(.54 .1 251.95);--primary-foreground: oklch(.98 .005 247.86);--secondary: oklch(.95 .018 98.61);--secondary-foreground: oklch(.31 .03 257.68);--muted-foreground: oklch(.52 .03 257.68);--accent: oklch(.92 .03 81.05);--border: oklch(.89 .01 91.47);--input: oklch(.89 .01 91.47);--ring: oklch(.68 .08 247.86);--panel-shadow: 0 24px 80px rgb(15 23 42 / .08);--hero-shadow: 0 20px 60px rgb(15 23 42 / .08)}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--foreground);font-family:Avenir Next,Segoe UI,sans-serif;background:#fff}a{color:inherit}[hidden]{display:none!important}.icon{display:block;width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.icon--sm{width:.875rem;height:.875rem}.icon--lg{width:1.5rem;height:1.5rem}.app-shell{position:relative;overflow:hidden}.page{position:relative;width:100%;min-height:100vh;margin:0 auto;padding:.5rem;display:flex;flex-direction:column;gap:.6rem}.about-module{margin-top:.8rem;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #0f172a0a}.sidebar-stack>.about-module{margin-top:0}.about-module__summary{display:flex;align-items:center;justify-content:center;padding:.75rem .8rem;font-size:.88rem;font-weight:600;color:color-mix(in oklab,var(--foreground) 68%,white);cursor:pointer;text-align:center;border-bottom:1px solid #eceff3}.about-module__body{display:grid;gap:.7rem;padding:.8rem}.about-module__legal{display:grid;gap:.1rem;padding-top:.2rem}.site-note__text{margin:0;font-size:.88rem;line-height:1.55;text-align:justify;color:color-mix(in oklab,var(--foreground) 60%,white)}.site-footer__text{margin:0;font-size:.68rem;line-height:1.4;text-align:left;color:color-mix(in oklab,var(--foreground) 62%,white)}.site-footer__link{color:inherit;text-decoration:none}.site-footer__link:hover{text-decoration:underline;text-underline-offset:.15em}.site-title{margin:0;font-size:1.15rem;line-height:1.15;font-weight:700;letter-spacing:-.03em;text-align:center}.app-layout{display:grid;gap:.6rem}.panel{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #0f172a0a;min-width:0}.panel__body{display:grid;gap:.85rem;padding:.8rem;min-width:0}.panel--controls-intro .panel__body,.panel--controls-actions .panel__body{display:flex;flex-direction:column}.sidebar-stack:empty{display:none}.preview-surface{min-height:320px;border-radius:.85rem;background:#fff;aspect-ratio:16 / 10}.panel--preview{transition:border-color .18s ease,box-shadow .18s ease}.panel--preview.is-dragover{border-color:var(--primary)}#vis{width:100%;min-height:inherit}#vis svg{display:block;width:100%;height:100%}.auth-dialog,.export-dialog{width:min(34rem,calc(100vw - 1rem));margin:auto;padding:0;border:0;background:transparent}.export-dialog{width:min(56rem,calc(100vw - 1rem))}.auth-dialog::backdrop,.export-dialog::backdrop{background:#0f172a66;backdrop-filter:blur(8px)}.auth-dialog__panel,.export-dialog__panel{display:grid;gap:.8rem;width:100%;margin:0;padding:.95rem;border:1px solid #e5e7eb;border-radius:1.1rem;background:#fff;box-shadow:0 24px 80px #0f172a2e}.auth-dialog__header,.export-dialog__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.auth-dialog__eyebrow{margin:0 0 .2rem;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.auth-dialog__title,.export-dialog__title{margin:0;font-size:1.1rem;letter-spacing:-.03em}.auth-dialog__lede,.auth-dialog__close,.export-dialog__close{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:var(--muted-foreground);cursor:pointer}.auth-dialog__close:hover,.export-dialog__close:hover{color:var(--foreground)}.export-dialog__grid{display:grid;gap:.65rem}.export-dialog__grid[hidden],.premium-exports[hidden]{display:none!important}.export-card{display:grid;grid-template-rows:auto 1fr auto;align-content:start;gap:.9rem;padding:1rem .95rem .95rem;border:1px solid #e5e7eb;border-radius:1.2rem;background:#fff;box-shadow:0 10px 28px #0f172a0a}.export-card--paid{background:#fafafc}.export-card--pro{border-color:#8fdff0;background:linear-gradient(180deg,#e4f8fcf5,#f3fcfffa);box-shadow:0 18px 40px #2c9fbd24}.export-card--free{background:#fcfcfd;border-color:#eceff3}.export-card--creator{border-color:#d7e1ec;background:#fbfcfe}.export-card__meta{display:grid;justify-items:center;gap:.35rem;text-align:center}.export-card__title{margin:0;font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.export-card__price{margin:0;font-size:2.05rem;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--foreground)}.export-card__features{margin:0;padding:0;display:grid;gap:.45rem;list-style:none;font-size:.82rem;line-height:1.38;color:var(--foreground)}.export-card__features li{position:relative;padding-left:1.2rem}.export-card__features li:before{content:"";position:absolute;top:.42rem;left:0;width:.42rem;height:.42rem;border-radius:999px;background:#8ecfe0;box-shadow:0 0 0 .18rem #8ecfe02e}.export-card--pro .export-card__features li:before{background:#20b2cf;box-shadow:0 0 0 .18rem #20b2cf2e}.export-card--pro .app-button{background:#1db2d0;color:#fff;border-color:#1db2d0;box-shadow:0 14px 28px #1db2d038}.export-card--pro .app-button:hover{background:#16a3c0;color:#fff;border-color:#16a3c0}.export-dialog__status{margin:0;font-size:.82rem;line-height:1.4;color:var(--muted-foreground)}.export-dialog__status:empty,.auth-dialog__status:empty{display:none}.export-dialog__status[data-tone=success]{color:#25693b}.export-dialog__status[data-tone=error]{color:#b42318}.export-dialog__status[data-tone=pending]{color:#3b4fb4}.auth-dialog__status{min-height:1.2rem;margin:0;font-size:.82rem;line-height:1.4;color:var(--muted-foreground)}.auth-dialog__status[data-tone=success]{color:#25693b}.auth-dialog__status[data-tone=error]{color:#b42318}.auth-dialog__status[data-tone=pending]{color:#3b4fb4}.export-dialog__reassurance{margin:-.1rem 0 0;font-size:.74rem;line-height:1.35;color:var(--muted-foreground)}.export-dialog__restore-link{appearance:none;padding:0;border:0;background:none;color:var(--foreground);font:inherit;font-weight:600;cursor:pointer}.export-dialog__restore-link:hover{text-decoration:underline;text-underline-offset:.18em}.export-dialog__restore-link:focus-visible{outline:none;border-radius:.35rem;box-shadow:0 0 0 3px color-mix(in oklab,white 72%,var(--ring))}.premium-exports{display:grid;gap:.55rem;padding:.8rem .85rem;border:1px solid #e5e7eb;border-radius:.95rem;background:#f8fafc}.premium-exports__header{display:grid;gap:.2rem}.premium-exports__plan{margin:0;font-size:.86rem;font-weight:700;color:var(--foreground)}.premium-exports__actions{display:grid;gap:.5rem}.control-section{display:grid;gap:.85rem}.top-controls{display:grid;gap:.65rem}.top-controls__button{width:100%}.panel-divider{border-top:1px solid #eceff3}.panel-divider--auto{margin-top:auto}.source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.source-actions__button{min-width:0}.source-hint,.source-status{font-size:.84rem;line-height:1.4;color:var(--muted-foreground)}.source-hint{margin:0}.source-status{min-height:1.15rem;margin:0;text-align:center}.control-grid{display:grid;gap:.6rem}.field{display:grid;gap:.5rem}.field--full{grid-column:1 / -1}.field__label{font-size:.92rem;font-weight:600;line-height:1.2}.options-accordion{border:1px solid #e5e7eb;border-radius:.85rem;background:#fff}.options-accordion__summary{position:relative;display:flex;align-items:center;justify-content:center;padding:.7rem .8rem;font-size:.92rem;font-weight:600;cursor:pointer;list-style:none;text-align:center}.options-accordion__summary::-webkit-details-marker{display:none}.options-accordion__summary:after{content:"+";position:absolute;right:.8rem;color:var(--muted-foreground);font-size:1rem;line-height:1}.options-accordion[open] .options-accordion__summary:after{content:"-"}.options-accordion__body{display:grid;gap:.75rem;padding:0 .8rem .8rem}.app-input{width:100%;min-width:0;min-height:2.2rem;padding:.4rem .65rem;border:1px solid #d8dee8;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.app-input::placeholder{color:var(--muted-foreground)}.app-input:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,white 72%,var(--ring))}.app-select{appearance:none;padding-right:2.1rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted-foreground) 50%),linear-gradient(135deg,var(--muted-foreground) 50%,transparent 50%);background-position:calc(100% - 1rem) calc(50% - .14rem),calc(100% - .7rem) calc(50% - .14rem);background-size:.38rem .38rem,.38rem .38rem;background-repeat:no-repeat;cursor:pointer}.font-picker,.font-picker__control{position:relative}.font-picker__input{padding-right:2.3rem}.font-picker__toggle{appearance:none;position:absolute;top:50%;right:.35rem;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted-foreground);transform:translateY(-50%);cursor:pointer}.font-picker__toggle:hover{color:var(--foreground);background:#f8fafc}.font-picker__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,white 72%,var(--ring))}.font-picker__popover{position:absolute;z-index:30;top:calc(100% + .35rem);right:0;left:0;border:1px solid #d8dee8;border-radius:.8rem;background:#fff;box-shadow:0 20px 48px #0f172a1a;overflow:hidden}.font-picker__popover[hidden]{display:none}.font-picker__list{max-height:18rem;margin:0;padding:.35rem;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;list-style:none}.font-picker__item+.font-picker__item{margin-top:.2rem}.font-picker__option{appearance:none;width:100%;display:grid;gap:.18rem;padding:.45rem .55rem;border:1px solid transparent;border-radius:.65rem;background:#fff;color:inherit;text-align:left;cursor:pointer}.font-picker__option:hover,.font-picker__option.is-active{border-color:#d8dee8;background:#f8fafc}.font-picker__option.is-selected{border-color:color-mix(in oklab,var(--primary) 22%,white)}.font-picker__preview{display:block;width:auto;max-width:100%;height:1.55rem;color:var(--foreground)}.font-picker__fallback{display:block;max-width:100%;overflow:hidden;font-size:1rem;line-height:1.1;white-space:nowrap;text-overflow:ellipsis}.font-picker__name{display:block;font-size:.78rem;line-height:1.2;color:var(--muted-foreground)}.font-picker__empty{padding:.55rem .6rem;color:var(--muted-foreground);font-size:.82rem;line-height:1.35}.app-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.2rem;padding:.5rem .75rem;border:1px solid transparent;border-radius:.65rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.app-button:hover{transform:translateY(-1px)}.app-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,white 72%,var(--ring))}.app-button:disabled,.app-button[data-disabled]{opacity:.5;cursor:not-allowed;transform:none}.app-button--full{width:100%}.app-button--primary{background:#fff;color:var(--foreground);border-color:#bfc8d5;box-shadow:none}.app-button--primary:hover{background:#fff;color:var(--primary);border-color:color-mix(in oklab,var(--primary) 35%,white)}.app-button--secondary{background:#fff;color:var(--foreground);border-color:#d8dee8}.app-button--secondary:hover{background:#fff;border-color:#c8d0db}.app-button--outline{background:#fff;color:var(--foreground);border-color:#d8dee8}.app-button--outline:hover{background:#fff;border-color:#c8d0db}.app-button--ghost{background:transparent;color:var(--foreground);border-color:transparent}.app-button--ghost:hover{background:#fff;border-color:#d8dee8}@media(min-width:720px){.page{padding:.6rem}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-dialog__grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}@media(min-width:1080px){.page{padding:.75rem}.app-layout{grid-template-columns:minmax(0,1fr) 18.5rem;align-items:start}.sidebar-stack{grid-column:2;display:grid;gap:.6rem}}@media(max-width:719px){.preview-surface{min-height:240px}.export-dialog{width:min(32rem,calc(100vw - .75rem))}.export-dialog__panel{padding:.85rem}}
