/* CODE144 page refresh — SCAN / signed-in CIRCLE
   Behaviour stays in the templates. This file only owns visual hierarchy. */

/* ── SCAN ─────────────────────────────────────────────────────────────── */
body:has(#scanSection) main.wrap{max-width:900px}
.scan-mode-selector{
  align-items:flex-start !important;margin:28px auto 14px;padding:0 !important;
  max-width:760px;
}
.scan-mode-label{color:#dbc98e !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.17em !important}
.scan-mode-btns{width:100%;justify-content:flex-start !important;padding:5px;border:1px solid #30394b;border-radius:13px;background:#0a1321}
.scan-mode-btn{flex:1;justify-content:center;min-height:48px !important;border:0 !important;border-radius:9px !important;color:#aeb6c4 !important;font-size:15px !important}
.scan-mode-btn.active{background:#2b2050 !important;color:#fff !important;box-shadow:inset 0 0 0 1px #674e9e,0 8px 24px rgba(0,0,0,.18)}

#scanSection{
  position:relative;overflow:hidden;max-width:760px;margin:0 auto !important;
  padding:0 !important;border:1px solid #3d4658 !important;border-radius:4px 28px 4px 28px !important;
  background:radial-gradient(540px 280px at 100% 0,rgba(82,211,176,.09),transparent 70%),#0e1727 !important;
  box-shadow:0 34px 95px rgba(0,0,0,.46) !important;
}
#scanSection::before{
  content:none !important;
  display:none !important;
}
#scanForm{padding:0 34px 36px}
.scan-hero{padding:44px 38px 38px !important;text-align:left !important}
.scan-hero-h1{margin:0 !important;color:#fffdf6 !important;font-size:30px !important;font-weight:570 !important;letter-spacing:.03em !important}
.scan-hero-lead{margin:10px 0 0 !important;color:#aeb7c4 !important;font-size:16px !important}
#scanForm>.field,#scanForm>.grid2{margin-top:26px !important}
#scanForm .field>label{display:block;margin-bottom:9px;color:#e7e2ec !important;font-size:15px !important;font-weight:650 !important;letter-spacing:.03em}
#scanForm input:not([type="radio"]),#scanForm select{
  min-height:54px;border:1px solid #414b60 !important;border-radius:10px !important;
  background:#091220 !important;color:#f5f3f8 !important;font-size:16px !important;
}
#scanForm input:focus,#scanForm select:focus{border-color:#8064ba !important;box-shadow:0 0 0 3px rgba(139,92,246,.12) !important}
.quality-group{display:grid !important;grid-template-columns:repeat(3,1fr);gap:8px !important}
.quality-option{min-height:50px;border:1px solid #354055 !important;border-radius:10px !important;background:#101a2a !important}
.quality-option:has(input:checked){border-color:#8064ba !important;background:#251d43 !important;box-shadow:inset 0 0 0 1px rgba(167,139,250,.20)}
.quality-option-label{font-size:15px !important}
#scanActions{padding-top:7px;border-top:1px solid rgba(224,202,138,.12)}
#btnScan{width:100%;min-height:56px;background:linear-gradient(135deg,#9466ee,#6540b6) !important;font-size:16px !important}
#btnScan:disabled{background:#252d3a !important;color:#7f8794 !important;box-shadow:none !important}
.city-dropdown{border-color:#5e4b89 !important;background:#0b1423 !important}

/* ── signed-in CIRCLE ────────────────────────────────────────────────── */
#mainContent{max-width:900px;margin:0 auto;padding:24px 0 40px}
.circle-live-header{position:relative;overflow:hidden;margin:0 0 26px;padding:44px 38px 38px;border:1px solid #414a5c;border-radius:4px 28px 4px 28px;background:radial-gradient(480px 260px at 100% 0,rgba(101,215,177,.12),transparent 70%),linear-gradient(145deg,#15182e,#091321 74%);box-shadow:0 28px 80px rgba(0,0,0,.40)}
.circle-live-header::after{content:"";position:absolute;right:-80px;top:-120px;width:330px;height:330px;border:1px solid rgba(224,202,138,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(139,92,246,.025),0 0 0 94px rgba(101,215,177,.025)}
.circle-live-header small{position:relative;z-index:1;display:block;color:#dcc98c;font-size:11px;font-weight:700;letter-spacing:.22em}
.circle-live-header h1{position:relative;z-index:1;margin:16px 0 0;color:#fffdf6;font-size:30px;font-weight:560;line-height:1.35;letter-spacing:.035em}
.circle-live-header p{position:relative;z-index:1;margin:12px 0 0;color:#b7bec9;font-size:16px;line-height:1.8}
#mainContent .fr-state-legend-wrap{padding:0 4px 10px !important}
#mainContent .slot-box,#mainContent .fr-invite-card,#mainContent .grp-create-form{
  border:1px solid #384255 !important;border-radius:4px 18px 4px 18px !important;background:#101a2a !important;box-shadow:0 18px 48px rgba(0,0,0,.22)
}
#mainContent .slot-box{padding:24px 24px 22px !important}
#mainContent .slot-header{padding-bottom:14px;border-bottom:1px solid rgba(224,202,138,.13)}
#mainContent .slot-title{color:#fffdf6 !important;font-size:20px !important;font-weight:570 !important;letter-spacing:.04em !important}
#mainContent .slot-fixed-hint{font-size:14px !important;color:#aeb6c3 !important}
#mainContent .fr-section-label{margin:38px 0 13px !important;color:#dcc98c !important;font-size:13px !important;letter-spacing:.18em !important}
#mainContent .fr-card{margin-bottom:10px !important;padding:19px 20px !important;border:1px solid #354055 !important;border-radius:3px 15px 3px 15px !important;background:#111b2c !important;box-shadow:none !important}
#mainContent .fr-card:hover{border-color:#5a4d7d !important;background:#151e31 !important}
#mainContent .fr-card.is-active{border-left:3px solid #a787ed !important;background:radial-gradient(340px 150px at 0 0,rgba(139,92,246,.13),transparent 72%),#121b2c !important}
#mainContent .fr-avatar{width:48px;height:48px;border:1px solid #67518f !important;background:#2a2147 !important;color:#ede6ff !important}
#mainContent .fr-name{color:#f8f5fb !important;font-size:17px !important}
#mainContent .fr-hint-line{font-size:14px !important;line-height:1.65;color:#b8bec8 !important}
#mainContent .fr-score-num{font-size:30px !important;font-weight:570 !important}
#mainContent .grp-create-form{display:flex;gap:10px;padding:14px !important}
#mainContent .grp-input{min-height:48px;border-color:#414b60 !important;background:#091220 !important;color:#fff !important;font-size:15px !important}
#mainContent .grp-card{margin-bottom:10px;padding:20px !important;border:1px solid #354155 !important;border-radius:3px 16px 3px 16px !important;background:#121c2d !important}
#mainContent .fr-invite-card{padding:20px !important}

/* Descriptive English decoration is not product vocabulary. */
.about-hero::after,.about-sample-grid::before,.about-live-axia::before{content:none !important}

@media(max-width:700px){
  .scan-mode-selector{margin-top:18px}
  #scanForm{padding:0 18px 26px}
  #scanSection::before{padding:14px 18px;font-size:10px}
  .scan-hero{padding:32px 22px 28px !important}.scan-hero-h1{font-size:27px !important}
  #scanForm>.grid2{grid-template-columns:1fr !important}.quality-group{grid-template-columns:1fr !important}
  #mainContent{padding-top:16px}.circle-live-header{padding:32px 22px 28px}.circle-live-header h1{font-size:27px}.circle-live-header::after{opacity:.55}
  #mainContent .slot-box{padding:20px 16px !important}
  #mainContent .fr-card{padding:16px !important}
}
