.fiw-generator,
.fiw-generator *{
  box-sizing:border-box;
}

.fiw-generator{
  --fiw-navy:#07172f;
  --fiw-navy-2:#0b274d;
  --fiw-gold:#ddb357;
  --fiw-gold-2:#f2cd73;
  --fiw-cyan:#7be8f5;
  --fiw-green:#22d27a;
  --fiw-yellow:#f2cd73;
  --fiw-red:#ff5f68;
  --fiw-text:#16314f;
  --fiw-muted:#667d98;
  --fiw-line:rgba(13,38,73,.12);
  --fiw-shadow:0 20px 54px rgba(8,22,48,.12);
  width:100%;
  padding:28px 0;
  color:var(--fiw-text);
  font-family:inherit;
}

.fiw-shell{
  width:min(1420px,calc(100% - 24px));
  margin:0 auto;
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.fiw-rail,
.fiw-panel{
  border:1px solid var(--fiw-line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--fiw-shadow);
}

.fiw-rail{
  position:sticky;
  top:88px;
  padding:26px;
}

.fiw-kicker{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  background:rgba(221,179,87,.14);
  color:#8b6211;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fiw-rail h2{
  margin:14px 0 10px;
  color:var(--fiw-navy);
  font-size:34px;
  line-height:1.08;
  font-weight:950;
}

.fiw-rail p,
.fiw-step p{
  margin:0;
  color:var(--fiw-muted);
  line-height:1.65;
}

.fiw-steps{
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  gap:9px;
}

.fiw-steps li{
  padding:13px 14px;
  border:1px solid var(--fiw-line);
  border-radius:15px;
  color:var(--fiw-muted);
  font-size:14px;
  font-weight:850;
}

.fiw-steps li.is-active{
  color:var(--fiw-navy);
  border-color:rgba(221,179,87,.35);
  background:#fffaf0;
}

.fiw-panel{
  min-width:0;
  padding:24px;
}

.fiw-modebar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:20px;
}

.fiw-modebar button,
.fiw-nav button,
.fiw-actions button,
.fiw-photo-actions button,
.fiw-photo-actions label{
  min-height:44px;
  border:0;
  border-radius:14px;
  background:#eef4fb;
  color:var(--fiw-navy);
  font-weight:900;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 14px;
}

.fiw-modebar button.is-active,
.fiw-nav button:last-child,
.fiw-actions button:first-child,
.fiw-photo-actions button:first-child{
  background:linear-gradient(135deg,var(--fiw-gold-2),var(--fiw-gold));
  color:#151515;
  box-shadow:0 12px 26px rgba(221,179,87,.24);
}

.fiw-nav button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.fiw-step{display:none}
.fiw-step.is-active{display:block}
.fiw-step h3{
  margin:0 0 10px;
  color:var(--fiw-navy);
  font-size:36px;
  line-height:1.08;
  font-weight:950;
}

.fiw-choice-grid,
.fiw-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.fiw-choice-grid label,
.fiw-check,
.fiw-fields label{
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid var(--fiw-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(8,22,48,.06);
  color:var(--fiw-navy);
  font-weight:850;
}

.fiw-check{margin-top:12px}
.fiw-fields input,
.fiw-fields select{
  width:100%;
  min-height:52px;
  border:1px solid var(--fiw-line);
  border-radius:14px;
  padding:0 14px;
}

.fiw-camera-note{
  margin-top:12px!important;
  padding:14px 16px;
  border-radius:16px;
  background:#f7fbff;
  border:1px solid var(--fiw-line);
}

.fiw-photo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}

.fiw-photo-card{
  overflow:hidden;
  border:1px solid var(--fiw-line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--fiw-shadow);
}

.fiw-camera-frame{
  position:relative;
  height:330px;
  overflow:hidden;
  background:linear-gradient(180deg,var(--fiw-navy),var(--fiw-navy-2));
}

.fiw-camera-frame video,
.fiw-camera-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}

.fiw-camera-frame video{
  transform:scaleX(-1);
}

.fiw-face-outline{
  position:absolute;
  left:50%;
  top:50%;
  width:min(58%,250px);
  height:min(74%,300px);
  transform:translate(-50%,-50%);
  border:3px solid var(--fiw-red);
  border-radius:50% 50% 46% 46%/42% 42% 58% 58%;
  box-shadow:0 0 0 10px rgba(255,95,104,.06),0 0 28px rgba(255,95,104,.24);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.fiw-photo-card.is-warn .fiw-face-outline{
  border-color:var(--fiw-yellow);
  box-shadow:0 0 0 10px rgba(242,205,115,.07),0 0 28px rgba(242,205,115,.28);
}

.fiw-photo-card.is-good .fiw-face-outline,
.fiw-photo-card.is-complete .fiw-face-outline{
  border-color:var(--fiw-green);
  box-shadow:0 0 0 10px rgba(34,210,122,.08),0 0 30px rgba(34,210,122,.34);
}

.fiw-camera-frame b{
  position:absolute;
  left:14px;
  top:14px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(5,14,32,.55);
  color:#fff;
  font-size:12px;
  text-transform:uppercase;
}

.fiw-camera-frame em{
  position:absolute;
  right:14px;
  top:14px;
  min-width:40px;
  min-height:40px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(5,14,32,.6);
  color:#fff;
  font-style:normal;
  font-weight:950;
}

.fiw-photo-copy{padding:18px}
.fiw-photo-copy h4{margin:0 0 6px;color:var(--fiw-navy);font-size:19px}
.fiw-photo-copy p{margin:0 0 12px;color:var(--fiw-muted);line-height:1.55}
.fiw-status{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:13px;
  background:#f5f8fc;
  color:var(--fiw-muted);
  font-size:13px;
  font-weight:850;
}
.fiw-photo-card.is-bad .fiw-status{background:#fff3f4;color:#9d2531}
.fiw-photo-card.is-warn .fiw-status{background:#fff8e8;color:#7a5a15}
.fiw-photo-card.is-good .fiw-status{background:#ecfff5;color:#0f7c47}

.fiw-photo-actions{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
}

.fiw-photo-actions input{position:absolute;opacity:0;pointer-events:none}

.fiw-report{
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,#06162e,#09264d);
  color:#fff;
}
.fiw-report header span{color:var(--fiw-gold-2);font-size:12px;font-weight:900;text-transform:uppercase}
.fiw-report header h3{margin:8px 0 16px;color:#fff;font-size:40px;line-height:1.05}
.fiw-report-top{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:14px;
  align-items:stretch;
}
.fiw-report-name,
.fiw-report-grid article{
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.06);
}
.fiw-report-name strong{display:block;font-size:42px;line-height:1}
.fiw-report-name p{color:rgba(255,255,255,.72)}
.fiw-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.fiw-strip img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
}
.fiw-report-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.fiw-report-grid h4{margin:0 0 8px;color:var(--fiw-gold-2);font-size:18px}
.fiw-report-grid p,
.fiw-report-grid li{color:rgba(255,255,255,.75);line-height:1.6}
.fiw-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.fiw-nav{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--fiw-line);
}

/* Report poster: dark FaceInsight Steckbrief style */
.fiw-report-poster{
  position:relative;
  overflow:hidden;
  padding:18px;
  border:1px solid rgba(242,205,115,.42);
  border-radius:20px;
  background:
    radial-gradient(circle at 76% 22%, rgba(123,232,245,.14), transparent 18%),
    radial-gradient(circle at 18% 74%, rgba(242,205,115,.10), transparent 20%),
    linear-gradient(rgba(123,232,245,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,232,245,.055) 1px, transparent 1px),
    linear-gradient(135deg,#04111f 0%,#061b31 48%,#020a14 100%)!important;
  background-size:auto,auto,34px 34px,34px 34px,auto!important;
  color:#f7fbff;
  box-shadow:
    inset 0 0 0 1px rgba(123,232,245,.16),
    0 28px 80px rgba(0,0,0,.32);
}

.fiw-report-poster::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(123,232,245,.12),transparent 18%,transparent 82%,rgba(242,205,115,.10)),
    radial-gradient(circle at 78% 42%, transparent 0 80px, rgba(242,205,115,.18) 81px 82px, transparent 83px),
    radial-gradient(circle at 78% 42%, transparent 0 132px, rgba(123,232,245,.12) 133px 134px, transparent 135px);
  opacity:.82;
}

.fiw-report-poster > *{
  position:relative;
  z-index:1;
}

.fiw-report-head{
  padding:10px 12px 16px;
  text-align:center;
  border-bottom:1px solid rgba(242,205,115,.28);
}

.fiw-report-brand{
  color:rgba(255,255,255,.78);
  font-size:18px;
  font-weight:850;
}

.fiw-report-head h3{
  margin:4px 0 4px;
  color:var(--fiw-gold-2);
  font-size:clamp(38px,5vw,72px);
  line-height:.95;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-shadow:0 0 22px rgba(242,205,115,.14);
}

.fiw-report-head p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:15px;
  font-weight:700;
}

.fiw-report-hero{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:10px;
  margin-top:12px;
}

.fiw-identity-card,
.fiw-report-section,
.fiw-face-map,
.fiw-score-panel,
.fiw-report-footer{
  border:1px solid rgba(242,205,115,.34);
  border-radius:13px;
  background:rgba(3,14,28,.74);
  box-shadow:inset 0 0 0 1px rgba(123,232,245,.08);
}

.fiw-identity-card{
  padding:18px;
}

.fiw-identity-card > strong{
  display:block;
  color:#fff;
  font-size:clamp(46px,6vw,76px);
  line-height:.88;
  letter-spacing:-.04em;
}

.fiw-meta-list{
  display:grid;
  gap:9px;
  margin-top:18px;
}

.fiw-meta-list p{
  margin:0;
  padding:11px 12px;
  border:1px solid rgba(123,232,245,.24);
  border-radius:10px;
  background:rgba(7,30,55,.7);
}

.fiw-meta-list span{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fiw-meta-list b{
  color:#fff;
  font-size:18px;
}

.fiw-report-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.fiw-report-strip figure{
  overflow:hidden;
  margin:0;
  border:1px solid rgba(123,232,245,.24);
  border-radius:13px;
  background:rgba(255,255,255,.04);
}

.fiw-report-strip img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.02);
}

.fiw-report-strip figcaption{
  padding:8px 10px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  text-align:center;
}

.fiw-report-section,
.fiw-face-map,
.fiw-score-panel{
  position:relative;
  padding:22px 22px 20px 76px;
  margin-top:10px;
}

.fiw-report-section.fiw-wide{
  min-height:124px;
}

.fiw-report-num{
  position:absolute;
  left:16px;
  top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(242,205,115,.72);
  border-radius:11px;
  color:var(--fiw-gold-2);
  background:rgba(7,23,38,.86);
  font-size:25px;
  font-weight:950;
  box-shadow:0 0 18px rgba(242,205,115,.12);
}

.fiw-report-poster h4{
  margin:0 0 10px;
  color:var(--fiw-gold-2);
  font-size:24px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.fiw-report-poster p,
.fiw-report-poster li{
  color:rgba(255,255,255,.84);
  font-size:16px;
  line-height:1.48;
}

.fiw-report-main-grid{
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:10px;
}

.fiw-intro-grid{
  display:grid;
  grid-template-columns:1.75fr 1fr;
  gap:8px;
}

.fiw-dental-card{
  padding-left:72px!important;
}

.fiw-dental-icon{
  position:absolute;
  left:15px;
  top:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(221,179,87,.72);
  color:var(--fiw-gold-2);
  font-size:25px;
  box-shadow:0 0 18px rgba(242,205,115,.12);
}

[data-fiw-dental]{
  display:grid;
  gap:7px;
}

[data-fiw-dental] p{
  margin:0;
  padding-bottom:7px;
  border-bottom:1px solid rgba(123,232,245,.13);
  font-size:14px;
}

[data-fiw-dental] strong{
  color:var(--fiw-gold-2);
}

.fiw-face-map-body{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.fiw-face-map-body img{
  width:100%;
  min-height:390px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(123,232,245,.28);
  filter:saturate(.98) contrast(1.05);
}

[data-fiw-analysis-list]{
  display:grid;
  gap:7px;
}

[data-fiw-analysis-list] p{
  margin:0;
  padding-bottom:7px;
  border-bottom:1px solid rgba(123,232,245,.13);
  font-size:14px;
}

[data-fiw-analysis-list] strong{
  color:var(--fiw-gold-2);
}

.fiw-score-panel small{
  display:block;
  margin:-4px 0 16px;
  color:rgba(255,255,255,.62);
}

.fiw-score-row{
  display:grid;
  grid-template-columns:130px minmax(0,1fr)70px;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}

.fiw-score-row span,
.fiw-score-row b{
  color:#fff;
  font-size:13px;
  font-weight:850;
}

.fiw-score-row div{
  height:9px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.fiw-score-row i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--fiw-gold-2),#ffd991);
}

.fiw-report-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.fiw-mini-compare{
  display:grid;
  grid-template-columns:92px minmax(0,1fr)92px;
  gap:12px;
  align-items:center;
}

.fiw-mini-compare img{
  width:92px;
  height:118px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid rgba(123,232,245,.25);
}

.fiw-token-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:4px 0 12px;
}

.fiw-token-row span{
  min-height:92px;
  padding:11px 8px;
  border:1px solid rgba(242,205,115,.38);
  border-radius:12px;
  background:rgba(5,21,38,.72);
  text-align:center;
}

.fiw-token-row b{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.2;
}

.fiw-token-row small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  line-height:1.25;
}

.fiw-history-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}

.fiw-history-grid article{
  padding:14px;
  border:1px solid rgba(242,205,115,.38);
  border-radius:12px;
  background:rgba(5,21,38,.72);
}

.fiw-history-grid strong,
.fiw-history-grid b{
  display:block;
  color:#fff;
}

.fiw-history-grid b{
  color:var(--fiw-gold-2);
  font-size:22px;
  margin:6px 0;
}

.fiw-history-grid p{
  margin:0;
  font-size:13px;
}

.fiw-report-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);
  gap:16px;
  align-items:center;
  margin-top:10px;
  padding:20px;
}

.fiw-report-footer strong{
  display:block;
  color:var(--fiw-gold-2);
  font-size:30px;
  line-height:1;
  text-transform:uppercase;
}

.fiw-report-footer p{
  margin:7px 0 0;
  font-size:20px;
}

.fiw-report-footer small{
  color:rgba(255,255,255,.58);
  line-height:1.5;
}

.fiw-report-poster .fiw-actions{
  justify-content:center;
}

.fiw-report-poster .fiw-actions button{
  min-width:118px;
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(242,205,115,.30);
}

.fiw-report-poster .fiw-actions button:first-child{
  color:#161616;
  background:linear-gradient(135deg,var(--fiw-gold-2),var(--fiw-gold));
}

@media print{
  body *{visibility:hidden!important}
  .fiw-report-poster,.fiw-report-poster *{visibility:visible!important}
  .fiw-report-poster{position:absolute!important;left:0;top:0;width:100%!important;border-radius:0!important}
  .fiw-actions,.fiw-nav,.fiw-rail{display:none!important}
}

@media (max-width:980px){
  .fiw-shell{grid-template-columns:1fr}
  .fiw-rail{position:relative;top:auto}
  .fiw-photo-grid,.fiw-report-grid{grid-template-columns:1fr}
  .fiw-report-top{grid-template-columns:1fr}
  .fiw-report-hero,
  .fiw-intro-grid,
  .fiw-report-main-grid,
  .fiw-report-duo,
  .fiw-report-footer{grid-template-columns:1fr}
  .fiw-face-map-body{grid-template-columns:1fr}
  .fiw-face-map-body img{min-height:320px}
}

@media (max-width:640px){
  .fiw-generator{padding:10px 0}
  .fiw-shell{width:calc(100% - 10px)}
  .fiw-rail,.fiw-panel{border-radius:22px;padding:16px}
  .fiw-rail h2,.fiw-step h3{font-size:29px}
  .fiw-modebar,.fiw-choice-grid,.fiw-fields,.fiw-strip{grid-template-columns:1fr}
  .fiw-photo-actions{grid-template-columns:1fr}
  .fiw-camera-frame{height:430px}
  .fiw-strip img{height:210px}
  .fiw-report-poster{padding:10px;border-radius:16px}
  .fiw-report-head h3{font-size:34px;letter-spacing:.015em}
  .fiw-report-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fiw-report-strip img{height:180px}
  .fiw-report-section,.fiw-face-map,.fiw-score-panel{padding:68px 14px 16px}
  .fiw-score-row{grid-template-columns:1fr;gap:5px}
  .fiw-score-row b{text-align:left}
  .fiw-token-row,.fiw-history-grid,.fiw-mini-compare{grid-template-columns:1fr}
  .fiw-mini-compare img{width:100%;height:180px}
  .fiw-nav{flex-direction:column}
  .fiw-nav button{width:100%}
}

/* V0.3 refinement: focused generator, guided capture, tighter poster report */
.fiw-modebar{
  display:none!important;
}

.fiw-choice-grid label,
.fiw-check{
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:14px;
}

.fiw-choice-grid label input,
.fiw-check input{
  width:18px;
  height:18px;
  margin:0;
  align-self:center;
  justify-self:center;
}

.fiw-quality-note{
  margin:0 0 12px!important;
  padding:10px 12px;
  border-radius:12px;
  background:#fff8e8;
  color:#775819!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:800;
}

.fiw-turn-guide{
  position:absolute;
  left:50%;
  bottom:72px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:calc(100% - 34px);
  padding:10px 13px;
  border:1px solid rgba(242,205,115,.35);
  border-radius:999px;
  background:rgba(5,14,32,.68);
  color:#fff;
  transform:translateX(-50%);
  box-shadow:0 12px 28px rgba(0,0,0,.26),0 0 22px rgba(242,205,115,.10);
}

.fiw-turn-guide span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  color:#111;
  background:linear-gradient(135deg,var(--fiw-gold-2),var(--fiw-gold));
  font-size:21px;
  font-weight:950;
}

.fiw-turn-guide strong{
  font-size:12px;
  line-height:1.2;
  white-space:normal;
}

.fiw-turn-guide-right span{
  animation:fiwArrowRight 1.1s ease-in-out infinite;
}

.fiw-turn-guide-left span{
  animation:fiwArrowLeft 1.1s ease-in-out infinite;
}

@keyframes fiwArrowRight{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(7px)}
}

@keyframes fiwArrowLeft{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(-7px)}
}

.fiw-report-poster{
  max-width:1120px;
  margin:0 auto;
  padding:12px!important;
  border-radius:8px!important;
  border-color:rgba(221,179,87,.76)!important;
  background:
    radial-gradient(circle at 73% 14%, rgba(123,232,245,.18), transparent 17%),
    radial-gradient(circle at 79% 43%, transparent 0 78px, rgba(221,179,87,.18) 79px 80px, transparent 81px),
    linear-gradient(rgba(123,232,245,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,232,245,.055) 1px, transparent 1px),
    linear-gradient(135deg,#02070d 0%,#051628 44%,#02060b 100%)!important;
  background-size:auto,auto,28px 28px,28px 28px,auto!important;
}

.fiw-report-head{
  padding:4px 8px 10px!important;
}

.fiw-report-brand{
  display:none;
}

.fiw-report-head h3{
  font-size:clamp(44px,6.6vw,76px)!important;
  color:#d7aa55!important;
  letter-spacing:.045em!important;
  text-shadow:0 1px 0 #fff1c9,0 0 18px rgba(221,179,87,.22)!important;
}

.fiw-report-head p{
  font-size:14px!important;
}

.fiw-report-hero{
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:8px!important;
  margin-top:8px!important;
}

.fiw-identity-card,
.fiw-report-section,
.fiw-face-map,
.fiw-score-panel,
.fiw-report-footer{
  border-color:rgba(221,179,87,.58)!important;
  border-radius:6px!important;
  background:rgba(2,13,24,.80)!important;
  box-shadow:inset 0 0 0 1px rgba(123,232,245,.20), inset 0 0 34px rgba(0,0,0,.18)!important;
}

.fiw-identity-card{
  padding:16px!important;
}

.fiw-identity-card > strong{
  font-size:70px!important;
}

.fiw-meta-list p{
  border-color:rgba(123,232,245,.44)!important;
  border-radius:5px!important;
  background:rgba(4,22,40,.86)!important;
}

.fiw-report-strip{
  gap:6px!important;
}

.fiw-report-strip figure{
  border-color:rgba(123,232,245,.42)!important;
  border-radius:6px!important;
}

.fiw-report-strip img{
  height:240px!important;
}

.fiw-report-strip figcaption{
  background:rgba(2,11,20,.86);
  color:rgba(255,255,255,.82)!important;
}

.fiw-report-section,
.fiw-face-map,
.fiw-score-panel{
  margin-top:8px!important;
  padding:18px 18px 16px 72px!important;
}

.fiw-report-num{
  left:13px!important;
  top:13px!important;
  border-radius:6px!important;
  color:#d7aa55!important;
  border-color:rgba(221,179,87,.85)!important;
  background:rgba(6,18,31,.94)!important;
}

.fiw-report-main-grid,
.fiw-report-duo{
  gap:8px!important;
}

.fiw-face-map-body{
  grid-template-columns:330px minmax(0,1fr)!important;
  gap:16px!important;
}

.fiw-face-map-body img{
  min-height:430px!important;
  border-radius:6px!important;
  filter:grayscale(.15) sepia(.12) hue-rotate(165deg) saturate(1.18) contrast(1.12)!important;
}

[data-fiw-analysis-list] p{
  font-size:14px!important;
  line-height:1.35!important;
}

.fiw-score-row{
  grid-template-columns:118px minmax(0,1fr) 64px!important;
  margin-bottom:10px!important;
}

.fiw-score-row div{
  border-color:rgba(255,255,255,.28)!important;
}

.fiw-token-row span,
.fiw-history-grid article{
  border-color:rgba(221,179,87,.56)!important;
  border-radius:6px!important;
}

.fiw-report-footer{
  margin-top:8px!important;
  padding:16px 18px!important;
}

.fiw-report-poster .fiw-actions button{
  min-height:42px!important;
  border-radius:8px!important;
}

@media (max-width:980px){
  .fiw-report-hero,
  .fiw-report-main-grid,
  .fiw-report-duo,
  .fiw-report-footer,
  .fiw-face-map-body{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:640px){
  .fiw-choice-grid label,
  .fiw-check{
    grid-template-columns:26px minmax(0,1fr);
  }

  .fiw-turn-guide{
    bottom:68px;
    padding:9px 11px;
  }

  .fiw-report-head h3{
    font-size:34px!important;
  }

  .fiw-report-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .fiw-report-strip img{
    height:176px!important;
  }

  .fiw-report-section,
  .fiw-face-map,
  .fiw-score-panel{
    padding:66px 12px 14px!important;
  }

  .fiw-score-row{
    grid-template-columns:1fr!important;
  }
}

/* V0.4 report closer to the Sven poster reference */
.fiw-intro-grid{
  grid-template-columns:1.45fr .82fr .95fr!important;
}

.fiw-report-main-grid{
  display:block!important;
}

.fiw-attract-card h4,
.fiw-dental-card h4{
  font-size:20px!important;
}

.fiw-attract-card{
  min-height:100%;
}

.fiw-face-map{
  min-height:520px;
}

.fiw-face-map-body{
  grid-template-columns:43% minmax(0,1fr)!important;
  min-height:440px;
}

.fiw-face-map-body img{
  height:100%!important;
  min-height:440px!important;
  object-fit:contain!important;
  background:
    radial-gradient(circle at 50% 47%, rgba(123,232,245,.20), transparent 42%),
    #04101f!important;
}

[data-fiw-analysis-list]{
  align-content:center;
}

[data-fiw-analysis-list] p{
  display:grid;
  grid-template-columns:138px minmax(0,1fr);
  gap:8px;
  align-items:start;
}

.fiw-score-row{
  grid-template-columns:94px minmax(0,1fr)52px!important;
  gap:8px!important;
}

.fiw-score-row span,
.fiw-score-row b{
  font-size:12px!important;
}

.fiw-score-row div{
  height:8px!important;
}

.fiw-report-strip img,
.fiw-mini-compare img{
  background:#051526!important;
  object-position:center top!important;
}

.fiw-history-grid article{
  position:relative;
  min-height:126px;
  padding:14px 12px 12px 86px!important;
  background:
    radial-gradient(circle at 36px 45px, rgba(123,232,245,.24), transparent 31px),
    rgba(4,18,33,.94)!important;
}

.fiw-history-grid article::before{
  content:"";
  position:absolute;
  left:14px;
  top:18px;
  width:58px;
  height:58px;
  border-radius:999px;
  border:1px solid rgba(221,179,87,.72);
  background:
    radial-gradient(circle at 50% 38%, rgba(180,220,255,.35), transparent 18px),
    linear-gradient(160deg, rgba(123,232,245,.18), rgba(221,179,87,.08));
  box-shadow:0 0 18px rgba(123,232,245,.10);
}

.fiw-history-grid strong{
  font-size:16px!important;
  line-height:1.05!important;
  text-transform:uppercase;
}

.fiw-report-footer{
  grid-template-columns:1fr 320px!important;
}

.fiw-report-poster .fiw-actions{
  position:sticky;
  bottom:10px;
  z-index:5;
  padding:8px;
  border:1px solid rgba(221,179,87,.24);
  border-radius:10px;
  background:rgba(2,8,15,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.fiw-report-poster .fiw-actions button{
  min-width:108px!important;
  padding:0 12px!important;
  font-size:12px!important;
}

@media (max-width:980px){
  .fiw-intro-grid,
  .fiw-report-main-grid,
  .fiw-face-map-body,
  .fiw-report-footer{
    grid-template-columns:1fr!important;
  }

  .fiw-face-map{
    min-height:0;
  }

  [data-fiw-analysis-list] p{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .fiw-generator{
    padding:0!important;
  }

  .fiw-shell{
    width:100%!important;
    gap:8px!important;
  }

  .fiw-rail{
    border-radius:0 0 22px 22px!important;
    padding:16px!important;
    box-shadow:0 10px 28px rgba(8,22,48,.10)!important;
  }

  .fiw-steps{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px!important;
  }

  .fiw-steps li{
    padding:9px 6px!important;
    font-size:11px!important;
    text-align:center;
  }

  .fiw-panel{
    border-radius:22px 22px 0 0!important;
    border-left:0!important;
    border-right:0!important;
  }

  .fiw-report-poster{
    width:100%!important;
    max-width:none!important;
    padding:8px!important;
    border-radius:0!important;
  }

  .fiw-report-head h3{
    font-size:30px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }

  .fiw-identity-card > strong{
    font-size:52px!important;
  }

  .fiw-report-strip img{
    height:160px!important;
  }

  .fiw-face-map-body img{
    min-height:360px!important;
    height:360px!important;
  }

  .fiw-history-grid article{
    padding-left:82px!important;
  }

  .fiw-report-poster .fiw-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    bottom:0;
  }

  .fiw-report-poster .fiw-actions button{
    width:100%;
    min-width:0!important;
  }
}

/* V0.5 final report direction: closer to premium blue Steckbrief reference */
.fiw-report-poster{
  max-width:1180px!important;
  background:
    radial-gradient(circle at 88% 4%, rgba(48,139,220,.28), transparent 14%),
    radial-gradient(circle at 7% 8%, rgba(48,139,220,.16), transparent 12%),
    linear-gradient(rgba(100,190,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,190,255,.045) 1px, transparent 1px),
    linear-gradient(180deg,#07172f 0%,#08264a 42%,#061a35 100%)!important;
  background-size:auto,auto,30px 30px,30px 30px,auto!important;
  border:1px solid rgba(141,184,226,.38)!important;
  box-shadow:0 30px 88px rgba(3,12,28,.30), inset 0 0 0 1px rgba(255,255,255,.08)!important;
}

.fiw-report-brand{
  display:block!important;
  color:#fff!important;
  font-size:34px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
}

.fiw-report-brand::first-letter{
  color:#fff;
}

.fiw-report-head h3{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(42px,5.4vw,70px)!important;
  letter-spacing:.02em!important;
  text-shadow:0 0 24px rgba(255,255,255,.10)!important;
}

.fiw-report-head p{
  color:rgba(255,255,255,.86)!important;
  font-size:17px!important;
}

.fiw-report-hero{
  grid-template-columns:1fr!important;
}

.fiw-identity-card{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.fiw-identity-card > strong{
  display:none!important;
}

.fiw-meta-list{
  display:contents!important;
}

.fiw-meta-list p{
  min-height:74px;
  margin:0!important;
  padding:14px 18px!important;
  border:1px solid rgba(141,184,226,.42)!important;
  border-radius:8px!important;
  background:rgba(5,28,55,.78)!important;
}

.fiw-meta-list p:nth-child(1)::before{content:"Alter (real)";display:block;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.fiw-meta-list p:nth-child(2)::before{content:"Optisches Alter";display:block;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.fiw-meta-list p:nth-child(3)::before{content:"Gesamteindruck";display:block;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.05em}

.fiw-meta-list p:nth-child(3)::after{
  display:none!important;
}

.fiw-meta-list span{
  display:none!important;
}

.fiw-meta-list b{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:25px!important;
  font-weight:500!important;
}

.fiw-report-strip{
  margin-top:8px;
}

.fiw-report-strip figure{
  background:
    radial-gradient(circle at 50% 35%, rgba(120,195,255,.20), transparent 34%),
    linear-gradient(180deg,rgba(9,47,83,.82),rgba(5,24,48,.94))!important;
  border-color:rgba(141,184,226,.45)!important;
}

.fiw-report-strip img{
  height:245px!important;
  object-fit:contain!important;
  padding:8px 8px 0;
  filter:none!important;
}

.fiw-report-strip figcaption{
  background:rgba(5,20,39,.78)!important;
}

.fiw-intro-grid{
  grid-template-columns:1.5fr .78fr .98fr!important;
}

.fiw-report-section,
.fiw-face-map,
.fiw-score-panel,
.fiw-report-footer{
  border-color:rgba(141,184,226,.38)!important;
  background:rgba(5,27,52,.82)!important;
}

.fiw-report-num,
.fiw-dental-icon{
  border-color:rgba(234,193,109,.70)!important;
  color:#f4d082!important;
}

.fiw-report-poster h4{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:25px!important;
  text-transform:none!important;
  letter-spacing:.02em!important;
}

.fiw-face-map-body{
  grid-template-columns:42% 30% 28%!important;
}

.fiw-face-map-body::before{
  content:"Gesichtsanalyse";
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1.05;
  align-self:start;
  margin-top:4px;
}

.fiw-face-map-body img{
  order:-1;
  min-height:510px!important;
  height:510px!important;
  padding:0!important;
  border-color:rgba(141,184,226,.42)!important;
  box-shadow:
    0 0 28px rgba(96,187,255,.24),
    0 0 60px rgba(96,187,255,.12),
    inset 0 0 0 1px rgba(255,255,255,.08)!important;
}

[data-fiw-analysis-list]{
  align-self:start;
  margin-top:44px;
}

[data-fiw-analysis-list] p{
  grid-template-columns:1fr!important;
  font-size:13px!important;
}

[data-fiw-analysis-list] strong,
[data-fiw-dental] strong{
  color:#f4d082!important;
}

.fiw-score-row{
  grid-template-columns:1fr!important;
  gap:4px!important;
}

.fiw-score-row div{
  height:11px!important;
}

.fiw-score-row b{
  text-align:right;
}

.fiw-history-grid article::before{
  display:none!important;
}

.fiw-history-grid article{
  padding:18px!important;
}

@media (max-width:980px){
  .fiw-identity-card,
  .fiw-intro-grid,
  .fiw-face-map-body{
    grid-template-columns:1fr!important;
  }

  .fiw-face-map-body::before{
    order:-2;
  }

  [data-fiw-analysis-list]{
    margin-top:0;
  }
}

@media (max-width:640px){
  .fiw-report-brand{
    font-size:24px!important;
  }

  .fiw-report-head h3{
    font-size:34px!important;
  }

  .fiw-report-head p{
    font-size:12px!important;
  }

  .fiw-meta-list p{
    min-height:auto!important;
  }

  .fiw-report-strip{
    grid-template-columns:1fr!important;
  }

  .fiw-report-strip img{
    height:260px!important;
  }

  .fiw-face-map-body img{
    height:410px!important;
    min-height:410px!important;
  }
}

/* V0.6 premium report: one strong blueprint, compact dental block, stricter mobile app feel */
.fiw-choice-grid label,
.fiw-check{
  align-items:center!important;
}

.fiw-choice-grid label input,
.fiw-check input{
  align-self:center!important;
  margin-top:0!important;
}

.fiw-report-focus{
  margin-top:8px;
}

.fiw-report-focus figure{
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:260px;
  border:1px solid rgba(141,184,226,.44);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 42%, rgba(111,202,255,.26), transparent 28%),
    linear-gradient(rgba(100,190,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,190,255,.055) 1px, transparent 1px),
    rgba(5,24,48,.88);
  background-size:auto,26px 26px,26px 26px,auto;
  box-shadow:inset 0 0 44px rgba(93,181,255,.10);
}

.fiw-report-focus img{
  display:block;
  width:100%;
  height:300px;
  object-fit:contain;
  object-position:center bottom;
  padding:10px 8px 0;
  filter:drop-shadow(0 0 18px rgba(112,213,255,.20));
}

.fiw-report-focus figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:8px 12px;
  color:rgba(255,255,255,.84);
  background:rgba(2,12,22,.76);
  font-size:12px;
  font-weight:850;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fiw-intro-grid{
  grid-template-columns:1.45fr .68fr 1.08fr!important;
}

.fiw-dental-card{
  padding:16px 14px 14px 58px!important;
}

.fiw-dental-card h4{
  font-size:18px!important;
  margin-bottom:6px!important;
}

.fiw-dental-icon{
  width:34px!important;
  height:34px!important;
  left:12px!important;
  top:14px!important;
  font-size:18px!important;
}

.fiw-dental-score{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  justify-content:center;
  margin:0 0 8px;
  padding:0 9px;
  border:1px solid rgba(242,205,115,.42);
  border-radius:999px;
  color:#111;
  background:linear-gradient(135deg,var(--fiw-gold-2),var(--fiw-gold));
  font-size:12px;
  font-weight:950;
}

[data-fiw-dental]{
  gap:4px!important;
}

[data-fiw-dental] p{
  font-size:12px!important;
  line-height:1.32!important;
  padding-bottom:4px!important;
}

.fiw-face-map-body{
  grid-template-columns:46% minmax(0,1fr)!important;
  gap:18px!important;
}

.fiw-face-map-body::before{
  display:none!important;
}

.fiw-face-map-body img{
  min-height:560px!important;
  height:560px!important;
  background:
    radial-gradient(circle at 50% 38%, rgba(108,211,255,.26), transparent 38%),
    linear-gradient(rgba(100,190,255,.052) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,190,255,.052) 1px, transparent 1px),
    #04101f!important;
  background-size:auto,24px 24px,24px 24px,auto!important;
  filter:drop-shadow(0 0 24px rgba(111,209,255,.24)) saturate(1.05) contrast(1.06)!important;
}

[data-fiw-analysis-list]{
  margin-top:0!important;
  align-content:start!important;
}

[data-fiw-analysis-list] p{
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:8px!important;
  font-size:12.5px!important;
  line-height:1.28!important;
}

.fiw-attract-card{
  padding-right:16px!important;
}

.fiw-score-row{
  grid-template-columns:92px minmax(0,1fr) 50px!important;
  margin-bottom:7px!important;
}

.fiw-score-row span,
.fiw-score-row b{
  font-size:11.5px!important;
}

.fiw-score-row div{
  height:8px!important;
}

.fiw-mini-compare{
  grid-template-columns:120px minmax(0,1fr) 120px!important;
}

.fiw-mini-compare img{
  width:120px!important;
  height:150px!important;
  object-position:center top!important;
  background:rgba(7,28,52,.88)!important;
}

.fiw-history-grid article p{
  font-size:12.5px!important;
  line-height:1.35!important;
}

@media (max-width:980px){
  .fiw-intro-grid,
  .fiw-face-map-body{
    grid-template-columns:1fr!important;
  }

  .fiw-report-focus img{
    height:340px;
  }

  [data-fiw-analysis-list] p{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:640px){
  .fiw-report-focus figure{
    min-height:310px;
  }

  .fiw-report-focus img{
    height:320px!important;
  }

  .fiw-dental-card{
    padding:58px 12px 14px!important;
  }

  .fiw-dental-icon{
    left:13px!important;
    top:13px!important;
  }

  .fiw-face-map-body img{
    height:440px!important;
    min-height:440px!important;
  }

  .fiw-mini-compare{
    grid-template-columns:1fr!important;
  }

  .fiw-mini-compare img{
    width:100%!important;
    height:190px!important;
  }
}

/* V0.7 legendary mobile-first card with desktop expansion */
.fiw-loading{
  max-width:720px;
  margin:20px auto;
  padding:34px 28px;
  border:1px solid rgba(15,38,73,.10);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 0%, rgba(123,92,255,.16), transparent 42%),
    #fff;
  box-shadow:0 24px 70px rgba(8,22,48,.14);
  text-align:center;
}

.fiw-loading h3{
  margin:14px 0 10px!important;
  color:#0b1b3d!important;
  font-size:clamp(30px,4vw,44px)!important;
}

.fiw-loading p{
  max-width:560px;
  margin:0 auto 20px!important;
  color:#667d98!important;
}

.fiw-loading-bar{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#eef3fb;
  box-shadow:inset 0 0 0 1px rgba(15,38,73,.08);
}

.fiw-loading-bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#ffb347,#ff4f7b,#7b5cff);
  box-shadow:0 0 18px rgba(123,92,255,.24);
  transition:width .32s ease;
}

.fiw-loading > strong{
  display:block;
  margin-top:10px;
  color:#0b1b3d;
  font-size:18px;
  font-weight:950;
}

.fiw-loading ol{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  list-style:none;
  padding:0;
  margin:22px 0 0;
}

.fiw-loading li{
  padding:9px 8px;
  border-radius:999px;
  background:#f6f8fc;
  color:#667d98;
  font-size:12px;
  font-weight:850;
}

.fiw-report-poster.fiw-legend-report{
  --legend-bg:#05060a;
  --legend-card:#0c0f18;
  --legend-accent:#7b5cff;
  --legend-gold:#ffb347;
  --legend-pink:#ff4f7b;
  --legend-main:#f5f6ff;
  --legend-soft:#9aa0c0;
  --legend-line:rgba(255,255,255,.08);
  width:min(1120px,100%)!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:24px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 8% 0%, rgba(123,92,255,.34), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(255,179,71,.16), transparent 30%),
    linear-gradient(135deg, rgba(123,92,255,.18), rgba(255,79,123,.08)),
    #05060a!important;
  color:var(--legend-main)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.05)!important;
}

.fiw-report-poster.fiw-legend-report::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:27px;
  pointer-events:none;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.08), transparent 32%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:auto,34px 34px,34px 34px;
  opacity:.82;
}

.fiw-report-poster.fiw-legend-report > *{
  position:relative;
  z-index:1;
}

.fiw-live-badge{
  position:absolute!important;
  top:18px;
  right:18px;
  z-index:3!important;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(0,0,0,.42);
  color:var(--legend-soft);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fiw-live-badge span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#4cd964;
  box-shadow:0 0 10px rgba(76,217,100,.82);
}

.fiw-legend-header{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding-right:170px;
  margin-bottom:18px;
}

.fiw-avatar-wrap{
  position:relative;
  width:128px;
  height:128px;
  padding:2px;
  border-radius:28px;
  background:linear-gradient(145deg,var(--legend-gold),var(--legend-accent));
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}

.fiw-avatar-inner{
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:26px;
  background:#111827;
}

.fiw-avatar-inner img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.fiw-avatar-tag{
  position:absolute;
  left:8px;
  bottom:8px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.70);
  color:var(--legend-soft);
  font-size:10px;
  font-weight:800;
}

.fiw-legend-title > strong{
  display:block!important;
  color:var(--legend-main)!important;
  font-size:clamp(34px,5vw,62px)!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}

.fiw-legend-title p{
  margin:6px 0 10px!important;
  color:var(--legend-soft)!important;
  font-size:15px!important;
}

.fiw-chips,
.fiw-traits{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.fiw-chip,
.fiw-traits span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:var(--legend-soft);
  font-size:12px;
  font-weight:760;
}

.fiw-chip-accent{
  color:#d7d4ff!important;
  border-color:rgba(123,92,255,.64)!important;
  background:rgba(123,92,255,.20)!important;
}

.fiw-legend-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.fiw-legend-section{
  margin:0!important;
  padding:16px!important;
  border:1px solid var(--legend-line)!important;
  border-radius:18px!important;
  background:rgba(5,6,12,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}

.fiw-blueprint-section,
.fiw-tech-section{
  grid-row:span 2;
}

.fiw-section-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
  color:var(--legend-soft);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fiw-section-title span{
  color:rgba(154,160,192,.78);
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
}

.fiw-field-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.fiw-field{
  min-width:0;
  padding:11px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:rgba(10,12,20,.92);
}

.fiw-field span{
  display:block;
  color:var(--legend-soft);
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.fiw-field b{
  display:block;
  margin-top:4px;
  color:var(--legend-main);
  font-size:15px;
  line-height:1.22;
}

.fiw-blueprint-section img{
  display:block;
  width:100%;
  height:390px;
  object-fit:contain;
  object-position:center bottom;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 40%, rgba(123,92,255,.18), transparent 34%),
    rgba(10,12,20,.82);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 18px 36px rgba(0,0,0,.28);
}

.fiw-short-section p{
  margin:0!important;
  color:var(--legend-soft)!important;
  font-size:15px!important;
  line-height:1.56!important;
}

.fiw-score-row{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 9px!important;
}

.fiw-score-row span{
  width:36%;
  color:var(--legend-soft)!important;
  font-size:13px!important;
  font-weight:760!important;
}

.fiw-score-row div{
  flex:1;
  height:8px!important;
  overflow:hidden;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.065)!important;
}

.fiw-score-row i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--legend-gold),var(--legend-pink))!important;
}

.fiw-score-row b{
  width:34px;
  color:var(--legend-gold)!important;
  font-size:13px!important;
  font-weight:850!important;
  text-align:right!important;
}

.fiw-list{
  margin:0!important;
  padding-left:18px!important;
  color:var(--legend-soft)!important;
}

.fiw-list li{
  margin:0 0 7px!important;
  color:var(--legend-soft)!important;
  font-size:14px!important;
  line-height:1.48!important;
}

.fiw-list strong{
  color:var(--legend-main)!important;
}

.fiw-dental-section .fiw-section-title span{
  color:var(--legend-gold)!important;
  font-weight:950;
}

.fiw-mini-compare{
  display:grid!important;
  grid-template-columns:100px minmax(0,1fr)100px!important;
  gap:12px!important;
  align-items:center!important;
}

.fiw-mini-compare img{
  width:100px!important;
  height:126px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:14px!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:rgba(10,12,20,.90)!important;
}

.fiw-mini-compare p{
  margin:0!important;
  color:var(--legend-soft)!important;
  font-size:14px!important;
  line-height:1.48!important;
}

.fiw-history-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin:0 0 10px!important;
}

.fiw-history-grid article{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:0!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.055)!important;
  border-radius:14px!important;
  background:rgba(10,12,20,.92)!important;
}

.fiw-history-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:14px;
  color:#d7d4ff;
  background:linear-gradient(145deg,rgba(123,92,255,.34),rgba(255,179,71,.12));
  font-size:17px;
  font-weight:950;
}

.fiw-history-grid strong{
  display:block;
  color:var(--legend-main)!important;
  font-size:14px!important;
  line-height:1.15!important;
}

.fiw-history-grid b{
  display:block;
  margin:4px 0!important;
  color:var(--legend-gold)!important;
  font-size:12px!important;
  line-height:1.2!important;
}

.fiw-history-grid p,
.fiw-look-section > p,
.fiw-archetype-section > p{
  margin:0!important;
  color:var(--legend-soft)!important;
  font-size:12px!important;
  line-height:1.42!important;
}

.fiw-share-section{
  margin-top:14px!important;
}

.fiw-report-poster.fiw-legend-report .fiw-actions{
  position:static!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.fiw-report-poster.fiw-legend-report .fiw-actions button{
  min-width:0!important;
  min-height:36px!important;
  padding:0 13px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.38)!important;
  color:var(--legend-main)!important;
  box-shadow:none!important;
  font-size:13px!important;
}

.fiw-report-poster.fiw-legend-report .fiw-actions button:first-child{
  background:linear-gradient(135deg,var(--legend-gold),var(--legend-pink))!important;
  border-color:transparent!important;
  color:#111!important;
}

.fiw-legend-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-top:16px;
  padding-top:12px;
  border-top:1px dashed rgba(255,255,255,.14);
  color:var(--legend-soft);
  font-size:12px;
  line-height:1.48;
}

.fiw-legend-footer b{
  color:var(--legend-soft);
  font-weight:850;
  text-align:right;
}

@media (min-width:1180px){
  .fiw-report-poster.fiw-legend-report{
    padding:28px!important;
  }

  .fiw-legend-grid{
    grid-template-columns:1fr 1fr;
  }

  .fiw-tech-section{
    grid-column:1 / span 2;
  }

  .fiw-tech-section .fiw-list{
    columns:2;
    column-gap:28px;
  }

  .fiw-hints-section,
  .fiw-look-section{
    min-height:210px;
  }
}

@media (max-width:980px){
  .fiw-loading ol{
    grid-template-columns:1fr 1fr;
  }

  .fiw-report-poster.fiw-legend-report{
    max-width:560px!important;
  }

  .fiw-legend-grid{
    grid-template-columns:1fr!important;
  }

  .fiw-blueprint-section,
  .fiw-tech-section{
    grid-row:auto;
  }
}

@media (max-width:640px){
  .fiw-panel{
    padding:10px!important;
  }

  .fiw-loading{
    margin:10px auto;
    padding:24px 16px;
    border-radius:22px;
  }

  .fiw-loading ol{
    grid-template-columns:1fr;
  }

  .fiw-report-poster.fiw-legend-report{
    max-width:520px!important;
    padding:18px!important;
    border-radius:26px!important;
  }

  .fiw-live-badge{
    position:static!important;
    width:max-content;
    margin-left:auto;
    margin-bottom:14px;
  }

  .fiw-legend-header{
    grid-template-columns:104px minmax(0,1fr);
    gap:16px;
    align-items:start;
    padding-right:0;
  }

  .fiw-avatar-wrap{
    width:104px;
    height:104px;
    border-radius:24px;
  }

  .fiw-avatar-inner{
    border-radius:22px;
  }

  .fiw-legend-title > strong{
    font-size:28px!important;
  }

  .fiw-legend-title p{
    font-size:13px!important;
  }

  .fiw-field-grid,
  .fiw-history-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .fiw-blueprint-section img{
    height:300px;
  }

  .fiw-mini-compare{
    grid-template-columns:1fr!important;
  }

  .fiw-mini-compare img{
    width:100%!important;
    height:190px!important;
  }

  .fiw-legend-footer{
    display:block;
  }

  .fiw-legend-footer b{
    display:block;
    margin-top:8px;
    text-align:left;
  }
}

@media (max-width:430px){
  .fiw-legend-header{
    grid-template-columns:1fr;
  }

  .fiw-field-grid,
  .fiw-history-grid{
    grid-template-columns:1fr!important;
  }
}
