:root{
  --ink:#171717;
  --muted:#8f8c89;
  --line:#e9e7e4;
  --paper:#fff;
  --canvas:#faf9f7;
  --coral:#ef6548;
  --blue:#5c97e7;
  --green:#7ab96d;
  --yellow:#dca83a;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei",sans-serif;
  --serif:"Songti SC","STSong","SimSun",serif;
}

html,body{background:#fff;color:var(--ink)}
body{min-width:320px}
.glow{display:none}

.shell{max-width:none;height:100vh;padding:12px 18px 16px;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.topbar{flex:none;height:48px}
.brand{gap:12px}
.brand-mark{width:38px;height:38px;border-radius:11px;background:#171717;box-shadow:0 4px 12px #0002;font-size:21px}
.brand-name{display:block;color:#3d3b39;font:600 10px/1 var(--mono);letter-spacing:.18em}
.top-actions{gap:18px}
.today-btn{font-size:13px;font-weight:600}
.avatar{width:40px;height:40px;background:#dcc6b6;color:#171717}

.workspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(400px,30vw,560px);gap:14px;flex:1;min-height:0;margin-top:10px;align-items:stretch}
.calendar-panel,.assistant-panel{min-width:0;height:100%;min-height:0}

.calendar-panel{order:1;display:flex;padding:0;overflow:hidden}
.calendar-card{display:flex;flex:1;min-height:0;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 32px #2c231a08;overflow:hidden}
.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;flex:none;margin:0;padding:18px 22px 10px}
.calendar-title h2{margin:0;font:700 25px/1.25 var(--sans);letter-spacing:0}
.calendar-title h2 em{margin-left:7px;color:#171717;font:700 17px/1 var(--sans);font-style:normal}
.calendar-title .tagline{min-height:19px;margin:8px 0 0;color:#85817e;font-size:13px}
.calendar-actions{display:flex;align-items:center;gap:14px}
.view-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:13px;background:#fbfaf9}
.view-option{min-width:60px;padding:9px 18px;border:0;border-radius:10px;background:transparent;color:#77736f;font-size:13px;font-weight:600;cursor:pointer}
.view-option.active{background:#fff;color:#111;box-shadow:0 2px 8px #261a100c}
.primary{border-radius:12px;background:#171717;padding:11px 18px;box-shadow:0 7px 16px #0002}
.primary:hover{box-shadow:0 9px 20px #0003}

.calendar-toolbar{display:flex;align-items:center;gap:10px;flex:none;height:44px;padding:0 22px;border:0;border-bottom:1px solid var(--line)}
.round{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:#585552;font-size:22px;line-height:1}
.toolbar-today{height:34px;padding:0 16px;border:1px solid var(--line);border-radius:18px;background:#fff;color:#55514e;font-size:12px;cursor:pointer}
#weekRange{min-width:0}
.saved{color:#98938e;font:10px var(--sans)}
.saved em{background:#7bb66d}

.week-board{flex:1;min-height:0;overflow:auto;background:#fff}
.week-board.week-view{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));min-width:0}
.week-view .day-column{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid var(--line)}
.week-view .week-head{position:sticky;top:0;z-index:3;flex:none;height:68px;padding:12px 6px 10px;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:#fff}
.week-view .day-name{color:#77736f;font-size:11px;font-weight:500}
.week-view .day-number{margin-top:4px;font:650 15px/1 var(--sans)}
.week-view .day-column.today .week-head{background:#fff8f5}
.week-view .day-column.today .day-number{color:var(--coral)}
.week-view .events{display:flex;flex:1;min-height:0;flex-direction:column;gap:9px;padding:14px 9px;background:#fff}
.empty-day{padding:8px 4px;color:#c1bdb8;text-align:center;font-size:10px}

.event{position:relative;padding:10px;border:0;border-left:0;border-radius:8px;box-shadow:none;overflow:hidden}
.event:before{content:"";position:absolute;top:12px;left:9px;width:6px;height:6px;border-radius:50%;background:currentColor}
.event:hover{transform:translateY(-1px);box-shadow:0 6px 16px #33241410}
.event-title{margin:0;padding-left:11px;font-size:11px;font-weight:700;white-space:nowrap}
.event-time{margin-top:6px;color:#5e5a56;font:9px/1.4 var(--mono);opacity:.82}
.event-note{margin-top:4px;color:#6d6863;font-size:9px}
.event.coral{background:#fff0ec;color:#e85f4a}
.event.blue{background:#edf5ff;color:#4f8ee4}
.event.green{background:#eef7ea;color:#69aa60}
.event.yellow{background:#fff7e8;color:#d6a02e}
.event .event-title{color:#252321}

.week-board.month-view{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));grid-template-rows:34px repeat(6,minmax(0,1fr));width:100%;min-width:0;min-height:0;height:100%;overflow:hidden}
.month-weekday{display:grid;place-items:center;border-bottom:1px solid var(--line);color:#77736f;font-size:11px}
.month-day{min-width:0;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;cursor:default}
.month-day:nth-child(7n){border-right:0}
.month-day-number{font-size:12px;font-weight:650}
.month-day.other-month .month-day-number{color:#b8b4b0}
.month-day.today{background:#fff7f3}
.month-day.today .month-day-number{color:var(--coral)}
.month-events{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.month-view .event{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;height:18px;padding:2px 5px}
.month-view .event:before{display:none}
.month-view .event-title{min-width:0;margin:0;padding:0;font-size:9px}
.month-view .event-time{margin:0;font-size:7px;white-space:nowrap}
.month-view .event-note{display:none}
.month-day.other-month .event{opacity:.45}
.month-more{height:14px;padding:0 4px;border:0;background:transparent;color:#77726d;font-size:8px;text-align:left;cursor:pointer}
.month-more:hover{color:#171717;text-decoration:underline}

.assistant-panel{order:2;display:flex;flex-direction:column;width:auto;min-width:0;min-height:0;padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 32px #2c231a08;overflow:hidden}
.assistant-heading{display:flex;align-items:center;justify-content:space-between;flex:none;height:60px;padding:0 22px;border-bottom:1px solid #f0eeeb}
.assistant-name{display:flex;align-items:center;gap:11px}
.assistant-name strong{font-size:14px}
.online-dot{width:10px;height:10px;margin:0;background:#79b86b;box-shadow:none}
.chat-reset{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#2d2b29;font-size:22px;cursor:pointer}
.chat-reset:hover{background:#f6f4f1}
.chat-log{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:flex-start;gap:16px;padding:26px 24px 18px;overflow-y:auto;scrollbar-width:thin}
.message{gap:8px}
.message-avatar{width:28px;height:28px;border-radius:9px;background:#20201f}
.message>div{max-width:82%;padding:12px 14px;border-radius:4px 13px 13px 13px;background:#f6f6f5}
.message.user>div{border-radius:13px 4px 13px 13px;background:#efe1d5;color:#282522}
.message p{font-size:12px;line-height:1.55}
.message small{color:#797571;font-size:10px;line-height:1.65}
.message.user small{color:#7e7167}
.welcome-message>div{background:#faf9f7}
.starter-prompts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-left:36px}
.starter-prompts button{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#55514d;font-size:10px;cursor:pointer;text-align:center}
.starter-prompts button:hover{border-color:#c8c3bd;background:#faf8f5;color:#171717}
.quick-replies{gap:6px}
.quick-reply{background:#fff}
.chat-composer{flex:none;margin:0 16px 16px;padding:4px;border-color:#e4e1dd;border-radius:14px;background:#fff;box-shadow:none}
.chat-composer:focus-within{border-color:#c9c5bf;box-shadow:none}
.chat-composer textarea{min-height:45px;padding:11px 72px 9px 12px;font-size:12px}
.chat-composer textarea:focus,.chat-composer textarea:focus-visible{border:0;outline:none;outline-width:0;box-shadow:none}
.chat-composer button:focus-visible{outline:1px solid #8f8b86;outline-offset:1px}
.composer-actions{right:6px;bottom:6px}
.mic-button,.send-button{width:32px;height:32px}
.mic-button{color:#242424;transition:color .2s,background .2s}
.mic-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mic-button .stop-icon{display:none;fill:currentColor;stroke:none}
.mic-button:hover{color:#000;background:transparent}
.mic-button.listening{color:#242424;background:transparent;animation:none}
.mic-button.listening .mic-icon{display:none}
.mic-button.listening .stop-icon{display:block}
.send-button{background:#171717}
.composer-hint{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.account-menu{border-color:var(--line);background:#fff}

.login-view{display:grid;grid-template-columns:52.4% 47.6%;align-items:stretch;width:calc(100vw - 24px);height:calc(100vh - 24px);max-width:none;min-height:0;margin:12px auto;padding:0;gap:0;border:1px solid #eceae7;border-radius:22px;background:#fff;box-shadow:0 14px 44px #37291b12;overflow:hidden}
.login-visual{display:grid;min-width:0;padding:48px;place-items:center;overflow:hidden;background:#fff}
.login-brand-lockup{display:flex;align-items:center;flex-direction:column;gap:46px;text-align:center}
.login-brand-button{position:relative;z-index:2;width:200px;height:73px;padding:0;border:0;background-color:transparent;cursor:pointer;transform:translateY(8px);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='868' width='2500' viewBox='0 0 726 252.17'%3E%3Cpath d='M483.92 0S481.38 24.71 466 40.11c-11.74 11.74-24.09 12.66-40.26 15.07-9.42 1.41-29.7 3.77-34.81-.79-2.37-2.11-3-21-3.22-27.62-.21-6.92-1.36-16.52-2.82-18-.75 3.06-2.49 11.53-3.09 13.61S378.49 34.3 378 36a85.13 85.13 0 0 0-30.09 0c-.46-1.67-3.17-11.48-3.77-13.56s-2.34-10.55-3.09-13.61c-1.45 1.45-2.61 11.05-2.82 18-.21 6.67-.84 25.51-3.22 27.62-5.11 4.56-25.38 2.2-34.8.79-16.16-2.47-28.51-3.39-40.21-15.13C244.57 24.71 242 0 242 0H0s69.52 22.74 97.52 68.59c16.56 27.11 14.14 58.49 9.92 74.73C170 140 221.46 140 273 158.57c69.23 24.93 83.2 76.19 90 93.6 6.77-17.41 20.75-68.67 90-93.6 51.54-18.56 103-18.59 165.56-15.25-4.21-16.24-6.63-47.62 9.93-74.73C656.43 22.74 726 0 726 0z'/%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='868' width='2500' viewBox='0 0 726 252.17'%3E%3Cpath d='M483.92 0S481.38 24.71 466 40.11c-11.74 11.74-24.09 12.66-40.26 15.07-9.42 1.41-29.7 3.77-34.81-.79-2.37-2.11-3-21-3.22-27.62-.21-6.92-1.36-16.52-2.82-18-.75 3.06-2.49 11.53-3.09 13.61S378.49 34.3 378 36a85.13 85.13 0 0 0-30.09 0c-.46-1.67-3.17-11.48-3.77-13.56s-2.34-10.55-3.09-13.61c-1.45 1.45-2.61 11.05-2.82 18-.21 6.67-.84 25.51-3.22 27.62-5.11 4.56-25.38 2.2-34.8.79-16.16-2.47-28.51-3.39-40.21-15.13C244.57 24.71 242 0 242 0H0s69.52 22.74 97.52 68.59c16.56 27.11 14.14 58.49 9.92 74.73C170 140 221.46 140 273 158.57c69.23 24.93 83.2 76.19 90 93.6 6.77-17.41 20.75-68.67 90-93.6 51.54-18.56 103-18.59 165.56-15.25-4.21-16.24-6.63-47.62 9.93-74.73C656.43 22.74 726 0 726 0z'/%3E%3C/svg%3E") no-repeat 50% 50%;mask-size:100%}
.login-brand-button:after{content:"";position:absolute;right:0;bottom:0;left:0;box-shadow:0 0 0 0 #fff;transition:box-shadow 2s ease}
.login-brand-button:hover:after{box-shadow:0 -13px 56px 12px #ffffffa6}
.login-brand-button span{position:absolute;top:39%;left:50%;z-index:1;width:100%;transform:translate(-50%,-50%);color:#111;font:500 13px/1 var(--mono);letter-spacing:.2em;text-align:center;transition:color 2s ease}
.login-brand-button:hover span{color:#fff}
.login-brand-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:100%;transform:translate(-50%,-50%);background:#171717;transition:width 1s ease}
.login-brand-button:hover:before,.login-brand-button:focus-visible:before{width:100%}
.login-brand-button:focus-visible{outline:2px solid #8f8b86;outline-offset:7px}
.login-brand-button:focus-visible span{color:#fff}
.login-claim{margin:0;color:#171717;font:700 clamp(25px,2.3vw,40px)/1.55 var(--sans);letter-spacing:-.035em}
.login-claim em{color:var(--coral);font-style:normal}

.login-form-pane{display:grid;place-items:center;padding:44px;background:#fff}
.login-card{width:min(100%,520px);padding:56px 50px;border:1px solid #ebe9e6;border-radius:22px;background:#fff;box-shadow:0 18px 55px #37291b0d}
.login-card:before{display:none}
.login-card h2{margin:0;font:750 34px/1.2 var(--sans)}
.login-intro{max-width:none;margin:12px 0 42px;color:#999591;font-size:14px}
.login-form label{margin-bottom:22px;color:#4f4b47;font-size:12px}
.login-form input{height:58px;margin-top:8px;padding:0 18px;border-color:#dedbd7;border-radius:12px;background:#fff;font-size:14px}
.login-form input::placeholder{color:#b5b1ad}
.login-form input:focus{border-color:#aaa5a0;box-shadow:0 0 0 3px #1717170a}
.login-form input:focus-visible{outline:1px solid #aaa5a0;outline-offset:2px}
.password-toggle{right:16px;color:#918d89}
.login-submit{height:56px;margin-top:8px;border-radius:11px;font-size:16px}
.login-note{margin:20px 0 0;color:#aaa6a2;font-size:11px}

@media(max-width:1100px){
  .shell{padding:10px 12px 14px}
  .topbar{height:46px}
  .workspace{grid-template-columns:minmax(0,1fr) minmax(320px,31vw);gap:10px;margin-top:8px}
  .calendar-heading{padding:18px 16px 12px}
  .calendar-toolbar{padding:0 16px}
  .view-option{min-width:48px;padding:8px 12px}
  .starter-prompts{grid-template-columns:1fr;margin-left:0}
  .assistant-heading{height:62px;padding:0 18px}
  .chat-log{padding:18px 16px 14px}
  .login-form-pane{padding:24px}
  .login-card{padding:36px 32px}
}

@media(max-width:820px){
  html,body{height:auto;overflow:auto}
  .shell{height:auto;min-height:100vh;overflow:visible;padding:18px 16px 28px}
  .workspace{display:flex;flex-direction:column;margin-top:18px}
  .calendar-panel{height:680px;overflow:visible}
  .assistant-panel{height:620px;min-height:620px}
  .calendar-heading{align-items:flex-start}
  .calendar-actions{align-items:flex-end;flex-direction:column-reverse}
  .saved{display:none}
  .login-view{display:block;min-height:calc(100vh - 24px)}
  .login-visual{min-height:300px;padding:28px}
  .login-brand-lockup{gap:28px}
  .login-form-pane{padding:28px 20px 42px}
  .login-card{padding:38px 30px}
}

@media(max-width:540px){
  .brand small{display:none}
  .top-actions{gap:8px}
  .calendar-panel{height:650px}
  .calendar-heading{padding:20px 16px 14px;gap:14px}
  .calendar-title h2{font-size:22px}
  .calendar-title .tagline{font-size:11px}
  .calendar-actions{gap:9px}
  .primary{padding:10px 12px;font-size:11px}
  .view-option{min-width:42px;padding:7px 10px}
  .calendar-toolbar{padding:0 16px}
  .login-view{margin:6px;width:calc(100% - 12px);min-height:calc(100vh - 12px)}
  .login-visual{min-height:255px;padding:24px}
  .login-brand-button{transform:scale(.88) translateY(8px)}
  .login-claim{font-size:24px}
  .login-form-pane{padding:22px 14px 32px}
  .login-card{padding:32px 22px}
  .login-card h2{font-size:29px}
  .login-intro{margin-bottom:30px;font-size:12px}
}

/* Login — left-side message queue with the original login form preserved. */
.landing-page .landing-login .login-visual{display:block;min-width:0;height:100%;min-height:100svh;padding:clamp(76px,10vh,96px) clamp(54px,7.2vw,130px);overflow:hidden;background:#fff}
.login-message-canvas{position:relative;width:100%;height:100%;min-height:0}
.brand-kicker{display:none}
.brand-title{position:relative;z-index:4;margin:0;color:#171717;font:800 clamp(56px,5vw,90px)/.92 var(--sans);letter-spacing:-.065em;white-space:nowrap}
.brand-subtitle{position:relative;z-index:2;max-width:540px;margin:36px 0 0;color:#6f6b68;font:400 clamp(17px,1.45vw,26px)/1.7 var(--sans)}
.message-queue{position:absolute;z-index:3;top:34%;left:7%;width:min(48vw,530px);height:430px;perspective:1000px}
.message-card{position:absolute;display:flex;width:min(46vw,520px);min-height:150px;align-items:flex-start;gap:20px;padding:36px 38px;border:1px solid #2d20180b;border-radius:42px;background:#ffffffef;box-shadow:0 30px 78px #402a1c17;transform-style:preserve-3d;will-change:transform,opacity;transition:transform .82s cubic-bezier(.22,.8,.22,1),opacity .68s ease,filter .68s ease}
.message-icon{flex:none;color:#f09a80;font:800 25px/1 var(--mono);letter-spacing:-.13em}
.message-card>div{min-width:0}
.message-text{margin:0;color:#47423f;font-size:clamp(16px,1.25vw,22px);line-height:1.5;white-space:nowrap}
.message-state{display:flex;align-items:center;gap:8px;margin:17px 0 0;color:#8d8782;font-size:12px;opacity:0;transform:translateY(4px);transition:.3s ease}
.message-state.show{opacity:1;transform:translateY(0)}
.check{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ef8c6d;color:#fff;font-size:11px;box-shadow:0 0 0 6px #ef8c6d14}
.card-active{z-index:6;transform:translate3d(0,0,42px) rotateX(-2deg) rotateY(-3deg) scale(1);opacity:.98}
.card-next{z-index:5;transform:translate3d(-10px,118px,5px) rotateZ(2deg) scale(.92);opacity:.54;filter:saturate(.72)}
.card-back{z-index:4;transform:translate3d(-28px,220px,-28px) rotateZ(-2deg) scale(.84);opacity:.16;filter:saturate(.4) blur(.4px)}
.card-exit{z-index:9;transform:translate3d(18px,-126px,90px) rotateZ(-6deg) scale(.9)!important;opacity:0!important;filter:blur(2px)!important}
.login-form-pane{background:#fff}
.login-card{width:min(100%,590px);padding:58px 54px;border-radius:34px;box-shadow:0 30px 90px #2d1e1412}
.login-form input{height:64px;border-radius:16px}
.login-submit{height:64px;border-radius:16px;box-shadow:0 8px 18px #1717171a}
@keyframes floatDot{0%,100%{transform:translate(0,0);opacity:.25}50%{transform:translate(-14px,-9px);opacity:.75}}
.login-message-canvas:before,.login-message-canvas:after{position:absolute;content:"";pointer-events:none}
.login-message-canvas:before{right:-5%;top:4%;width:170px;height:64px;border-top:1px solid #ef8c6d1f;border-radius:50%;animation:floatDot 8s ease-in-out infinite}
.login-message-canvas:after{left:0;bottom:1%;width:10px;height:10px;border-radius:50%;background:#ef8c6dcc;box-shadow:28px 15px 0 #ef8c6d70,52px -3px 0 #ef8c6d3d;animation:floatDot 7s ease-in-out infinite}
@media(max-width:1180px){.landing-page .landing-login .login-visual{padding-right:54px;padding-left:54px}.brand-title{font-size:clamp(52px,5vw,68px)}.message-queue{top:35%;left:4%;width:430px}.message-card{width:420px;min-height:132px;padding:30px 31px;border-radius:34px}}
@media(max-width:768px){.landing-page .landing-login .login-visual{display:none}}
@media(max-height:720px) and (min-width:769px){.landing-page .landing-login .login-visual{padding-top:46px;padding-bottom:46px}.brand-title{font-size:clamp(50px,4.9vw,74px)}.brand-subtitle{margin-top:24px}.message-queue{top:36%;transform:scale(.78);transform-origin:left top}}
@media(prefers-reduced-motion:reduce){.message-card{transition:none}.login-message-canvas:before,.login-message-canvas:after{animation:none}.card-exit{transform:translate3d(0,0,42px) rotateX(-2deg) rotateY(-3deg);opacity:1!important;filter:none!important}.message-state{transition:none}}
