:root{--gray-50: #fafbfc;--gray-100: #f2f4f6;--gray-200: #e2e5e8;--gray-300: #b8bec4;--gray-400: #8a929a;--gray-500: #626a73;--gray-900: #171a1e;--orange-50: #fff8ec;--orange-600: #ff6400;--orange-700: #cc4702;--orange-press: #e85a00;--blue-50: #edf8ff;--blue-700: #0076ff;--red-50: #fff2f1;--red-100: #ffe2e0;--red-600: #ea2b1f;--red-text: #c21e14;--text: var(--gray-900);--text-secondary: var(--gray-500);--canvas: var(--gray-100);--surface: #ffffff;--line: var(--gray-200);--ease-out: cubic-bezier(.23, 1, .32, 1);color:var(--text);background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;font-size:15px;line-height:20px;font-synthesis:none;letter-spacing:0;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--canvas);overscroll-behavior-y:none}button,input{font:inherit;letter-spacing:0;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}button:disabled{cursor:default}svg{width:20px;height:20px;flex:none}h1,h2,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--gray-900);outline-offset:2px}.app-shell{position:relative;height:100vh;height:100dvh;max-width:560px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:var(--canvas)}.screen{min-height:0;flex:1;display:flex;flex-direction:column}.screen-base,.screen-layer{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--canvas);outline:none}.screen-layer{z-index:2;box-shadow:-12px 0 32px #171a1e14}.screen-layer.leaving{z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.content{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.scrollable{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sticky-footer{flex:none;padding:12px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--gray-100)}.page-header,.top-bar{flex:none;background:var(--surface)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.page-header h1{font-size:22px;line-height:28px;font-weight:700}.top-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:56px;padding:env(safe-area-inset-top) max(6px,env(safe-area-inset-right)) 0 max(6px,env(safe-area-inset-left))}.top-bar strong{text-align:center;font-size:17px;line-height:22px;font-weight:600;overflow-wrap:anywhere}.content h1{font-size:22px;line-height:28px;font-weight:700}.subtitle{margin-top:-6px;color:var(--text-secondary)}.primary-button,.secondary-button,.danger-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid transparent;border-radius:12px;font-weight:500;text-align:center;transition:transform .12s var(--ease-out),background-color .12s ease-out}.primary-button{width:100%;min-height:52px;padding:16px 20px;color:var(--gray-900);background:var(--orange-600);font-weight:600}.primary-button:active:not(:disabled){background:var(--orange-press);transform:scale(.98)}.secondary-button{color:var(--gray-900);background:var(--gray-100)}.secondary-button:active:not(:disabled){background:var(--gray-200);transform:scale(.98)}.danger-button{color:var(--red-text);background:var(--red-50);border-color:var(--red-100);font-weight:600}.danger-button:active:not(:disabled){background:var(--red-100);transform:scale(.98)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{color:var(--gray-400);background:var(--gray-50);border-color:var(--gray-200)}.secondary-button.small{align-self:flex-start}.secondary-button svg,.primary-button svg{width:20px;height:20px}.icon-button{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--gray-900);background:transparent;transition:background-color .12s ease-out,transform .12s var(--ease-out)}.icon-button svg{width:24px;height:24px}.icon-button:active:not(:disabled){background:var(--gray-100);transform:scale(.94)}.icon-button.quiet{color:var(--gray-500)}.icon-button:disabled{color:var(--gray-300)}.icon-tile{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--orange-600);background:var(--gray-100)}.icon-tile.brand{background:var(--orange-50)}.icon-tile.small{width:36px;height:36px;border-radius:10px}.icon-tile.small svg{width:18px;height:18px}.plaque{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.plaque.danger{border-color:var(--red-100);background:var(--red-50)}.plaque.info{border-color:transparent;background:var(--blue-50)}.plaque-icon{flex:none;display:grid;place-items:center;width:20px;height:20px;color:var(--gray-500)}.plaque.danger .plaque-icon{color:var(--red-600)}.plaque.info .plaque-icon{color:var(--blue-700)}.plaque-text{min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.plaque-text strong{font-weight:600}.plaque-text>span{color:var(--text-secondary)}.plaque.info .plaque-text>span,.plaque[role=alert] .plaque-text>span{color:var(--text)}.plaque-text .secondary-button{margin-top:8px;background:var(--surface)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center}.empty-state .icon-tile{width:56px;height:56px;border-radius:16px;margin-bottom:8px}.empty-state .icon-tile svg{width:28px;height:28px}.empty-state h2{font-size:17px;line-height:22px;font-weight:600}.empty-state p{max-width:320px;color:var(--text-secondary)}.greeting-list{display:flex;flex-direction:column;gap:8px}.greeting-card{display:flex;flex-direction:column;gap:12px;padding:12px 4px 12px 12px;border-radius:16px;background:var(--surface)}.card-heading{display:flex;align-items:flex-start;gap:12px}.card-heading>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;padding-top:1px}.card-heading h2{font-size:17px;line-height:22px;font-weight:600}.card-heading p{display:flex;align-items:flex-start;gap:6px;color:var(--text-secondary);overflow-wrap:anywhere;min-width:0}.card-heading p svg{width:16px;height:16px;margin-top:2px;color:var(--gray-400)}.card-heading .icon-button{margin-top:-2px}.card-action{margin-left:52px;margin-right:8px}.stepper{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:var(--surface)}.stepper li{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px;line-height:16px;font-weight:500}.stepper i{display:block;height:4px;border-radius:2px;background:var(--gray-200);transition:background-color .2s ease-out}.stepper span{display:flex;align-items:center;gap:2px;overflow-wrap:anywhere}.stepper svg{width:14px;height:14px}.stepper .done i{background:var(--orange-600)}.stepper .current{color:var(--text);font-weight:600}.stepper .current i{background:var(--orange-600)}.choice-list{display:flex;flex-direction:column;gap:8px}.choice-row{position:relative;width:100%;min-height:64px;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--surface);border-radius:16px;text-align:left;background:var(--surface);transition:border-color .16s ease-out,background-color .16s ease-out,transform .12s var(--ease-out)}label.choice-row:active{transform:scale(.98)}.choice-row.selected{border-color:var(--orange-700);background:var(--orange-50)}.choice-row input[type=radio]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.choice-row:has(input:focus-visible){outline:2px solid var(--gray-900);outline-offset:2px}label.choice-row,.track-label{cursor:pointer}.choice-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.choice-text strong{font-weight:500;overflow-wrap:anywhere}.choice-text small{color:var(--text-secondary);font-size:12px;line-height:16px}.radio{width:24px;height:24px;flex:none;display:grid;place-items:center;border:2px solid var(--gray-400);border-radius:50%;color:#fff;transition:background-color .16s ease-out,border-color .16s ease-out}.radio svg{width:16px;height:16px;stroke-width:3;opacity:0;transform:scale(.4);transition:opacity .16s ease-out,transform .22s var(--ease-out)}.selected .radio{border-color:var(--orange-700);background:var(--orange-700)}.selected .radio svg{opacity:1;transform:none}.track-row{padding:10px 12px 10px 10px}.track-label{display:grid;grid-template-columns:minmax(0,1fr) 24px;column-gap:12px;align-items:center;min-height:44px;padding:0;border:0;text-align:left;background:transparent}.track-label strong,.track-label small{grid-column:1}.track-label .radio{grid-column:2;grid-row:1 / span 2}.track-label:disabled{color:inherit}.play-button{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--gray-900);background:var(--gray-100);transition:background-color .16s ease-out,transform .12s var(--ease-out)}.play-button:active{transform:scale(.92)}.play-button svg{grid-area:1 / 1;transition:opacity .16s ease-out,transform .22s var(--ease-out)}.play-button .icon-pause,.play-button.playing .icon-play{opacity:0;transform:scale(.6)}.play-button.playing .icon-pause{opacity:1;transform:none}.play-button.loading .icon-play,.play-button.loading .icon-pause{opacity:0}.play-button.playing,.play-button.loading{background:var(--orange-600)}.selected .play-button:not(.playing):not(.loading){background:var(--surface)}.date-field{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:var(--surface)}.date-field>span{color:var(--text-secondary);font-size:12px;line-height:16px;font-weight:500}.date-field-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;min-width:0;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:12px;font-size:17px;line-height:22px;color:var(--text);background:var(--gray-100)}.date-field-trigger svg{color:var(--orange-700)}.date-field-trigger:active{background:var(--gray-200)}.date-field-trigger:focus-visible{outline:none;border-color:var(--gray-900)}.date-picker-overlay{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;color:var(--text);background:#171a1e66}.date-picker-overlay[open]{display:flex;align-items:flex-end;justify-content:center}.date-picker-overlay::backdrop{background:transparent}.date-picker{width:min(100%,440px);max-height:100%;padding:12px 16px 16px;border-radius:16px;background:var(--surface);overflow-y:auto;overscroll-behavior:contain}.date-picker-header,.date-picker-month{display:flex;align-items:center;justify-content:space-between;gap:8px}.date-picker-header h2{font-size:20px;line-height:26px;font-weight:600}.date-picker-month{margin:8px 0}.date-picker-month h3{margin:0;font-size:17px;line-height:22px;font-weight:600;text-align:center}.date-picker-calendar{width:100%;border-collapse:collapse;table-layout:fixed}.date-picker-calendar th{height:32px;color:var(--text-secondary);font-size:12px;line-height:16px;font-weight:500}.date-picker-calendar td{height:44px;padding:1px;text-align:center}.date-picker-day{width:100%;max-width:44px;height:42px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;font-size:17px;font-variant-numeric:tabular-nums;transition:background-color .18s var(--ease-out),transform .18s var(--ease-out)}.date-picker-day:disabled{color:var(--gray-300)}.date-picker-day[aria-current=date]{border-color:var(--orange-700)}.date-picker-day[aria-pressed=true]{background:var(--orange-600);color:var(--gray-900);font-weight:600}.date-picker-day:not(:disabled):active{transform:scale(.94);background:var(--orange-50)}.date-picker-selection{margin:12px 0 16px;color:var(--text-secondary);text-align:center}.date-picker-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.selection-summary{min-width:0;display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:var(--surface)}.selection-summary>span:last-child{min-width:0;display:flex;flex-direction:column}.selection-summary small{color:var(--text-secondary);font-size:12px;line-height:16px}.selection-summary strong{display:-webkit-box;overflow:hidden;font-weight:500;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.pager{position:relative;flex:1;min-height:0;overflow:hidden}.pager-track{position:absolute;inset:0}.pager-panel{position:absolute;top:0;bottom:0;width:100%}.progress-dots{flex:none;display:flex;gap:4px;padding:4px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:var(--surface)}.progress-dots i{flex:1;height:4px;border-radius:2px;background:var(--gray-200);transition:background-color .24s ease-out}.progress-dots i.active{background:var(--orange-600)}.phone-slot{flex:1 1 0;min-height:0;display:flex;justify-content:center;align-items:flex-start;container-type:size}.phone{--phone-width: min(100cqw, 100cqh * 418 / 890);width:var(--phone-width);padding:calc(var(--phone-width) * 8 / 418);border-radius:calc(var(--phone-width) * 63 / 418);outline:1px solid #48484a;outline-offset:-1px;background:#1c1c1e}.phone-screen{position:relative;width:100%;aspect-ratio:402 / 874;overflow:hidden;border-radius:calc(var(--phone-width) * 55 / 418);background:var(--canvas)}.phone-canvas{position:absolute;top:0;left:0;width:402px;height:874px;display:flex;flex-direction:column;transform-origin:0 0;pointer-events:none;background:var(--canvas)}.phone-status{flex:none;height:54px;display:flex;align-items:center;justify-content:space-between;padding:4px 30px 0 52px;font-size:17px;line-height:22px;font-weight:600;background:var(--surface)}.phone-status-icons{display:flex;gap:6px}.phone-status-icons svg{width:18px;height:18px;stroke-width:2.5}.phone-island{position:absolute;top:11px;left:138px;width:126px;height:37px;border-radius:19px;background:#000}.phone-home-indicator{position:absolute;bottom:8px;left:134px;width:134px;height:5px;border-radius:3px;background:var(--gray-900)}.phone-canvas .top-bar{padding:0 6px}.phone-canvas .content{flex:1 1 auto;min-height:0;overflow:hidden;padding:16px}.phone-canvas .sticky-footer{padding:12px 16px 34px}span.mock-extra{display:contents}@media(max-height:640px){.onboarding-screen .pager-panel{padding-bottom:8px}}.demo-stage.target-0 .choice-list>.choice-row:first-child,.demo-stage.target-1 .date-field-trigger,.demo-stage.target-2 .choice-row:first-child .play-button{box-shadow:0 0 #ff640000;transition:transform .2s var(--ease-out),box-shadow .24s ease-out,border-color .2s ease-out,background-color .2s ease-out,color .24s ease-out}.demo-stage.press.target-0 .choice-list>.choice-row:first-child,.demo-stage.press.target-1 .date-field-trigger,.demo-stage.press.target-2 .choice-row:first-child .play-button{transform:scale(.97);box-shadow:0 0 0 4px #ff640047}.demo-stage.target-1:not(.done) .date-field-trigger{color:transparent}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:end center;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#171a1e66}.dialog{width:min(100%,480px);padding:20px 16px 16px;border-radius:16px;background:var(--surface)}.dialog h2{margin-bottom:8px;font-size:20px;line-height:24px;font-weight:600}.dialog p{margin-bottom:20px;color:var(--text-secondary);overflow-wrap:anywhere}.dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toast{position:absolute;z-index:10;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 80px);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 16px;border-radius:12px;color:#fff;background:var(--gray-900);box-shadow:0 8px 24px #171a1e2e}.toast span{min-width:0;padding:8px 0;overflow-wrap:anywhere}.toast button{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:transparent}.centered-state{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));text-align:center;background:var(--canvas)}.centered-state p{max-width:320px;font-size:17px;line-height:22px;overflow-wrap:anywhere}.centered-state .icon-tile{width:56px;height:56px;border-radius:16px;background:var(--surface)}.centered-state .icon-tile svg{width:28px;height:28px}.centered-state .primary-button{max-width:280px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}button:active,label:active,.demo-stage .choice-row,.demo-stage .play-button,.demo-stage input{transform:none!important}.radio svg,.play-button svg{transform:none!important}}@media(prefers-contrast:more){.choice-row:not(.selected),.date-field,.selection-summary,.greeting-card{border:1px solid var(--gray-400)}.choice-text small,.subtitle,.plaque-text>span{color:var(--text)}}
