.r2p{--ink:#193d49;--teal:#087c80;--line:#d5e3df;max-width:1080px;margin:32px auto;padding:24px;color:var(--ink);background:#f8f8f2;font:16px/1.55 system-ui,sans-serif;border-radius:20px}.r2p *{box-sizing:border-box}.r2p header,.r2p .row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.r2p h1{font-size:clamp(28px,5vw,42px);line-height:1.15;margin:8px 0}.r2p h2{font-size:24px;margin:0 0 12px}.r2p h3{font-size:18px;margin:0 0 8px}.r2p .eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--teal)}.r2p .panel{background:white;border:1px solid var(--line);padding:24px;margin:20px 0;border-radius:12px}.r2p a{color:#06666a;text-decoration:underline}.r2p label{display:block;font-size:14px;font-weight:600;margin:12px 0}.r2p input:not([type=checkbox]),.r2p select{display:block;width:100%;min-height:46px;border:1px solid #8da7aa;border-radius:7px;padding:10px;background:white;color:var(--ink);font:inherit;margin-top:5px}.r2p input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.r2p button,.r2p input[type=submit]{min-height:44px;border:0;border-radius:7px;padding:10px 16px;background:var(--teal);color:white;font:600 14px/1.5 system-ui;cursor:pointer}.r2p button:disabled{opacity:.55;cursor:wait}.r2p :focus-visible{outline:3px solid #ba7d00;outline-offset:3px}.r2p form{max-width:560px;margin:14px 0}.r2p summary{cursor:pointer;padding:14px 0;font-weight:600;min-height:44px}.r2p details{border-top:1px solid var(--line);margin-top:16px}.r2p .jars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.r2p .jar{padding:20px;background:#eef5f3;border-radius:10px}.r2p .jar strong{display:block;font-size:clamp(19px,3vw,29px);overflow-wrap:anywhere}.r2p .total strong{margin-left:12px}.r2p .muted{font-size:13px;color:#526970}.r2p progress{width:100%;height:14px;accent-color:var(--teal)}.r2p .goal{margin:24px 0}.r2p .mission{border-top:1px solid var(--line);padding:18px 0}.r2p .controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.r2p .controls form{margin:0}.r2p .badge{background:#edf0f2;padding:4px 10px;border-radius:5px}.r2p .history{overflow:auto}.r2p table{width:100%;border-collapse:collapse;font-size:14px}.r2p th,.r2p td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.r2p td:last-child{white-space:nowrap}.r2p .error{color:#9b2525;background:#fff0ed;padding:12px}.r2p .notice{border:1px solid #ba7d00;padding:12px}.r2p [hidden]{display:none!important}.r2p li{margin:12px 0}@media(max-width:600px){.r2p{padding:12px;margin:12px auto;border-radius:0}.r2p .panel{padding:16px}.r2p .jars{grid-template-columns:1fr}.r2p .jar{display:flex;justify-content:space-between;align-items:center;gap:12px}.r2p .jar h3{margin:0}.r2p .controls{display:block}.r2p .controls form{margin:10px 0}.r2p .controls button{width:100%}}

.r2p-auth{max-width:520px;background:#fff9ef;border-radius:24px;padding:28px}.r2p-auth h2{font-size:22px}.r2p-auth button{width:100%;border-radius:12px;padding:14px}.r2p-auth input[type=hidden]{display:none}.r2p-auth input:not([type=checkbox]){font-size:16px;border-radius:12px}.r2p-auth form{max-width:none}
/* Ready 2 Play illustrated interface, scoped to the plugin. */
.r2p{max-width:620px;background:#fff9ef;padding:28px;font-family:'Trebuchet MS',system-ui,sans-serif;border-radius:26px;color:#193d49}.r2p header{align-items:flex-start}.r2p h1{font-weight:800;letter-spacing:-1.5px}.r2p h2{font-size:22px}.r2p h3{overflow-wrap:anywhere}.r2p .panel{border-radius:20px;padding:20px;margin:16px 0}.r2p .profiles{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.r2p button{border-radius:12px;min-height:46px}.r2p .profiles button{background:#fff;color:#193d49;border:2px solid #d5e3df}.r2p .profiles button[aria-pressed=true]{background:#087c80;color:#fff;border-color:#087c80}.r2p .total span{display:block;font-size:13px}.r2p .total strong{display:block;margin:0;font-size:36px}.r2p .jars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.r2p .jar{display:block;text-align:center;padding:6px 5px 16px;border-radius:22px}.r2p .jar-spend{background:#ffe4d8}.r2p .jar-save{background:#dcefe5}.r2p .jar-give{background:#eee6f7}.r2p .jar strong{font-size:clamp(16px,3.6vw,24px);margin-top:6px}.r2p .jar h3{margin:0}.r2p .r2p-art{display:block;background-image:url('bank-art.webp');background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1;width:100%;max-width:140px;margin:auto;pointer-events:none}.r2p .art-spend{background-position:0 0}.r2p .art-save{background-position:50% 0}.r2p .art-give{background-position:100% 0}.r2p .art-garden,.r2p .art-cleaning,.r2p .art-bike,.r2p .art-pets,.r2p .art-kitchen,.r2p .art-other{background-image:url('mission-art.webp')}.r2p .art-garden{background-position:0 0}.r2p .art-cleaning{background-position:50% 0}.r2p .art-bike{background-position:100% 0}.r2p .art-pets{background-position:0 100%}.r2p .art-kitchen{background-position:50% 100%}.r2p .art-other{background-position:100% 100%}.r2p .quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.r2p .quick-actions button{font-size:17px;padding:12px 4px}.r2p [data-money=expense]{background:#ffc3a7;color:#193d49}.r2p [data-money=transfer]{background:#ffdf82;color:#193d49}.r2p .quiet{background:transparent;color:#06666a;text-decoration:underline;padding:8px}.r2p .secondary{background:#fff;color:#193d49;border:1px solid #d5e3df}.r2p .wide{width:100%;margin:8px 0}.r2p .picker{padding:0;border:0;min-width:0;margin:16px 0}.r2p .picker legend{font-size:14px;font-weight:bold;margin-bottom:8px}.r2p .pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.r2p .picker button{padding:6px 3px 10px;border:2px solid #d5e3df;background:#fff;color:#193d49;font-size:14px;min-width:0}.r2p .picker button[aria-pressed=true]{background:#dcefe5;border-color:#087c80}.r2p .picker .r2p-art{max-width:80px}.r2p input[type=hidden]{display:none}.r2p input:not([type=checkbox]){font-size:16px;border-radius:12px}.r2p .mission-heading{display:flex;align-items:center;gap:12px}.r2p .mission-heading .r2p-art{width:85px;flex:0 0 85px;margin:0}.r2p .mission-heading p{margin:5px 0}.r2p .controls{display:block}.r2p .controls form{margin:10px 0}.r2p .controls button{width:100%}.r2p .entry{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #d5e3df}.r2p .entry>div{min-width:0;overflow-wrap:anywhere}.r2p .entry>strong{white-space:nowrap}.r2p .entry p{margin:4px 0}.r2p #r2p-status{font-size:13px}.r2p progress{height:14px;border:0;border-radius:10px;overflow:hidden}.r2p progress::-webkit-progress-bar{background:#eaf0eb;border-radius:10px}.r2p progress::-webkit-progress-value{background:#087c80;border-radius:10px}.r2p .goal .eyebrow{margin:0}.r2p [data-action=transaction]>button,.r2p [data-action=mission_add]>button{width:100%}.r2p-auth{max-width:520px}@media(max-width:600px){.r2p{padding:18px 12px;border-radius:22px;margin:16px auto}.r2p .panel{padding:14px}.r2p .jar{display:block}.r2p .jars{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.r2p .jar h3{font-size:16px}.r2p .pick-grid{gap:6px}}
.r2p .jar strong{font-size:clamp(12px,3.2vw,22px);white-space:nowrap;overflow-wrap:normal}.r2p .profiles button{max-width:100%;overflow-wrap:anywhere}

.r2p .goal-heading{display:flex;align-items:center;gap:12px}.r2p .goal-heading>.r2p-art{width:80px;flex:0 0 80px;margin:0}
.r2p .art-goal-bike{background-image:url('goal-art.webp');background-size:300% 300%;background-position:0% 0%}
.r2p .art-goal-toys{background-image:url('goal-art.webp');background-size:300% 300%;background-position:50% 0%}
.r2p .art-goal-blocks{background-image:url('goal-art.webp');background-size:300% 300%;background-position:100% 0%}
.r2p .art-goal-books{background-image:url('goal-art.webp');background-size:300% 300%;background-position:0% 50%}
.r2p .art-goal-sport{background-image:url('goal-art.webp');background-size:300% 300%;background-position:50% 50%}
.r2p .art-goal-music{background-image:url('goal-art.webp');background-size:300% 300%;background-position:100% 50%}
.r2p .art-goal-games{background-image:url('goal-art.webp');background-size:300% 300%;background-position:0% 100%}
.r2p .art-goal-trip{background-image:url('goal-art.webp');background-size:300% 300%;background-position:50% 100%}
.r2p .art-goal-other{background-image:url('goal-art.webp');background-size:300% 300%;background-position:100% 100%}

/* Isolate each illustration using its actual bounds, not equal sprite cells. */
.r2p .art-goal-bike{background-image:none;position:relative;}
.r2p .art-goal-bike::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88.0000%;height:76.3956%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:281.318681% 324.050633%;background-position:0.000000% 3.389831%;}
.r2p .art-goal-toys{background-image:none;position:relative;}
.r2p .art-goal-toys::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:79.5181%;height:88.0000%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:341.333333% 308.433735%;background-position:50.276243% 1.156069%;}
.r2p .art-goal-blocks{background-image:none;position:relative;}
.r2p .art-goal-blocks::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88.0000%;height:82.9425%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:294.252874% 312.195122%;background-position:98.816568% 1.724138%;}
.r2p .art-goal-books{background-image:none;position:relative;}
.r2p .art-goal-books::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88.0000%;height:69.9065%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:299.065421% 376.470588%;background-position:1.173709% 51.595745%;}
.r2p .art-goal-sport{background-image:none;position:relative;}
.r2p .art-goal-sport::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:85.5211%;height:88.0000%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:371.014493% 360.563380%;background-position:51.336898% 49.189189%;}
.r2p .art-goal-music{background-image:none;position:relative;}
.r2p .art-goal-music::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82.1622%;height:88.0000%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:336.842105% 314.496314%;background-position:95.555556% 48.682703%;}
.r2p .art-goal-games{background-image:none;position:relative;}
.r2p .art-goal-games::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88.0000%;height:70.6047%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:297.674419% 371.014493%;background-position:1.176471% 93.582888%;}
.r2p .art-goal-trip{background-image:none;position:relative;}
.r2p .art-goal-trip::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:81.0000%;height:88.0000%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:316.049383% 290.909091%;background-position:50.857143% 95.238095%;}
.r2p .art-goal-other{background-image:none;position:relative;}
.r2p .art-goal-other::before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88.0000%;height:88.0000%;background-image:url("goal-art.webp");background-repeat:no-repeat;background-size:336.842105% 336.842105%;background-position:95.555556% 94.444444%;}
.r2p .art-goal-toys::before{clip-path:inset(0 0 0 6%)}
.r2p .art-goal-trip::before{clip-path:polygon(0 12%,55% 12%,55% 0,100% 0,100% 100%,0 100%)}
.r2p .art-goal-other::before{clip-path:inset(0 0 0 4%)}
.r2p .art-goal-trip::before{clip-path:polygon(0 12%,55% 12%,55% 5%,100% 5%,100% 100%,0 100%)}
.r2p .art-goal-other::before{clip-path:inset(0 0 0 7%)}
