/* PRIDE v0.33 — metal surfaces. Approved teal frames deliberately unchanged. */
:root{--gold-text:linear-gradient(176deg,#fff8df 0%,#ecd49a 24%,#b58c47 47%,#fff0ba 52%,#dfbe74 65%,#9a7138 85%,#f3dfac 100%);--metal-edge:linear-gradient(135deg,#e7d3a2 0%,#695331 23%,#bea16a 48%,#493a25 73%,#bda16c 100%);--metal-face:linear-gradient(150deg,#1c211b,#0a100d 56%,#131812)}
.v30-title,.v29-title,.o2-brand,.o2-logo span,.rr-pride,.rr-rank,.fc-rank b{background-image:var(--gold-text)!important;background-clip:text!important;-webkit-background-clip:text!important;color:#e9cd8d;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 7px #d8b77420);text-shadow:none!important}
.v30-big3-t small,.v30-asset-l>small{color:#ebd29a!important;letter-spacing:.09em}
.v30-big3,.v29-rec .card,.v31-btn-sub,.v30-allbtn,.v30-use,.btn-ghost{border:1px solid transparent!important;background:var(--metal-face) padding-box,var(--metal-edge) border-box!important;box-shadow:inset 0 1px 0 #fff5ce14, inset 0 -1px 0 #0009, 0 5px 15px #0003 !important;color:#eee7d6}
.btn-primary,.o2-cta,.rr-cta{border:1px solid #ead39e!important;background:linear-gradient(112deg,#ffffff00 28%,#fff8df66 48%,#ffffff00 65%),linear-gradient(180deg,#fff1c6 0%,#d9b773 9%,#ebce8d 43%,#b48a43 51%,#cba55f 80%,#ead19a 100%)!important;box-shadow:inset 0 1px 0 #fff9e8,inset 0 -1px 0 #725125,0 5px 16px #0007!important;color:#21190d!important;text-shadow:0 1px 0 #fff4cc65;font-weight:600!important}
.btn-primary:disabled,.o2-cta:disabled{filter:saturate(.25) brightness(.6);box-shadow:none!important}
.btn-primary:active:not(:disabled),.o2-cta:active:not(:disabled),.rr-cta:active{filter:brightness(.92);transform:translateY(1px)}
.v30-seg.sco button.on{background:linear-gradient(165deg,#79613a,#2b2519 45%,#443820)!important;box-shadow:inset 0 1px 0 #f4dca2, inset 0 0 0 1px #aa8c55, 0 2px 6px #0006 !important;color:#fff0ca!important}
.v30-tabs{border:0!important;border-bottom:1px solid #a98c4e55!important;background:transparent!important;gap:4px}
.v30-tabs button{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none !important;color:#b7bbae!important;font-weight:500!important}
.v30-tabs button.on{color:#f1da9f!important;background:linear-gradient(0deg,#d7b66b14,transparent)!important;box-shadow:inset 0 -2px 0 #e1c480 !important}
/* Champagne highlights for large values only; table text remains solid and readable. */
.v30-asset .money-n,.v31-me .money-n,.v31-fin-gain .money-n{background:linear-gradient(180deg,#fffdf4,#f0e5c6 44%,#d7c497 50%,#fff9e8 72%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px #0008)}
.o2-form input:not([type=checkbox]):not([type=radio]):not(.bstep-v input):not(.stepper-field input),.o2-form select,.o2-basic input:not([type=checkbox]):not([type=radio]):not(.bstep-v input):not(.stepper-field input),.o2-basic select{background:linear-gradient(160deg,#172019,#080e0a)!important;border:1px solid #8b795349!important;border-top-color:#c3ad7e80!important;box-shadow:inset 0 2px 7px #0006,0 1px 0 #efe0b00d!important;border-radius:10px!important;font:400 17px/1.5 var(--f-jp)!important;color:#f5f0e3!important;caret-color:#f1d398;min-height:52px}
.o2-form input:not([type=checkbox]):not([type=radio]):not(.bstep-v input):not(.stepper-field input):focus,.o2-form select:focus,.o2-basic input:not([type=checkbox]):not([type=radio]):not(.bstep-v input):not(.stepper-field input):focus,.o2-basic select:focus{border-color:#dcc28a!important}/* v0.45: ONE frame on focus (the border). The 2px offset outline that also fired here was the doubled frame seen around the DOB selects and text fields while the keyboard was open. */
.o2-form input::placeholder,.o2-basic input::placeholder{color:#8b958b;opacity:1}
.o2-form .field>label{font-size:14px!important;letter-spacing:.04em;color:#dcd5c3!important}
.o2-form .o2-step{font-weight:500;line-height:1.5;letter-spacing:.04em}
.o2-cta.min{-webkit-text-stroke:0!important;font:600 17px/1.4 var(--f-jp)!important}
.o2-form .o2-foot{background:linear-gradient(180deg,transparent,#050806 24%)}
.rr{background:radial-gradient(ellipse at 50% 42%,#14150e 0%,#050705 35%,#020302 72%)!important}
.rr-pride{font-family:var(--f-rank)!important}
.rr-num{font:600 43px/1.18 var(--f-serif)!important;letter-spacing:0!important;background:var(--gold-text);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 18px #e0bf7322);text-shadow:none!important}
.rr-label{font:500 19px/1.5 var(--f-jp)!important;letter-spacing:.15em!important}
.rr-cap,.rr-ctl,.rr-note,.rr-big3,.rr-next,.rr-sub button{font-family:var(--f-jp)!important}
.rr-rank{font:600 34px/44px var(--f-rank)!important;letter-spacing:.15em!important}
.rr-mark{filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 12px #caaa6333)}
.rr-mark .o{stroke:#e2c88d}.rr-mark .b,.rr-mark .l{stroke:#f5e5b8}
button:focus-visible{outline:2px solid #efdaa3;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
/* v0.34 visual alignment: approved teal frames and original crests/rings retained. */
:root{--f-rank:"PRIDE Cinzel","Noto Sans JP",serif;--f-serif:"PRIDE Cormorant","Noto Sans JP",serif;--metal-face:linear-gradient(145deg,#171b16,#080c09 58%,#10150f);--gold-text:linear-gradient(175deg,#fff4ce,#e4c884 30%,#ab813e 49%,#f6e2ac 54%,#d1ad65 78%,#ebd398)}
.v30-id-bg{background:linear-gradient(180deg,#00000014,#050806 82%),url(img/v32_night.webp) center top/100% auto no-repeat!important}
.v30-rk::before{background:linear-gradient(180deg,#0004,#050806 90%),url(img/v31_marble2.webp) center top/100% auto no-repeat!important}
.v29-rec::before,.v29-coach::before{background:radial-gradient(100% 48% at 50% 0%,#10302355,transparent 80%),linear-gradient(#050806,#050806)!important}
.v30-title,.v29-title{font-style:normal!important;font-weight:500!important;letter-spacing:.09em!important}
.v29-rec>.v29-title{font:500 22px/1.45 var(--f-jp)!important;letter-spacing:.04em!important}
.v30-name{font:600 25px/1.3 var(--f-serif)!important;letter-spacing:.055em!important;margin-top:10px!important;overflow-wrap:anywhere}
.v30-name .v30-flag{font:15px var(--f-jp);vertical-align:middle}
.v30-aff,.v30-handle,.v30-bio{font-style:normal!important;font-weight:400!important;line-height:1.6!important}
.v30-handle,.v30-bio,.v30-addbio{font-size:12px!important;color:#a6ada4!important}.v30-aff{font-size:12px!important;color:#d7d8cd!important}
.v31-hero .v31-frame{display:flex;align-items:center;justify-content:center;width:152px;height:154px;margin:30px auto 0!important}
.v31-frame .avr.ring{filter:drop-shadow(0 2px 5px #000) drop-shadow(0 0 10px #caaa6329)!important}
.v31-crest{left:calc(100% - 24px)!important;top:88px!important;gap:5px!important}
.v31-crest>span:last-child{font:500 10px/1.4 var(--f-rank)!important;border:0!important;background:transparent!important;box-shadow:none!important;letter-spacing:.08em;color:#e9d39d!important;padding:0!important}
.v30-stats{border:1px solid #94805a45!important;border-radius:8px!important;background:linear-gradient(160deg,#111811a8,#070b08e8)!important;padding:8px 0!important;margin-top:14px!important;box-shadow:inset 0 1px 0 #f7e7bd0b}
.v30-stats small{font-size: 11px!important;color:#aeb4aa!important}.v30-stats b{font:500 22px/1.25 var(--f-serif)!important;color:#f4eddc!important}
.v30-stats>div+div,.v30-big3-l button+button{border-left-color:#94805a40!important}
.v30-big3{min-height:106px!important;padding:12px 14px 0!important}.v30-big3-t b,.v30-big3-t .qty-n{font:600 33px/1.05 var(--f-serif)!important;color:#f2e6c5!important}
.v30-big3-t small{font:500 12px var(--f-rank)!important;letter-spacing:.08em!important}.v30-big3-l b{font:500 22px/1.15 var(--f-serif)!important}.v31-barbell{opacity:.7!important;filter:contrast(1.12) brightness(.85)}
.v30-tabs{height:42px!important;margin-top:14px!important}.v30-tabs button{font-size:13px!important}.v30-tabs button+button::before{display:none!important}
.tabbar{background:linear-gradient(180deg,#0b100df7,#030604)!important;border-top:1px solid #a88b4e5c!important;box-shadow:0 -8px 24px #0005 !important}
.tab{font-size: 11px!important;font-weight:400!important;color:#aeb3a9!important;gap:5px!important}.tab.on{color:#ead096!important}.tab.on .tab-ico svg{filter:drop-shadow(0 0 5px #d4ae6355)!important}
.rc-cal,.rc-last,.rc-daycard,.rc-week,.co-in{border:1px solid transparent!important;border-radius:10px!important;background:var(--metal-face) padding-box,var(--metal-edge) border-box!important;box-shadow:inset 0 1px 0 #fff5ce12, 0 4px 16px #0003 !important}
.rc-cal{padding:12px 10px!important}.rc-head>b{font:500 18px var(--f-jp)!important;color:#eee1bc!important}.rc-d b{font-weight:400!important;font-style:normal!important}.rc-sub{font:500 13px/1.5 var(--f-jp)!important;letter-spacing:.04em!important}
.v29-start{border:1px solid #ead39e!important;background:linear-gradient(115deg,#ffffff00 20%,#fff4d133 48%,#ffffff00 72%),linear-gradient(180deg,#ecd7a2,#d4b16b 45%,#b48b47 70%,#ddc086)!important;box-shadow:inset 0 1px 0 #fff5d5, inset 0 -1px 0 #725125, 0 5px 16px #0007 !important;font:600 15px var(--f-jp)!important;min-height:56px!important}
.co-msg.a p{background:linear-gradient(145deg,#1b231d,#111813)!important;border:1px solid #b59c622e!important;color:#e5e9df!important;font-size:15px!important;line-height:1.75!important}.co-msg.u p{font-size:15px!important;line-height:1.75!important}.co-in textarea{background:#080e0b!important;border-color:#88764a55!important;border-radius:10px!important}
.total-num,.rec-kg b,.calc-total b,.ru-kicker,input[type=number]{font-style:normal!important}.sheet h2,.modal h2{font-family:var(--f-jp)!important;font-weight:500!important;letter-spacing:.03em}
.o2-sub{white-space:normal!important;font-size:clamp(15px,4.6vw,20px)!important;letter-spacing:.04em!important;line-height:1.6!important;max-width:100%;text-wrap:pretty}.o2-hero{font-size:clamp(30px,10vw,43px)!important;line-height:1.35!important;white-space:normal!important}
.o2-form .seg button,.o2-form .goal-opt,.o2-form .rs-opt{font-family:var(--f-jp)!important;font-style:normal!important;font-weight:500!important}.o2-form .o2-step{font-size:22px!important;line-height:1.5!important}.o2-form input[type=number]:not(.bstep-v input):not(.stepper-field input){font:500 25px/1.4 var(--f-serif)!important}
.rr-num{font-size:40px!important;letter-spacing:.01em!important}.rr-tag,.rr-strong{font-family:var(--f-jp)!important;font-size:13px!important;font-weight:400!important;letter-spacing:.05em!important}
.v30-pd-cap strong{font:600 15px/1.2 var(--f-serif)!important;letter-spacing:0!important}.v30-pd1 .v30-pd-cap strong{font-size: 18px!important}.v30-me-name{font:500 11px/1.3 var(--f-jp)!important;max-width:72px!important}.v31-me .v30-me-v em{white-space:normal!important;line-height:1.5!important}.v30-seg:not(.met){border:1px solid #9c88544d!important;box-shadow:inset 0 1px 0 #fff5ce0c}
@media(max-width:360px){.v31-crest{left:calc(100% - 30px)!important}.v30-name{font-size: 22px!important}.v30-title,.v29-title{font-size:24px!important}.co-head h1.v30-title{font-size: 22px!important}}
@media(max-width:380px){.v30-post-f{flex-wrap:wrap!important;row-gap:10px!important}.v30-use{padding:0 9px!important;font-size:12px!important;min-width:0!important}.v30-post-f .act{font-size:12px!important}}
