@layer components{.ros-root,.ros-sheet{--ros-m-ink:#fff;--ros-m0:#003fe4;--ros-m1:#b4302a;--ros-m2:#1c7f48;--ros-m3:#9a5d00;--ros-m4:#6b3fa0;--ros-m5:#0e7c86;--ros-m6:#c2185b;--ros-m7:#4b5670;--ros-m8:#c2410c;--ros-m9:#3730a3;--ros-m10:#4d7c0f;--ros-m11:#7c4a2d;--ros-t0:var(--ros-m0);--ros-t1:var(--ros-m1);--ros-t2:var(--ros-m2);--ros-t3:var(--ros-m3);--ros-t4:var(--ros-m4);--ros-t5:var(--ros-m5);--ros-t6:var(--ros-m6);--ros-t7:var(--ros-m7);--ros-t8:var(--ros-m8);--ros-t9:var(--ros-m9);--ros-t10:var(--ros-m10);--ros-t11:var(--ros-m11);--ros-sat:#2f5bd3}:root[data-theme=dark] :is(.ros-root,.ros-sheet){--ros-m-ink:#0b0e16;--ros-m0:#8ea6ff;--ros-m1:#ff8f86;--ros-m2:#5fd394;--ros-m3:#f0b84a;--ros-m4:#c7a6f6;--ros-m5:#5fd0d7;--ros-m6:#f59ac0;--ros-m7:#aab4c9;--ros-m8:#fdb47a;--ros-m9:#a9b4fd;--ros-m10:#a8dc5c;--ros-m11:#dcae8e;--ros-sat:#8ea6ff}.ros-month{background:var(--solid);box-shadow:var(--sh-solid);border-radius:9999px;align-items:center;gap:4px;padding:4px;display:flex}.ros-month-label{letter-spacing:-.01em;min-height:40px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:9999px;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;position:relative}.ros-month-label:after{content:"";position:absolute;inset:-2px 0}.ros-month-label small{color:var(--ink-3);font-size:11px;font-weight:600}.ros-month-label:active{background:var(--solid-2)}.ros-rail{scrollbar-width:none;gap:6px;margin:0 -16px;padding:4px 16px;display:flex;overflow-x:auto}.ros-rail::-webkit-scrollbar{display:none}.ros-mchip{min-height:36px;color:var(--ink);background:var(--solid);box-shadow:var(--sh-solid);border-radius:9999px;flex:none;align-items:center;gap:6px;padding:0 12px 0 5px;font-size:12.5px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;position:relative}.ros-mchip:after{content:"";position:absolute;inset:-4px -2px}.ros-mchip:active{transform:scale(.97)}.ros-mchip>i{border-radius:9999px;place-items:center;width:26px;height:26px;font-size:11px;font-style:normal;font-weight:800;display:grid}.ros-mchip .cnt{color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:600}.ros-mchip .me{color:var(--accent-soft-ink);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:9999px;padding:1px 6px;font-size:10px;font-weight:800}.ros-mchip[aria-pressed=true]{box-shadow:0 0 0 2px var(--mc,var(--accent)), var(--sh-solid)}.ros-sheet .ros-mchip{background:var(--solid-2);box-shadow:inset 0 0 0 .5px var(--hair)}.ros-sheet .ros-mchip[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--mc,var(--accent))}.ros-spot{min-height:40px;color:var(--ink-2);background:var(--solid);box-shadow:var(--sh-solid);border-radius:14px;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:8px 12px;font-size:12.5px;display:flex}.ros-spot b{color:var(--mt,var(--ink));font-weight:800}.ros-cal{border-radius:var(--r-list);background:var(--solid);box-shadow:var(--sh-solid);padding:8px 6px 6px}.ros-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.ros-dow{text-align:center;color:var(--ink-3);padding:0 0 3px;font-size:10.5px;font-weight:700}.ros-dow[data-sun]{color:var(--crit)}.ros-dow[data-sat]{color:var(--ros-sat)}.ros-cell{min-width:0;min-height:var(--cell-h,48px);text-align:left;background:var(--solid-2);border-radius:10px;align-content:start;gap:2px;padding:3px 2px 4px;transition:opacity .2s,box-shadow .15s,transform .15s;display:grid;position:relative}.ros-cell:after{content:"";border-radius:11px;position:absolute;inset:-1.5px}.ros-cell .d{min-width:16px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:9999px;justify-self:start;padding:0 4px;font-size:10.5px;font-weight:700;line-height:14px}.ros-cell[data-hol] .d{color:var(--crit)}.ros-cell[data-sat] .d{color:var(--ros-sat)}.ros-cell[data-today] .d{color:var(--accent-ink);background:var(--accent)}.ros-cell[data-dim]{opacity:.3}.ros-cell[data-sel]{z-index:1;box-shadow:0 0 0 2px var(--accent);transform:scale(1.04)}.ros-cell[data-pick]:not([data-sel]){box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 45%, transparent)}.ros-cell[data-target]{outline:2px dashed var(--accent);outline-offset:-2px}.ros-cell .off{color:var(--crit);font-size:9px;font-weight:800;line-height:12px;position:absolute;top:3px;right:3px}.ros-chip{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:18px;padding:1px 2px;font-size:11px;font-weight:700;line-height:16px;display:flex;position:relative}.ros-chip>span{min-width:0;overflow:hidden}.ros-chip[data-open]{color:var(--crit);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--crit) 55%, transparent);background:0 0;font-size:10px}.ros-chip[data-pin=fixed]{box-shadow:0 0 0 1.5px var(--solid-2), 0 0 0 3px var(--ink)}.ros-chip[data-pin=kept]:after{content:"";background:var(--ink);width:6px;height:6px;box-shadow:0 0 0 1.5px var(--solid-2);border-radius:9999px;position:absolute;top:-2px;right:-2px}.ros-chip[data-mine]{box-shadow:0 0 0 1.5px var(--solid-2), 0 0 0 3px var(--accent)}.ros-legend{color:var(--ink-3);flex-wrap:wrap;gap:4px 12px;padding:6px 4px 0;font-size:11.5px;display:flex}.ros-legend>span{align-items:center;gap:5px;display:inline-flex}.ros-legend i{background:var(--ink-3);border-radius:3px;width:14px;height:10px;display:inline-block}.ros-legend i.fixed{box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.ros-legend i.kept{background:var(--ink);border-radius:9999px;width:6px;height:6px}.ros-legend i.open{box-shadow:inset 0 0 0 1px var(--crit);background:0 0}.ros-legend b{color:var(--crit);font-size:9.5px;font-weight:800}.ros-actbar{left:50%;bottom:calc(12px + env(safe-area-inset-bottom) + 58px + 8px);z-index:41;background:var(--solid);width:calc(100% - 24px);max-width:536px;box-shadow:inset 0 0 0 .5px var(--hair), var(--sh-float);animation:ros-rise .22s var(--ease-out);border-radius:20px;gap:6px;padding:8px;display:grid;position:fixed;transform:translate(-50%)}.ros-actbar-head{min-height:32px;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:0 2px 0 6px;font-size:13px;font-weight:700;display:flex}.ros-actbar-head .s{color:var(--ink-3);font-size:11.5px;font-weight:500;display:block}.ros-actbar-row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.ros-actbar-row .btn{border-radius:14px;gap:5px;width:auto;min-height:44px;padding:0 6px;font-size:12.5px}.ros-presets{gap:8px;display:grid}.ros-preset{text-align:left;background:var(--solid);min-height:44px;box-shadow:inset 0 0 0 1px var(--hair);border-radius:18px;gap:2px;padding:12px 14px;transition:box-shadow .15s;display:grid}.ros-preset b{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.ros-preset span{color:var(--ink-3);font-size:12px}.ros-preset[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--accent)}.ros-paste{resize:vertical;border-radius:var(--r-input);width:100%;min-height:112px;color:var(--ink);background:var(--solid);box-shadow:inset 0 0 0 1px var(--hair);border:0;padding:10px 12px;font-size:15px;line-height:1.5;display:block}.ros-paste:focus-visible{outline:2px solid var(--accent);outline-offset:0}.ros-input{border-radius:var(--r-input);width:100%;min-height:44px;color:var(--ink);background:var(--solid);box-shadow:inset 0 0 0 1px var(--hair);border:0;padding:0 12px;font-size:15px;display:block}.ros-input:focus-visible{outline:2px solid var(--accent);outline-offset:0}.ros-dot{border-radius:9999px;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.ros-wk{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.ros-wk button,.ros-mini button{min-height:44px;color:var(--ink);background:var(--solid);box-shadow:inset 0 0 0 .5px var(--hair);font-variant-numeric:tabular-nums;border-radius:12px;font-size:13px;font-weight:700}.ros-wk button[data-sun],.ros-mini button[data-hol]{color:var(--crit)}.ros-wk button[data-sat],.ros-mini button[data-sat]{color:var(--ros-sat)}.ros-wk button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.ros-wk.off button[aria-pressed=true],.ros-mini button[aria-pressed=true]{color:var(--crit);background:var(--crit-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--crit) 40%, transparent)}.ros-mini{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.ros-mini button{place-content:center;gap:0;font-size:12.5px;line-height:1.1;display:grid}.ros-mini button small{font-size:9px;font-weight:800}.ros-mini button[data-duty]:not([aria-pressed=true]) small{color:var(--ink-3)}.ros-prev{color:var(--accent-ink);background:linear-gradient(140deg, var(--accent), color-mix(in srgb, var(--accent) 72%, var(--ink)));border-radius:18px;gap:4px;padding:14px;display:grid}.ros-prev small{opacity:.88;font-size:11.5px}.ros-prev b{letter-spacing:-.02em;font-size:19px;font-weight:800}.ros-note{color:var(--ink-3);font-size:12px;line-height:1.55}.ros-bar{background:var(--solid-2);border-radius:9999px;height:6px;overflow:hidden}.ros-bar>i{border-radius:9999px;height:100%;display:block}.ros-agenda{gap:6px;display:grid}.ros-agenda-item{text-align:left;background:var(--solid);width:100%;min-height:48px;box-shadow:var(--sh-solid);border-radius:16px;align-items:center;gap:10px;padding:6px 12px;display:flex}.ros-agenda-item .dt{min-width:5.2rem;color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.ros-agenda-item .s{min-width:0;color:var(--ink-3);flex:1;font-size:12px}.ros-agenda-item .tag{color:var(--ink-2);background:var(--solid-2);border-radius:9999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.ros-agenda-item .tag.we{color:var(--accent-soft-ink);background:color-mix(in srgb, var(--accent) 13%, transparent)}.ros-agenda-item[data-past]{opacity:.55}.ros-agenda-item[data-next]{box-shadow:inset 0 0 0 2px var(--accent), var(--sh-solid)}.ros-pick{flex-wrap:wrap;gap:8px;display:flex}.ros-exchange{background:var(--solid);box-shadow:var(--sh-solid);border-radius:16px;gap:8px;padding:10px 12px;display:grid}.ros-sheet .ros-exchange,.ros-sheet .ros-agenda-item{box-shadow:inset 0 0 0 .5px var(--hair)}.ros-own{color:var(--accent-soft-ink);background:color-mix(in srgb, var(--accent) 11%, transparent);border-radius:9999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}}@keyframes ros-rise{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}
