.model-generator{flex-direction:column;gap:0;display:flex;position:relative}.mg-signup-fallback{color:var(--text-muted);text-align:center;margin:24px 0 0;font-size:14px}.mg-signup-fallback__link{min-height:44px;font:inherit;color:var(--accent-text);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline;display:inline}.mg-signup-fallback__link:hover{color:var(--accent)}.mg-signup-fallback__link:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);border-radius:4px;outline:none}.mg-dropzone--signed-out .mg-dropzone__surface{cursor:pointer}.mg-header{position:relative}.mg-header__band{opacity:.5;pointer-events:none;height:240px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.mg-header__row{justify-content:space-between;align-items:flex-end;gap:72px;display:flex;position:relative}.mg-header__left{flex:1;min-width:0}.mg-header__title{margin-top:20px}.mg-lead{max-width:520px;color:var(--text-secondary);text-wrap:pretty;margin:20px 0 0;font-size:18px;line-height:1.65}.mg-header__right{text-align:right;flex-shrink:0;padding-bottom:8px}.mg-header__counter{letter-spacing:-.05em;margin:8px 0 0;font-size:38px;font-weight:600;line-height:1}.mg-header__counter-total{color:var(--text-muted)}.mg-header__ticks{justify-content:flex-end;gap:5px;margin-top:12px;display:flex}.mg-header__tick{background:var(--border);border-radius:2px;width:28px;height:4px}.mg-header__tick--filled{background:var(--text)}.mg-header__reset{color:var(--text-muted);margin:12px 0 0}.mg-tool-grid{grid-template-columns:1fr 344px;align-items:start;gap:56px;margin-top:52px;display:grid}.mg-stage{border-radius:var(--radius-lg);height:472px;position:relative;overflow:hidden}.mg-stage--dark{background:var(--graphite-900)}.mg-stage__grid{opacity:.15;pointer-events:none;background-size:40px 40px;position:absolute;inset:0}.mg-stage__frame{background:var(--graphite-700);border-radius:var(--radius);border:1px solid #f4f1ea1a;width:76%;height:74%;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.mg-stage__preview{object-fit:contain;width:100%;height:100%}.mg-dropzone{height:100%}.mg-dropzone input{display:none}.mg-dropzone__surface{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:22px;height:100%;padding:48px;transition:border-color .2s,background .2s;display:flex}.mg-dropzone__surface:hover:not([aria-disabled=true]),.mg-dropzone--dragging .mg-dropzone__surface,.mg-dropzone--dragging .mg-dropzone__surface:hover{border-color:var(--accent);background:var(--accent-soft)}.mg-dropzone--disabled .mg-dropzone__surface{opacity:.6;cursor:not-allowed;pointer-events:none}.mg-dropzone__icon{color:var(--accent-text)}.mg-dropzone__title{margin:0;font-size:14px;font-weight:500}.mg-dropzone__subtitle{color:var(--text-muted);margin:0}.mg-dropzone__footnote{max-width:340px;color:var(--text-muted);margin:0}.mg-error{color:var(--signal-500);margin:0;font-size:14px}.mg-exhausted{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:center;align-items:center;height:100%;display:flex;position:relative}.mg-exhausted__hatch{opacity:.35;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.mg-exhausted__content{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:420px;padding:32px;display:flex;position:relative}.mg-exhausted__title{margin:0;font-size:26px;line-height:1.2}.mg-exhausted__copy{color:var(--text-secondary);margin:0;line-height:1.65}.mg-exhausted__reset{color:var(--text-muted);margin:0;font-size:12px}.mg-progress{pointer-events:none;position:absolute;inset:0}.mg-progress__scanlines{background:repeating-linear-gradient(0deg,#5fd4a833 0 1px,#0000 1px 7px);animation:1.4s linear infinite mg-drift;position:absolute;bottom:0;left:0;right:0}.mg-progress__mask{background:linear-gradient(#0e1116f0,#0e11169e);position:absolute;top:0;left:0;right:0}.mg-progress__laser{background:var(--emerald-400);height:2px;position:absolute;left:0;right:0;box-shadow:0 0 28px 3px #5fd4a88c}.mg-progress__chip{color:var(--bone-50);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:500;display:flex;position:absolute;top:26px;left:28px}.mg-progress__dot{background:var(--emerald-400);width:7px;height:7px;animation:mg-pulse 1.6s var(--ease) infinite;border-radius:50%}.mg-progress__readout{z-index:3;position:absolute;bottom:30px;left:28px;right:28px}.mg-progress__readout-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.mg-progress__phase{color:var(--emerald-400);text-transform:uppercase;margin:0}.mg-progress__elapsed{color:var(--graphite-400);text-transform:uppercase;margin:0;font-size:12px}.mg-progress__percent{letter-spacing:-.05em;color:var(--bone-50);margin:8px 0 0;font-size:54px;font-weight:600;line-height:1}.mg-progress__percent-suffix{color:var(--graphite-400);font-size:22px}.mg-progress__track{background:#f4f1ea29;border-radius:2px;height:3px;margin-top:20px;overflow:hidden}.mg-progress__fill{background:var(--emerald-400);border-radius:2px;height:100%;transition:width .4s}.mg-ready{pointer-events:none;position:absolute;inset:0}.mg-ready__chip{color:var(--bone-50);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:500;display:flex;position:absolute;top:26px;left:28px}.mg-ready__dot{background:var(--emerald-400);border-radius:50%;width:7px;height:7px}.mg-ready__bar{background:linear-gradient(#0000,#0e1116d9 60%);justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex;position:absolute;bottom:0;left:0;right:0}.mg-ready__bar-left{color:var(--graphite-300);text-transform:uppercase;margin:0;font-size:11px}.mg-ready__bar-right{color:var(--graphite-400);text-transform:uppercase;margin:0;font-size:11px}.mg-rail{width:344px}.mg-rail-panel{flex-direction:column;gap:0;display:flex}.mg-rail-panel__section-label{margin:28px 0 12px}.mg-rail-panel__footnote,.mg-rail-panel__note{color:var(--text-secondary);margin:20px 0 0;line-height:1.65}.mg-rail-exhausted__title{margin:12px 0 0;font-size:22px}.mg-rail-exhausted__copy{color:var(--text-secondary);margin:12px 0 16px;line-height:1.65}.mg-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;display:flex}.mg-row:last-child{border-bottom:0}.mg-row__label{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.mg-row__value{font-family:var(--font-mono);color:var(--text);text-align:right;font-size:13px}.mg-steps{color:var(--text-secondary);flex-direction:column;gap:14px;margin:12px 0 0;padding-left:20px;font-size:15px;line-height:1.5;display:flex}.mg-file-chip{align-items:center;gap:14px;margin-bottom:8px;display:flex}.mg-file-chip__thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-subtle);flex-shrink:0;width:56px;height:56px}.mg-file-chip__name{margin:0;font-size:13px}.mg-file-chip__detail{color:var(--text-muted);margin:4px 0 0;font-size:11px}.mg-phase-list{margin:0;padding:0;list-style:none}.mg-phase-row{border-bottom:1px dashed var(--border);align-items:baseline;gap:12px;padding:10px 0;display:flex}.mg-phase-row__mark{flex-shrink:0;width:14px;font-size:12px}.mg-phase-row--done .mg-phase-row__mark{color:var(--accent-text)}.mg-phase-row--done .mg-phase-row__label{color:var(--text-secondary);font-weight:400}.mg-phase-row--active .mg-phase-row__mark{color:var(--accent-text)}.mg-phase-row--active .mg-phase-row__label{color:var(--text);font-weight:600}.mg-phase-row--pending .mg-phase-row__mark{color:var(--border-strong)}.mg-phase-row--pending .mg-phase-row__label{color:var(--text-muted);font-weight:400}.mg-phase-row__label{flex:1;font-size:14px}.mg-phase-row__meta{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.mg-result-footer{justify-content:space-between;align-items:baseline;gap:16px;margin-top:20px;display:flex}.mg-result-footer__reset{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.mg-result-footer__remaining{color:var(--text-muted);text-transform:uppercase;margin:0;font-size:11px}.mg-rail-panel .btn-block{margin-top:12px}@keyframes mg-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes mg-drift{0%{transform:translateY(0)}to{transform:translateY(7px)}}@media (prefers-reduced-motion:reduce){.mg-progress__scanlines,.mg-progress__dot{animation:none}.mg-progress__fill{transition:none}}@media (max-width:1024px){.mg-header__row{flex-direction:column;align-items:flex-start;gap:32px}.mg-header__right{text-align:left;padding-bottom:0}.mg-header__ticks{justify-content:flex-start}.mg-tool-grid{grid-template-columns:1fr;gap:40px}.mg-rail{width:100%}}@media (max-width:640px){.mg-stage{height:360px}.mg-progress__percent{font-size:36px}.mg-progress__readout{bottom:20px;left:20px;right:20px}.mg-ready__bar{flex-direction:column;align-items:flex-start;padding:16px 20px}.mg-ready__bar-right{display:none}.mg-header__title{font-size:clamp(28px,8vw,34px)}.mg-dropzone__surface{padding:32px 20px}}.model-generator__quota{font-family:var(--font-mono);color:var(--emerald-800);margin:0 0 16px;font-size:13px}.model-generator__quota--muted{color:var(--text-muted)}.model-generator__history{flex-direction:column;gap:16px;display:flex}.model-generator__history-item{border:1px solid color-mix(in srgb, var(--graphite-900) 10%, transparent);border-radius:var(--radius);background:var(--bone-50);grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.model-generator__history-thumb{object-fit:cover;border-radius:calc(var(--radius) - 2px);background:var(--bone-100);width:72px;height:72px}.model-generator__history-meta h3{margin:0 0 4px;font-size:16px}.model-generator__history-meta p{color:var(--text-muted);margin:0;font-size:13px}.model-generator__empty{text-align:center;color:var(--text-muted);padding:48px 24px}@media (max-width:640px){.model-generator__history-item{grid-template-columns:56px 1fr}.model-generator__history-actions{grid-column:1/-1}}
