:root{--rb-bg:#f7f6f2;--rb-bg-soft:#ffffff;--rb-surface:rgba(255, 255, 255, 0.8);--rb-surface-strong:rgba(255, 255, 255, 0.94);--rb-border:rgba(15, 23, 42, 0.08);--rb-text:#111827;--rb-text-soft:rgba(17, 24, 39, 0.58);--rb-accent:#0ea5e9;--rb-accent-strong:#0284c7;--rb-shadow:0 20px 54px rgba(15, 23, 42, 0.12);--rb-radius-xl:clamp(24px, 3vw, 34px);--rb-radius-lg:22px;--rb-radius-md:18px;--rb-safe-top:max(env(safe-area-inset-top), 22px);--rb-safe-bottom:max(env(safe-area-inset-bottom), 12px)}html.rb-modal-open,body.rb-modal-open,.rb-modal-open{overflow:hidden;touch-action:none}.rb-modal[hidden]{display:none!important;pointer-events:none!important}.rb-modal{pointer-events:none}.rb-modal:not([hidden]){pointer-events:auto}.rb-app{position:relative;min-height:100svh;color:var(--rb-text);font-family:"SF Pro Display","Segoe UI",system-ui,sans-serif}.rb-app__bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 8%,rgb(14 165 233 / .08),transparent 24%),radial-gradient(circle at 85% 4%,rgb(59 130 246 / .06),transparent 22%),linear-gradient(180deg,#ffffff 0%,#faf9f5 54%,#f2efe7 100%)}.rb-shell{position:relative;z-index:1;display:grid;grid-template-rows:1fr;padding:clamp(8px, 1.4vw, 14px) clamp(8px, 1.8vw, 18px) calc(112px + var(--rb-safe-bottom));max-width:1180px;margin:0 auto;min-height:100svh;box-sizing:border-box}.rb-stage,.rb-camera-card{display:grid;min-height:0}.rb-camera{position:relative;overflow:hidden;min-height:calc(100svh - 14px - var(--rb-safe-bottom) - 116px);border-radius:var(--rb-radius-xl);background:#d1d5db;box-shadow:var(--rb-shadow);isolation:isolate}.rb-camera video,.rb-camera img,.rb-gallery__frame img{width:100%;height:100%;object-fit:cover;display:block}.rb-camera video.is-mirrored{transform:scaleX(-1)}.rb-brand{display:flex;align-items:center;gap:10px;min-width:0}.rb-brand__icon{width:40px;height:40px;border-radius:14px;overflow:hidden;background:rgb(255 255 255 / .92);box-shadow:inset 0 0 0 1px rgb(15 23 42 / .08);display:grid;place-items:center;flex:0 0 auto}.rb-brand__icon img{width:100%;height:100%;object-fit:cover}.rb-brand h1{margin:0;font-size:clamp(1rem, 2vw, 1.16rem);font-weight:650;letter-spacing:-.02em;color:#fff}.rb-camera__header,.rb-progress,.rb-preview{position:absolute;z-index:8}.rb-camera__header{top:calc(var(--rb-safe-top) - 8px);left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:22px;background:rgb(15 23 42 / .2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .14)}.rb-header__meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.rb-clock,.rb-session,.rb-chip,.rb-float,.rb-button,.rb-icon-button,.rb-timer-option{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgb(255 255 255 / .86);box-shadow:inset 0 0 0 1px rgb(15 23 42 / .08)}.rb-clock,.rb-session{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.82rem;color:rgb(17 24 39 / .74)}.rb-session{min-width:34px;padding:0 11px}.rb-chip,.rb-float,.rb-button,.rb-icon-button,.rb-timer-option,.rb-option-card{border:0;color:var(--rb-text);font:inherit;text-decoration:none;cursor:pointer}.rb-chip,.rb-float,.rb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px}.rb-chip.is-active,.rb-timer-option.is-active,.rb-option-card.is-active{background:rgb(14 165 233 / .12);box-shadow:inset 0 0 0 1px rgb(14 165 233 / .28)}.rb-float{position:relative;min-height:46px;padding:0 14px;font-size:.9rem;color:rgb(17 24 39 / .88)}.rb-float--utility{min-width:0;padding:0 12px;font-size:.84rem}.rb-float--gallery,.rb-float--camera{min-width:clamp(84px, 14vw, 132px)}.rb-float em{position:absolute;top:7px;right:8px;width:10px;height:10px;border-radius:999px;background:#fb7185;box-shadow:0 0 0 6px rgb(251 113 133 / .16)}.rb-countdown{position:absolute;inset:0;display:grid;place-items:center;z-index:6;font-size:clamp(4.6rem, 18vw, 9rem);font-weight:700;text-shadow:0 18px 30px rgb(0 0 0 / .28);pointer-events:none;color:#fff}.rb-camera__message{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;text-align:center;color:#fff;font-size:1rem;background:linear-gradient(180deg,rgb(15 23 42 / .22),rgb(15 23 42 / .56));pointer-events:none}.rb-flash{position:absolute;inset:0;background:rgb(255 255 255 / .96);opacity:0;z-index:7;pointer-events:none}.rb-flash.is-active{animation:rb-flash 240ms ease}.rb-preview{right:14px;top:calc(var(--rb-safe-top) + 64px);width:clamp(84px, 16vw, 122px);aspect-ratio:4 / 5;border-radius:18px;overflow:hidden;box-shadow:0 18px 38px rgb(15 23 42 / .18);border:1px solid rgb(255 255 255 / .5);pointer-events:none}.rb-progress{left:14px;right:14px;bottom:18px;max-width:min(520px, calc(100% - 28px));padding:12px 14px;border-radius:20px;background:rgb(15 23 42 / .22);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .12);color:#fff;pointer-events:none}.rb-progress__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.rb-progress__head strong{margin:0;font-size:.96rem;font-weight:650;color:#fff}.rb-progress__head span,.rb-progress p{margin:0;font-size:.82rem;color:rgb(255 255 255 / .82)}.rb-progress__preset{display:inline-flex;align-items:center;margin-top:2px;padding:6px 10px;border-radius:999px;background:rgb(255 255 255 / .14);font-size:.78rem;color:rgb(255 255 255 / .92)}.rb-progress__bar{width:100%;height:8px;border-radius:999px;background:rgb(255 255 255 / .18);overflow:hidden;margin-bottom:8px}.rb-progress__bar span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7dd3fc,#38bdf8,#f0fdff);transition:width 240ms ease}.rb-toolbar{position:fixed;left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:calc(var(--rb-safe-bottom) + 8px);z-index:100;display:grid;grid-template-columns:minmax(76px,118px) minmax(72px,104px) auto minmax(72px,104px) minmax(76px,118px);align-items:center;justify-content:center;gap:8px;max-width:820px;margin:0 auto;padding:10px 12px;border-radius:26px;background:rgb(255 255 255 / .8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 22px 48px rgb(15 23 42 / .14),inset 0 0 0 1px rgb(15 23 42 / .08)}.rb-shutter{position:relative;width:clamp(82px, 12vw, 108px);aspect-ratio:1;border:0;border-radius:999px;background:rgb(15 23 42 / .08);box-shadow:inset 0 0 0 1px rgb(15 23 42 / .08),0 18px 36px rgb(15 23 42 / .16);cursor:pointer;margin:0 auto}.rb-shutter__outer,.rb-shutter__inner{position:absolute;inset:0;border-radius:inherit}.rb-shutter__outer{border:4px solid rgb(255 255 255 / .98)}.rb-shutter__inner{inset:12px;background:linear-gradient(180deg,#ffffff,#eef2f7)}.rb-toast{position:fixed;left:50%;bottom:calc(96px + var(--rb-safe-bottom));transform:translateX(-50%);z-index:10020;max-width:min(92vw, 520px);padding:12px 16px;border-radius:16px;background:rgb(255 255 255 / .94);box-shadow:0 18px 40px rgb(15 23 42 / .14);color:var(--rb-text);font-size:.95rem;text-align:center;pointer-events:none}.rb-toast[data-tone="success"]{color:#047857}.rb-toast[data-tone="warning"]{color:#b45309}.rb-toast[data-tone="error"]{color:#b91c1c}.rb-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px}.rb-modal__overlay{position:absolute;inset:0;background:rgb(15 23 42 / .18);pointer-events:auto}.rb-modal__panel{position:relative;z-index:1;pointer-events:auto;width:min(100%, 560px);max-height:min(92svh, 900px);overflow:auto;border-radius:28px;padding:18px;background:var(--rb-surface-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--rb-shadow);border:1px solid var(--rb-border)}.rb-modal__panel--gallery{width:min(100%, 1080px);padding:18px}.rb-modal__panel--sheet{width:min(100%, 420px);align-self:end;margin-bottom:var(--rb-safe-bottom);padding-top:8px}.rb-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.rb-modal__header--sheet{margin-bottom:12px}.rb-modal__header h2{margin:2px 0 0;font-size:clamp(1.2rem, 3vw, 1.5rem)}.rb-modal__eyebrow{margin:0;font-size:.78rem;color:var(--rb-text-soft)}.rb-icon-button{width:42px;height:42px;border-radius:999px;font-size:1.65rem;line-height:1}.rb-modal__body{display:grid;gap:14px;margin:18px 0}.rb-modal__body img{width:100%;max-height:280px;object-fit:cover;border-radius:22px}.rb-field{display:grid;gap:8px}.rb-field span{color:var(--rb-text-soft);font-size:.92rem}.rb-field input,.rb-field textarea{width:100%;box-sizing:border-box;border:1px solid rgb(15 23 42 / .1);border-radius:18px;padding:14px 16px;background:rgb(248 250 252 / .92);color:var(--rb-text);font:inherit}.rb-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.rb-button--primary{background:linear-gradient(135deg,#7dd3fc,#38bdf8);color:#062133;font-weight:700}.rb-button--ghost,.rb-button--secondary{background:rgb(255 255 255 / .92)}.rb-gallery{margin-top:16px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,0.64fr);gap:16px}.rb-gallery__stage{display:grid;gap:12px}.rb-gallery__switch{display:inline-flex;gap:8px}.rb-gallery__frame{position:relative;min-height:min(58svh, 680px);overflow:hidden;border-radius:24px;background:rgb(15 23 42 / .04)}.rb-gallery__empty,.rb-gallery__loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;padding:24px;text-align:center;pointer-events:none}.rb-gallery__empty{color:var(--rb-text-soft);background:linear-gradient(180deg,rgb(255 255 255 / .82),rgb(255 255 255 / .74))}.rb-gallery__loading{gap:12px;background:linear-gradient(180deg,rgb(255 255 255 / .16),rgb(15 23 42 / .16))}.rb-progress--gallery{position:static;left:auto;right:auto;bottom:auto;max-width:320px;width:min(100%, 320px);padding:10px 12px;margin:0 auto;background:rgb(255 255 255 / .22)}.rb-gallery__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rb-gallery__details{display:grid;gap:6px}.rb-gallery__footer p{margin:0;color:var(--rb-text-soft)}.rb-gallery__preset{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgb(14 165 233 / .1);color:#0369a1;font-size:.8rem;font-weight:600;width:fit-content}.rb-gallery__list{display:grid;gap:10px;max-height:min(72svh, 740px);overflow:auto;padding-right:2px}.rb-gallery-card{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:10px;border:0;border-radius:18px;background:rgb(255 255 255 / .88);color:var(--rb-text);text-align:left;cursor:pointer}.rb-gallery-card.is-active{background:rgb(14 165 233 / .1);box-shadow:inset 0 0 0 1px rgb(14 165 233 / .24)}.rb-gallery-card img{width:76px;height:76px;object-fit:cover;border-radius:14px}.rb-gallery-card__meta,.rb-gallery-card__status{display:grid;gap:6px;min-width:0}.rb-gallery-card__preset{display:inline-flex;align-items:center;width:fit-content;padding:4px 8px;border-radius:999px;background:rgb(14 165 233 / .1);color:#0369a1;font-size:.74rem;font-weight:600}.rb-gallery-card strong,.rb-gallery-card span{display:block}.rb-gallery-card span{font-size:.86rem;color:var(--rb-text-soft)}.rb-gallery-card__bar{height:6px;border-radius:999px;background:rgb(15 23 42 / .08);overflow:hidden}.rb-gallery-card__bar span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#0ea5e9)}.rb-modal--sheet{place-items:end center}.rb-sheet__grabber{width:52px;height:5px;border-radius:999px;background:rgb(17 24 39 / .12);margin:0 auto 12px}.rb-timer-list{display:grid;gap:8px}.rb-timer-option{min-height:56px;padding:0 18px;border-radius:18px;font-size:1rem;text-align:left}.rb-option-list{display:grid;gap:10px}.rb-option-card{display:grid;gap:4px;min-height:70px;padding:14px 16px;border-radius:20px;text-align:left;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgb(255 255 255 / .88);box-shadow:inset 0 0 0 1px rgb(15 23 42 / .08)}.rb-option-card__title{font-size:1rem;font-weight:650}.rb-option-card small{font-size:.84rem;color:var(--rb-text-soft)}.rb-spinner{width:34px;height:34px;border:3px solid rgb(17 24 39 / .14);border-top-color:rgb(17 24 39 / .72);border-radius:999px;animation:rb-spin 820ms linear infinite}@keyframes rb-spin{to{transform:rotate(360deg)}}@keyframes rb-flash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}@media (max-width:900px){.rb-shell{padding-bottom:calc(110px + var(--rb-safe-bottom))}.rb-gallery{grid-template-columns:1fr}.rb-gallery__list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.rb-gallery-card{grid-template-columns:64px 1fr}.rb-gallery-card img{width:64px;height:64px}}@media (max-width:680px){.rb-shell{padding-left:8px;padding-right:8px;padding-bottom:calc(110px + var(--rb-safe-bottom))}.rb-camera{min-height:calc(100svh - 14px - var(--rb-safe-bottom) - 112px)}.rb-camera__header{top:calc(var(--rb-safe-top) - 10px);left:10px;right:10px;padding:8px 10px;border-radius:18px}.rb-preview{top:calc(var(--rb-safe-top) + 56px);right:10px;width:84px;border-radius:14px}.rb-brand__icon{width:36px;height:36px;border-radius:12px}.rb-brand h1{font-size:.98rem}.rb-header__meta{gap:6px}.rb-clock,.rb-session{min-height:32px;padding:0 10px;font-size:.8rem}.rb-chip,.rb-float{min-height:40px;padding:0 10px;font-size:.82rem}.rb-progress{left:10px;right:10px;bottom:14px;padding:10px 12px;border-radius:18px}.rb-toolbar{grid-template-columns:minmax(68px,84px) minmax(64px,78px) auto minmax(64px,78px) minmax(68px,84px);gap:8px;padding:10px;left:8px;right:8px;border-radius:24px}.rb-float--gallery,.rb-float--camera,.rb-float--utility{min-width:0}.rb-shutter{width:clamp(78px, 22vw, 92px)}.rb-gallery__frame{min-height:40svh}.rb-gallery__list{grid-template-columns:1fr}.rb-modal__panel,.rb-modal__panel--gallery,.rb-modal__panel--sheet{padding:16px;border-radius:24px}.rb-modal__footer,.rb-gallery__footer{flex-direction:column;align-items:stretch}.rb-button,.rb-button--secondary,.rb-button--primary,.rb-button--ghost{width:100%}}