*{
margin:0;
padding:0;
box-sizing:border-box;
-webkit-tap-highlight-color:transparent;
}

html{
scroll-behavior:smooth;
height:100%;
min-height:100dvh;
}

body{
min-height:100%;
min-height:100dvh;
background:
linear-gradient(
180deg,
#06101f 0%,
#081527 100%
);
font-family:'Syne',sans-serif;
color:#f5f7fb;
line-height:1.7;
overflow-x:hidden;
position:relative;
}

/* =========================================
IOS SAFE FIX
========================================= */

body.vixr-lock{
overflow:hidden;
touch-action:none;
}

/* =========================================
ROOT
========================================= */

#vixr{
width:100%;
min-height:100dvh;
padding:42px 18px 90px;
position:relative;
overflow:hidden;
isolation:isolate;
display:flex;
flex-direction:column;
}

/* =========================================
BACKGROUND EFFECTS
========================================= */

#vixr::before,
#vixr::after{
content:'';
position:absolute;
pointer-events:none;
z-index:0;
}

#vixr::before{
top:-18%;
left:-12%;
width:55%;
height:50%;
background:
radial-gradient(
ellipse,
rgba(245,197,24,.06),
transparent 70%
);
}

#vixr::after{
bottom:-18%;
right:-12%;
width:58%;
height:50%;
background:
radial-gradient(
ellipse,
rgba(72,120,255,.10),
transparent 70%
);
}

/* =========================================
WRAPPER
========================================= */

.vixr-wrap{
position:relative;
z-index:2;
width:100%;
max-width:1040px;
margin:0 auto;
display:flex;
flex-direction:column;
flex:1;
}

/* =========================================
HERO SECTION
========================================= */

.vixr-hero{
position:relative;
overflow:hidden;
background:
linear-gradient(
135deg,
rgba(8,20,38,.98),
rgba(3,12,24,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:38px;
padding:54px 46px;
margin-bottom:34px;
box-shadow:
0 22px 60px rgba(0,0,0,.34);
}

.vixr-hero::before{
content:'';
position:absolute;
top:-20%;
right:-8%;
width:280px;
height:280px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(245,197,24,.12),
transparent 72%
);
pointer-events:none;
}

/* =========================================
BADGE
========================================= */

.vixr-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:11px 24px;
border-radius:999px;
background:
rgba(245,197,24,.10);
border:
1px solid rgba(245,197,24,.22);
font-size:13px;
font-weight:700;
letter-spacing:.6px;
color:#f5c518;
margin-bottom:30px;
text-transform:uppercase;
}

/* =========================================
TITLE
========================================= */

.vixr-title{
font-family:
'Cormorant Garamond',
serif;
font-size:86px;
line-height:.92;
font-weight:700;
letter-spacing:-1.8px;
margin-bottom:28px;
color:#ffffff;
max-width:760px;
}

.vixr-title span{
display:block;
color:#f5c518;
}

/* =========================================
SUBTEXT
========================================= */

.vixr-sub{
font-size:22px;
line-height:2;
color:
rgba(255,255,255,.72);
max-width:760px;
margin-bottom:34px;
}

/* =========================================
NOTICE BOX
========================================= */

.vixr-note{
background:
rgba(255,255,255,.04);
border:
1px solid rgba(255,255,255,.06);
border-radius:24px;
padding:24px;
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.7);
}

.vixr-note strong{
color:#ffd76a;
}

/* =========================================
PROGRESS
========================================= */

.vixr-progress{
display:grid;
grid-template-columns:
repeat(6,1fr);
gap:14px;
margin-bottom:36px;
}

/* =========================================
STEP
========================================= */

.vixr-step{
position:relative;
padding:16px 14px;
border-radius:18px;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.05);
text-align:center;
font-size:13px;
font-weight:700;
letter-spacing:.3px;
color:
rgba(255,255,255,.42);
transition:.24s ease;
overflow:hidden;
}

.vixr-step::before{
content:'';
position:absolute;
inset:0;
background:
linear-gradient(
135deg,
rgba(255,255,255,.04),
transparent
);
opacity:0;
transition:.24s ease;
}

.vixr-step.active{
background:
linear-gradient(
135deg,
rgba(245,197,24,.16),
rgba(245,197,24,.05)
);
border:
1px solid rgba(245,197,24,.34);
color:#ffffff;
box-shadow:
0 12px 24px rgba(245,197,24,.14);
}

.vixr-step.active::before{
opacity:1;
}

/* =========================================
MAIN PANELS
========================================= */

.vixr-panel,
.vixr-result-box,
.vixr-final-box{
position:relative;
overflow:hidden;
background:
linear-gradient(
180deg,
rgba(7,20,38,.98),
rgba(4,14,28,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:36px;
padding:48px 40px;
box-shadow:
0 20px 55px rgba(0,0,0,.28);
animation:vixrFade .25s ease;
}

.vixr-panel::before,
.vixr-result-box::before,
.vixr-final-box::before{
content:'';
position:absolute;
top:-20%;
right:-10%;
width:220px;
height:220px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(245,197,24,.08),
transparent 72%
);
pointer-events:none;
}

/* =========================================
ANIMATION
========================================= */

@keyframes vixrFade{

from{
opacity:0;
transform:translateY(8px);
}

to{
opacity:1;
transform:none;
}

}

/* =========================================
HEADINGS
========================================= */

.vixr-h{
font-family:
'Cormorant Garamond',
serif;
font-size:64px;
line-height:1;
font-weight:700;
margin-bottom:18px;
color:#ffffff;
}

/* =========================================
PARAGRAPH
========================================= */

.vixr-p{
font-size:19px;
line-height:2;
color:
rgba(255,255,255,.68);
max-width:760px;
margin-bottom:38px;
}

/* =========================================
GRID
========================================= */

.vixr-grid{
display:grid;
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:26px;
margin-bottom:38px;
}

/* =========================================
FIELD
========================================= */

.vixr-field{
position:relative;
}

/* =========================================
LABEL
========================================= */

.vixr-label{
display:block;
margin-bottom:12px;
font-size:14px;
font-weight:700;
letter-spacing:.5px;
color:#ffffff;
}

/* =========================================
INPUTS
========================================= */

.vixr-input,
.vixr-select,
.vixr-textarea{
width:100%;
border-radius:18px;
border:
1px solid rgba(255,255,255,.08);
background:
rgba(255,255,255,.04);
padding:0 20px;
font-size:16px;
font-family:'Syne',sans-serif;
color:#ffffff;
outline:none;
transition:.22s ease;
appearance:none;
-webkit-appearance:none;
}

/* =========================================
INPUT HEIGHT
========================================= */

.vixr-input,
.vixr-select{
height:66px;
}

/* =========================================
TEXTAREA
========================================= */

.vixr-textarea{
min-height:190px;
padding-top:18px;
padding-bottom:18px;
resize:vertical;
line-height:1.9;
}

/* =========================================
PLACEHOLDER
========================================= */

.vixr-input::placeholder,
.vixr-textarea::placeholder{
color:
rgba(255,255,255,.34);
}

/* =========================================
SELECT OPTION
========================================= */

.vixr-select option{
background:#081525;
color:#ffffff;
}

/* =========================================
FOCUS
========================================= */

.vixr-input:focus,
.vixr-select:focus,
.vixr-textarea:focus{
border:
1px solid rgba(245,197,24,.45);
background:
rgba(255,255,255,.06);
box-shadow:
0 0 0 4px rgba(245,197,24,.12);
}

/* =========================================
ERROR STATE
========================================= */

.vixr-error{
border:
1px solid rgba(255,95,95,.72)!important;
background:
rgba(255,70,70,.06)!important;
box-shadow:
0 0 0 4px rgba(255,70,70,.08)!important;
}

/* =========================================
ERROR TEXT
========================================= */

.vixr-error-text{
margin-top:8px;
font-size:13px;
line-height:1.6;
color:#ff9d9d;
font-weight:600;
display:flex;
align-items:flex-start;
gap:6px;
}

/* =========================================
INFO CARD
========================================= */

.vixr-info-card{
position:relative;
overflow:hidden;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:28px;
padding:30px;
margin-bottom:36px;
}

.vixr-info-card::before{
content:'';
position:absolute;
top:-20%;
right:-10%;
width:180px;
height:180px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(245,197,24,.06),
transparent 72%
);
pointer-events:none;
}

/* =========================================
INFO CARD TITLE
========================================= */

.vixr-info-card h3{
font-size:26px;
font-weight:800;
line-height:1.4;
margin-bottom:16px;
color:#ffffff;
}

/* =========================================
INFO CARD TEXT
========================================= */

.vixr-info-card p{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.7);
margin-bottom:20px;
max-width:850px;
}

/* =========================================
CHECKLIST
========================================= */

.vixr-checks{
display:flex;
flex-direction:column;
gap:14px;
padding-left:20px;
}

.vixr-checks li{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.78);
}

/* =========================================
OPTION CARD GRID
========================================= */

.vixr-card-grid{
display:grid;
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:18px;
margin-bottom:32px;
}

/* =========================================
OPTION CARD
========================================= */

.vixr-card{
position:relative;
overflow:hidden;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:24px;
padding:24px;
cursor:pointer;
transition:.22s ease;
}

.vixr-card::before{
content:'';
position:absolute;
inset:0;
background:
linear-gradient(
135deg,
rgba(245,197,24,.06),
transparent
);
opacity:0;
transition:.22s ease;
pointer-events:none;
}

.vixr-card:hover{
transform:translateY(-2px);
border-color:
rgba(245,197,24,.24);
}

.vixr-card:hover::before{
opacity:1;
}

/* =========================================
ACTIVE CARD
========================================= */

.vixr-card.active{
background:
linear-gradient(
135deg,
rgba(245,197,24,.12),
rgba(245,197,24,.04)
);
border:
1px solid rgba(245,197,24,.34);
box-shadow:
0 14px 28px rgba(245,197,24,.12);
}

.vixr-card.active::before{
opacity:1;
}

/* =========================================
CARD TITLE
========================================= */

.vixr-card strong{
display:block;
font-size:18px;
font-weight:800;
line-height:1.4;
margin-bottom:12px;
color:#ffffff;
}

/* =========================================
CARD TEXT
========================================= */

.vixr-card span{
display:block;
font-size:14px;
line-height:1.9;
color:
rgba(255,255,255,.68);
}

/* =========================================
SECTION MINI TITLE
========================================= */

.vixr-mini{
font-size:14px;
font-weight:700;
letter-spacing:.4px;
margin-bottom:20px;
color:#ffd76a;
}

/* =========================================
BUTTON AREA
========================================= */

.vixr-actions{
display:flex;
flex-wrap:wrap;
gap:16px;
margin-top:18px;
}

/* =========================================
BUTTON BASE
========================================= */

.vixr-btn{
border:none;
outline:none;
cursor:pointer;
min-height:58px;
padding:0 28px;
border-radius:18px;
font-family:'Syne',sans-serif;
font-size:15px;
font-weight:700;
transition:.22s ease;
display:inline-flex;
align-items:center;
justify-content:center;
text-align:center;
}

/* =========================================
PRIMARY BUTTONS
========================================= */

.vixr-next,
.vixr-submit,
.vixr-send,
.vixr-restart{
background:
linear-gradient(
135deg,
#f5c518,
#d4a017
);
color:#071224;
box-shadow:
0 12px 28px rgba(245,197,24,.26);
}

/* =========================================
PRIMARY HOVER
========================================= */

.vixr-next:hover,
.vixr-submit:hover,
.vixr-send:hover,
.vixr-restart:hover{
transform:
translateY(-2px);
}

/* =========================================
BACK BUTTON
========================================= */

.vixr-back{
background:
rgba(255,255,255,.05);
border:
1px solid rgba(255,255,255,.08);
color:#ffffff;
}

/* =========================================
DISABLED
========================================= */

.vixr-btn:disabled{
opacity:.55;
cursor:not-allowed;
transform:none!important;
}

/* =========================================
MESSAGE AREA
========================================= */

.vixr-msg{
margin-top:18px;
font-size:14px;
line-height:1.8;
color:#ffe082;
}

/* =========================================
SUCCESS MESSAGE
========================================= */

.vixr-msg.ok{
color:#8ff0b8;
}

/* =========================================
FAILED MESSAGE
========================================= */

.vixr-msg.fail{
color:#ff9d9d;
}

/* =========================================
SUCCESS BOX
========================================= */

.vixr-successbox{
padding:22px 24px;
border-radius:22px;
background:
linear-gradient(
135deg,
rgba(52,209,127,.10),
rgba(52,209,127,.04)
);
border:
1px solid rgba(52,209,127,.24);
color:#8ff0b8;
font-size:15px;
line-height:1.9;
margin-bottom:34px;
font-weight:600;
}

/* =========================================
SECTION MINI TITLE
========================================= */

.vixr-mini{
font-size:14px;
font-weight:700;
letter-spacing:.4px;
margin-bottom:20px;
color:#ffd76a;
}

/* =========================================
GENERAL LIST
========================================= */

.vixr-list{
display:flex;
flex-direction:column;
gap:14px;
padding-left:20px;
margin-bottom:36px;
}

/* =========================================
LIST ITEMS
========================================= */

.vixr-list li{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.76);
}

/* =========================================
WEAK AREA LIST
========================================= */

.vixr-risk li{
color:#ffb1b1;
}

/* =========================================
RESULT SCORE AREA
========================================= */

.vixr-scoreline{
display:flex;
align-items:center;
gap:22px;
margin-bottom:34px;
flex-wrap:wrap;
}

/* =========================================
SCORE CIRCLE
========================================= */

.vixr-circle{
width:108px;
height:108px;
border-radius:50%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border:4px solid;
background:
rgba(255,255,255,.03);
box-shadow:
0 8px 18px rgba(0,0,0,.18);
flex-shrink:0;
}

/* =========================================
SCORE COLORS
========================================= */

.vixr-circle.high{
border-color:#34d17f;
}

.vixr-circle.mid{
border-color:#f5c518;
}

.vixr-circle.low{
border-color:#ff5f5f;
}

/* =========================================
SCORE NUMBER
========================================= */

.vixr-num{
font-size:34px;
font-weight:800;
line-height:1;
color:#ffffff;
}

/* =========================================
SCORE SUBTEXT
========================================= */

.vixr-subnum{
font-size:11px;
margin-top:4px;
opacity:.6;
color:#ffffff;
}

/* =========================================
STATUS
========================================= */

.vixr-status{
font-size:34px;
font-weight:800;
margin-bottom:10px;
line-height:1.2;
}

/* =========================================
STATUS COLORS
========================================= */

.vixr-status.high{
color:#34d17f;
}

.vixr-status.mid{
color:#f5c518;
}

.vixr-status.low{
color:#ff7070;
}

/* =========================================
ADVICE
========================================= */

.vixr-advice{
font-size:17px;
line-height:1.9;
color:
rgba(255,255,255,.7);
max-width:720px;
}

/* =========================================
BREAKDOWN GRID
========================================= */

.vixr-break-grid{
display:grid;
grid-template-columns:
repeat(4,minmax(0,1fr));
gap:18px;
margin-bottom:36px;
}

/* =========================================
BREAKDOWN CARD
========================================= */

.vixr-break-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:24px;
padding:24px 18px;
text-align:center;
}

/* =========================================
BREAKDOWN NUMBER
========================================= */

.vixr-break-card strong{
display:block;
font-size:32px;
font-weight:800;
line-height:1;
margin-bottom:12px;
color:#ffffff;
}

/* =========================================
BREAKDOWN LABEL
========================================= */

.vixr-break-card span{
display:block;
font-size:14px;
line-height:1.6;
color:
rgba(255,255,255,.68);
}

/* =========================================
REVIEW CARD
========================================= */

.vixr-review-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:28px;
padding:30px;
margin-bottom:38px;
}

/* =========================================
REVIEW TEXT
========================================= */

.vixr-review-card p{
font-size:16px;
line-height:2;
color:
rgba(255,255,255,.75);
}

/* =========================================
IMPROVEMENT PLAN
========================================= */

.vixr-plan{
display:flex;
flex-direction:column;
gap:16px;
margin-bottom:38px;
}

/* =========================================
PLAN ROW
========================================= */

.vixr-planrow{
display:flex;
gap:16px;
align-items:flex-start;
padding:18px;
border-radius:20px;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.05);
}

/* =========================================
DAY LABEL
========================================= */

.vixr-day{
min-width:78px;
padding:10px 14px;
border-radius:14px;
background:
rgba(245,197,24,.14);
font-size:13px;
font-weight:700;
color:#ffd76a;
text-align:center;
}

/* =========================================
TASK
========================================= */

.vixr-task{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.75);
}

/* =========================================
FINAL SCREEN
========================================= */

.vixr-final-box{
position:relative;
overflow:hidden;
background:
linear-gradient(
180deg,
rgba(7,20,38,.98),
rgba(4,14,28,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:36px;
padding:52px 42px;
box-shadow:
0 20px 55px rgba(0,0,0,.28);
animation:vixrFade .25s ease;
}

/* =========================================
FINAL HEADER
========================================= */

.vixr-final-top{
margin-bottom:38px;
}

/* =========================================
FINAL BADGE
========================================= */

.vixr-final-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 22px;
border-radius:999px;
background:
rgba(52,209,127,.10);
border:
1px solid rgba(52,209,127,.22);
font-size:13px;
font-weight:700;
letter-spacing:.5px;
color:#8ff0b8;
margin-bottom:24px;
}

/* =========================================
FINAL TITLE
========================================= */

.vixr-final-title{
font-family:
'Cormorant Garamond',
serif;
font-size:64px;
line-height:1;
font-weight:700;
margin-bottom:18px;
color:#ffffff;
}

/* =========================================
FINAL SUBTEXT
========================================= */

.vixr-final-sub{
font-size:18px;
line-height:1.9;
max-width:760px;
color:
rgba(255,255,255,.7);
}

/* =========================================
FINAL GRID
========================================= */

.vixr-final-grid{
display:grid;
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:22px;
margin-bottom:38px;
}

/* =========================================
FINAL CARD
========================================= */

.vixr-final-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:26px;
padding:28px;
}

/* =========================================
FINAL CARD TITLE
========================================= */

.vixr-final-card h3{
font-size:22px;
font-weight:800;
line-height:1.4;
margin-bottom:16px;
color:#ffffff;
}

/* =========================================
FINAL CARD TEXT
========================================= */

.vixr-final-card p{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.72);
}

/* =========================================
FINAL LIST
========================================= */

.vixr-final-list{
display:flex;
flex-direction:column;
gap:12px;
padding-left:18px;
}

.vixr-final-list li{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.74);
}

/* =========================================
FINAL ACTIONS
========================================= */

.vixr-final-actions{
display:flex;
flex-wrap:wrap;
gap:16px;
}

/* =========================================
FOOTER
========================================= */

.vixr-footer{
text-align:center;
padding:38px 10px 0;
font-size:13px;
line-height:1.9;
color:
rgba(255,255,255,.42);
}

/* =========================================
FOOTER LINK
========================================= */

.vixr-footer a{
color:#ffd76a;
text-decoration:none;
transition:.22s ease;
}

.vixr-footer a:hover{
color:#ffffff;
}

/* =========================================
VALID INPUT
========================================= */

.vixr-valid{
border:
2px solid #22c55e !important;

box-shadow:
0 0 0 4px rgba(34,197,94,.14) !important;
}

/* =========================================
ERROR INPUT
========================================= */

.vixr-error{
border:
2px solid #ff4d67 !important;

box-shadow:
0 0 0 4px rgba(255,77,103,.12),
0 10px 30px rgba(255,77,103,.12) !important;

animation:vixrShake .28s ease;
}

/* =========================================
ERROR TEXT
========================================= */

.vixr-error-text{
display:block;
width:100%;
margin-top:10px;
font-size:14px;
line-height:1.5;
font-weight:600;
color:#ff6b81;
padding-left:2px;
letter-spacing:.2px;
animation:vixrFadeError .22s ease;
}

/* =========================================
SHAKE
========================================= */

@keyframes vixrShake{

0%{
transform:translateX(0);
}

25%{
transform:translateX(-3px);
}

50%{
transform:translateX(3px);
}

75%{
transform:translateX(-2px);
}

100%{
transform:translateX(0);
}

}

/* =========================================
ERROR FADE
========================================= */

@keyframes vixrFadeError{

from{
opacity:0;
transform:translateY(-4px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* =========================================
TEXT SELECTION
========================================= */

::selection{
background:
rgba(245,197,24,.30);

color:#ffffff;
}

/* =========================================
SCROLLBAR
========================================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#06101f;
}

::-webkit-scrollbar-thumb{
background:
linear-gradient(
180deg,
#f5c518,
#d4a017
);

border-radius:999px;
}

::-webkit-scrollbar-thumb:hover{
background:
linear-gradient(
180deg,
#ffd95e,
#e5b733
);
}








/* =========================================
RESPONSIVE FIX
========================================= */

@media(max-width:980px){

.vixr-title{
font-size:64px;
line-height:.98;
}

.vixr-h{
font-size:48px;
}

.vixr-sub{
font-size:18px;
line-height:1.8;
}

.vixr-p{
font-size:16px;
line-height:1.9;
}

.vixr-panel,
.vixr-result-box,
.vixr-final-box{
padding:38px 30px;
}

}

/* =========================================
TABLET
========================================= */

@media(max-width:768px){

#vixr{
padding:34px 14px 80px;
}

.vixr-hero{
padding:34px 24px;
border-radius:28px;
}

.vixr-title{
font-size:46px;
line-height:1;
letter-spacing:-1px;
margin-bottom:18px;
max-width:100%;
word-break:break-word;
}

.vixr-sub{
font-size:15px;
line-height:1.8;
margin-bottom:24px;
}

.vixr-note{
padding:18px;
font-size:13px;
line-height:1.8;
}

.vixr-progress{
grid-template-columns:
repeat(2,1fr);
gap:10px;
}

.vixr-step{
font-size:11px;
padding:12px 10px;
}

.vixr-panel,
.vixr-result-box,
.vixr-final-box{
padding:26px 18px;
border-radius:24px;
}

.vixr-h{
font-size:34px;
line-height:1.1;
margin-bottom:12px;
word-break:break-word;
}

.vixr-p{
font-size:14px;
line-height:1.8;
margin-bottom:24px;
}

.vixr-grid,
.vixr-card-grid,
.vixr-final-grid,
.vixr-break-grid{
grid-template-columns:1fr;
gap:16px;
}

.vixr-input,
.vixr-select{
height:58px;
font-size:14px;
padding:0 16px;
}

.vixr-textarea{
font-size:14px;
padding:16px;
min-height:150px;
}

.vixr-card{
padding:18px 16px;
}

.vixr-card strong{
font-size:15px;
}

.vixr-card span{
font-size:12.5px;
line-height:1.7;
}

.vixr-actions,
.vixr-final-actions{
flex-direction:column;
}

.vixr-btn{
width:100%;
min-height:54px;
font-size:14px;
}

.vixr-final-title{
font-size:38px;
line-height:1.08;
}

.vixr-final-sub{
font-size:14px;
line-height:1.8;
}

.vixr-scoreline{
align-items:flex-start;
}

.vixr-circle{
width:90px;
height:90px;
}

.vixr-num{
font-size:28px;
}

}

/* =========================================
SMALL MOBILE
========================================= */

@media(max-width:480px){

#vixr{
padding-left:12px;
padding-right:12px;
}

.vixr-hero{
padding:28px 18px;
}

.vixr-title{
font-size:38px;
line-height:1.02;
}

.vixr-h{
font-size:28px;
}

.vixr-sub,
.vixr-p{
font-size:13.5px;
line-height:1.75;
}

.vixr-panel,
.vixr-result-box,
.vixr-final-box{
padding:22px 15px;
}

.vixr-input,
.vixr-select{
height:54px;
font-size:13.5px;
}

.vixr-label{
font-size:11px;
}

.vixr-card{
padding:16px 14px;
border-radius:18px;
}

.vixr-card strong{
font-size:14px;
margin-bottom:6px;
}

.vixr-card span{
font-size:12px;
}

.vixr-final-title{
font-size:32px;
}

.vixr-final-card{
padding:20px 16px;
}

.vixr-final-card h3{
font-size:17px;
}

.vixr-final-card p,
.vixr-final-list li{
font-size:13px;
line-height:1.8;
}

}






/* =========================================
VISUAL READABILITY BOOST
========================================= */

@media(max-width:768px){

/* MAIN PANELS */

.vixr-panel,
.vixr-result-box,
.vixr-final-box,
.vixr-hero{
background:
linear-gradient(
180deg,
rgba(7,20,38,.995),
rgba(3,12,24,1)
);

border:
1px solid rgba(255,255,255,.08);

box-shadow:
0 18px 40px rgba(0,0,0,.38);
}

/* TITLE */

.vixr-title{
text-shadow:
0 2px 10px rgba(0,0,0,.28);
}

/* SECTION HEADINGS */

.vixr-h{
line-height:1.18;
letter-spacing:-.3px;
}

/* PARAGRAPH READABILITY */

.vixr-p,
.vixr-sub,
.vixr-note,
.vixr-card span,
.vixr-final-sub,
.vixr-final-card p{
color:
rgba(255,255,255,.78);
}

/* LABELS */

.vixr-label{
font-size:12px;
font-weight:800;
letter-spacing:.7px;
color:#ffe082;
margin-bottom:10px;
}

/* INPUTS */

.vixr-input,
.vixr-select,
.vixr-textarea{
background:
rgba(255,255,255,.055);

border:
1px solid rgba(255,255,255,.10);

color:#ffffff;
}

/* PLACEHOLDERS */

.vixr-input::placeholder,
.vixr-textarea::placeholder{
color:
rgba(255,255,255,.42);
}

/* OPTION CARDS */

.vixr-card{
background:
linear-gradient(
180deg,
rgba(255,255,255,.045),
rgba(255,255,255,.02)
);

border:
1px solid rgba(255,255,255,.08);
}

/* CARD TITLES */

.vixr-card strong{
font-size:16px;
line-height:1.4;
letter-spacing:-.2px;
}

/* CARD TEXT */

.vixr-card span{
font-size:13px;
line-height:1.75;
}

/* ACTIVE CARD */

.vixr-card.active{
background:
linear-gradient(
135deg,
rgba(245,197,24,.18),
rgba(245,197,24,.05)
);

border:
1px solid rgba(245,197,24,.42);

box-shadow:
0 10px 24px rgba(245,197,24,.12);
}

/* BUTTONS */

.vixr-btn{
font-size:14px;
font-weight:800;
letter-spacing:.2px;
}

/* PROGRESS */

.vixr-step{
background:
rgba(255,255,255,.045);
}

/* MOBILE SPACING */

.vixr-grid{
gap:18px;
}

.vixr-card-grid{
gap:16px;
}

}

/* =========================================
SMALL MOBILE POLISH
========================================= */

@media(max-width:480px){

.vixr-title{
font-size:40px;
line-height:1.02;
}

.vixr-h{
font-size:30px;
}

.vixr-card{
padding:18px 16px;
}

.vixr-card strong{
font-size:15px;
}

.vixr-card span{
font-size:12.5px;
}

.vixr-input,
.vixr-select{
height:56px;
}

}




.vixr-card{
position:relative;
overflow:hidden;
}

.vixr-selected-badge{
position:absolute;
top:14px;
right:14px;
padding:6px 10px;
border-radius:999px;
font-size:.72rem;
font-weight:700;
letter-spacing:.02em;
background:
rgba(25,195,125,.14);
border:
1px solid rgba(25,195,125,.32);
color:#7dffbf;
opacity:0;
transform:
translateY(-6px)
scale(.94);
transition:
all .28s ease;
pointer-events:none;
backdrop-filter:blur(8px);
}

.vixr-card.active
.vixr-selected-badge{
opacity:1;
transform:
translateY(0)
scale(1);
}

.vixr-card.active{
border-color:
rgba(25,195,125,.45) !important;
box-shadow:
0 0 0 1px rgba(25,195,125,.16),
0 18px 45px rgba(25,195,125,.08);
}











/* =========================================
CARD SELECTION UX
========================================= */

.vixr-mini-title{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}

.vixr-mini-required{
font-size:.74rem;
font-weight:700;
letter-spacing:.03em;
text-transform:uppercase;
color:#7db8ff;
opacity:.9;
}

.vixr-card{
position:relative;
overflow:hidden;
}

/* =========================================
PREVENT TITLE OVERLAP
========================================= */

.vixr-card strong{
display:block;
padding-right:110px;
line-height:1.15;
}

/* =========================================
BADGES
========================================= */

.vixr-selected-badge{
position:absolute;
top:10px;
right:10px;

display:flex;
align-items:center;
justify-content:center;
gap:4px;

padding:4px 8px;

min-height:26px;

border-radius:999px;

font-size:.58rem;
font-weight:700;
letter-spacing:.02em;
line-height:1;

white-space:nowrap;

background:
rgba(25,195,125,.12);

border:
1px solid rgba(25,195,125,.22);

color:#8dffca;

opacity:0;

transform:
translateY(-6px)
scale(.92);

transition:
all .25s ease;

pointer-events:none;

backdrop-filter:blur(10px);

z-index:3;
}

/* =========================================
MULTI SELECT
========================================= */

.vixr-selected-badge.multi{

background:
rgba(88,166,255,.10);

border:
1px solid rgba(88,166,255,.20);

color:#a8ccff;

}

/* =========================================
ACTIVE STATE
========================================= */

.vixr-card.active
.vixr-selected-badge{

opacity:1;

transform:
translateY(0)
scale(1);

}






.vixr-card-grid-error{
border-radius:28px;
padding:8px;
outline:
2px solid rgba(255,72,118,.42);
box-shadow:
0 0 0 1px rgba(255,72,118,.08),
0 0 24px rgba(255,72,118,.18);
}

.vixr-card-error{
margin-top:14px;
font-size:.92rem;
font-weight:600;
line-height:1.6;
color:#ff6f93;
}









/* =========================================
PREMIUM GLOBAL TOOL FOOTER
========================================= */

.gsgx-tool-footer{
margin-top:90px;
padding:55px 22px 46px;
background:
linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.015)
);
border-top:
1px solid rgba(255,255,255,.07);
position:relative;
overflow:hidden;
}

.gsgx-tool-footer::before{
content:'';
position:absolute;
top:-120px;
right:-120px;
width:260px;
height:260px;
background:
radial-gradient(
circle,
rgba(245,197,24,.08),
transparent 72%
);
pointer-events:none;
}

.gsgx-tool-footer-inner{
width:100%;
max-width:1120px;
margin:0 auto;
position:relative;
z-index:2;
}

.gsgx-tool-brand h3{
font-size:1.45rem;
line-height:1.2;
font-weight:800;
letter-spacing:-0.5px;
color:#ffffff;
margin-bottom:18px;
}

.gsgx-tool-brand p{
max-width:820px;
font-size:1rem;
line-height:1.95;
color:#c9d4df;
}

.gsgx-tool-footer-links{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:34px;
}

.gsgx-tool-footer-links a{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border-radius:14px;
background:
rgba(255,255,255,.05);
border:
1px solid rgba(255,255,255,.08);
text-decoration:none;
font-size:.9rem;
font-weight:700;
letter-spacing:.01em;
color:#f5f7fb;
transition:
all .28s ease;
backdrop-filter:blur(8px);
}

.gsgx-tool-footer-links a:hover{
transform:
translateY(-2px);
background:
rgba(212,175,55,.10);
border-color:
rgba(212,175,55,.30);
color:#f5c518;
}

.gsgx-tool-footer-copy{
margin-top:30px;
padding-top:22px;
border-top:
1px solid rgba(255,255,255,.06);
font-size:.84rem;
line-height:1.8;
color:#8ea0b5;
}

/* =========================================
MOBILE
========================================= */

@media(max-width:768px){

.gsgx-tool-footer{
margin-top:70px;
padding:42px 20px 40px;
}

.gsgx-tool-brand h3{
font-size:1.2rem;
margin-bottom:16px;
}

.gsgx-tool-brand p{
font-size:.93rem;
line-height:1.9;
}

.gsgx-tool-footer-links{
flex-direction:column;
gap:12px;
}

.gsgx-tool-footer-links a{
width:100%;
padding:15px 18px;
font-size:.92rem;
}

.gsgx-tool-footer-copy{
font-size:.8rem;
line-height:1.7;
}

}