/* A quiet surface: source artwork is preserved, cropped only by its display window. */
:root{--p-bg:#faf9f7;--ui-header:64px;--ui-nav-space:calc(70px + env(safe-area-inset-bottom))}
body,.p-app{background:var(--p-bg)}
.p-app:has(.p-main.is-home){height:100dvh;min-height:0;overflow:clip}
.p-app .p-main.is-home .p-calm-scene .p-hero-pet{z-index:70}
.p-app .p-top{width:100%;height:64px;min-height:64px;padding:6px clamp(12px,3vw,40px);border:0;background:transparent;gap:8px}
.p-app .p-brand{gap:0}.p-logo-crop{display:block;position:relative;width:94px;aspect-ratio:850/265;overflow:hidden;mix-blend-mode:darken}
.p-logo-crop img,.brand .p-logo-crop img{position:absolute;display:block;width:180.7059%;height:auto;max-width:none;left:-40%;top:-141.5094%;margin:0;transform:none}
.p-app .p-head-actions{gap:2px}.p-app .p-head-actions .p-account-pill{min-width:44px;width:44px;height:44px;padding:10px;border:0;background:transparent;box-shadow:none}
.p-mobile-nav{display:block}.p-header-popover .p-landscape-link{display:none!important}
.p-app .p-main.is-home{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0;width:100%;max-width:none;height:calc(100dvh - var(--ui-header) - var(--ui-nav-space));min-height:380px;margin:0;padding:0 20px 12px;overflow:visible}
.p-app .p-main.is-home .p-calm-scene{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(80px,.45fr) minmax(210px,1fr) minmax(44px,.85fr);gap:0;align-items:center;justify-items:center;width:100%;height:100%;min-height:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;isolation:auto}
.p-calm-scene:before,.p-calm-scene:after{display:none!important}
.p-app .p-main.is-home [data-clock]{grid-area:1/1;margin:0;align-self:center;width:100%;pointer-events:none}
.p-app .p-main.is-home .p-clock{text-align:center;padding:0;background:none;border:0;box-shadow:none;line-height:1.05}
.p-app .p-main.is-home .p-clock-time{font-family:'Picku Quicksand',ui-rounded,sans-serif;font-weight:400;font-size:clamp(88px,26vw,140px);letter-spacing:-.055em;font-variant-numeric:tabular-nums;line-height:1.05;color:#7b93cb}
.p-app .p-main.is-home .p-clock-counter{font-size:clamp(48px,13vw,100px);font-weight:300;letter-spacing:-.03em;line-height:1.1}
.p-app .p-main.is-home .has-timer .p-clock-time{font-size:19px;letter-spacing:.02em;margin-bottom:10px}
.p-app .p-main.is-home .p-calm-scene .p-hero-pet{grid-area:2/1;width:min(370px,92vw);height:100%;min-height:180px;max-height:290px;margin:0;z-index:70;overflow:visible}
.p-app .p-main.is-home .p-scene-bottom{grid-area:3/1;margin:0;padding:0;align-self:center;z-index:41}
.p-app .p-main.is-home .p-poke{min-height:44px;padding:8px 20px;font-size:13px;font-weight:400;background:transparent;border:0;box-shadow:none;color:#7a8b91}
.p-app .p-main.is-home .p-calm-scene.is-clock-hidden{grid-template-columns:1fr;grid-template-rows:minmax(180px,1fr) 44px}
.p-app .p-main.is-home .p-calm-scene.is-clock-hidden .p-hero-pet{grid-area:1/1;align-self:start;margin-top:8dvh;width:min(420px,94vw);height:min(360px,48dvh);max-height:80%}
.p-app .p-main.is-home .is-clock-hidden .p-scene-bottom{grid-area:2/1}
.p-app .p-main.is-home #capture-root{position:relative;grid-area:2/1;align-self:end;justify-self:center;width:min(640px,100%);margin:16px 0 0;z-index:42;padding:0;background:transparent;border:0;box-shadow:none}
.p-app .p-main.is-home .p-capture-form{margin:0;padding:0;background:#ffffffa8;border:1px solid #e2e5e2;border-radius:26px;min-height:56px;box-shadow:none;display:block;position:relative}
.p-app .p-main.is-home .p-capture-form textarea{display:block;width:100%;height:56px;min-height:56px;max-height:140px;resize:none;box-sizing:border-box;margin:0;padding:17px 98px 12px 20px;border:0;border-radius:26px;box-shadow:none;outline:none;background:transparent;font-size:16px;line-height:24px}
.p-app .p-main.is-home .p-capture-form:focus-within{border-color:#aabcc3;box-shadow:0 0 0 3px #aabcc314}
.p-app .p-main.is-home .p-capture-send,.p-app .p-main.is-home .p-capture-mic{position:absolute;bottom:6px;width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:11px;border:0;margin:0;transform:none;border-radius:50%;background:transparent;color:#6e8994}
.p-app .p-main.is-home .p-capture-send{right:5px}.p-app .p-main.is-home .p-capture-mic{right:49px}.p-capture-send svg,.p-capture-mic svg{display:block;width:21px;height:21px}
.p-capture-status:empty{display:none}.p-voice-panel{max-height:50dvh;overflow:auto}
.p-app:has(#capture-text:focus),.p-app:has(.p-voice-panel:not([hidden])){height:auto;min-height:100dvh;overflow-x:clip;overflow-y:visible}
.p-app .p-main.is-home:has(#capture-text:focus),.p-app .p-main.is-home:has(.p-voice-panel:not([hidden])){height:auto;min-height:calc(100dvh - var(--ui-header) - var(--ui-nav-space));grid-template-rows:minmax(200px,1fr) auto}
.p-app .p-nav{height:64px;min-height:64px;max-width:380px;bottom:env(safe-area-inset-bottom);padding:4px 12px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;gap:10px}
.p-app .p-nav button{min-height:52px;background:transparent;border:0;box-shadow:none;font-size:11px;gap:3px;color:#8c9b9f}.p-app .p-nav button[aria-pressed=true]{color:#3f6576;background:transparent}.p-app .p-nav svg{width:20px;height:20px}
.p-app .p-dock{z-index:55;max-width:none}.p-runtime-host{touch-action:none}.p-runtime-host.is-free-drag{z-index:70}
.p-signin{background:var(--p-bg);padding:24px}.p-signin main{text-align:center;width:min(380px,100%)}.p-signin .brand{display:flex;justify-content:center;margin:0 auto 64px;min-height:0}.p-signin .p-logo-crop{width:200px}.p-signin .card{background:transparent;border:0;border-radius:0;padding:0 8px}.p-signin h1{font-size:18px;font-weight:400;letter-spacing:.12em;margin:0 0 28px}.p-signin .intro{display:none}.p-signin #google-button{display:flex;justify-content:center;min-height:44px}.p-signin #status{margin:12px 0;min-height:24px}.p-signin .legal{border:0;padding:0;margin:20px 0 0}.p-signin .legal a,.p-signin .back{color:#7c8b91;text-decoration:none}.p-signin .back{margin:12px 0 0;font-size:13px}
@media(max-width:380px){.p-logo-crop{width:92px}.p-header-settings{display:none!important}.p-mobile-nav [data-page=home]{display:flex!important}.p-app .p-head-actions .p-account-pill{width:44px;min-width:44px;padding:10px}.p-app .p-main.is-home{padding:0 14px 8px;min-height:300px}.p-app .p-main.is-home .p-clock-time{font-size:88px}.p-app .p-main.is-home .p-calm-scene .p-hero-pet{max-height:235px}}
@media(min-width:900px){.p-app .p-main.is-home{max-width:1100px;margin:auto}.p-app .p-main.is-home .p-calm-scene{grid-template-columns:2fr 1fr;grid-template-rows:1fr 44px}.p-app .p-main.is-home [data-clock]{grid-area:1/1/3/2}.p-app .p-main.is-home .p-clock-time{font-size:clamp(120px,11vw,160px)}.p-app .p-main.is-home .p-calm-scene .p-hero-pet{grid-area:1/2;width:360px;height:310px;max-height:310px;align-self:center}.p-app .p-main.is-home .p-scene-bottom{grid-area:2/2}.p-app .p-main.is-home .p-calm-scene.is-clock-hidden .p-hero-pet{align-self:center}}
@media(orientation:landscape) and (max-height:600px){
 :root{--ui-header:52px;--ui-nav-space:env(safe-area-inset-bottom)}
 .p-app .p-top{height:52px;min-height:52px;padding:4px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left))}.p-logo-crop{width:94px}
 .p-header-photo,.p-header-settings{display:none!important}.p-header-popover .p-landscape-link{display:flex!important}.p-app .p-nav{display:none}
 .p-app .p-main.is-home{height:calc(100dvh - 52px - env(safe-area-inset-bottom));min-height:0;max-width:none;padding:0 24px 8px;grid-template-rows:minmax(0,1fr) auto}
 .p-app .p-main.is-home .p-calm-scene{grid-template-columns:2fr 1fr;grid-template-rows:minmax(0,1fr) 36px;gap:0 12px;min-height:0}
 .p-app .p-main.is-home [data-clock]{grid-area:1/1/3/2}.p-app .p-main.is-home .p-clock-time{font-size:clamp(90px,13vw,160px)}.p-app .p-main.is-home .p-clock-counter{font-size:clamp(64px,12vw,112px)}.p-app .p-main.is-home .has-timer .p-clock-time{font-size:17px}
 .p-app .p-main.is-home .p-calm-scene .p-hero-pet{grid-area:1/2;width:100%;height:100%;min-height:0;max-height:220px;align-self:center}.p-app .p-main.is-home .p-scene-bottom{grid-area:2/2}.p-app .p-main.is-home .p-poke{min-height:36px;padding:6px 12px}
 .p-app .p-main.is-home .p-calm-scene.is-clock-hidden{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 36px}.p-app .p-main.is-home .p-calm-scene.is-clock-hidden .p-hero-pet{grid-area:1/1;width:300px;max-height:100%;height:100%}
 .p-app .p-main.is-home .is-clock-hidden .p-scene-bottom{grid-area:2/1}.p-app .p-main.is-home #capture-root{margin-top:4px;width:min(480px,70vw)}
 .p-clock-menu .p-header-popover{right:-44px}.p-header-menu .p-header-popover{max-height:calc(100dvh - 60px)}
}

/* A softer blue drawn from Picku, with a locally hosted rounded clock face. */
@font-face{font-family:'Picku Quicksand';src:url('/fonts/Quicksand.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
:root{--p-ink:#475c85;--p-muted:#6c7d9d;--p-main:#617fb7;--p-line:#e2e7f1;--p-blue:#edf1fb;--p-soft:#f2f4fb}
body,.p-app,.p-signin{color:var(--p-ink)}
.p-logo-crop img{filter:sepia(1) saturate(1.4) hue-rotate(195deg) brightness(1.3)}
.p-app .p-account-pill,.p-app .p-header-menu>summary{color:#758db9}
.p-app .p-main.is-home .p-clock-counter{font-family:'Picku Quicksand',ui-rounded,sans-serif;font-weight:400;color:#7b93cb}
.p-app .p-main.is-home .p-poke,.p-app .p-nav button,.p-app .p-main.is-home .p-capture-mic,.p-app .p-main.is-home .p-capture-send{color:#7288b0}
.p-app .p-nav button[aria-pressed=true]{color:#526fa7}
.p-app .p-main.is-home .p-scene-bottom{align-self:start}
.p-app .p-dock:not(.is-collapsed){left:8px;bottom:calc(68px + env(safe-area-inset-bottom));width:210px;height:180px;max-height:none}
.p-app .p-dock.is-collapsed{width:48px;height:48px}
.p-app .p-dock-pet{width:100%;height:100%}
.p-signin .p-logo-crop{width:160px}
@media(orientation:landscape) and (max-height:600px){
 .p-app .p-main.is-home .p-calm-scene .p-hero-pet{max-height:250px}
 .p-app .p-main.is-home .p-calm-scene.is-clock-hidden .p-hero-pet{margin-top:0;align-self:center;width:340px}
 .p-app .p-dock:not(.is-collapsed){bottom:8px}
}

.p-app .p-top{z-index:90;background:var(--p-bg)}
.p-app .p-head-actions{max-width:none}
.p-logo-crop{mix-blend-mode:normal;background:var(--p-bg)}
.p-logo-crop img{mix-blend-mode:multiply}
.p-header-popover{color:var(--p-ink);border-color:var(--p-line)}
.p-header-popover button{color:var(--p-ink)}
.p-header-popover button:hover,.p-header-popover button[aria-current=page]{background:var(--p-blue)}

/* PICKU reads as one word; the miniature mascot is only a pronunciation dot.
   Preserve the uploaded letterforms and originals, reposition their CSS windows. */
.p-logo-crop{aspect-ratio:756/265}
.p-logo-pick,.p-logo-u{position:absolute;top:0;height:100%;overflow:hidden}
.p-logo-pick{left:0;width:74.07407%}
.p-logo-u{right:0;width:22.48677%}
.p-logo-crop .p-logo-pick img{width:274.2857%;left:-62.5%;top:-141.5094%}
.p-logo-crop .p-logo-u img{width:903.5294%;left:-600%;top:-141.5094%}
.p-logo-crop img.p-logo-mascot,.brand .p-logo-crop img.p-logo-mascot{left:73.54497%;top:68%;width:3.1746%;height:auto;filter:none;mix-blend-mode:normal;transform:none;margin:0}

.p-logo-crop{aspect-ratio:1010/345;background:transparent;mix-blend-mode:normal}
.p-logo-crop img.p-logo-transparent,.brand .p-logo-crop img.p-logo-transparent{width:215.0495%;left:-57.4257%;top:-56.5217%;height:auto;filter:none;mix-blend-mode:normal}
/* Anchor to viewport rather than the moving clock icon. */
.p-app .p-clock-menu .p-header-popover{position:fixed;top:calc(var(--ui-header) + 6px);right:max(12px,env(safe-area-inset-right));left:auto;width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--ui-header) - 24px - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
.p-clock-menu input{min-width:0;max-width:100%;box-sizing:border-box}

/* Registration, a short optional tour, and the shared Shiyi-style swipe deck. */
.p-registration-consent{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:14px;line-height:1.8;margin:0 0 22px}
.p-registration-consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#7891c7}
.p-registration-consent a{color:#536ea8}.p-signin #google-button[hidden]{display:none}
.p-onboarding{width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #e0e6f1;border-radius:26px;background:#faf9f7;color:var(--p-ink);padding:24px;box-sizing:border-box}
.p-onboarding::backdrop{background:#273b5955;backdrop-filter:blur(3px)}
.p-tour-top,.p-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.p-tour-top{font-size:13px;color:var(--p-muted)}
.p-onboarding button{min-height:44px;border:0;border-radius:14px;background:#e8edf9;color:var(--p-ink);padding:10px 16px;font:inherit}.p-tour-top button{background:none}.p-tour-picku{display:block;width:92px;height:92px;margin:16px auto}.p-onboarding h2{font-size:22px}.p-onboarding p{line-height:1.9;font-size:15px}.p-tour-actions{margin-top:24px}.p-onboarding summary{min-height:44px;cursor:pointer}.p-motion-names{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;font-size:13px}
.p-review-shell{padding:80px 16px 16px;background:#35425d55;overflow:hidden}
.p-review-stage{width:min(440px,100%);position:relative;transform-origin:50% 100%;will-change:transform;touch-action:pan-y}
.p-review-card{width:100%;max-height:calc(100dvh - 112px);overflow-y:auto;overflow-x:hidden;background:#fffdfa;padding:20px;border:1px solid #e1e6ef;box-shadow:0 16px 60px #30405b25;transform-origin:50% 100%}
.p-review-card:before,.p-review-card:after{display:none}
.p-card-companion{position:absolute;top:-66px;left:50%;transform:translateX(-50%);width:112px;height:90px;pointer-events:none}
.p-card-companion img{display:block;width:112px;height:100px}.p-card-companion i{position:absolute;width:26px;height:19px;border-radius:50%;background:linear-gradient(#bfdaff,#86adeb);top:65px;box-shadow:0 3px 4px #4d6d9d20;z-index:2}.p-card-companion i:first-of-type{left:-12px;rotate:-16deg}.p-card-companion i:last-of-type{right:-12px;rotate:16deg}
.p-card-grip{width:34px;height:4px;background:#d3dbea;border-radius:4px;margin:0 auto 18px}.p-review-card h2{font-size:19px;margin:8px 0}.p-review-card .p-row{position:static}.p-review-card textarea{resize:vertical;max-height:32dvh}
.p-swipe-stamp{pointer-events:none;position:absolute;top:26px;right:18px;font-size:20px;font-weight:650;border-radius:12px;padding:8px 12px;z-index:10;rotate:8deg;color:#4a7892;background:#e5f3fff0}.p-swipe-stamp:empty{display:none}.p-swipe-stamp[data-direction=left]{left:18px;right:auto;rotate:-8deg;color:#956b71;background:#fff0f0f0}
.p-reminder-deck{position:relative;isolation:isolate;padding:0 0 16px;max-width:480px;margin:18px auto;touch-action:pan-y}
.p-reminder-next{position:absolute;inset:12px 10px 0;padding:24px;border:1px solid #dce3ee;background:#eef1f9;border-radius:24px;transform:scale(.97);opacity:.65;z-index:-1}
.p-schedule-card{position:relative;min-height:250px;margin:0;background:#fffdfa;transform-origin:50% 100%;will-change:transform;box-shadow:0 8px 25px #4055770b}.p-schedule-card h2{margin:24px 0;font-size:26px}
.p-reminder-directions{display:flex;justify-content:space-between;gap:10px;margin:26px 0 16px;font-size:12px;color:#7b8ba4}.p-deck-count{text-align:center;color:var(--p-muted);font-size:12px}.p-schedule-card .p-row{justify-content:space-between}.p-schedule-card button{font-size:13px;padding:8px}
@media(prefers-reduced-motion:reduce){.p-review-stage,.p-schedule-card{transition:none!important}}
.p-card-companion{z-index:2}.p-card-companion img{clip-path:inset(0 0 22% 0)}
