@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Crimson+Pro:ital,wght@0,400;0,600;1,400&display=swap";:root{--easy3mf-moss-950:#17352f;--easy3mf-moss-800:#245047;--easy3mf-moss-600:#397466;--easy3mf-moss-100:#e2eee9;--easy3mf-old-wall:#e8d8a8;--easy3mf-lantern:#d97945;--easy3mf-terracotta:#a95135;--easy3mf-dark-wood:#3b2b25;--easy3mf-paper:#faf7ef;--easy3mf-surface:#fffdf8;--easy3mf-ink:#202b28;--easy3mf-muted:#66736d;--easy3mf-border:#d9d4c5;--color-primary:var(--easy3mf-moss-800);--color-primary-hover:var(--easy3mf-moss-950);--color-primary-light:var(--easy3mf-moss-100);--color-accent:var(--easy3mf-lantern);--color-accent-muted:#e8945a;--color-warning:var(--easy3mf-terracotta);--color-surface-bg:var(--easy3mf-paper);--color-surface-card:var(--easy3mf-surface);--color-text:var(--easy3mf-ink);--color-text-muted:var(--easy3mf-muted);--color-border:var(--easy3mf-border);--font-sans:"Be Vietnam Pro", "Segoe UI", system-ui, sans-serif;--font-display:"Crimson Pro", Georgia, serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 3px #202b2812;--shadow-sm:0 2px 8px #202b2817;--shadow-md:0 4px 16px #202b281c;--shadow-lg:0 8px 32px #202b2821;--shadow-xl:0 16px 48px #202b2829;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.35s ease;--z-dock:40;--z-modal:80;--z-tooltip:100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-surface-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.9375rem;line-height:1.6}img,video,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-text);font-weight:700;line-height:1.25}h1{font-size:clamp(1.875rem,4vw,2.75rem)}h2{font-size:clamp(1.5rem,3vw,2.125rem)}h3{font-size:clamp(1.25rem,2.5vw,1.625rem)}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}.display-heading{font-family:var(--font-display);font-weight:600}.container{width:100%;max-width:1200px;padding:0 var(--space-6);margin:0 auto}.container--wide{max-width:1400px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:.625rem var(--space-5);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:3px solid var(--easy3mf-moss-600);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn--primary{background-color:var(--easy3mf-moss-800);color:#fff;border-color:var(--easy3mf-moss-800)}.btn--primary:hover{background-color:var(--easy3mf-moss-950);border-color:var(--easy3mf-moss-950);box-shadow:var(--shadow-sm)}.btn--secondary{color:var(--easy3mf-moss-800);border-color:var(--easy3mf-moss-800);background-color:#0000}.btn--secondary:hover{background-color:var(--easy3mf-moss-100)}.btn--ghost{color:var(--color-text-muted);background-color:#0000;border-color:#0000}.btn--ghost:hover{background-color:var(--easy3mf-moss-100);color:var(--color-text)}.btn--accent{background-color:var(--easy3mf-lantern);color:#fff;border-color:var(--easy3mf-lantern)}.btn--accent:hover{box-shadow:var(--shadow-sm);background-color:#c4693b;border-color:#c4693b}.btn--sm{padding:.375rem var(--space-4);border-radius:var(--radius-sm);font-size:.8125rem}.btn--lg{padding:.875rem var(--space-8);border-radius:var(--radius-lg);font-size:1.0625rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base), transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer}.card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);letter-spacing:.02em;padding:.2em .6em;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge--new{background-color:var(--easy3mf-moss-100);color:var(--easy3mf-moss-800)}.badge--beta{color:#a96008;background-color:#fef3e2}.badge--pro{background-color:var(--easy3mf-old-wall);color:var(--easy3mf-dark-wood)}.badge--locked{color:var(--easy3mf-muted);background-color:#f0edea}.chip{background:var(--easy3mf-moss-100);color:var(--easy3mf-moss-800);border-radius:var(--radius-full);border:1px solid var(--easy3mf-moss-600);transition:background var(--transition-fast);align-items:center;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.chip--active{background:var(--easy3mf-moss-800);color:#fff;border-color:var(--easy3mf-moss-800)}.input{width:100%;padding:.625rem var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:.9375rem}.input::placeholder{color:var(--color-text-muted);opacity:.7}.input:focus{border-color:var(--easy3mf-moss-600);outline:none;box-shadow:0 0 0 3px #39746626}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--easy3mf-moss-100) 25%, #f0ece0 50%, var(--easy3mf-moss-100) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.5s linear infinite skeleton-shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--easy3mf-moss-100)}::-webkit-scrollbar-thumb{background:var(--easy3mf-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--easy3mf-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s both fadeIn}.animate-slide-down{animation:.25s both slideDown}.animate-slide-up{animation:.25s both slideUp}.animate-scale-in{animation:.2s both scaleIn}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.divider{background:var(--color-border);height:1px;margin:var(--space-4) 0}:focus-visible{outline:3px solid var(--easy3mf-moss-600);outline-offset:2px}@media (width<=768px){.hide-mobile{display:none!important}.container{padding:0 var(--space-4)}}@media (width>=769px){.hide-desktop{display:none!important}}.paper-texture:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;inset:0}.skip-link{top:-100%;left:var(--space-4);z-index:999;background:var(--easy3mf-moss-800);color:#fff;border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--transition-fast);padding:.5rem 1rem;font-weight:600;text-decoration:none;position:absolute}.skip-link:focus{top:0}.activate-modal-overlay{z-index:99999;-webkit-backdrop-filter:blur(4px);box-sizing:border-box;background:#0f172a80;justify-content:center;align-items:center;padding:1.25rem;animation:.16s ease-out activateModalFadeIn;display:flex;position:fixed;inset:0}.activate-modal-dialog{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:450px;padding:1.75rem;animation:.2s cubic-bezier(.16,1,.3,1) activateModalScaleIn;position:relative;box-shadow:0 20px 40px -10px #0f172a38,0 0 0 1px #0000000a}@keyframes activateModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes activateModalScaleIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.activate-modal__header{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.activate-modal__title-group{align-items:center;gap:.75rem;display:flex}.activate-modal__icon{color:#059669;background:#ecfdf5;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.activate-modal__title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.activate-modal__subtitle{color:#64748b;margin:.2rem 0 0;font-size:.8125rem}.activate-modal__close-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;line-height:1;transition:all .12s;display:flex}.activate-modal__close-btn:hover{color:#0f172a;background:#f1f5f9}.activate-modal__form-group{margin-bottom:1.35rem}.activate-modal__label{color:#334155;margin-bottom:.45rem;font-size:.825rem;font-weight:600;display:block}.activate-modal__input{box-sizing:border-box;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:44px;padding:0 .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;transition:border-color .15s,box-shadow .15s,background .15s}.activate-modal__input:focus{background:#fff;border-color:#059669;box-shadow:0 0 0 3px #05966926}.activate-modal__testkey{color:#64748b;align-items:center;gap:6px;margin-top:.6rem;font-size:.775rem;display:flex}.activate-modal__testkey button{color:#0284c7;cursor:pointer;background:0 0;border:none;padding:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.775rem;font-weight:500;text-decoration:underline}.activate-modal__testkey button:hover{color:#0369a1}.activate-modal__actions{justify-content:flex-end;gap:.75rem;display:flex}.activate-modal__btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .15s}.activate-modal__btn-cancel:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.activate-modal__btn-submit{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;align-items:center;gap:6px;padding:.6rem 1.35rem;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.activate-modal__btn-submit:hover:not(:disabled){background:#1e293b}.activate-modal__btn-submit:disabled{opacity:.5;cursor:not-allowed}.command-palette-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background-color:#00000073;justify-content:center;align-items:flex-start;padding:4rem 1rem 1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.command-palette-dialog{background-color:#fff;border-radius:1rem;flex-direction:column;width:100%;max-width:38rem;animation:.15s ease-out slideDown;display:flex;overflow:hidden;box-shadow:0 20px 40px #0003,0 0 0 1px #0000000d}.command-palette-input-wrap{border-bottom:1px solid var(--color-line,#e4e4e7);background-color:#fff;align-items:center;height:3.5rem;padding:0 1rem;display:flex;position:relative}.command-palette-icon{color:var(--color-ink-3,#71717a);flex-shrink:0;margin-right:.75rem}.command-palette-input{color:var(--color-ink,#18181b);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem}.command-palette-input::placeholder{color:#a1a1aa}.command-palette-clear{color:#71717a;cursor:pointer;background:0 0;border:none;border-radius:.375rem;place-items:center;padding:.25rem;display:grid}.command-palette-clear:hover{color:#18181b;background-color:#f4f4f5}.command-palette-kbd{color:#71717a;background-color:#f4f4f5;border:1px solid #e4e4e7;border-radius:.375rem;padding:.15rem .45rem;font-size:.6875rem;font-weight:600}.command-palette-list{max-height:min(60vh,26rem);padding:.5rem;overflow-y:auto}.command-palette-group{margin-bottom:.75rem}.command-palette-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-3,#71717a);align-items:center;gap:.4rem;padding:.5rem .75rem .25rem;font-size:.6875rem;font-weight:700;display:flex}.command-palette-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.625rem;align-items:center;gap:.75rem;padding:.55rem .75rem;transition:all .12s;display:flex}.command-palette-item--selected,.command-palette-item:hover{background-color:#f4f4f5}.command-palette-item-thumb{object-fit:cover;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;flex-shrink:0;width:2.25rem;height:2.25rem}.command-palette-page-icon{color:#475569;background-color:#f1f5f9;border-radius:.5rem;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;display:grid}.command-palette-item-text{flex:1;min-width:0}.command-palette-item-title-row{align-items:center;gap:.4rem;display:flex}.command-palette-item-title{color:var(--color-ink,#18181b);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.command-palette-cat-tag{color:#64748b;white-space:nowrap;background-color:#f1f5f9;border-radius:.375rem;padding:.1rem .4rem;font-size:.6875rem}.command-palette-pill{text-transform:uppercase;border-radius:9999px;padding:.1rem .4rem;font-size:.625rem;font-weight:700}.pill--popular,.pill--ready{color:#059669;background-color:#ecfdf5}.pill--roadmap{color:#b45309;background-color:#fef3c7}.pill--pro{color:#d97706;background-color:#fef3c7}.pill--beta{color:#7c3aed;background-color:#ede9fe}.command-palette-item-desc{color:var(--color-ink-3,#71717a);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.75rem;display:block;overflow:hidden}.command-palette-enter-icon{color:var(--color-ink-3,#71717a);opacity:.7;flex-shrink:0}.command-palette-empty{text-align:center;color:var(--color-ink-2,#52525b);padding:2.5rem 1rem;font-size:.9375rem}.command-palette-empty-sub{color:#a1a1aa;margin-top:.35rem;font-size:.8125rem;display:block}.command-palette-footer{border-top:1px solid var(--color-line,#e4e4e7);color:#71717a;background-color:#fafafa;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.75rem;display:flex}.command-palette-footer-shortcut{align-items:center;gap:.3rem;display:flex}.command-palette-footer-shortcut kbd{color:#3f3f46;background-color:#fff;border:1px solid #d4d4d8;border-radius:.25rem;padding:.05rem .3rem;font-size:.6875rem;font-weight:600;box-shadow:0 1px #0000000d}.app-header{z-index:50;background:var(--easy3mf-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);position:sticky;top:0}.app-header__inner{align-items:center;gap:var(--space-4);height:60px;display:flex}.app-header__brand{align-items:center;gap:var(--space-2);flex-shrink:0;text-decoration:none;display:flex}.app-header__logo-mark{transition:transform var(--transition-base);align-items:center;display:flex}.app-header__brand:hover .app-header__logo-mark{transform:rotate(-3deg)scale(1.05)}.app-header__brand-name{color:var(--easy3mf-moss-950);letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.app-header__nav{align-items:center;gap:var(--space-1);flex:1;display:flex}.app-header__nav-link{padding:.375rem var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition-fast), color var(--transition-fast);font-size:.9rem;font-weight:500;text-decoration:none}.app-header__nav-link:hover,.app-header__nav-link:focus-visible{background:var(--easy3mf-moss-100);color:var(--color-text);text-decoration:none}.app-header__nav-btn{align-items:center;gap:var(--space-1);padding:.375rem var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;font-size:.9rem;font-weight:500;display:flex}.app-header__nav-btn:hover,.app-header__nav-btn:focus-visible{background:var(--easy3mf-moss-100);color:var(--color-text)}.chevron{transition:transform var(--transition-fast)}.chevron--open{transform:rotate(180deg)}.tools-menu{position:relative}.tools-popover{border:1px solid var(--color-line,#e4e4e7);min-width:290px;z-index:var(--z-modal);background:#fff;border-radius:1.25rem;padding:.6rem;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 10px 30px #00000014}.tools-popover__group{flex-direction:column;gap:.15rem;display:flex}.tools-popover__group-title{text-transform:uppercase;letter-spacing:.05em;color:#71717a;padding:.4rem .6rem .25rem;font-size:.6875rem;font-weight:700}.tool-menu-item{cursor:pointer;border-radius:.75rem;align-items:center;gap:.75rem;padding:.5rem .6rem;text-decoration:none;transition:background .15s;display:flex}.tool-menu-item:hover,.tool-menu-item:focus-visible{background:#f4f4f5;text-decoration:none}.tool-menu-item__icon{color:#52525b;background:#fef2f2;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.tool-menu-item__body{flex-direction:column;min-width:0;display:flex}.tool-menu-item__label{color:#18181b;margin-bottom:.1rem;font-size:.875rem;font-weight:700}.tool-menu-item__desc{color:#71717a;font-size:.75rem;line-height:1.3}.tools-popover__divider{background:#f4f4f5;height:1px;margin:.4rem .2rem}.badge-tag-ready{color:#059669;text-transform:uppercase;background-color:#ecfdf5;border-radius:9999px;margin-left:.4rem;padding:.1rem .4rem;font-size:.625rem;font-weight:700}.badge-tag-roadmap{color:#d97706;text-transform:uppercase;background-color:#fef3c7;border-radius:9999px;margin-left:.4rem;padding:.1rem .4rem;font-size:.625rem;font-weight:700}.tools-divider{background:var(--color-border);height:1px;margin:var(--space-1) var(--space-2)}.app-header__search-btn{border:1px solid var(--color-line,#e2e8f0);color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border-radius:9999px;outline:none;align-items:center;gap:.5rem;height:2.125rem;padding:0 .45rem 0 .75rem;font-size:.8125rem;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #00000008}.app-header__search-btn:hover{color:#1e293b;background-color:#f8fafc;border-color:#cbd5e1}.app-header__search-icon{color:#64748b;flex-shrink:0}.app-header__search-label{color:#64748b;font-size:.8125rem;font-weight:500}.app-header__search-kbd{color:#64748b;white-space:nowrap;letter-spacing:.02em;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;justify-content:center;align-items:center;padding:.15rem .5rem;font-family:inherit;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.app-header__mobile-search-btn{color:#64748b;cursor:pointer;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.625rem;outline:none;align-items:center;gap:.5rem;width:calc(100% - 2rem);margin:.5rem 1rem .75rem;padding:.625rem .875rem;font-size:.875rem;display:flex}.app-header__mobile-search-btn span{text-align:left;flex:1}.app-header__mobile-search-btn kbd{background-color:#fff;border:1px solid #cbd5e1;border-radius:.25rem;padding:.1rem .4rem;font-size:.6875rem;font-weight:600}.app-header__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.app-header__account{align-items:center;gap:var(--space-1);display:flex}.app-header__icon-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:flex}.app-header__icon-btn:hover,.app-header__icon-btn:focus-visible{background:var(--easy3mf-moss-100);color:var(--color-text)}.app-header__avatar{border-radius:var(--radius-full);background:var(--easy3mf-moss-800);color:#fff;cursor:pointer;width:34px;height:34px;transition:background var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.app-header__avatar:hover{background:var(--easy3mf-moss-950);transform:scale(1.05)}.app-header__mobile-menu{border-top:1px solid var(--color-border);background:var(--color-surface-card);padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.app-header__mobile-search{align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);color:var(--color-text-muted);display:flex}.app-header__mobile-link{align-items:center;gap:var(--space-2);padding:.625rem var(--space-3);border-radius:var(--radius-md);color:var(--color-text);transition:background var(--transition-fast);font-weight:500;text-decoration:none;display:flex}.app-header__mobile-link:hover{background:var(--easy3mf-moss-100);text-decoration:none}.app-header__mobile-link--tool{color:var(--easy3mf-moss-800);font-size:.9rem}.app-header__mobile-divider{background:var(--color-border);height:1px;margin:var(--space-2) 0}@media (width<=768px){.app-header__inner{padding:0 var(--space-4)}}.app-header__makes-btn{color:#334155;border-radius:8px;align-items:center;gap:6px;padding:.35rem .75rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.app-header__makes-btn:hover{color:#0f172a;background:#0000000a}.header-free-badge{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:9999px;align-items:center;gap:6px;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.header-free-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.header-free-badge--gift{color:#e11d48;background:#fff1f2;border-color:#ffe4e6}.header-free-badge--trial{color:#0284c7;background:#e0f2fe;border-color:#bae6fd}.header-free-badge--pro{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.header-activate-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:6px;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.header-activate-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.header-signin-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:9999px;align-items:center;gap:6px;padding:.4rem 1.1rem;font-size:.8125rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.header-signin-btn:hover{background:#1e293b;transform:translateY(-1px)}.header-user-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:8px;padding:3px 10px 3px 4px;transition:all .15s;display:inline-flex}.header-user-btn:hover{background:#f8fafc;border-color:#cbd5e1}.header-user-avatar{color:#ea580c;background:#ffedd5;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;display:flex}.header-user-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.8125rem;font-weight:600;overflow:hidden}.header-account-dropdown{z-index:1000;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:256px;padding:6px;animation:.14s ease-out dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px -4px #0000001f,0 0 0 1px #0000000a}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.header-account-dropdown__user-card{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.header-account-dropdown__avatar{color:#c2410c;background:#fed7aa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;display:flex}.header-account-dropdown__user-meta{flex-direction:column;flex:1;min-width:0;display:flex}.header-account-dropdown__email{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;overflow:hidden}.header-account-dropdown__status{color:#64748b;margin-top:1px;font-size:.72rem}.header-account-dropdown__divider{background:#f1f5f9;height:1px;margin:4px 0}.header-account-dropdown__menu{flex-direction:column;gap:1px;display:flex}.header-account-dropdown__item{color:#334155;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:.835rem;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.header-account-dropdown__item:hover{color:#0f172a;background:#f8fafc}.header-account-dropdown__item svg{color:#64748b;flex-shrink:0;transition:color .12s}.header-account-dropdown__item:hover svg{color:#1e293b}.header-points-badge{color:#ef4444;font-variant-numeric:tabular-nums;background:#fef2f2;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.header-account-dropdown__item--signout{color:#475569}.header-account-dropdown__item--signout:hover{color:#0f172a;background:#f8fafc}.app-shell{background:#f4f3ef;flex-direction:column;min-height:100vh;display:flex}.app-shell__main{flex-direction:column;flex:1;display:flex}.auth-overlay{z-index:1000;background:#1618186e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.auth-dialog{color:#252529;background:#fffdfa;border:1px solid #e4ded5;border-radius:18px;width:min(448px,100%);max-height:calc(100vh - 2rem);padding:1.65rem 1.5rem 1.35rem;position:relative;overflow:auto;box-shadow:0 24px 70px #00000040}.auth-dialog h2{margin:0 0 .55rem;font-size:1.55rem}.auth-dialog__description{color:#68686d;margin:0 0 1.3rem;line-height:1.5}.auth-dialog__close{color:#999;cursor:pointer;background:0 0;border:0;position:absolute;top:1.15rem;right:1.2rem}.auth-provider{color:#303036;cursor:pointer;background:#fffdfa;border:1px solid #ded9d1;border-radius:12px;width:100%;height:42px;margin-bottom:.75rem;font-size:.92rem;font-weight:600;box-shadow:0 1px 2px #0000000b}.auth-provider:disabled{opacity:.6}.auth-provider span{margin-right:.55rem}.auth-provider--patreon span{color:#ff4660}.google-g{color:#4285f4;font-weight:800}.auth-divider{color:#777;align-items:center;gap:.6rem;margin:1rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e5e0d9;flex:1;height:1px}.auth-divider span{white-space:nowrap;font-size:.85rem}.auth-dialog label{color:#4d4c52;margin:.85rem 0;font-size:.86rem;font-weight:600;display:block}.auth-dialog input{box-sizing:border-box;width:100%;height:43px;font:inherit;color:#252529;background:#fffdfa;border:1px solid #ded9d1;border-radius:12px;outline:none;margin-top:.42rem;padding:0 .9rem;display:block}.auth-dialog input:focus{border-color:#6e978a;box-shadow:0 0 0 3px #6e978a22}.auth-password{position:relative}.auth-password input{padding-right:2.7rem}.auth-password button{color:#888;cursor:pointer;background:0 0;border:0;position:absolute;top:.78rem;right:.65rem}.auth-recover{color:#397466;cursor:pointer;background:0 0;border:0;margin:.25rem 0 .9rem;padding:0;display:block}.auth-error{color:#a53c32;margin:.75rem 0;font-size:.83rem}.auth-error--success{color:#397466}.auth-submit{color:#fff;cursor:pointer;background:#202125;border:0;border-radius:11px;width:100%;height:42px;margin-top:.4rem;font-weight:700}.auth-submit:disabled{opacity:.65}.auth-switch{text-align:center;color:#6f6d70;margin:1.45rem 0 1.15rem;font-size:.9rem}.auth-switch button{color:#252529;cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:0}.auth-legal{text-align:center;color:#777;margin:0;font-size:.76rem;line-height:1.5}.auth-legal a{color:inherit}.auth-dialog__close:focus-visible,.auth-provider:focus-visible,.auth-submit:focus-visible,.auth-switch button:focus-visible,.auth-recover:focus-visible{outline-offset:2px;outline:3px solid #8bb3a7}.toast-region{bottom:var(--space-6);z-index:var(--z-tooltip);gap:var(--space-2);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--easy3mf-ink);color:#fff;box-shadow:var(--shadow-xl);pointer-events:auto;min-width:240px;max-width:420px;font-size:.9rem;font-weight:500;display:flex}.toast--success{background:var(--easy3mf-moss-800)}.toast--error{background:var(--easy3mf-terracotta)}.toast--warning{background:var(--easy3mf-lantern)}.toast--info{background:var(--easy3mf-moss-600)}.toast__icon{flex-shrink:0;display:flex}.toast__message{flex:1;line-height:1.4}.toast__close{border-radius:var(--radius-sm);cursor:pointer;color:#fff;width:24px;height:24px;transition:background var(--transition-fast);background:#ffffff26;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast__close:hover{background:#ffffff40}.help-dock-btn{z-index:60;background:var(--easy3mf-moss-800,#17352f);color:#fff;cursor:pointer;border:1px solid #ffffff26;border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .15s;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 14px #00000026}.help-dock-btn:hover{background:var(--easy3mf-moss-950,#0f2420);transform:scale(1.05)}.easy3mf-ai-panel{z-index:70;background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;width:380px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 40px);animation:.18s cubic-bezier(.16,1,.3,1) aiModalPop;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 20px 45px -8px #0f172a33,0 0 0 1px #0000000a}@keyframes aiModalPop{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.easy3mf-ai-header{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.easy3mf-ai-header__left{align-items:center;gap:10px;min-width:0;display:flex}.easy3mf-ai-header__badge{color:#ef4444;background:#fee2e2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.easy3mf-ai-header__title-group{flex-direction:column;min-width:0;line-height:1.25;display:flex}.easy3mf-ai-header__title{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.easy3mf-ai-header__subtitle{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.72rem;overflow:hidden}.easy3mf-ai-header__actions{flex-shrink:0;align-items:center;gap:3px;display:flex}.ai-icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex}.ai-icon-btn:hover{color:#0f172a;background:#f1f5f9}.easy3mf-ai-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex:1;min-height:0;padding:16px;overflow-y:auto}.easy3mf-ai-body::-webkit-scrollbar{width:5px}.easy3mf-ai-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.easy3mf-ai-welcome{flex-direction:column;gap:14px;display:flex}.easy3mf-ai-intro{color:#334155;margin:0;font-size:.84rem;line-height:1.55}.easy3mf-ai-suggestions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.ai-suggestion-pill{color:#1e293b;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;padding:6px 14px;font-size:.78rem;line-height:1.35;transition:all .12s}.ai-suggestion-pill:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.easy3mf-ai-messages{flex-direction:column;gap:12px;display:flex}.ai-message-bubble{border-radius:14px;max-width:88%;padding:9px 13px;font-size:.84rem;line-height:1.45;display:flex}.ai-message-bubble--user{color:#fff;background:#0f172a;border-bottom-right-radius:4px;margin-left:auto}.ai-message-bubble--assistant{color:#0f172a;background:#f1f5f9;border-bottom-left-radius:4px;margin-right:auto}.ai-typing-indicator{align-items:center;gap:4px;padding:4px 6px;display:flex}.ai-typing-indicator .dot{background:#94a3b8;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite aiDotBounce}.ai-typing-indicator .dot:nth-child(2){animation-delay:.2s}.ai-typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes aiDotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.easy3mf-ai-footer{background:#fff;border-top:1px solid #f1f5f9;padding:10px 14px 12px}.easy3mf-ai-input-box{background:#fff;border:1px solid #cbd5e1;border-radius:18px;align-items:center;gap:8px;padding:6px 8px 6px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.easy3mf-ai-input-box:focus-within{border-color:#0f172a;box-shadow:0 0 0 2px #0f172a14}.easy3mf-ai-textarea{resize:none;color:#0f172a;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:80px;padding:2px 0;font-size:.8125rem;line-height:1.4}.easy3mf-ai-textarea::placeholder{color:#94a3b8}.easy3mf-ai-send-btn{color:#fff;cursor:pointer;background:#cbd5e1;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.easy3mf-ai-send-btn:not(:disabled){cursor:pointer;background:#0f172a}.easy3mf-ai-send-btn:not(:disabled):hover{background:#1e293b}.easy3mf-ai-disclaimer{color:#94a3b8;text-align:center;margin:6px 0 0;font-size:.65rem;line-height:1.35}.recent-exports-container{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;left:16px}.recent-exports-toast{cursor:pointer;text-align:left;background:#ecfdf5fa;border:1px solid #a7f3d0e6;border-radius:14px;align-items:flex-start;gap:10px;max-width:270px;padding:8px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);animation:.3s ease-out recentToastSlideIn;display:flex;box-shadow:0 10px 25px -3px #10b98126,0 4px 6px -4px #0000000d}.recent-exports-toast:hover{background:#ecfdf5;border-color:#6ee7b7;transform:translateY(-2px)}@keyframes recentToastSlideIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.recent-exports-toast__tag{text-transform:uppercase;letter-spacing:.05em;color:#065f46;font-size:.65rem;font-weight:700;display:block}.recent-exports-toast__title{color:#022c22;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8125rem;font-weight:600;display:block;overflow:hidden}.recent-exports-toast__email{color:#047857;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.6875rem;display:block;overflow:hidden}.recent-exports-trigger{-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fffffff2;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:10px;padding:6px 12px 6px 8px;transition:all .15s;display:flex;box-shadow:0 4px 14px #00000014}.recent-exports-trigger:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 6px 18px #0000001f}.recent-exports-trigger__icon{color:#475569;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.recent-exports-trigger__text{text-align:left;flex-direction:column;min-width:110px;max-width:140px;line-height:1.25;display:flex}.recent-exports-trigger__title{color:#0f172a;font-size:.775rem;font-weight:700}.recent-exports-trigger__subtitle{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.recent-exports-trigger__chevron{color:#94a3b8;align-items:center;display:flex}.recent-exports-popup{-webkit-backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #e2e8f0;border-radius:18px;width:270px;animation:.16s ease-out recentPopupFade;overflow:hidden;box-shadow:0 16px 36px -4px #00000024,0 0 0 1px #00000008}@keyframes recentPopupFade{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.recent-exports-popup__scroll{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;max-height:290px;padding:6px;overflow-y:auto}.recent-exports-popup__scroll::-webkit-scrollbar{width:5px}.recent-exports-popup__scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.recent-exports-popup__row{border-radius:12px;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.recent-exports-popup__row:hover{background:#f8fafc}.recent-exports-popup__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 1px 3px #00000026}.recent-exports-popup__info{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.recent-exports-popup__name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.recent-exports-popup__email{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.recent-exports-popup__meta{text-align:right;flex-direction:column;flex-shrink:0;line-height:1.25;display:flex}.recent-exports-popup__format{color:#334155;font-size:.72rem;font-weight:700}.recent-exports-popup__time{color:#94a3b8;white-space:nowrap;font-size:.65rem}
