:root{--gmv-ink:#17233f;--gmv-muted:#667085;--gmv-bg:#f6f8fc;--gmv-white:#fff;--gmv-coral:#ff6b57;--gmv-violet:#7558ff;--gmv-yellow:#ffd75e;--gmv-green:#49c98b;--gmv-blue:#55a7ff;--gmv-border:#e5eaf1;--gmv-soft:#eef2f8}
.gmv-page{background:var(--gmv-bg);color:var(--gmv-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;padding:0 0 80px;overflow:hidden}.gmv-page *{box-sizing:border-box}.gmv-shell{max-width:1180px;margin:0 auto;padding-left:22px;padding-right:22px}.gmv-kicker{font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--gmv-violet);margin-bottom:14px}.gmv-kicker span{display:inline-flex;width:24px;height:24px;border-radius:8px;align-items:center;justify-content:center;background:#efeaff;margin-right:7px;letter-spacing:0}.gmv-lead{font-size:19px;line-height:1.65;color:var(--gmv-muted);max-width:760px}.gmv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.gmv-btn{border:0;border-radius:15px;padding:15px 19px;font-size:14px;font-weight:900;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.18s transform,.18s box-shadow}.gmv-btn:hover{transform:translateY(-2px)}.gmv-btn-primary{background:var(--gmv-ink);color:#fff;box-shadow:0 14px 28px rgba(23,35,63,.17)}.gmv-btn-white{background:#fff;color:var(--gmv-ink);border:1px solid var(--gmv-border)}
.gmv-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:46px}.gmv-hero h1,.gmv-generator-hero h1,.gmv-seo-hero h1{font-size:clamp(44px,5.8vw,76px);line-height:.97;letter-spacing:-.055em;margin:0 0 22px;font-weight:950}.gmv-hero h1 em,.gmv-generator-hero h1 em{font-style:normal;color:var(--gmv-coral)}.gmv-trust{display:flex;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--gmv-muted);font-weight:800}.gmv-hero-visual{min-height:510px;position:relative;display:flex;align-items:center;justify-content:center}.gmv-blob{position:absolute;border-radius:44% 56% 61% 39%/47% 38% 62% 53%;filter:saturate(1.05)}.gmv-blob-a{width:430px;height:400px;background:linear-gradient(140deg,#ffe7a0,#ffd55d);transform:rotate(9deg)}.gmv-blob-b{width:260px;height:240px;background:#d9ceff;right:-10px;top:20px;transform:rotate(-16deg)}.gmv-paper-card{width:390px;background:white;border:1px solid rgba(23,35,63,.08);border-radius:24px;padding:24px;position:relative;z-index:2;box-shadow:0 28px 70px rgba(23,35,63,.17);transform:rotate(2deg)}.gmv-paper-card-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.gmv-paper-card-top span{background:#efeaff;color:var(--gmv-violet);padding:6px 9px;border-radius:999px;font-weight:900}.gmv-mini-label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--gmv-violet);font-weight:900;margin:20px 0 6px}.gmv-mini-solid{font-size:58px;font-weight:950;letter-spacing:.07em}.gmv-mini-dots{width:100%;height:65px}.gmv-mini-lines i{display:block;height:28px;border-bottom:1px solid #c7d0dd;position:relative}.gmv-mini-lines i:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed #e0e4eb}.gmv-sticker{position:absolute;right:-22px;bottom:-22px;width:78px;height:78px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gmv-green);color:#0d5035;font-size:11px;transform:rotate(-9deg);box-shadow:0 12px 28px rgba(39,133,91,.22)}.gmv-sticker b{font-size:15px}.gmv-float{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;border-radius:18px;font-weight:950;box-shadow:0 12px 28px rgba(23,35,63,.12)}.gmv-float-1{width:78px;height:78px;background:#ffddd7;color:#d44c3c;left:0;top:70px;transform:rotate(-10deg);font-size:28px}.gmv-float-2{width:84px;height:64px;background:#dbf7e9;color:#20845a;right:4px;bottom:60px;transform:rotate(7deg);font-size:22px}.gmv-float-3{width:70px;height:70px;background:#e3ecff;color:#416aca;left:18px;bottom:40px;font-size:34px}
.gmv-fastbar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}.gmv-fastbar a{background:#fff;border:1px solid var(--gmv-border);border-radius:18px;padding:16px;text-decoration:none;color:var(--gmv-ink);display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px}.gmv-fastbar span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#f1f4f9}.gmv-fastbar b{font-size:14px}.gmv-fastbar small{color:var(--gmv-muted);margin-top:3px}.gmv-section{padding-top:86px}.gmv-section-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:26px}.gmv-section-title h2,.gmv-generator-promo h2,.gmv-seo-copy h2,.gmv-faq h2,.gmv-article h2,.gmv-related h2{font-size:36px;line-height:1.08;letter-spacing:-.035em;margin:0}.gmv-section-title p{max-width:430px;margin:0;color:var(--gmv-muted);line-height:1.55}.gmv-section-title>a{color:var(--gmv-violet);font-weight:900;text-decoration:none}.gmv-generator-promo{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.gmv-section-copy>p{color:var(--gmv-muted);line-height:1.7}.gmv-checks{display:grid;grid-template-columns:1fr 1fr;padding:0;list-style:none;gap:10px;margin:24px 0}.gmv-checks li{font-size:13px;font-weight:750}.gmv-checks li:before{content:"✓";display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;background:#def6e9;color:#1f8258;border-radius:50%;margin-right:7px}.gmv-flow{background:var(--gmv-ink);border-radius:26px;padding:24px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px}.gmv-flow>div{flex:1}.gmv-flow b{display:flex;width:28px;height:28px;border-radius:9px;background:#fff;color:var(--gmv-ink);align-items:center;justify-content:center;margin-bottom:18px}.gmv-flow span,.gmv-flow strong{display:block}.gmv-flow span{font-size:11px;opacity:.6;text-transform:uppercase;letter-spacing:.1em}.gmv-flow strong{font-size:16px;margin-top:4px}.gmv-flow>i{font-style:normal;opacity:.35}
.gmv-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gmv-big-card{border-radius:24px;padding:24px;text-decoration:none;color:var(--gmv-ink);display:flex;gap:22px;align-items:center;min-height:165px;transition:.18s transform}.gmv-big-card:hover{transform:translateY(-4px)}.gmv-big-card>span{min-width:82px;height:82px;border-radius:20px;background:rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:950}.gmv-big-card h3{margin:0 0 6px;font-size:22px}.gmv-big-card p{color:#4f5c73;margin:0 0 14px;line-height:1.5;font-size:13px}.gmv-big-card b{font-size:12px}.gmv-big-card.c1{background:#ffe2dd}.gmv-big-card.c2{background:#e2f7ec}.gmv-big-card.c3{background:#e8e3ff}.gmv-big-card.c4{background:#fff0bd}.gmv-level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gmv-level-grid a{background:#fff;border:1px solid var(--gmv-border);border-radius:20px;padding:20px;text-decoration:none;color:var(--gmv-ink)}.gmv-level-grid a>b{display:flex;width:46px;height:46px;border-radius:14px;align-items:center;justify-content:center;background:var(--gmv-ink);color:#fff;font-size:18px;margin-bottom:18px}.gmv-level-grid strong,.gmv-level-grid span{display:block}.gmv-level-grid strong{font-size:17px}.gmv-level-grid span{font-size:12px;color:var(--gmv-muted);margin-top:5px}.gmv-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gmv-skill-grid a{background:#fff;border:1px solid var(--gmv-border);border-radius:16px;padding:15px;text-decoration:none;color:var(--gmv-ink);display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:9px}.gmv-skill-grid span{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:#f3f5f9;display:flex;align-items:center;justify-content:center;font-size:19px}.gmv-skill-grid b{font-size:13px}.gmv-skill-grid small{color:var(--gmv-violet);font-size:10px;font-weight:900}.gmv-seo-copy{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.gmv-copy-main,.gmv-seo-copy aside{background:#fff;border:1px solid var(--gmv-border);border-radius:24px;padding:28px}.gmv-copy-main p{color:var(--gmv-muted);line-height:1.72}.gmv-seo-copy aside{background:var(--gmv-ink);color:#fff;display:flex;flex-direction:column;justify-content:center}.gmv-seo-copy aside strong{font-size:58px;line-height:1}.gmv-seo-copy aside span{font-weight:900;font-size:18px;margin-top:8px}.gmv-seo-copy aside small{opacity:.58;line-height:1.5;margin-top:12px}
.gmv-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#818b9b;font-size:12px;margin-bottom:30px}.gmv-breadcrumb a{color:var(--gmv-violet);text-decoration:none;font-weight:800}.gmv-generator-hero,.gmv-seo-hero{padding-top:38px;padding-bottom:34px}.gmv-generator-hero h1,.gmv-seo-hero h1{font-size:clamp(42px,5.2vw,66px);max-width:960px}.gmv-privacy-pill{display:inline-flex;margin-top:10px;background:#e9f8f0;color:#1f7653;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800}.gmv-builder{display:grid;grid-template-columns:370px 1fr;gap:30px;align-items:start}.gmv-controls{background:#fff;border:1px solid var(--gmv-border);border-radius:24px;padding:20px;position:sticky;top:16px;box-shadow:0 10px 35px rgba(23,35,63,.05)}.gmv-control-section{display:flex;align-items:center;gap:10px;padding:9px 0 13px;border-top:1px solid #eef1f5;margin-top:12px}.gmv-control-section:first-child{border-top:0;margin-top:0}.gmv-control-section>div strong,.gmv-control-section>div small{display:block}.gmv-control-section>div strong{font-size:13px}.gmv-control-section>div small{font-size:10px;color:var(--gmv-muted);margin-top:2px}.gmv-step{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eeeaff;color:var(--gmv-violet);font-size:11px;font-weight:950}.gmv-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}.gmv-mode-grid button{border:1px solid #dfe5ee;background:#fff;border-radius:13px;padding:10px;text-align:left;cursor:pointer;color:var(--gmv-ink)}.gmv-mode-grid button span,.gmv-mode-grid button b{display:block}.gmv-mode-grid button span{font-size:17px;margin-bottom:5px}.gmv-mode-grid button b{font-size:11px}.gmv-mode-grid button.is-active{border-color:var(--gmv-violet);box-shadow:0 0 0 2px rgba(117,88,255,.10);background:#faf9ff}.gmv-field{margin:0 0 16px}.gmv-field label{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:900;margin-bottom:7px}.gmv-field label em{font-style:normal;color:var(--gmv-muted);font-weight:700}.gmv-field input[type=text],.gmv-field textarea,.gmv-field select{width:100%;border:1px solid #dfe5ee;background:#fff;border-radius:12px;padding:12px 13px;font:inherit;color:var(--gmv-ink);outline:none}.gmv-field input[type=text]{font-size:19px;font-weight:900}.gmv-field textarea{resize:vertical;line-height:1.5}.gmv-field input:focus,.gmv-field textarea:focus,.gmv-field select:focus{border-color:var(--gmv-violet);box-shadow:0 0 0 3px rgba(117,88,255,.09)}.gmv-field input[type=range]{width:100%;accent-color:var(--gmv-violet)}.gmv-presets{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.gmv-presets button{border:1px solid #e1e6ed;background:#f8f9fb;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:850;cursor:pointer}.gmv-segment{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.gmv-segment-3{grid-template-columns:repeat(3,1fr)}.gmv-segment button{border:1px solid #e0e5ec;background:#fff;border-radius:9px;padding:8px 4px;font-size:10px;font-weight:850;cursor:pointer}.gmv-segment button.is-active{background:var(--gmv-ink);color:#fff;border-color:var(--gmv-ink)}.gmv-help{display:block;color:var(--gmv-muted);font-size:9px;line-height:1.45;margin-top:6px}.gmv-switches{display:grid;gap:7px;margin-bottom:16px}.gmv-switches label{display:flex;gap:9px;align-items:flex-start;border:1px solid #e7ebf1;border-radius:11px;padding:9px;cursor:pointer}.gmv-switches input{accent-color:var(--gmv-violet);margin-top:3px}.gmv-switches span b,.gmv-switches span small{display:block}.gmv-switches span b{font-size:10px}.gmv-switches span small{font-size:9px;color:var(--gmv-muted);margin-top:2px}.gmv-builder-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gmv-print-help{text-align:center}.gmv-is-hidden,.is-hidden{display:none!important}.gmv-preview-zone{min-width:0}.gmv-preview-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.gmv-preview-toolbar>div strong,.gmv-preview-toolbar>div small{display:block}.gmv-preview-toolbar strong{font-size:13px}.gmv-preview-toolbar small,.gmv-preview-toolbar>span{color:var(--gmv-muted);font-size:10px}.gmv-preview-zone #gmvSheets{display:grid;gap:24px}.gmv-sheet{background:#fff;width:min(100%,794px);min-height:1123px;margin:0 auto;padding:42px 52px 34px;box-shadow:0 24px 68px rgba(23,35,63,.13);border:1px solid #edf0f4;position:relative;overflow:hidden}.gmv-sheet-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--gmv-ink);padding-bottom:10px;font-size:9px}.gmv-sheet-id{display:flex;gap:7px;align-items:center}.gmv-sheet-id i{display:inline-block;width:62px;border-bottom:1px solid #96a2b3}.gmv-sheet-level{position:absolute;right:52px;top:68px;background:#eeeaff;color:var(--gmv-violet);border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.gmv-sheet-title{text-align:center;font-size:25px;letter-spacing:-.02em;margin:28px 0 22px}.gmv-sheet-label{font-size:9px;letter-spacing:.13em;color:var(--gmv-violet);font-weight:950;text-transform:uppercase;margin:17px 0 7px}.gmv-vector-slot{display:flex;align-items:center;min-width:0}.gmv-vector-slot svg{overflow:visible}.gmv-model-vector{height:90px;max-width:100%}.gmv-dotted-vector{height:88%;width:100%;position:relative;z-index:2}.gmv-direction{display:flex;align-items:center;gap:7px;color:#7d8798;font-size:9px;margin:5px 0 9px}.gmv-direction b{display:flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:var(--gmv-coral);color:#fff}.gmv-direction em{font-size:18px;color:var(--gmv-coral);font-style:normal}.gmv-trace-row,.gmv-free-row,.gmv-theme-row,.gmv-alpha-row,.gmv-number-row{position:relative;display:flex;align-items:center;border-bottom:1px solid #aebac9;overflow:visible}.gmv-guide{position:absolute;left:0;right:0;z-index:0}.gmv-guide-top{top:18%;border-top:1px solid #e2e6ec}.gmv-guide-mid{top:50%;border-top:1px dashed #d7dde6}.gmv-guide-base{bottom:0;border-top:1px solid #aebac9}.gmv-alpha-title{height:94px;max-width:80%;margin:0 auto}.gmv-alpha-rule{height:1px;background:#17233f;width:78%;margin:0 auto 18px}.gmv-alpha-row{height:92px}.gmv-number-row{height:150px}.gmv-number-vector{height:88%;width:100%}.gmv-theme-row{height:98px}.gmv-sheet-foot{position:absolute;left:52px;right:52px;bottom:26px;border-top:1px solid #e3e7ed;padding-top:8px;display:flex;justify-content:space-between;color:#858f9f;font-size:8px}.gmv-pattern-row,.gmv-pattern-free{height:100px;border-bottom:1px solid #d2d9e3;display:flex;align-items:center}.gmv-pattern-row svg,.gmv-pattern-free svg{width:100%;height:82px}.gmv-pattern-solid{height:86px}.gmv-generator-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gmv-info-card{background:#fff;border:1px solid var(--gmv-border);border-radius:20px;padding:22px}.gmv-info-card>span{display:inline-flex;background:#f1efff;color:var(--gmv-violet);border-radius:9px;padding:6px 8px;font-size:10px;font-weight:900;letter-spacing:.05em}.gmv-info-card h2{font-size:19px;line-height:1.2;margin:14px 0 8px}.gmv-info-card p{color:var(--gmv-muted);font-size:12px;line-height:1.6;margin:0}.gmv-faq{max-width:920px}.gmv-faq details{background:#fff;border:1px solid var(--gmv-border);border-radius:14px;padding:15px 17px;margin-top:8px}.gmv-faq summary{font-weight:850;cursor:pointer;font-size:13px}.gmv-faq p{color:var(--gmv-muted);line-height:1.6;font-size:12px}
.gmv-seo-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.gmv-seo-hero h1{font-size:clamp(39px,4.6vw,60px)}.gmv-seo-side-card{background:var(--gmv-ink);color:#fff;border-radius:24px;padding:28px}.gmv-seo-side-card .gmv-mini-label{margin-top:0;color:#b7a9ff}.gmv-seo-side-card strong{display:block;font-size:30px;line-height:1.1}.gmv-seo-side-card p{opacity:.6;font-size:12px}.gmv-seo-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.gmv-seo-badges span{background:#fff;border:1px solid var(--gmv-border);padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900}.gmv-preview-zone-seo{max-width:850px;margin:0 auto}.gmv-content-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.gmv-article,.gmv-related{background:#fff;border:1px solid var(--gmv-border);border-radius:24px;padding:28px}.gmv-article h2{font-size:26px;margin-top:28px}.gmv-article h2:first-child{margin-top:0}.gmv-article p{color:var(--gmv-muted);line-height:1.75;font-size:14px}.gmv-note{border-left:4px solid var(--gmv-yellow);background:#fff9df;padding:15px 17px;border-radius:0 12px 12px 0;margin:20px 0}.gmv-note b{font-size:12px}.gmv-note p{margin:5px 0 0}.gmv-related{align-self:start}.gmv-related h2{font-size:25px;margin-bottom:12px}.gmv-related>a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:var(--gmv-ink);padding:13px 0;border-top:1px solid #edf0f4}.gmv-related>a b{font-size:12px}.gmv-related>a span{color:var(--gmv-violet);font-size:9px;text-align:right}.gmv-related-generator{background:#f3f0ff!important;margin:8px -10px -10px;padding:14px 10px!important;border-radius:12px;border-top:0!important}
@media(max-width:960px){.gmv-hero,.gmv-generator-promo,.gmv-seo-copy,.gmv-seo-hero-grid,.gmv-content-layout{grid-template-columns:1fr}.gmv-hero-visual{min-height:460px}.gmv-builder{grid-template-columns:320px 1fr}.gmv-level-grid,.gmv-skill-grid{grid-template-columns:repeat(2,1fr)}.gmv-generator-info{grid-template-columns:1fr}.gmv-seo-side-card{max-width:520px}}
@media(max-width:780px){.gmv-builder{grid-template-columns:1fr}.gmv-controls{position:static}.gmv-fastbar,.gmv-main-grid{grid-template-columns:1fr 1fr}.gmv-sheet{min-height:1040px;padding:34px 34px 30px}.gmv-sheet-level{right:34px}.gmv-sheet-foot{left:34px;right:34px}.gmv-section{padding-top:64px}}
@media(max-width:560px){.gmv-shell{padding-left:16px;padding-right:16px}.gmv-hero{padding-top:40px}.gmv-hero h1,.gmv-generator-hero h1,.gmv-seo-hero h1{font-size:42px}.gmv-lead{font-size:16px}.gmv-hero-visual{min-height:390px}.gmv-paper-card{width:310px;padding:18px}.gmv-blob-a{width:320px;height:310px}.gmv-blob-b{width:190px;height:180px}.gmv-float-1{left:-8px}.gmv-fastbar,.gmv-main-grid,.gmv-level-grid,.gmv-skill-grid{grid-template-columns:1fr}.gmv-big-card{min-height:140px}.gmv-section-title{display:block}.gmv-section-title p{margin-top:10px}.gmv-checks{grid-template-columns:1fr}.gmv-flow{flex-direction:column;align-items:stretch}.gmv-flow>i{transform:rotate(90deg);align-self:center}.gmv-sheet{padding:26px 20px;min-height:900px}.gmv-sheet-head{flex-direction:column}.gmv-sheet-level{top:86px;right:20px}.gmv-sheet-foot{left:20px;right:20px}.gmv-sheet-title{font-size:21px}.gmv-builder-actions{grid-template-columns:1fr}.gmv-seo-copy aside strong{font-size:48px}}
@media print{
 @page{size:A4 portrait;margin:0}
 body.gmv-print-generator *,body.gmv-print-seo *{visibility:hidden!important}
 body.gmv-print-generator #gmvSheets,body.gmv-print-generator #gmvSheets *,body.gmv-print-seo #gmvSeoSheet,body.gmv-print-seo #gmvSeoSheet *{visibility:visible!important}
 body.gmv-print-generator #gmvSheets,body.gmv-print-seo #gmvSeoSheet{position:absolute;left:0;top:0;width:210mm;margin:0;padding:0}
 body.gmv-print-generator .gmv-sheet,body.gmv-print-seo .gmv-sheet{width:210mm;height:297mm;min-height:297mm;margin:0!important;padding:11mm 13mm 9mm;box-shadow:none;border:0;page-break-after:always;break-after:page;overflow:hidden}
 body.gmv-print-generator .gmv-sheet:last-child,body.gmv-print-seo .gmv-sheet:last-child{page-break-after:auto;break-after:auto}
 body.gmv-print-generator .gmv-sheet-level,body.gmv-print-seo .gmv-sheet-level{right:13mm;top:18mm}
 body.gmv-print-generator .gmv-sheet-foot,body.gmv-print-seo .gmv-sheet-foot{left:13mm;right:13mm;bottom:8mm}
}

/* === V3 PÉDAGOGIQUE 2026 === */
.gmv-pedagogy-card{background:#f3f0ff;border:1px solid #ded7ff;border-radius:14px;padding:13px 14px;margin:-4px 0 16px}.gmv-pedagogy-card b{display:block;font-size:11px;color:var(--gmv-violet);margin-bottom:5px}.gmv-pedagogy-card p{font-size:10px;line-height:1.55;margin:0;color:var(--gmv-ink)}.gmv-pedagogy-card small{display:block;font-size:9px;line-height:1.5;color:var(--gmv-muted);margin-top:6px;padding-top:6px;border-top:1px solid #e3defb}
.gmv-segment-2{grid-template-columns:repeat(2,1fr)}.gmv-segment button.is-locked{border-style:dashed;color:#7c8190;background:#f7f8fa}.gmv-segment button.gmv-attention{box-shadow:0 0 0 3px rgba(255,107,87,.20);border-color:var(--gmv-coral)}.gmv-inline-check{display:flex!important;justify-content:flex-start!important;align-items:flex-start;gap:8px;margin-top:9px!important;color:var(--gmv-muted);font-size:9px!important;font-weight:750!important}.gmv-inline-check input{margin:1px 0 0;accent-color:var(--gmv-violet)}
.gmv-teacher-strip{display:flex;gap:10px;align-items:flex-start;background:#fff8df;border:1px solid #f4e7a3;border-radius:11px;padding:9px 11px;margin:0 0 12px;color:#66521a}.gmv-teacher-strip b{flex:0 0 auto;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.gmv-teacher-strip span{font-size:9px;line-height:1.45}.gmv-sheet-advice{background:#f6f7fa;border:1px solid #e5e9ef;border-radius:9px;padding:8px 10px;font-size:8.5px;line-height:1.45;color:#616b7b;margin:-4px 0 9px}
.gmv-script-recognition{display:flex;align-items:center;gap:10px;background:#f8f9fb;border-radius:9px;padding:6px 9px;margin:4px 0 8px;min-height:42px}.gmv-script-recognition>span{font-size:8px;color:var(--gmv-muted);white-space:nowrap}.gmv-script-vector{height:32px;flex:1;max-width:250px}
.gmv-guide-mode-simple .gmv-guide-base,.gmv-guide-mode-double .gmv-guide-base,.gmv-guide-mode-seyes .gmv-guide-base{bottom:0;border-top:1.4px solid #8ea2bf}.gmv-guide-mode-double .gmv-guide-top{top:20%;border-top:1px solid #cdd6e2}.gmv-guide-seyes{border-top:1px solid #d8deea}.gmv-guide-seyes.g1{top:25%}.gmv-guide-seyes.g2{top:50%}.gmv-guide-seyes.g3{top:75%}.gmv-guide-mode-seyes{background-image:linear-gradient(to right,rgba(221,108,108,.22) 1px,transparent 1px);background-size:34px 100%}
.gmv-quantity-band{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 12px}.gmv-quantity-card{border:1px solid #e3e8ef;border-radius:10px;padding:7px 5px;text-align:center;min-height:68px}.gmv-quantity-card>b{display:block;font-size:16px;margin-bottom:5px}.gmv-quantity-dots{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:4px;min-height:28px}.gmv-quantity-dots i{width:6px;height:6px;border-radius:50%;background:#18243f;display:block}.gmv-zero-label{font-size:7px;color:var(--gmv-muted)}.gmv-single-quantity{display:flex;align-items:center;justify-content:center;gap:22px;border:1px solid #e3e8ef;border-radius:12px;padding:10px 14px;margin-bottom:8px}.gmv-single-quantity>strong{font-size:32px}.gmv-single-quantity .gmv-quantity-dots{max-width:120px}.gmv-single-quantity .gmv-quantity-dots i{width:9px;height:9px}
.gmv-number-model{height:112px;max-width:170px;margin:0 auto}.gmv-number-row{height:128px}
@media(max-width:560px){.gmv-quantity-band{grid-template-columns:repeat(3,1fr)}.gmv-script-recognition{align-items:flex-start;flex-direction:column}.gmv-script-vector{width:100%}}
@media print{.gmv-teacher-strip,.gmv-sheet-advice{print-color-adjust:exact;-webkit-print-color-adjust:exact}.gmv-quantity-band{grid-template-columns:repeat(6,1fr)}}

/* V3.1 - repères pédagogiques supplémentaires */
.gmv-script-text{font-family:Arial,Helvetica,sans-serif;font-size:30px;line-height:1.2;font-weight:700;color:#18243f;letter-spacing:.04em;text-transform:none}
.gmv-sheet-instruction{margin:8px 0 20px;padding:14px 16px;border-radius:14px;background:#f7f8fc;color:#526077;font-size:13px;line-height:1.55}

/* V3.1 PE — repères pédagogiques 2026 */
.gmv-worksheet-alert{margin:12px 0 20px;padding:14px 15px;border-radius:16px;background:#fff8e8;border:1px solid #f4d58d;color:#5a4513}.gmv-worksheet-alert b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.gmv-worksheet-alert p{margin:0;font-size:13px;line-height:1.55}.gmv-worksheet-alert[data-level="ps"]{background:#fff1ef;border-color:#ffc9c2;color:#7a2e24}.gmv-safe-note{display:flex;gap:10px;padding:11px 0;color:var(--gmv-muted,#667085)}.gmv-safe-note span{display:flex;flex-direction:column;gap:3px}.gmv-safe-note b{color:var(--gmv-ink,#18243f)}.gmv-pe-sequence h2{max-width:850px}.gmv-sequence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.gmv-sequence-grid article{background:#fff;border:1px solid #e8ecf3;border-radius:20px;padding:20px}.gmv-sequence-grid article>b{display:flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#18243f;color:#fff}.gmv-sequence-grid h3{margin:12px 0 7px}.gmv-sequence-grid p{margin:0;color:#667085;line-height:1.55;font-size:14px}.gmv-letter-hunt{font-size:38px;font-weight:800;letter-spacing:.16em;padding:24px;border:2px dashed #d9dfeb;border-radius:16px;text-align:center}.gmv-ps-free{background-image:radial-gradient(circle at 1px 1px,#e9edf4 1px,transparent 0);background-size:18px 18px;border:1px dashed #cfd7e3;border-radius:14px}@media(max-width:900px){.gmv-sequence-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.gmv-sequence-grid{grid-template-columns:1fr}}

.gmv-segment button.is-locked,.gmv-segment button:disabled{opacity:.42;cursor:not-allowed;background:#f4f5f7;color:#8892a0;border-style:dashed}.gmv-segment button.gmv-attention{animation:gmvShake .22s linear 0s 2}@keyframes gmvShake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.gmv-cursive-badge{display:inline-flex;background:#ecf8f2;color:#1d7653;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}




/* === V3.5 — VRAIE POLICE BELLE ALLURE GS ===
   La fonte n'est pas redessinée par AnimyJob : le navigateur utilise le vrai fichier OpenType.
   Placez le fichier sous app/webroot/fonts/belle-allure/ (voir README du dossier).
*/
@font-face{
  font-family:'AnimyJobBelleAllureGS';
  src:local('BelleAllureGS'),local('Belle Allure GS'),local('BelleAllureGS Fin'),local('Belle Allure GS Fin'),
      url('/fonts/belle-allure/BelleAllureGS-Fin.woff2') format('woff2'),
      url('/fonts/belle-allure/BelleAllureGS-Fin.otf') format('opentype'),
      url('/fonts/belle-allure/BelleAllureGSFin.otf') format('opentype');
  font-style:normal;font-weight:400;font-display:swap;
}
.gmv-belle-real-slot{display:flex!important;align-items:center;overflow:visible!important;white-space:nowrap;line-height:1;min-width:0}
.gmv-belle-real-text{font-family:'AnimyJobBelleAllureGS',cursive!important;font-feature-settings:'calt' 1,'liga' 1!important;font-variant-ligatures:common-ligatures contextual!important;letter-spacing:0!important;word-spacing:normal!important;font-kerning:normal;font-synthesis:none;text-transform:none!important;line-height:1;white-space:pre}
.gmv-model-vector .gmv-belle-real-text{font-size:72px}
.gmv-dotted-vector .gmv-belle-real-text,.gmv-theme-row .gmv-belle-real-text{font-size:54px}
.gmv-belle-initial{color:#d93622}.gmv-belle-rest,.gmv-belle-solid{color:#111}
.gmv-belle-dotted{--gmv-dot-step:6px;color:transparent!important;-webkit-text-fill-color:transparent;background-image:radial-gradient(circle,#8792a3 1.45px,transparent 1.55px);background-size:var(--gmv-dot-step) var(--gmv-dot-step);background-position:0 0;-webkit-background-clip:text;background-clip:text;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gmv-belle-font-missing{font-family:Inter,system-ui,sans-serif!important;font-size:12px!important;font-weight:800;color:#a03b2f;background:#fff0ed;border:1px solid #ffc7bf;border-radius:8px;padding:7px 10px;letter-spacing:0!important}
.gmv-belle-status{font-size:12px;line-height:1.45;border-radius:12px;padding:10px 12px;margin-top:10px;background:#fff4db;color:#6e5317;border:1px solid #f0d18b}
.gmv-belle-status.is-ready{background:#eaf8f1;color:#176947;border-color:#bfe8d2}.gmv-belle-status.is-missing{background:#fff0ed;color:#96392e;border-color:#ffc7bf}
@media print{.gmv-belle-real-text{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}


/* === V3.9 — CORRECTIF AFFICHAGE A4 / MÉTRIQUES BELLE ALLURE ===
   Certaines métriques verticales de Belle Allure dépassent la boîte de ligne CSS.
   On réserve donc une vraie zone au modèle pour empêcher les glyphes de remonter
   sur le titre d'étape, et on recentre les tracés pointillés dans leur lignage.
*/
.gmv-sheet-label{position:relative;z-index:4}
.gmv-model-vector{
  min-height:138px!important;
  height:auto!important;
  padding:18px 2px 10px;
  align-items:center!important;
  overflow:visible!important;
}
.gmv-belle-real-slot{line-height:normal!important}
.gmv-belle-real-text{
  display:inline-block;
  line-height:1.28!important;
  padding:.08em 0 .12em;
  vertical-align:middle;
}
.gmv-model-vector .gmv-belle-real-text{
  font-size:var(--gmv-model-font-size,72px);
  line-height:1.32!important;
  transform:translateY(16px);
}
.gmv-dotted-vector{
  min-height:64px;
  height:100%!important;
  padding:5px 2px 4px;
  align-items:center!important;
}
.gmv-dotted-vector .gmv-belle-real-text,
.gmv-theme-row .gmv-belle-real-text{
  font-size:52px;
  line-height:1.26!important;
  transform:translateY(4px);
}
.gmv-belle-dotted{
  background-image:radial-gradient(circle,#758398 1.65px,transparent 1.8px);
}
.gmv-trace-row,.gmv-theme-row,.gmv-alpha-row,.gmv-number-row{
  isolation:isolate;
}
.gmv-trace-row .gmv-vector-slot,
.gmv-theme-row .gmv-vector-slot,
.gmv-alpha-row .gmv-vector-slot,
.gmv-number-row .gmv-vector-slot{
  z-index:2;
}
@media(max-width:560px){
  .gmv-model-vector{min-height:118px!important;padding-top:14px}
  .gmv-model-vector .gmv-belle-real-text{font-size:62px}
  .gmv-dotted-vector .gmv-belle-real-text,.gmv-theme-row .gmv-belle-real-text{font-size:46px}
}
@media print{
  .gmv-model-vector{min-height:132px!important}
  .gmv-belle-real-text{line-height:1.28!important}
}

/* === V4.0 — RENDU BELLE ALLURE EN SVG MESURÉ ===
   Le texte Belle Allure n'est plus laissé dans une boîte de ligne HTML : ses glyphes
   sont mesurés puis placés dans un viewBox SVG. Les accents et grandes boucles ne
   peuvent donc plus remonter sur le titre précédent ni être coupés dans les lignes.
*/
.gmv-belle-real-slot{
  display:block!important;
  width:100%;
  min-width:0;
  overflow:hidden!important;
  position:relative;
  white-space:normal!important;
  line-height:normal!important;
}
.gmv-belle-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.gmv-model-vector{
  height:126px!important;
  min-height:126px!important;
  padding:0!important;
  margin:10px 0 12px!important;
  overflow:hidden!important;
}
.gmv-dotted-vector{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:7px 0 5px!important;
  overflow:hidden!important;
}
.gmv-sheet-label{
  margin:19px 0 8px!important;
  position:relative;
  z-index:5;
}
.gmv-trace-row{
  overflow:hidden!important;
}
.gmv-trace-row .gmv-belle-svg{
  width:100%;
  height:100%;
}
/* Ancien moteur HTML désactivé : aucune transformation/line-height de police ne doit intervenir. */
.gmv-belle-real-text{transform:none!important;padding:0!important;line-height:normal!important}
@media(max-width:560px){
  .gmv-model-vector{height:112px!important;min-height:112px!important}
}
@media print{
  .gmv-model-vector{height:118px!important;min-height:118px!important;margin:8px 0 10px!important}
  .gmv-belle-svg{overflow:visible!important}
}
