.vi-app{--bg:#f4f7f9;--surface:#fff;--ink:#17232c;--muted:#5e6d78;--line:#d7e1e7;--primary:#176b87;--primary-dark:#10546b;--good-bg:#e7f3eb;--good:#247648;--mid-bg:#fff3d6;--mid:#906200;--focus-bg:#fae7e7;--focus:#a13d3d;--blue-bg:#eaf2f7;--shadow:0 10px 28px rgba(25,52,67,.08)}
    .vi-app, .vi-app *{box-sizing:border-box} .vi-app{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55} .vi-app button,.vi-app input,.vi-app textarea{font:inherit} .vi-app button{cursor:pointer}.vi-app{max-width:1120px;margin:0 auto;min-height:720px;background:var(--surface);box-shadow:var(--shadow)}
    .vi-app .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--surface)}.vi-app .brand{font-weight:700;color:var(--primary);font-size:1.15rem}.vi-app .privacy{font-size:.9rem;color:var(--muted)}
    .vi-app .screen{display:none;padding:34px 28px 48px}.vi-app .screen.active{display:block}.vi-app .narrow{max-width:820px;margin:0 auto}.vi-app h1,.vi-app h2,.vi-app h3{line-height:1.25;color:#1e5675}.vi-app h1{font-size:2rem;margin:.2em 0 .35em}.vi-app h2{font-size:1.55rem;margin:0 0 .5em}.vi-app h3{font-size:1.1rem;margin:0 0 .45em}.vi-app p{margin:.5em 0 1em}.vi-app .lead{font-size:1.08rem;color:var(--muted)}
    .vi-app .callout{padding:18px;border-radius:14px;background:var(--blue-bg);margin:22px 0}.vi-app .actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.vi-app .btn{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 17px;background:var(--surface);color:var(--ink)}.vi-app .btn:hover{border-color:var(--primary)}.vi-app .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.vi-app .btn-primary:hover{background:var(--primary-dark)}.vi-app .btn-link{border:0;background:transparent;color:var(--primary);padding:8px}
    .vi-app .progress-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem;margin-bottom:8px}.vi-app .progress{height:9px;background:#e2e9ed;border-radius:99px;overflow:hidden;margin-bottom:24px}.vi-app .progress span{display:block;height:100%;background:var(--primary);transition:width .2s ease}.vi-app .question-list{display:grid;gap:18px}.vi-app .question{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--surface)}.vi-app .question legend{font-weight:700;padding:0 4px}.vi-app .scale{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.vi-app .scale label{display:flex;min-height:66px;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:#f8fafb;cursor:pointer}.vi-app .scale label:has(input:checked){background:var(--primary);color:#fff;border-color:var(--primary)}.vi-app .scale input{position:absolute;opacity:0;pointer-events:none}.vi-app .error{min-height:24px;color:var(--focus);font-weight:700;margin-top:10px}
    .vi-app .scenario{border:1px solid var(--line);border-radius:14px;padding:22px}.vi-app .option-list{display:grid;gap:10px;margin-top:16px}.vi-app .scenario-option{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.vi-app .scenario-option:has(input:checked){border-color:var(--primary);background:var(--blue-bg)}.vi-app .scenario-option input{margin-top:5px;accent-color:var(--primary)}
    .vi-app .result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.vi-app .focus-instruction{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--blue-bg);margin:20px 0}.vi-app .focus-count{white-space:nowrap;font-weight:700}.vi-app .result-section{margin-top:30px}.vi-app .groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.vi-app .group{border-radius:14px;padding:15px}.vi-app .group.good{background:var(--good-bg)}.vi-app .group.mid{background:var(--mid-bg)}.vi-app .group.focus{background:var(--focus-bg)}.vi-app .group-title{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(35,50,60,.16)}.vi-app .group-title strong{color:var(--ink)}.vi-app .result-item{padding:13px 0;border-bottom:1px solid rgba(35,50,60,.16)}.vi-app .result-item:last-child{border-bottom:0}.vi-app .result-line{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.vi-app .score{font-weight:700;white-space:nowrap}.vi-app .focus-label{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.88rem;margin-top:8px;cursor:pointer}.vi-app .focus-label input{width:18px;height:18px;accent-color:var(--primary)}.vi-app .details{margin-top:9px}.vi-app .details summary{color:var(--primary);cursor:pointer}.vi-app .details-body{padding:8px 0 0;font-size:.94rem}
    .vi-app .strength-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vi-app .strength-card,.vi-app .plan-box{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--surface)}.vi-app .strength-card ul{padding-left:20px}.vi-app .flexibility{margin-top:14px;border-left:4px solid var(--primary);padding:16px 18px;background:var(--blue-bg)}
    .vi-app .plan-box{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;margin-top:24px}.vi-app .selected-list{padding-left:20px}.vi-app .focus-plan{margin-bottom:14px}.vi-app .focus-plan label{display:block;font-weight:700;margin-bottom:6px}.vi-app .plan-box textarea{width:100%;min-height:110px;border:1px solid var(--line);border-radius:10px;padding:12px;resize:vertical}.vi-app .inspirations{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.vi-app .inspiration-intro,.vi-app .inspiration-note{color:var(--muted)}.vi-app .inspiration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.vi-app .inspiration-card{padding:14px;border-radius:11px;background:var(--blue-bg)}.vi-app .inspiration-card strong{display:block;color:var(--primary);margin-bottom:3px}.vi-app .inspiration-card span{font-size:.92rem;color:var(--muted)}.vi-app .inspiration-note{padding-top:16px;margin-top:18px;border-top:1px solid var(--line);font-size:.9rem}.vi-app .brand-logo-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.vi-app .empty{color:var(--muted);font-style:italic}.vi-app .screen-note{color:var(--muted);font-size:.9rem}.vi-app .appendix{display:none}.vi-app .pdf-status{margin-top:12px}.vi-app .consultation{margin-top:28px;padding:24px;border-radius:14px;background:var(--blue-bg);text-align:center}.vi-app .consultation h2{margin-bottom:.3em}.vi-app .consultation .btn{display:inline-block;text-decoration:none;margin-top:8px}
    @media(max-width:820px){.vi-app .groups,.vi-app .strength-grid,.vi-app .plan-box,.vi-app .inspiration-grid{grid-template-columns:1fr}.vi-app .scale{grid-template-columns:repeat(3,1fr)}.vi-app .result-header,.vi-app .focus-instruction{flex-direction:column}.vi-app .topbar{align-items:flex-start;flex-direction:column}.vi-app .screen{padding:26px 18px 40px}}
    @media(max-width:480px){.vi-app .actions{align-items:stretch;flex-direction:column-reverse}.vi-app .actions .btn{width:100%}.vi-app .progress-meta{flex-direction:column}.vi-app .scale{grid-template-columns:repeat(2,1fr)}}
    @media print{.vi-app{background:#fff}.vi-app{max-width:none;box-shadow:none}.vi-app .topbar,.vi-app .no-print,.vi-app .focus-label,.vi-app .actions{display:none!important}.vi-app .screen{display:none!important}.vi-app .screen#results{display:block!important;padding:0}.vi-app .result-header .btn,.vi-app .focus-instruction{display:none}.vi-app .group,.vi-app .strength-card,.vi-app .plan-box,.vi-app .flexibility{break-inside:avoid}.vi-app .details-body{display:block}.vi-app .details summary{display:none}.vi-app .appendix{display:block;page-break-before:always}.vi-app .appendix table{width:100%;border-collapse:collapse;font-size:9pt}.vi-app .appendix th,.vi-app .appendix td{border:1px solid #bbb;padding:6px;vertical-align:top}.vi-app .result-section{break-before:auto}.vi-app h2{break-after:avoid}}
