/* VV-404 Report Studio — Vanilla Veterans / private release candidate v1.0.
   A dedicated child page that INHERITS the guild masthead, display tools and shared visual language. */
.vv404{--vv404-ink:#203947;--vv404-gold:#ac7c3e;--vv404-paper:#f7edda;--vv404-rule:#c1a475;--vv404-muted:#536670;background:#f5eddf;color:var(--vv404-ink);font-family:var(--sans,Arial,sans-serif);}
.vv404 *, .vv404 *::before,.vv404 *::after{box-sizing:border-box}
.vv404 h1,.vv404 h2,.vv404 h3,.vv404 h4{font-family:var(--serif,Georgia,serif);letter-spacing:normal}
.vv404 h1 em,.vv404 h2 em{color:#b88545}
.vv404 [hidden]{display:none!important}
.vv404 a,.vv404 button,.vv404 input,.vv404 select,.vv404 textarea{touch-action:manipulation}
.vv404-kicker{color:#ad7d45;font-size:.78rem;letter-spacing:.13em;font-weight:850;text-transform:uppercase;margin:0 0 12px}
.vv404-hero{background:linear-gradient(118deg,#0a2033,#15364c 55%,#0d2637);color:#f7e8c8;border-bottom:3px solid #b28a57;padding:50px 0}
.vv404-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:38px;align-items:center}
.vv404-hero-copy{min-width:0}.vv404-hero-copy h1{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:1.08;color:#f9e2af;margin:10px 0 10px}.vv404-hero-copy h1 em{color:#fff2d5}
.vv404-form-label{font:.85rem/1.4 var(--sans,Arial);color:#e8bc79;letter-spacing:.075em;font-weight:850;margin:0 0 24px}
.vv404-hero-copy .vv404-lead{font:italic clamp(1.18rem,1.9vw,1.55rem)/1.48 Georgia,serif;color:#fff1d0;max-width:600px;margin:0 0 15px}
.vv404-hero-copy p:not(.vv404-kicker):not(.vv404-form-label):not(.vv404-lead):not(.vv404-privacy){color:#d1dedd;max-width:570px;font-size:.98rem;line-height:1.65}
.vv404-hero-cta{margin-top:16px;display:inline-flex!important;justify-content:center;align-items:center;gap:12px;min-height:48px}
.vv404-privacy{font-size:.74rem;color:#cad2c7;margin:16px 0 0}
.vv404-hero-art{border:1px solid #b78c54;border-radius:14px;overflow:hidden;box-shadow:0 18px 36px #0007;background:#0a2031;aspect-ratio:1.52}
.vv404-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.vv404-process{padding:70px 0 74px;background:radial-gradient(ellipse at 10% 10%,#fff8eb,#f0e8d8 78%)}
.vv404-workspace{max-width:1160px}.vv404-section-heading{max-width:780px;margin:0 auto 24px;text-align:center}.vv404-section-heading h2{font-size:clamp(2rem,3.5vw,3.1rem);color:#1a394d;margin:5px 0 8px;line-height:1.13}.vv404-section-heading p:last-child{font-size:.93rem;color:#526771;line-height:1.55;margin:0}
.vv404-paper{width:min(100%,760px);margin:0 auto;background:#fffbf2;border:1px solid #c6aa80;border-radius:13px;padding:28px 35px;box-shadow:0 18px 38px #47382120}
.vv404-paper-status{display:flex;justify-content:space-between;gap:15px;color:#8d6332;font-size:.7rem;font-weight:900;letter-spacing:.09em}
.vv404-progress{height:6px;background:#e5d5bc;border-radius:99px;margin:17px 0 27px;overflow:hidden}.vv404-progress span{display:block;height:100%;width:20%;background:#b98640;border-radius:inherit;transition:width .15s}
.vv404-step h3{font-size:clamp(1.43rem,2.6vw,1.9rem);line-height:1.3;color:#1c3a4b;margin:0 0 19px}
.vv404 label,.vv404-editor label{display:block;font-size:.84rem;font-weight:780;color:#334e5c;margin:14px 0 7px}
.vv404 label small{font-weight:400;color:#697d81}
.vv404 input:not([type=file]),.vv404 select,.vv404 textarea{display:block;width:100%;min-height:47px;padding:11px 13px;border:1px solid #c0a47d;border-radius:8px;background:#fffefd;color:#163647;font:inherit;font-size:.92rem;line-height:1.4}
.vv404 textarea{resize:vertical;min-height:94px}.vv404 input[type=file]{max-width:100%;width:100%;background:#fff;padding:12px;border:1px dashed #b28c55;border-radius:8px;color:#1b3949;line-height:1.4}
.vv404 input::placeholder,.vv404 textarea::placeholder{color:#6a7b80;opacity:1}
.vv404-details{margin-top:18px;background:#f5ecd9;border:1px solid #e2d0b2;border-radius:8px;padding:12px 14px}.vv404-details summary{font-size:.85rem;font-weight:750;color:#6d4b27;cursor:pointer}.vv404-details textarea{margin-top:12px;min-height:80px}
.vv404-step-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dfceb1;margin-top:25px;padding-top:21px}
.vv404-btn{border-radius:8px;padding:12px 17px;font:800 .88rem/1.3 var(--sans,Arial);cursor:pointer;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;transition:filter .15s,transform .15s;border:1px solid transparent}
.vv404-btn-primary{color:#192c37;background:#e5ba76;border-color:#af8041;box-shadow:inset 0 -2px #ae7c40}
.vv404-btn-secondary{color:#203c4c;background:#fff9eb;border-color:#b59a73}
.vv404-btn:hover{filter:brightness(.96)}.vv404-btn:active{transform:translateY(1px)}.vv404-btn:disabled{opacity:.4;cursor:not-allowed}
.vv404-error{color:#9c2a21;background:#fff0e6;padding:10px 12px;border:1px solid #d8a89b;border-radius:7px;font-size:.84rem;line-height:1.45;margin:12px 0 0}
.vv404-help{font-size:.77rem;color:#64737a;line-height:1.5;margin:9px 0 0}.vv404-local-notice{max-width:780px;margin:24px auto 0;color:#61747a;font-size:.78rem;text-align:center;line-height:1.6}
.vv404-studio{max-width:1150px;margin:0 auto}.vv404-studio-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 0 26px}.vv404-studio-heading h2{font-size:clamp(2rem,3.3vw,3rem);color:#1b3e4d;margin:0 0 9px}.vv404-studio-heading p:last-child{color:#56666c;margin:0;line-height:1.5}
.vv404-studio-layout{display:grid;grid-template-columns:minmax(330px,.94fr) minmax(420px,1.06fr);align-items:start;gap:22px}
.vv404-editor{width:auto;margin:0;padding:27px 25px}.vv404-editor h3{font-size:1.6rem;color:#243e49;margin:0 0 15px}.vv404-editor textarea#vv404-summary-final{min-height:195px}
.vv404-art-choice{border-top:1px solid #dfcba7;padding-top:20px;margin-top:24px}.vv404-art-choice h4{font-size:1.28rem;color:#294654;margin:0 0 4px}
.vv404-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 18px}
.vv404-art-mode{background:#f1e5ce;color:#264452;border:1px solid #b9a17f;padding:11px 7px;cursor:pointer;font-size:.79rem;font-weight:760;border-radius:7px;min-height:44px}
.vv404-art-mode[aria-pressed=true]{background:#193e50;border-color:#b78e50;color:#fff2d5}
.vv404-gallery-thumb{display:flex;text-align:left;gap:11px;width:100%;align-items:center;border:2px solid #b28d57;border-radius:10px;background:#f8eddb;padding:8px;cursor:pointer;color:#253f49}
.vv404-gallery-thumb img{width:100px;height:67px;object-fit:cover;border-radius:5px;flex:none}
.vv404-gallery-thumb strong{font-size:.86rem;display:block}.vv404-gallery-thumb small{font-size:.71rem;line-height:1.4;display:block;color:#63727a;margin-top:3px}.vv404-thumb-check{margin-left:auto;border:1px solid #8c753f;border-radius:50%;width:26px;height:26px;text-align:center;line-height:23px;background:#d1b077;flex:none}
.vv404-preview-column{min-width:0}.vv404-preview-shell{position:sticky;top:18px;border:1px solid #b99966;border-radius:12px;padding:20px 21px;background:#16374a;color:#f4e8d2;box-shadow:0 18px 40px #123d4325}
.vv404-preview-top{text-align:center}.vv404-preview-top h3{color:#f0c889;font-size:1.53rem;margin:0 0 2px}.vv404-preview-top p{color:#c7d4d7;font-size:.76rem;margin:0 0 13px}
.vv404 canvas{display:block;width:min(100%,490px);height:auto;aspect-ratio:4/5;box-shadow:0 14px 25px #0008;margin:auto;border:1px solid #b78c50;background:#f3e7cc}
.vv404-share-primary{margin-top:20px;text-align:center}.vv404-share-primary button{display:flex;width:100%;max-width:510px;margin:0 auto}.vv404-share-primary p{margin:8px auto 0;font-size:.73rem;color:#ccd5d5;max-width:430px;line-height:1.45}
.vv404-share-secondary{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:13px}.vv404-share-secondary button{min-height:42px;font-size:.79rem;flex:1 1 140px}
.vv404-submission{border-top:1px solid #b99966;margin-top:20px;padding-top:16px}.vv404-submission h4{color:#f0c889;margin:0 0 8px;font-size:1.2rem}.vv404-submission p,.vv404-submission label{color:#e2e8e5;font-size:.8rem;line-height:1.5}.vv404 .vv404-permission{display:flex;align-items:flex-start;gap:9px}.vv404 .vv404-permission input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:3px 0 0;flex:none}.vv404-submission textarea{margin-bottom:10px}.vv404-submission .vv404-btn{margin:4px 4px 4px 0}
.vv404-status{color:#f6d9a8;text-align:center;font-size:.8rem;min-height:1.5em;margin-top:13px;line-height:1.5}
.vv404-back{background:#0b2334;color:#ebd3a7;border-top:1px solid #ae8b5c}.vv404-back .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;padding-bottom:26px;font-size:.78rem}.vv404-back a{color:#f3ce91;text-decoration:underline}.vv404-back span{color:#aebfc2;font-weight:750;letter-spacing:.055em}
.vv404 :focus-visible{outline:3px solid #dca750;outline-offset:3px}
/* Sitewide mode preference compatibility. Keep the underlying brand intact. */
body[data-mode=harmony] .vv404-process{background:#eaf1ec}body[data-mode=harmony] .vv404-paper{background:#fffef9;border-color:#91a9a8}body[data-mode=harmony] .vv404-hero{background:linear-gradient(110deg,#15364a,#315b63)}
body[data-mode=focus] .vv404-hero-art{box-shadow:none}body[data-mode=focus] .vv404-paper,body[data-mode=focus] .vv404-preview-shell{box-shadow:none}body[data-mode=focus] .vv404-process{background:#f1f3ee}
@media(max-width:1050px){.vv404-studio-layout{grid-template-columns:1fr}.vv404-preview-shell{position:static;max-width:700px;margin:auto}.vv404-editor{max-width:700px;margin:auto;width:100%}.vv404-hero-grid{gap:22px}}
@media(max-width:760px){.vv404-hero{padding:43px 0}.vv404-hero-grid{grid-template-columns:1fr}.vv404-hero-art{max-width:660px;aspect-ratio:2.2;min-height:215px}.vv404-hero-art img{object-position:center 37%}.vv404-process{padding:50px 0}.vv404-studio-heading{flex-direction:column;align-items:flex-start}.vv404-paper{padding:23px 21px}.vv404-step-actions .vv404-btn{flex:1}.vv404-paper-status #vv404-step-hint{display:none}}
@media(max-width:500px){.vv404-hero-copy h1{font-size:2.5rem}.vv404-hero-art{aspect-ratio:1.65}.vv404-preview-shell{padding:14px}.vv404-choice-row{grid-template-columns:1fr}.vv404-gallery-thumb img{width:82px;height:58px}.vv404-studio-layout{display:block}.vv404-editor{margin-bottom:20px}.vv404-section-heading h2{font-size:2rem}.vv404-back span{font-size:.7rem}}
@media(max-width:390px){.vv404-hero-grid{grid-template-columns:minmax(0,1fr)}.vv404-hero-art{min-width:0;min-height:0}}
@media(prefers-reduced-motion:reduce){.vv404-progress span,.vv404-btn{transition:none}}
@media print{.vv404-hero,.vv404-step-actions,.vv404-studio-heading button,.vv404-editor,.vv404-share-primary,.vv404-share-secondary,.vv404-back{display:none!important}.vv404-process{background:white}.vv404-preview-shell{border:none;background:white;box-shadow:none;padding:0}.vv404 canvas{box-shadow:none;width:100%}}
