/* Shared desktop/mobile refinements. Keep the seven-day calendar readable. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:#f4f7fb}
._page_1uspx_1{min-height:100vh;min-height:100svh;padding-bottom:max(40px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 15% 0%,#e4f0f8 0%,transparent 55%),#f4f7fb}
._shell_1uspx_1{max-width:1080px}
._heading_1uspx_1{padding:40px 0 28px;gap:24px}
._heading_1uspx_1 h1{font-size:32px;letter-spacing:-.6px}
._eyebrow_1uspx_1{font-weight:600;font-size:11px;letter-spacing:1.8px}
._controls_1uspx_1{flex-shrink:0}
._controls_1uspx_1 label{font-size:12px}
._controls_1uspx_1 select{min-width:158px;cursor:pointer}
._controls_1uspx_1 button{font-weight:600}
._controls_1uspx_1 button:disabled{opacity:.55;cursor:wait}
._calendar_1uspx_1{border-color:#dce5ed;box-shadow:0 8px 32px #234c740a}
._calendarHead_1uspx_1{padding:22px 24px}
._calendarHead_1uspx_1 h2{font-size:21px}
._day_1uspx_1[aria-current=date]{position:relative;box-shadow:inset 0 0 0 2px #28749b}
._day_1uspx_1[aria-current=date] strong{text-decoration:none}
._day_1uspx_1[aria-current=date] strong:after{content:'今天';font-size:10px;font-weight:500;margin-left:7px;vertical-align:middle;color:#12608a}
._message_1uspx_1{font-size:14px;line-height:1.65;border:1px solid #d4e6f2}
[role=status]:empty{display:none}
@media(max-width:800px){
 ._heading_1uspx_1{gap:20px;padding-top:28px}
 ._controls_1uspx_1{max-width:460px}
 ._calendarHead_1uspx_1{flex-direction:row;align-items:center;flex-wrap:wrap}
 ._day_1uspx_1,._blank_1uspx_1{padding:10px 6px}
}
@media(max-width:540px){
 ._page_1uspx_1{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(22px,env(safe-area-inset-bottom))}
 ._heading_1uspx_1{padding:24px 4px 20px;gap:18px}
 ._heading_1uspx_1 h1{font-size:27px;line-height:1.35}
 ._heading_1uspx_1 p:last-child{font-size:13px;margin-top:9px}
 ._eyebrow_1uspx_1{font-size:10px;margin-bottom:7px;letter-spacing:1.4px}
 ._controls_1uspx_1{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;max-width:none;align-items:end}
 ._controls_1uspx_1 label{min-width:0;font-size:12px}
 ._controls_1uspx_1 select{min-width:0;width:100%;height:46px;min-height:46px;padding:8px 10px;border-radius:10px;font-size:16px}
 ._controls_1uspx_1 button{width:100%;min-width:0;min-height:46px;height:46px;padding:8px 6px;border-radius:10px;font-size:14px}
 ._calendar_1uspx_1{border-radius:16px}
 ._calendarHead_1uspx_1{padding:16px 12px;gap:12px}
 ._calendarHead_1uspx_1 h2{font-size:18px}
 ._legend_1uspx_1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px}
 ._legend_1uspx_1 ._badge_1uspx_1{font-size:11px;white-space:nowrap;letter-spacing:-.3px;padding:6px 0;border-radius:7px}
 ._week_1uspx_1{font-size:11px;padding:9px 0}
 ._day_1uspx_1,._blank_1uspx_1{min-height:94px;padding:8px 2px 5px}
 ._day_1uspx_1 strong{font-size:15px;line-height:1.3;margin-bottom:9px}
 ._day_1uspx_1 ._badge_1uspx_1{font-size:11px;line-height:1.6;letter-spacing:0;padding:2px 0;margin-bottom:3px;border-radius:4px;white-space:nowrap}
 ._holiday_1uspx_1,._makeup_1uspx_1{font-size:10px;line-height:1.4;margin-bottom:4px;letter-spacing:-.4px}
 ._day_1uspx_1 small{font-size:10px;line-height:1.4}
 ._day_1uspx_1[aria-current=date] strong:after{display:block;font-size:9px;margin:2px 0 -3px;line-height:1}
 ._message_1uspx_1{font-size:12px;padding:10px 12px;margin-bottom:14px;border-radius:10px}
}
@media(max-width:350px){
 ._page_1uspx_1{padding-left:6px;padding-right:6px}
 ._legend_1uspx_1 ._badge_1uspx_1{font-size:10px}
 ._calendarHead_1uspx_1{padding-left:10px;padding-right:10px}
 ._day_1uspx_1,._blank_1uspx_1{min-height:88px}
}

/* Show the schedule first on phones and other narrow screens. */
@media(max-width:800px){
 ._shell_1uspx_1{display:flex;flex-direction:column;padding-top:max(12px,env(safe-area-inset-top))}
 ._shell_1uspx_1>._calendar_1uspx_1{order:0;width:100%}
 ._shell_1uspx_1>._heading_1uspx_1{order:1;width:100%;padding:20px 4px 16px}
 ._shell_1uspx_1>[role=status]{order:2}
}