*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eef3f0;color:#07130e;font-family:Manrope,Arial,sans-serif}.rr-field-app{min-height:100vh}.rr-pin-screen{min-height:100vh;min-height:100dvh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(22px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));overflow:hidden;position:relative;background:linear-gradient(135deg,#00261a,#004a31,#087147,#003b28);background-size:260% 260%;animation:rrFieldBg 13s ease-in-out infinite}.rr-pin-card{width:min(100%,420px);background:rgba(255,255,255,.985);border-radius:24px;padding:34px 28px;box-shadow:0 30px 80px rgba(0,0,0,.28);position:relative;z-index:2;animation:rrCardIn .7s cubic-bezier(.2,.8,.2,1) both}.rr-field-logo{display:block;width:190px;height:82px;object-fit:contain;margin:0 auto 24px;animation:rrLogoIn .75s .08s cubic-bezier(.2,.8,.2,1) both}.rr-pin-icon{width:62px;height:28px;border-radius:20px;background:#e9f8ee;color:#009f39;display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:.12em;position:relative;overflow:hidden}.rr-pin-icon:after{content:"";position:absolute;inset:-2px auto -2px -55%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:skewX(-20deg);animation:rrPillSweep 4.8s 1.2s ease-in-out infinite}.rr-pin-card h1{font-size:34px;line-height:1;margin:16px 0 10px}.rr-pin-card p{color:#5d6862;margin:0 0 24px}.rr-pin-card label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.rr-pin-card input{width:100%;font-size:32px;text-align:center;letter-spacing:.34em;border:1px solid #ccd8d1;border-radius:13px;padding:13px;margin:8px 0 14px}.rr-pin-card button,.rr-big-action{width:100%;border:0;border-radius:13px;background:#00ad41;color:#fff;padding:17px 20px;font:800 16px Manrope,Arial,sans-serif;text-decoration:none;display:block;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.rr-pin-card button:active,.rr-big-action:active{transform:scale(.985)}.rr-pin-card button:before{content:"";position:absolute;top:-30%;bottom:-30%;left:-35%;width:25%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-22deg);animation:rrButtonSweep 5.5s 2.2s ease-in-out infinite}.rr-pin-card small{display:block;text-align:center;color:#768078;margin-top:16px}.rr-field-error{background:#fff0f0;color:#9d1c1c;border:1px solid #f4c6c6;border-radius:10px;padding:11px 13px;margin-bottom:16px;font-size:13px}.rr-app-shell{min-height:100vh;display:flex;flex-direction:column}.rr-app-header{height:78px;padding:max(13px,env(safe-area-inset-top)) 20px 12px;background:#003b28;color:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:0 8px 26px rgba(0,37,24,.18)}.rr-app-header>div{display:flex;align-items:center;gap:12px}.rr-app-header img{width:125px;height:48px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.rr-app-header span{font-size:10px;font-weight:900;letter-spacing:.13em;opacity:.76}.rr-app-header a{color:#fff;text-decoration:none;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:9px 12px}.rr-app-panel,.rr-success-screen{width:min(100% - 28px,620px);margin:18px auto;background:#fff;border:1px solid #dce6e0;border-radius:22px;padding:26px 22px;box-shadow:0 14px 40px rgba(0,47,29,.08)}.rr-welcome{margin-top:34px}.rr-app-kicker{display:block;color:#00a83f;font-size:11px;font-weight:900;letter-spacing:.13em;margin-bottom:10px}.rr-app-panel h1,.rr-success-screen h1{font-size:36px;line-height:1.02;letter-spacing:-.035em;margin:0 0 14px}.rr-app-panel h2{font-size:28px;line-height:1.08;margin:16px 0 10px}.rr-app-panel>p,.rr-success-screen>p{color:#56635c;line-height:1.65;margin:0 0 24px}.rr-welcome .rr-big-action{margin-top:26px}.rr-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.rr-mini-grid div{background:#f1f6f3;border-radius:12px;padding:13px 10px}.rr-mini-grid b{display:block;color:#00a83f;font-size:12px}.rr-mini-grid span{font-size:11px;font-weight:700}.rr-step-head{display:flex;justify-content:space-between;align-items:center;color:#68756e;font-size:11px;font-weight:900;letter-spacing:.08em}.rr-text-back{border:0;background:none;padding:0;color:#007d31;font:800 13px Manrope,Arial;cursor:pointer}.rr-camera-stage{height:290px;border:2px dashed #bed0c5;border-radius:18px;background:linear-gradient(145deg,#f5f8f6,#edf4f0);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;margin:22px 0 14px}.rr-camera-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#003b28;color:#fff;font-size:27px;margin-bottom:14px}.rr-camera-stage strong{font-size:16px}.rr-camera-stage span{font-size:12px;color:#718078;margin-top:5px}.rr-photo-preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}.rr-photo-preview-row div{aspect-ratio:1;border-radius:12px;background:#e7eee9;display:grid;place-items:center;color:#7a8980;font-weight:900;overflow:hidden;border:2px solid transparent}.rr-photo-preview-row div.done{border-color:#00ad41}.rr-photo-preview-row img{width:100%;height:100%;object-fit:cover}.rr-hidden-file{position:absolute;left:-9999px}.rr-big-action+ .rr-big-action{margin-top:10px}.rr-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.rr-field-grid label{display:grid;gap:6px}.rr-field-grid label.wide{grid-column:1/-1}.rr-field-grid span{font-size:12px;font-weight:800}.rr-field-grid input,.rr-field-grid select,.rr-field-grid textarea{width:100%;border:1px solid #cdd9d2;border-radius:11px;padding:13px 14px;background:#fff;font:500 15px Manrope,Arial,sans-serif;color:#07130e}.rr-field-grid textarea{resize:vertical}.rr-field-grid input:focus,.rr-field-grid select:focus,.rr-field-grid textarea:focus{outline:3px solid rgba(0,173,65,.14);border-color:#00ad41}.rr-review-strip{display:flex;justify-content:space-between;gap:10px;background:#eaf8ef;color:#006f2b;border-radius:12px;padding:12px 14px;margin:20px 0;font-size:11px;font-weight:800}.rr-success-screen{text-align:center;margin-top:44px;padding:38px 24px}.rr-success-tick{width:74px;height:74px;border-radius:50%;background:#00ad41;color:#fff;display:grid;place-items:center;font-size:38px;font-weight:900;margin:0 auto 22px}.rr-ref-card{background:#003b28;color:#fff;border-radius:16px;padding:18px;margin:24px 0}.rr-ref-card span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;opacity:.65}.rr-ref-card strong{display:block;font-size:22px;margin-top:4px}.rr-app-footer{margin-top:auto;padding:24px 18px calc(24px + env(safe-area-inset-bottom));text-align:center;color:#66756d;font-size:11px}.rr-app-footer span{display:block;font-weight:800;color:#334139}.rr-app-footer small{font-size:10px}.rr-big-action[disabled]{opacity:.55;cursor:wait}@media(max-width:520px){.rr-app-header{height:72px;padding-left:14px;padding-right:14px}.rr-app-header img{width:108px;height:43px}.rr-app-header span{display:none}.rr-app-panel,.rr-success-screen{width:calc(100% - 20px);margin-top:10px;border-radius:18px;padding:22px 18px}.rr-welcome{margin-top:22px}.rr-app-panel h1,.rr-success-screen h1{font-size:33px}.rr-field-grid{grid-template-columns:1fr}.rr-field-grid label.wide{grid-column:auto}.rr-camera-stage{height:260px}.rr-review-strip{flex-direction:column}.rr-mini-grid{gap:5px}}

/* V0.3.1 field polish */
.rr-app-panel{animation:rrPanelIn .38s cubic-bezier(.2,.8,.2,1) both}
.rr-mini-grid div{animation:rrMiniIn .38s cubic-bezier(.2,.8,.2,1) both}.rr-mini-grid div:nth-child(2){animation-delay:.07s}.rr-mini-grid div:nth-child(3){animation-delay:.14s}
@keyframes rrFieldBg{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes rrCardIn{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@keyframes rrLogoIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes rrPillSweep{0%,72%,100%{left:-55%;opacity:0}78%{opacity:1}88%{left:120%;opacity:0}}
@keyframes rrButtonSweep{0%,70%,100%{left:-35%;opacity:0}76%{opacity:1}88%{left:120%;opacity:0}}
@keyframes rrPanelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes rrMiniIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rr-pin-screen,.rr-pin-card,.rr-field-logo,.rr-pin-icon:after,.rr-pin-card button:before,.rr-app-panel,.rr-mini-grid div{animation:none!important;transition:none!important}}
