/* PRIDE v0.37 — approved masters on top of v0.36.
   Loaded last. Restores APPROVED_Onboarding.png (welcome / explanation / basic info) and Final_Card_Sample.png (named ID)
   where v0.34 refinement.css changed them; everything else from v0.34–v0.36 stays as made. */
/* ===================================================================== v0.35 reconcile
   Keep every v0.34 refinement, except where it changed the two approved masters:
   APPROVED_Onboarding.png (welcome / explanation / basic info) and Final_Card_Sample.png (the named ID). */
/* welcome: approved type sizes at 390 px, scaled with the screen width so narrow phones never overflow
   (this is v0.34's overflow fix, done without shrinking the approved headline) */
.onb2 .o2-hero { font-size: min(45px, 11.54vw) !important; line-height: min(57px, 14.62vw) !important; letter-spacing: -.6px !important; white-space: nowrap !important; }
.onb2 .o2-sub { font-size: min(24px, 6.15vw) !important; line-height: 1.4 !important; letter-spacing: .125em !important; white-space: nowrap !important; max-width: none; }
.onb2.o2-compact .o2-hero { font-size: min(37px, 9.5vw) !important; line-height: min(47px, 12.1vw) !important; }
.onb2.o2-compact .o2-sub { font-size: min(20px, 5.13vw) !important; }
.onb2 .o2-brand, .onb2 .o2-logo span { background-image: linear-gradient(180deg, #F7E7B6, #DCC07F 55%, #AD8A47) !important; filter: none !important; }
/* approved gold button (colour measured from the approved image) for onboarding and the final ID */
.o2-cta, .rr-cta { border: 1px solid rgba(255,240,200,.55) !important; text-shadow: none !important; }
.o2-cta { background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='64'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .8 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='240' height='64' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E") 0 0 / 240px 100%,
    radial-gradient(40% 170% at 57% 26%, rgba(255,228,165,.55), rgba(255,228,165,0) 78%),
    radial-gradient(30% 90% at 100% 100%, rgba(60,38,8,.38), rgba(60,38,8,0) 80%),
    linear-gradient(90deg, rgba(70,45,10,.10), rgba(70,45,10,0) 22%, rgba(70,45,10,0) 78%, rgba(70,45,10,.16)),
    linear-gradient(180deg, #C5A873 0%, #B99A66 45%, #A48654 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,246,215,.75), inset 0 -1px 0 rgba(255,240,200,.25), inset 0 -3px 6px rgba(70,45,10,.25), 0 6px 18px rgba(0,0,0,.5) !important; color: #19140B !important; }
.o2-cta.min { font: 600 20px/1 var(--f-min) !important; letter-spacing: .04em; -webkit-text-stroke: .4px currentColor !important; }
.o2-cta:not(.min) { font: 600 19px/1 var(--f-jp) !important; letter-spacing: .06em; }
.rr-cta { background: radial-gradient(60% 120% at 60% 0%, rgba(255,240,200,.45), rgba(255,240,200,0) 70%), linear-gradient(100deg, #EEDCA6 0%, #D9BD7C 45%, #C8A35E 75%, #E3C98C 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,250,230,.8), 0 8px 22px rgba(0,0,0,.5) !important; color: #3A2D17 !important; font: 500 16px/1 var(--f-min) !important; letter-spacing: .08em; }
/* basic info: the approved date / country selects are drawn by their frame (.o2-sel), not by the select itself */
.o2-basic select { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; min-height: 0 !important; font: 400 18px var(--f-jp) !important; outline: none !important; }
.o2-basic .o2-sel:focus-within { border-color: #dcc28a; } /* v0.45: ONE frame mechanism — the frame border turns gold on focus (border + outline read as a doubled frame) */
/* final ID: serif lettering as in Final_Card_Sample (v0.34's money display for the asset / 筋肉年収 phase is kept) */
.rr-pride { font-family: var(--f-min) !important; background-image: linear-gradient(180deg, #F3E1AE, #D9BF84 55%, #B8975A) !important; filter: none !important; }
.rr-rank { font: 500 34px/44px var(--f-min) !important; letter-spacing: .2em !important; background-image: linear-gradient(180deg, #FFF4D6, #F1DDA9 55%, #D2B271) !important; filter: none !important; }
.rr-strong { font: 400 14px/22px var(--f-min) !important; letter-spacing: .1em !important; }
.rr-cap, .rr-ctl, .rr-big3, .rr-next, .rr-sub button { font-family: var(--f-min) !important; }
/* explanation list: approved sizes at 390 px, scaled down on narrower phones so the lines never run off the screen */
.o2-explain .o2-list li { gap: min(27px, 6.92vw); }
.o2-explain .o2-list b { font-size: min(22px, 5.64vw); }
.o2-explain .o2-list small { font-size: min(17.5px, 4.49vw); }
.o2-basic .o2-q { font-size: min(31px, 7.95vw) !important; }
.o2-basic .o2-qsub { font-size: min(18.5px, 4.74vw); }

/* v0.37 polish: week-count buttons — numbers centred in their boxes (an older list-button rule left-aligned them) */
.onb2 .week-choice button { display: grid !important; place-items: center !important; padding: 0 !important; text-align: center !important; font: 500 19px/1 var(--f-serif) !important; font-variant-numeric: lining-nums tabular-nums; }
