/* Lilac Play, reading-first revision. Brand art stays unchanged. */
:root{--ink:#292536;--muted:#696375;--teal:#6a41cc;--deep:#51339a;--page:#faf8ff;--card:#fff;--border:#e9e3f0;--coral:#bc2871;--rr-text:#292536;--rr-text-muted:#696375;--rr-shadow-card:0 3px 14px #32205206;--shadow:var(--rr-shadow-card)}
html,body.rr-liff{background:#eee9f6}.rr-liff .garden-shell{background:var(--page);max-width:820px;box-shadow:none;margin-top:0;border-radius:0}.garden-shell:before{display:none}
/* Small, stable masthead. Controls keep their 44 px hit areas. */
.rr-liff .app-header{padding:12px 20px;min-height:72px;gap:8px;background:var(--card);border-bottom:1px solid var(--border)}
.rr-liff .app-header .brand{width:132px;flex:0 1 132px;margin-right:auto;justify-content:flex-start}.rr-liff .app-header .brand img{width:132px;max-width:100%;height:auto}
.rr-liff .header-actions{gap:2px}.rr-liff .app-header .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:0;box-shadow:none;background:transparent;color:#655c75;border-radius:12px}.rr-liff .app-header .icon-button .icon{width:23px;height:23px}.rr-liff .app-header .selected{color:var(--teal);background:#f0e9ff}.rr-liff #header-back{font-size:28px;padding:0}
.rr-liff .mode-strip{margin:0;padding:7px 16px;border-radius:0;background:#f2edf9;color:#625772;font-size:10px!important;line-height:1.5;border-bottom:1px solid var(--border)}
.rr-liff .mode-strip:before{content:'';display:inline-block;width:5px;height:5px;margin:0 6px 2px 0;border-radius:50%;background:#9775d4}
.rr-liff .page-body,.rr-liff .flow-body{padding:18px 20px 28px}.rr-liff .app-foot{color:var(--muted);font-size:9px;letter-spacing:1px;padding-top:12px}
/* Characterful introductions, with the mascot out of the data's way. */
.rr-liff .hero{display:grid;grid-template-columns:minmax(0,1fr) 32%;align-items:center;gap:14px;min-height:170px;padding:24px 20px;background:linear-gradient(115deg,#f1e9ff,#e4d4ff);overflow:hidden}
.rr-liff .hero .foliage,.rr-liff .hero .cloud,.rr-liff .hero .sun-disc,.rr-liff .hero .monitor-label,.rr-liff .hero .monitor-light{display:none}
.rr-liff .hero .hero-copy{width:auto;max-width:none}.rr-liff .hero .hero-copy h1{font-size:27px;line-height:1.3;letter-spacing:-.5px;color:#392957;margin:0 0 8px;text-shadow:none}.rr-liff .hero .hero-copy>p{font-size:13px;line-height:1.6;color:#655675;margin:0}.rr-liff .hero .hero-copy .eyebrow{font-size:10px;margin-bottom:12px;color:#735999;font-weight:700;letter-spacing:.3px}.rr-liff .hero .hero-small{display:block;margin-top:8px;font-size:12px}
.rr-liff .hero .hero-visual{display:block;position:relative;inset:auto;width:100%;height:132px;margin:0;padding:0;border:0;box-shadow:none;background:none;transform:none}
.rr-liff .hero .mascot-button{position:relative;inset:auto;width:100%;height:100%;padding:0;background:none;box-shadow:none;border-radius:0;display:block;min-height:44px}.rr-liff .hero .mascot-button .retina-rop{width:100%;height:100%;max-height:none!important;max-width:none;object-fit:contain;margin:0;animation:rop-float 6s ease-in-out infinite}
.rr-liff .hero .handnote{display:none!important}.rr-liff .hero .hero-spark{color:#a2ca69;font-size:17px}.rr-liff .hero .spark-one{top:18px;left:0}.rr-liff .hero .spark-two{bottom:13px;right:0}
.rr-liff .home-hero{grid-template-columns:minmax(0,1fr) 40%;min-height:244px}.rr-liff .home-hero .hero-visual{height:185px}.rr-liff .home-hero .hero-copy h1{font-size:32px}.rr-liff .home-hero .hero-copy h1 em{font-style:normal;color:#6a41cc}.rr-liff .home-hero .handnote{display:block!important;position:absolute;inset:auto 0 -3px auto;background:#bdfa72;color:#392957;box-shadow:none;border:0;border-radius:8px;padding:4px 8px;font:700 9px/1.4 var(--font-body);transform:rotate(-5deg)}
/* Quiet surfaces; color signals actions and useful states. */
.rr-liff :is(.product-card,.detail-product,.chart-card,.settings-card,.flow-card,.profile-card,.notification-card,.store-card,.step-card,.timeline-card){background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}
.rr-liff :is(.button.primary,.button.outline,.button.soft,.button.secondary){box-shadow:none;text-shadow:none;border-radius:12px;min-height:44px;font-size:14px!important;line-height:1.4}
.rr-liff .button.primary{background:#6a41cc;color:#fff;border:1px solid #6a41cc;min-height:48px!important;font-weight:700}.rr-liff :is(.button.outline,.button.soft,.button.secondary){background:var(--card);border:1px solid #d9ccea;color:#603aae;font-weight:600}
.rr-liff :is(.button.primary,.button.outline,.button.soft,.button.secondary):active{box-shadow:none;transform:translateY(1px)}
.rr-liff .section-heading{margin:20px 0 12px;gap:12px}.rr-liff .section-heading h2{font-size:18px;font-weight:700;color:var(--ink);line-height:1.5}.rr-liff .section-heading h2 .icon{width:20px;height:20px}
.rr-liff .search-box,.rr-liff .inline-search{border:1px solid #d4c6e8;border-radius:14px;background:var(--card);box-shadow:0 3px 12px #38294e06}.rr-liff .search-box button{background:#6a41cc;color:#fff;border-radius:10px}.rr-liff .search-box input{font-size:14px}
.rr-liff .home-body{padding-top:16px}.categories{display:flex;overflow-x:auto;gap:8px;padding:4px 0 8px}.rr-liff .categories button{flex:0 0 auto;width:auto;min-width:78px;padding:10px 12px;white-space:nowrap;box-shadow:none;border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:11px}.categories button .icon{width:18px;height:18px}
.rr-liff .filter-chips{gap:8px;padding-bottom:6px}.rr-liff .filter-chips button{min-height:44px;background:var(--card);border:1px solid var(--border);color:var(--muted);box-shadow:none;border-radius:12px;font-size:12px}.rr-liff .filter-chips button[aria-pressed=true],.rr-liff .filter-chips button.active{background:#e9ddff;color:#51339a;border-color:#d2bdf0;box-shadow:none;font-weight:700}
.rr-liff .product-image{border-radius:14px;background:#fafafa;border:0}.rr-liff .product-image img{padding:8px}.rr-liff .product-copy h3{font-size:14px;line-height:1.5}.rr-liff .product-card .price-line strong{font-size:24px}.rr-liff .product-card .favorite-button{background:#fff;border:1px solid var(--border);box-shadow:none}.rr-liff .favorite-button.is-favorite{background:#fff2f6;color:#c74276}.rr-liff .sale-sticker{background:#efe4ff;color:#633995;border:0;box-shadow:none;font-size:10px}.rr-liff .discount{font-size:11px;background:#e5f9ed;color:#167348;border-radius:6px;padding:3px 6px}.rr-liff .card-status{color:#24714e!important;font-size:11px!important}.rr-liff .card-source{color:var(--muted)}
.rr-liff .product-row .product-open{grid-template-columns:80px minmax(0,1fr) 62px;padding:14px;gap:12px}.rr-liff .product-row .card-graph{width:62px}.rr-liff .product-row .product-copy h3{font-size:14px;min-height:0}.rr-liff .product-row .favorite-button{right:9px;top:7px}
.rr-liff .bottom-nav{max-width:820px;background:#fffffffa;box-shadow:0 -3px 16px #38234b05;border:0;border-top:1px solid var(--border);border-radius:0;padding:8px 12px calc(9px + env(safe-area-inset-bottom))}.rr-liff .bottom-nav button{min-height:48px;color:#777080;border-radius:11px;font-size:10px;box-shadow:none;background:transparent}.rr-liff .bottom-nav button[aria-current=page]{background:#eee5ff;color:#603aae;box-shadow:none}.rr-liff .bottom-nav button:before,.rr-liff .bottom-nav button i{display:none}.rr-liff .bottom-nav button>.icon{width:22px;height:22px}
.rr-liff :is(.mascot-banner,.confirm-tip,.target-tip,.shopping-tip){background:#efe7fb;color:var(--ink);border:0;border-radius:16px;box-shadow:none}.rr-liff .mascot-banner strong{font-size:15px;color:var(--ink)}.rr-liff .mascot-banner small{font-size:12px;color:var(--muted)}.rr-liff .benefits{background:#f0eafa;border-radius:16px}.rr-liff .benefits b{color:var(--ink)}.rr-liff .benefits small{color:var(--muted)}
/* Tracking detail: small intro, joined product/goal panel, clear chart. */
.watch-intro{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;gap:12px;background:var(--page)}.watch-intro h1{font-size:24px;line-height:1.4;letter-spacing:-.4px;margin:4px 0;color:var(--ink)}.watch-intro p{font-size:12px;color:var(--muted);margin:0}.watch-intro .watch-eyebrow{font-size:10px;color:#795caa;letter-spacing:.4px}.watch-mascot{width:76px;height:82px;flex-shrink:0;position:relative;background:#eee4ff;border-radius:50% 50% 40% 55%;padding:0}.watch-mascot .retina-rop{width:100%;height:100%;background:transparent}
.watch-summary{background:var(--card);border:1px solid var(--border);border-radius:20px;overflow:hidden}.rr-liff .watch-summary .detail-product{box-shadow:none;border:0;border-radius:0;margin:0;padding:18px 16px;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center}.rr-liff .watch-summary .detail-image{height:148px;background:#fafafa;border-radius:12px}.rr-liff .watch-summary .detail-image img{padding:0;transform:scale(1.16)}.rr-liff .watch-summary .detail-copy h2{font-size:17px!important;line-height:1.5;padding-right:32px;margin:0 0 4px}.rr-liff .watch-summary .detail-copy p{font-size:12px;line-height:1.6;margin:0 0 2px}.rr-liff .watch-summary .detail-copy small{font-size:11px;line-height:1.6;color:var(--muted)}.rr-liff .current-price-label{display:block;font-size:10px;color:var(--muted);margin-top:10px}.rr-liff .watch-summary .detail-copy>del{font-size:11px;display:block;color:var(--muted);margin:6px 0 0}.rr-liff .watch-summary .price-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:1px 0 3px}.rr-liff .watch-summary .price-line strong{font-size:30px;line-height:1.25;color:var(--coral);letter-spacing:-.7px}.rr-liff .watch-summary .summary-saving{display:block;font-size:11px!important;color:#21734e;margin:2px 0 7px}.rr-liff .watch-summary .favorite-button{top:9px;right:9px;width:44px;height:44px;min-height:44px;min-width:44px;background:#fff5f8;border:0;padding:9px;box-shadow:none}.rr-liff .watch-summary .favorite-button .icon{width:18px;height:18px}
.rr-liff .watch-target{display:block;padding:16px;margin:0;background:#f4effc;border:0;border-top:1px solid var(--border);border-radius:0;color:var(--ink);box-shadow:none}.watch-goal-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.watch-goal-label{display:flex;align-items:center;gap:7px;color:#706280;font-size:12px}.watch-goal-label .icon{width:16px;height:16px}.rr-liff .watch-target b{font-size:24px;font-weight:800;color:#51339a;display:block;margin-top:3px;line-height:1.4}.watch-goal-top .button{font-size:12px!important;min-height:44px;padding:9px 12px;background:#fff!important;gap:5px}.watch-goal-top .button .icon{width:16px;height:16px}.watch-goal-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:12px;padding-top:12px;border-top:1px solid #e5d9f3}.rr-liff .watch-goal-status strong{display:inline-block;font-size:11px;line-height:1.5;background:#e4f5cf;color:#38631d;border-radius:6px;padding:3px 7px}.rr-liff .watch-goal-status p{font-size:12px;line-height:1.5;margin:0;color:#665777}
.rr-liff .journey-chart{margin-top:16px;padding:16px}.rr-liff .journey-chart .section-heading{margin:0 0 14px;align-items:center}.rr-liff .journey-chart .section-heading h2{font-size:18px}.rr-liff .journey-chart select{min-height:44px;font-size:12px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--page);color:var(--ink)}.rr-liff .price-chart{width:100%;height:auto}.rr-liff .price-chart text{fill:var(--muted);font-size:12px}.rr-liff .chart-caption{font-size:10px;line-height:1.6;color:var(--muted);gap:8px}.rr-liff .price-stat-grid{background:var(--page);padding:12px 4px;gap:6px;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.rr-liff .price-stat-grid>div{padding:6px;border:0}.rr-liff .price-stat-grid b{font-size:18px}.rr-liff .price-stat-grid span{font-size:11px;line-height:1.5}.rr-liff .stats-note{font-size:10px;line-height:1.6}.rr-liff .journey-chart .text-button{font-size:12px;min-height:44px;margin-top:5px}
.rr-liff .timeline-card{padding:16px;margin-top:16px}.rr-liff .timeline-card .section-heading{margin:0 0 8px}.rr-liff .timeline-card h2{font-size:17px}.rr-liff .timeline-card .section-note{font-size:11px;line-height:1.7}.rr-liff .price-timeline li{font-size:12px;line-height:1.6;gap:12px}.rr-liff .price-timeline time{font-size:11px;flex-basis:55px}.rr-liff .timeline-card .button{font-size:12px;min-height:44px}.rr-liff .watch-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.rr-liff .watch-actions>.button{font-size:12px!important;padding:10px 12px;min-height:44px;flex:1 1 auto}.rr-liff .watch-actions .danger{background:transparent;color:#b83655;border:1px solid #efd4db;border-radius:12px}.rr-liff .section-note{font-size:11px;line-height:1.6}
/* Price controls retain the playful lime accent without the heavy machine shell. */
.rr-liff .journey-target{background:var(--card);border:1px solid var(--border);box-shadow:none;border-radius:18px;padding:16px;margin-top:16px}.rr-liff .target-heading{padding-bottom:12px;border-bottom:1px solid var(--border)}.rr-liff .journey-target .target-value{background:#f3ecff;color:#51339a;border:1px solid #d7c6ef;box-shadow:none;border-radius:12px}.rr-liff .journey-target .target-value input{background:transparent;color:#51339a;border:0;box-shadow:none;padding-inline:0}.rr-liff .journey-target .target-value>span{color:#51339a}.rr-liff .round-button{background:#e8f7d6;color:#456829;border:1px solid #d7e8c2;box-shadow:none;width:44px;height:44px;min-width:44px;min-height:44px}.rr-liff .journey-target .target-number{gap:6px;width:72%;grid-template-columns:44px minmax(0,1fr) 44px}.rr-liff input[type=range]{accent-color:#6a41cc}.rr-liff .preset-grid button{background:var(--page);border:1px solid var(--border);box-shadow:none;color:var(--ink);min-height:48px}.rr-liff .preset-grid button[aria-pressed=true]{background:#e9ddff;border-color:#ba9de4;color:#51339a}.rr-liff .preset-grid button[aria-pressed=true] :is(strong,span){color:#51339a}.rr-liff .target-delivery{border-top:1px solid var(--border)}.rr-liff .alert-summary{background:#f1ebfa;color:#51339a;border:0;border-radius:12px}.rr-liff .alert-summary p{color:#51339a}.pop-price-comment{font-size:12px;line-height:1.6;color:var(--muted);min-height:36px;margin:10px 0}.pop-price-comment:before{content:'ROPPY / ';font-size:10px;color:var(--teal);font-weight:700}
.rr-liff .receipt-card{border-top:3px solid #c4aae8;box-shadow:none;border-bottom:1px dashed #b6a1cb}.rr-liff .notification-preview{background:#eee7f9}.rr-liff .toggle[aria-checked=true]{background:#6a41cc}.rr-liff #toast{background:#392957;color:#fff;border:0;border-radius:12px;box-shadow:0 5px 20px #39295725}.rr-liff .pop-reply{background:#f2eaff;border:1px solid #dccbef;box-shadow:none;color:#51339a}
@media(min-width:720px){.rr-liff .app-header{padding-inline:28px}.rr-liff .page-body,.rr-liff .flow-body{padding:20px 28px 32px}.rr-liff .hero{padding:28px;grid-template-columns:minmax(0,1fr) 150px;min-height:186px}.rr-liff .hero .hero-visual{height:150px}.rr-liff .home-hero{grid-template-columns:minmax(0,1fr) 210px;min-height:265px}.rr-liff .home-hero .hero-visual{height:210px}.rr-liff .home-hero .hero-copy h1{font-size:38px}.watch-intro{padding:24px 28px 12px}.watch-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:18px;align-items:start}.rr-liff .watch-overview .journey-chart{margin-top:0}.rr-liff .watch-summary .detail-product{grid-template-columns:82px minmax(0,1fr);gap:12px}.rr-liff .watch-summary .price-line strong{font-size:28px}.rr-liff .watch-summary .detail-copy h2{font-size:16px!important}.rr-liff .watch-summary .detail-image{height:130px}}
@media(max-width:359px){.rr-liff .app-header{padding-inline:12px}.rr-liff .app-header .brand,.rr-liff .app-header .brand img{width:124px;flex-basis:124px}.rr-liff .page-body,.rr-liff .flow-body{padding-inline:14px}.rr-liff .hero{padding:20px 14px;grid-template-columns:minmax(0,1fr) 30%;gap:6px}.rr-liff .hero .hero-copy h1{font-size:24px}.rr-liff .home-hero .hero-copy h1{font-size:28px}.rr-liff .home-hero{grid-template-columns:minmax(0,1fr) 36%}.rr-liff .hero .hero-visual{height:116px}.rr-liff .home-hero .hero-visual{height:155px}.watch-intro{padding-inline:14px}.watch-intro h1{font-size:20px}.watch-mascot{width:60px;height:68px}.rr-liff .watch-summary .detail-product{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:16px 12px}.rr-liff .watch-summary .detail-copy h2{font-size:15px!important}.rr-liff .watch-summary .price-line strong{font-size:27px}.rr-liff .watch-target{padding:14px 12px}.rr-liff .product-row .product-open{grid-template-columns:65px minmax(0,1fr);padding:12px}.rr-liff .product-row .card-graph{display:none}.rr-liff .filter-chips{gap:5px}.rr-liff .filter-chips button{padding:8px;font-size:11px}.rr-liff .journey-target .target-number{width:100%}.rr-liff .journey-target .target-rop{display:none}}
/* Dark mode uses the same hierarchy, no light-on-light labels. */
[data-theme=dark]{--ink:#eee8f6;--muted:#b9afc9;--teal:#bba0f4;--deep:#d3bbff;--page:#201a2b;--card:#2b2437;--border:#43374f;--coral:#ff91c6;--rr-text:#eee8f6;--rr-text-muted:#b9afc9;--rr-shadow-card:none;color-scheme:dark}
[data-theme=dark] .rr-liff .garden-shell,[data-theme=dark] .rr-liff .watch-intro{background:var(--page)}[data-theme=dark] .rr-liff .app-header,[data-theme=dark] .rr-liff .bottom-nav{background:var(--card)}[data-theme=dark] .rr-liff .app-header{background:#eee8f6}[data-theme=dark] .rr-liff .app-header .brand{background:transparent;border-radius:0;padding:0}
[data-theme=dark] .rr-liff .app-header .icon-button{color:#655c75}[data-theme=dark] .rr-liff .mode-strip{background:#30253e;color:#c6b7d8}[data-theme=dark] .rr-liff .hero{background:linear-gradient(115deg,#342344,#45305c)}[data-theme=dark] .rr-liff .hero .hero-copy h1,[data-theme=dark] .rr-liff .home-hero .hero-copy h1 em{color:#f4edff}[data-theme=dark] .rr-liff .hero .hero-copy>p{color:#c9b9dc}[data-theme=dark] .rr-liff .watch-target,[data-theme=dark] .rr-liff .mascot-banner,[data-theme=dark] .rr-liff .alert-summary{background:#372847}[data-theme=dark] .rr-liff .watch-target b,[data-theme=dark] .rr-liff .watch-goal-status p,[data-theme=dark] .rr-liff .watch-goal-label{color:#d5c0f4}[data-theme=dark] .rr-liff .watch-goal-top .button{background:#483359!important;color:#eee3ff}[data-theme=dark] .rr-liff .watch-summary .detail-image{background:#fff}[data-theme=dark] .rr-liff .watch-goal-status{border-color:#564064}[data-theme=dark] .rr-liff .card-status{color:#9adcb2!important}[data-theme=dark] .rr-liff .bottom-nav button[aria-current=page],[data-theme=dark] .rr-liff .filter-chips button[aria-pressed=true]{background:#513775;color:#f4eaff}[data-theme=dark] .rr-liff :is(.button.outline,.button.soft,.button.secondary){color:#d2b7ff;border-color:#695380}
@keyframes receipt-feed{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.track-success .receipt-card{animation:receipt-feed .5s ease-out both}
@media(hover:hover){.rr-liff .product-card:hover{transform:translateY(-2px);box-shadow:0 5px 18px #39295710}.rr-liff .app-header .icon-button:hover{background:#f0e9ff}}
.dialog-open .hero .retina-rop,.motion-off .hero .retina-rop{animation-play-state:paused!important}
/* Product names and prices need room on narrow screens. */
@media(max-width:719px){[data-screen=home] .rr-liff .product-grid,[data-screen=deals] .rr-liff .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rr-liff .product-card:not(.product-row) .product-image{height:138px}.rr-liff .product-card:not(.product-row) .product-copy{padding:12px}.rr-liff .product-card:not(.product-row) .product-copy h3{font-size:14px;min-height:42px}.rr-liff .product-card:not(.product-row) .price-line strong{font-size:25px}.rr-liff .product-card:not(.product-row) .discount{float:none!important;display:inline-block}}
[data-theme=dark] .rr-liff .watch-summary .summary-saving{color:#9adcb2}[data-theme=dark] .watch-intro .watch-eyebrow{color:#c3a5ed}
