:root{--ink:#202323;--muted:#858788;--blue:#209dc8;--gallery-scale:.77;--stage-scale:1.06;--ease:cubic-bezier(.22,.8,.22,1)}
*{box-sizing:border-box}html{background:#fff;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;background:white;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;padding:0;-webkit-tap-highlight-color:transparent}button:focus-visible,[tabindex]:focus-visible,input:focus-visible,[contenteditable]:focus-visible{outline:2px solid #319fc5;outline-offset:5px}button:hover{filter:brightness(.94)}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}p,h1,h2,h3{margin:0}button svg{display:block}img,video{display:block;max-width:100%;object-fit:cover}button:disabled{cursor:default} [hidden]{display:none!important}
.gallery{width:1152px;display:grid;grid-template-columns:repeat(3,352px);column-gap:48px;row-gap:52px;margin:0 auto;padding-top:96px;padding-bottom:64px;zoom:var(--gallery-scale);position:relative;left:3px;transition:opacity .42s ease}
.study{min-width:0}.study-label{font-size:12px;line-height:16px;color:#87898a;font-weight:400;margin:0 0 12px 8px}.card{width:352px;height:var(--card-height);padding:24px;border:1px solid #e9e9e9;border-radius:24px;background:#fff;position:relative;box-shadow:0 2px 3px #00000003,0 12px 22px -12px #18222e0a;outline:none;cursor:zoom-in;isolation:isolate;flex-shrink:0;overflow:hidden}.card h3{font-size:16px;font-weight:500;line-height:22px;letter-spacing:-.2px}.muted{color:var(--muted)}.small{font-size:14px;line-height:24px}.tiny{font-size:12px}.row{display:flex;align-items:center;justify-content:space-between}.pill{border-radius:40px;padding:10px 16px;background:#f4f4f4;display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.pill svg{width:16px;height:16px}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.card button{cursor:pointer}.card .card-title{margin-bottom:16px}.media-cell{border-radius:8px;overflow:hidden;position:relative}.media-cell img,.media-cell video{width:100%;height:100%;object-fit:cover}.media-cell button{display:block;width:100%;height:100%}.card img{user-select:none;-webkit-user-drag:none}
/* Music */
.music-top{display:flex;gap:24px}.album{width:96px;height:96px;border-radius:7px}.music-info{padding-top:0;flex:1}.music-info .artist{margin-top:4px;color:#858585;font-size:14px}.music-buttons{display:flex;align-items:center;gap:12px;margin-top:9px;color:#8a8d8f}.music-buttons .play{width:40px;height:40px;background:#252727;color:#fff}.music-buttons svg{width:16px;height:16px}.music-progress{width:100%;height:4px;border:0;border-radius:8px;display:block;padding:0;appearance:none;background:linear-gradient(to right,#7c7f7f 56%,#eee 56%);margin:20px 0 10px;cursor:pointer}.music-progress::-webkit-slider-thumb{appearance:none;width:8px;height:8px;border-radius:100%;background:#7c7f7f;opacity:0}.music-progress:hover::-webkit-slider-thumb{opacity:1}.music-times{font-size:12px;color:#8f9394;font-variant-numeric:tabular-nums}
/* Focus */
.focus-card{color:#f2f5fb;background:radial-gradient(ellipse at 12% 15%,#2c3b54 0%,transparent 62%),radial-gradient(ellipse at 90% 88%,#202c41 0%,transparent 64%),#171b29;border-color:#232938;box-shadow:inset 0 0 30px #11182320,0 5px 14px #0e16220a}.focus-card .status{font-size:12px;color:#e4e7ee}.dial{height:152px;width:152px;margin:22px auto 0;position:relative}.dial svg{width:152px;height:152px;stroke-width:2;overflow:visible}.dial .time{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}.timer-actions{display:flex;justify-content:center;gap:16px;margin-top:22px}.timer-actions button{height:40px;background:#424b60;color:#e3e8f3}.timer-actions .reset{width:40px}.timer-actions .pill{font-size:14px;padding:0 19px}.timer-actions svg{width:16px;height:16px}.focus-card.is-paused .dial{opacity:.65}
/* Flight */
.flight-codes{display:flex;justify-content:space-between;margin-top:20px}.flight-codes strong{font-size:32px;font-weight:500;letter-spacing:-1px;line-height:36px}.flight-codes small{display:block;color:#959696;font-size:12px;margin-top:2px}.flight-codes>div:last-child{text-align:right}.flight-track{height:4px;background:#f0f0f0;border-radius:4px;margin-top:24px;position:relative}.flight-track:before{content:'';position:absolute;inset:0 40% 0 0;background:#309ab5;border-radius:4px}.plane{position:absolute;left:57%;top:-6px;background:white;color:#3d99b4;width:18px;height:18px}.flight-times{font-size:16px;margin-top:16px;line-height:20px}.flight-times small{display:block;font-size:12px;color:#8e9192}.flight-times>div:last-child{text-align:right}
/* Location, weather */
.location-card{padding:0;border:0;background:#d9f6fc}.map-picture{position:absolute;top:0;left:0;width:100%;height:264px;max-width:none;object-fit:cover;object-position:top center}.location-card:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#ecfbff 78%,#fff)}.location-caption{position:absolute;bottom:28px;left:24px;z-index:1;line-height:24px}.location-caption p{font-size:14px;color:#839196;margin-top:2px}.weather-card{border:0;background:linear-gradient(160deg,#80acc4,#93bfde 45%,#709bbb);color:#fff}.weather-place{font-size:16px;margin-top:0}.temperature{font-size:48px;font-weight:300;letter-spacing:-1px;line-height:60px;display:flex;align-items:baseline;gap:4px;margin-top:5px}.temperature small{font-size:12px;letter-spacing:0;opacity:.86}.temperature .condition{margin-left:auto;font-size:14px;letter-spacing:0}.forecast{display:flex;justify-content:space-between;margin-top:0;font-size:14px;line-height:25px;color:#eef8ff}.forecast button{text-align:left}.forecast b{display:block;font-weight:400}
/* News, inbox */
.news-list{display:grid;gap:16px;margin-top:24px}.news-item{display:flex;align-items:center;gap:16px;text-align:left;width:100%}.news-item img{width:48px;height:48px;border-radius:8px}.news-item strong{font-size:14px;font-weight:500;display:block;line-height:20px}.news-item p{font-size:14px;color:#858788;margin-top:4px;line-height:20px}.inbox-top{display:flex;align-items:center;justify-content:space-between}.inbox-top h3 small{font-size:12px;font-weight:400;color:#8c8e8e;margin-left:6px}.search-box{height:32px;width:96px;background:#fafafa;display:flex;align-items:center;gap:7px;border-radius:7px;padding:0 9px;color:#8c8d8e}.search-box svg{width:16px;height:16px}.search-box input{width:100%;min-width:0;font-size:12px;border:0;background:transparent;outline:none;color:var(--ink)}.inbox-list{margin-top:23px;display:grid;gap:16px}.message{padding-left:16px;position:relative;cursor:pointer}.message.unread:before{content:'';width:8px;height:8px;background:#359aba;border-radius:50%;position:absolute;left:0;top:7px}.message-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;line-height:20px}.message time{font-size:12px;color:#959898;font-weight:400}.message p{font-size:14px;line-height:24px;color:#898b8c;margin-top:3px;letter-spacing:.03px}.thumbs{display:flex;margin-top:8px;height:32px;align-items:center;padding-left:2px}.thumbs img{width:28px;height:28px;border:1px solid white;border-radius:5px;margin-left:-4px;transform:rotate(-6deg)}.thumbs img:nth-child(2){transform:rotate(5deg)}.empty-search{font-size:14px;color:#858788;margin:20px 0}
/* Note and collections */
.note-card .note-text{font-family:"Times New Roman",Times,serif;font-size:28px;font-weight:400;line-height:32px;letter-spacing:-.7px;margin-top:18px;cursor:text;outline:none;overflow:auto;max-height:116px}.draft{position:absolute;bottom:24px;left:24px;background:#fff3a2;color:#77723c;border-radius:7px;padding:5px 8px;font-size:12px;line-height:16px}.mood-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:116px 116px;gap:8px}.collection-caption{margin-top:18px;display:flex;justify-content:space-between;align-items:center}.collection-caption p{font-size:14px;line-height:24px;color:#898c8d;margin-top:3px}.collection-caption small{color:#8b8e8f;font-size:12px}.poster-cycle{animation:posterTone 10s steps(1,end) infinite}.mood-card:hover .poster-cycle{animation-play-state:paused}@keyframes posterTone{0%,50%,100%{filter:none}65%,85%{filter:sepia(1) saturate(5) hue-rotate(340deg)}}
/* Up next */
.next-card .row>svg{color:#8d9191;width:16px;height:16px}.appointment-time{margin-top:10px;display:flex;align-items:baseline;gap:10px;font-size:48px;font-weight:400;line-height:58px;letter-spacing:-1.5px}.appointment-time small{font-size:14px;letter-spacing:0}.appointment-name{font-size:14px;line-height:20px;margin-top:10px;font-weight:500}.appointment-meta{font-size:14px;color:#888c8e;line-height:24px;margin-top:3px}.appointment-bottom{position:absolute;left:24px;right:24px;bottom:24px}.avatars{display:flex;align-items:center;height:32px}.avatars img{width:32px;height:32px;border-radius:50%;border:1.5px solid white;margin-right:-8px;object-fit:cover}.directions{min-height:40px;padding:0 16px}
/* Running and activity */
.running-card{padding:0;border:0;background:#386372}.running-card .run-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.running-card:after{content:'';position:absolute;inset:55% 0 0;pointer-events:none;background:linear-gradient(transparent,#03111299)}.running-footer{position:absolute;bottom:24px;left:24px;right:24px;color:#fff;display:flex;align-items:center;z-index:2;justify-content:space-between}.running-footer .run-controls{display:flex;gap:16px}.running-footer .icon-button{width:32px;height:32px}.running-footer h3{font-weight:400}.activity-header svg{width:20px;height:20px;color:#868b8d}.activity-value{display:flex;align-items:baseline;gap:12px;font-size:48px;line-height:60px;margin-top:7px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.activity-value small{font-size:14px;color:#8b8d8e;letter-spacing:0}.activity-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:84px;margin-top:14px}.day{height:84px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.day .bar{height:var(--bar-height);min-height:4px;width:100%;background:#d3e4eb;border-radius:4px 4px 2px 2px;transition:background .2s,height .25s}.day.selected .bar{background:#219dca}.day .day-label{font-size:12px;color:#929698;line-height:17px}.day:hover:before{content:attr(data-distance) ' km';position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--bar-height) + 22px);background:#233248;color:#fff;white-space:nowrap;font-size:11px;padding:4px 6px;border-radius:5px}.shader-grid{height:240px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.shader-grid .media-cell:first-child{grid-row:span 2}.shader-card .collection-caption{margin-top:18px}.grass-motion img{animation:grassBreathe 7s ease-in-out infinite alternate;transform-origin:bottom left}@keyframes grassBreathe{from{transform:scale(1.015) translateX(-1px)}to{transform:scale(1.055) translateX(2px)}}
/* Same-page detail state */
.scrim{position:fixed;inset:0;z-index:20;background:#fffffff5;opacity:0;transition:opacity .45s ease}.scrim.visible{opacity:1}.stage{position:fixed;inset:0;z-index:21;pointer-events:none}.stage-layout{position:absolute;left:50%;top:50%;width:352px;display:flex;gap:48px;align-items:center;transform:translate(-50%,-50%) scale(var(--stage-scale));transform-origin:center;transition:width .45s var(--ease)}.stage.with-grid .stage-layout{width:752px}.stage .card{pointer-events:auto;cursor:default;overflow:hidden}.blueprint{width:352px;height:var(--card-height,304px);flex-shrink:0;border-radius:24px;position:relative;background-color:#f5edee;background-image:linear-gradient(#9294d279 1px,transparent 1px),linear-gradient(90deg,#9294d279 1px,transparent 1px);background-size:8px 8px;opacity:1;transition:height .45s var(--ease),opacity .3s;box-shadow:inset 0 0 36px #f9f3f080;pointer-events:none}.blueprint-inset{position:absolute;inset:24px;background:linear-gradient(#7295cf70 1px,transparent 1px),linear-gradient(90deg,#7295cf70 1px,transparent 1px),#ffffffb0;background-size:8px 8px;border:1px solid #e1aecb8a}.dimension{position:absolute;left:calc(100% + 24px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px;font-size:12px;line-height:20px;color:#858585;width:90px}.dimension b{display:block;font-weight:400;color:#333;margin-top:0}.height-label{top:24px}.radius-label{bottom:24px}.stage:not(.with-grid) .blueprint{opacity:0;visibility:hidden;position:absolute;left:400px}.stage-controls{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:8px 12px;border:1px solid #ebebeb;border-radius:50px;background:#fffffff2;backdrop-filter:blur(12px);pointer-events:auto;opacity:0;transition:opacity .25s}.stage:hover .stage-controls,.stage:focus-within .stage-controls{opacity:1}.stage-controls button{width:32px;height:32px;border-radius:50%;color:#74787b}.stage-controls button:hover{background:#f1f3f4}.stage-controls span{font-size:12px;min-width:85px;text-align:center;color:#8b8c8e}.demo-mode .stage-controls{display:none}.demo-pointer{position:fixed;left:56%;top:60%;width:58px;height:58px;border-radius:50%;z-index:35;background:radial-gradient(circle at 50% 50%,#f4f6f734 25%,#eceeef60 58%,#c3c6c978 83%,#afb2b34d 97%);box-shadow:inset 0 2px 5px #9993;pointer-events:none;transform:translate(-50%,-50%);transition:left .65s var(--ease),top .65s var(--ease)}
/* Quiet presentation controls */
.page-footer{max-width:888px;padding:4px 0 48px;margin:0 auto;color:#a0a4a6;font-size:12px;display:flex;justify-content:space-between;gap:24px}.page-footer>div{display:flex;gap:24px}.page-footer button{font-size:12px;color:#858c90}.page-footer small{margin-left:6px;color:#aeb1b3}.dock-toggle{position:fixed;bottom:18px;left:20px;z-index:25;width:34px;height:34px;border-radius:50%;background:#fafafa;color:#969a9b;font-size:20px;line-height:24px;opacity:.5;transition:opacity .2s}.dock-toggle:hover,.dock-toggle:focus-visible{opacity:1}.dock{position:fixed;left:20px;bottom:62px;padding:6px;background:#fff;border:1px solid #e9ecee;border-radius:14px;z-index:26;box-shadow:0 8px 30px #18202e10;min-width:200px}.dock button{display:block;width:100%;padding:12px;text-align:left;font-size:12px;border-radius:8px}.dock button:hover{background:#f7f8f9}.dock span{float:right;color:#969a9c}.stop-demo{position:fixed;left:20px;bottom:20px;z-index:40;font-size:11px;padding:9px 13px;border-radius:20px;background:#fff9;color:#92979a;border:1px solid #ededed;opacity:.45;backdrop-filter:blur(10px)}.stop-demo:hover{opacity:1}.stop-demo span{margin-left:6px;font-variant-numeric:tabular-nums}.demo-mode .dock-toggle,.demo-mode .page-footer{visibility:hidden}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;border-radius:30px;padding:12px 20px;background:#1b2437ed;color:white;z-index:60;font-size:12px;transition:.25s}.toast.visible{opacity:1;transform:translate(-50%,0)}
dialog{max-width:480px;width:calc(100% - 40px);padding:36px;border:1px solid #e7e9ea;border-radius:24px;color:#252b31;box-shadow:0 30px 100px #12203212}dialog::backdrop{background:#ffffffdd;backdrop-filter:blur(8px)}.help-close{position:absolute;right:20px;top:20px;color:#999}.eyebrow{font-size:10px;color:#959ca2;letter-spacing:2px}dialog h1{font-size:36px;letter-spacing:-1.6px;line-height:1.1;margin:20px 0}dialog p{font-size:12px;line-height:1.8;color:#80878b}dialog dl{display:grid;grid-template-columns:70px 1fr;font-size:12px;row-gap:12px;margin:24px 0}dialog dt{color:#26374a}dialog dd{margin:0;color:#81888c}.help-replay{background:#202b3e;color:white;padding:12px 18px;border-radius:25px;font-size:12px}dialog h2{font-size:12px;font-weight:500;margin:24px 0 6px}
@media(min-width:1600px){:root{--gallery-scale:1;--stage-scale:1.15}.page-footer{max-width:1152px}}
@media(max-width:1000px){:root{--gallery-scale:.72;--stage-scale:.9}.gallery{left:0}.stage.with-grid .stage-layout{left:45%}.page-footer{max-width:830px;padding-inline:20px}.dimension{left:calc(100% + 12px)}}
@media(max-width:860px){:root{--gallery-scale:.88;--stage-scale:.82}.gallery{width:744px;grid-template-columns:repeat(2,352px);gap:40px;padding-top:60px}.page-footer{max-width:655px}.stage.with-grid .stage-layout{left:45%;transform:translate(-50%,-50%) scale(.72)}.dimension{font-size:11px}}
@media(max-width:650px){:root{--gallery-scale:1;--stage-scale:1}.gallery{width:352px;grid-template-columns:352px;gap:36px;padding-top:36px}.page-footer{max-width:352px;padding:10px 0 55px;flex-direction:column}.page-footer>div{gap:16px}.stage.with-grid .stage-layout{left:50%;width:352px;flex-direction:column;gap:20px;transform:translate(-50%,-50%) scale(.85)}.stage.with-grid .blueprint{height:100px!important}.stage.with-grid .blueprint-inset{inset:16px 24px}.dimension{left:24px;top:20px;bottom:auto;font-size:11px;background:#ffffffdc;border-radius:4px;padding:4px 8px;width:88px}.radius-label{left:auto;right:24px}.stage-controls{opacity:1;bottom:14px}.dock-toggle{left:10px;bottom:10px}.stage-layout{left:50%}.stop-demo{bottom:8px;left:8px}}
@media(max-width:380px){:root{--gallery-scale:.9;--stage-scale:.9}.page-footer{width:316px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.grass-motion img{animation:none}}
/* Calibration against the 1280 × 850 reference frames. */
.gallery{padding-top:94px}.map-picture{height:232px;object-fit:fill}.location-caption{bottom:26px}.location-card{background:#c7eff9}.location-card:after{inset:52% 0 0;background:linear-gradient(transparent,#edfbff 78%,#fff)}.scrim{background:#fff}.stage-layout{top:calc(50% + 2px)}.music-top{gap:24px}.music-buttons{gap:14px}.timer-actions{margin-top:19px}.dial{margin-top:20px}.temperature{line-height:52px}.appointment-time{margin-top:6px;line-height:52px}.appointment-name{margin-top:4px}.activity-value{margin-top:4px}.activity-bars{margin-top:0}.mood-grid{grid-template-rows:116px 116px}.running-card .run-media{object-fit:fill}.capture *{animation-play-state:paused!important}.capture .card:focus-visible{outline:none}.capture .stage-controls{opacity:0!important}
@media(min-width:1001px) and (max-width:1599px){:root{--stage-scale:1.0625}.stage:not(.with-grid) .stage-layout{left:calc(50% + 3px)}}
.stage:not(.with-grid) .stage-layout{top:calc(50% + 9px)}
.focus-card:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 35% 55%,#080b0e,#11151c90);z-index:-1;opacity:0;animation:focusAtmosphere 20s ease-in-out infinite}
@keyframes focusAtmosphere{0%,100%{opacity:0}35%,65%{opacity:.6}}
.comparison{width:min(1120px,96vw);max-width:none;padding:24px;max-height:94vh;overflow:auto}.compare-heading{display:flex;justify-content:space-between;align-items:center}.compare-heading h2{margin:6px 0 0;font-size:18px}.compare-heading>button{width:32px;height:32px;color:#8b9194}.compare-tabs{display:flex;gap:6px;margin:18px 0}.compare-tabs button{border-radius:20px;font-size:12px;padding:8px 14px;color:#8a9093}.compare-tabs .selected{background:#243046;color:white}.compare-frame{position:relative;width:100%;aspect-ratio:1280/850;border:1px solid #e9edef;overflow:hidden;background:#fff;border-radius:8px}.compare-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#compare-reference{clip-path:inset(0 50% 0 0)}#compare-divider{position:absolute;left:50%;width:1px;top:0;bottom:0;background:#319dc6;pointer-events:none}.compare-label{position:absolute;top:10px;font-size:10px;padding:5px 9px;border-radius:5px;background:#f4f7f9d9;color:#7a858c}.ref-label{left:10px}.result-label{right:10px}.compare-slider{display:flex;align-items:center;gap:20px;font-size:11px;color:#859095;margin-top:16px}.compare-slider input{flex:1;accent-color:#2d8fae}.comparison .compare-note{font-size:11px;margin-top:12px}.comparison::backdrop{background:#f8faf9ed}.page-footer>div{flex-wrap:wrap}
svg{stroke-width:1.6}.music-buttons .icon-button:not(.play) svg{width:20px;height:20px}.timer-actions .reset svg{width:18px;height:18px}.poster-cycle{animation:none}
