/* Shared strawberry / cream theme. Layout and application behavior stay in the base styles. */
:root{--green:#a33e68;--accent:#ffe0ed;--muted:#806673;--border:#eedce5;--surface:#fffdfd;color:#513847;background:#fff7fa;font-family:"Microsoft YaHei","Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 90% 0,#f3e9ff 0,transparent 45%),#fff7fa}
button,input,textarea,select{accent-color:#b34b76}
button:focus-visible,a:focus-visible{outline-color:#a35892}input:focus,textarea:focus,select:focus{outline-color:#bb6998}
.workspace,.content{background:transparent}.sidebar,.topbar{background:#fffdfdf5;border-color:var(--border)}
.brand-mark{background:#ffe0eb;color:#a33e68;border-radius:16px;box-shadow:0 4px 0 #efcedd;transform:rotate(-5deg)}
.brand-name{color:#8f3a63;letter-spacing:.1em}.brand small{color:#947383}
.nav-item{border-radius:18px;color:#806673}.nav-item:hover{background:#fff0f6}.nav-item.active{background:#fce1ec;color:#92365f;box-shadow:inset 0 0 0 1px #f5cede}
.sidebar-note{background:#f7efff;color:#7d608c;border-radius:20px;border:1px dashed #ddc7e7}.sidebar-caption{color:#997d8b}
.avatar,.room-symbol,.empty-icon{background:#fbe5ee;color:#a04770;border-radius:16px}.profile{border-color:var(--border)}
.btn{border-radius:15px;background:#a33e68;box-shadow:0 3px 0 #81305117;transition:background .15s,transform .15s}.btn:hover{background:#893254;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}
.btn.secondary{background:#fffafd;color:#92395f;border-color:#eccfdd}.btn.secondary:hover{background:#fce8f1}.btn.ghost{color:#846175;box-shadow:none}.btn.ghost:hover,.icon-button:hover{background:#fbe9f1}.btn.danger{background:#b34256}.link-button{color:#963e68}.icon-button{color:#96687e;border-radius:13px}
.field input,.field textarea,.field select,.input,.stats-date-form input,.discussion-chat textarea{border-color:#e8d5df;border-radius:13px;background:#fffdfd;color:#513847}.field input::placeholder,.field textarea::placeholder{color:#947b89}
.page-heading h1,.current-room-title,.auth-box h2{color:#65384f;letter-spacing:.015em}.page-heading h1::after{content:"✿";font-size:.65em;color:#ce7c9c;display:inline-block;margin-left:13px;vertical-align:middle}.page-heading p,.room-card p,.room-meta{color:#806673}
.room-card,.profile-card,.stat,.record,.discussion-call,.discussion-chat,.member,.activity,.ranking-table-wrap{border-color:var(--border);border-radius:22px;background:#fffdfd;box-shadow:0 7px 24px #a04b7206}
.room-card:hover{border-color:#dcb2c7;box-shadow:0 10px 25px #a04b7210}.room-card h3,.member-name,.section-head h2{color:#633f55}
.badge{background:#f8ddeb;color:#903c64}.badge.neutral{background:#f3edf8;color:#7b608b}.badge.amber{background:#fff0d4;color:#8d652c}
.banner{background:#fce7ef;color:#683c53;border:1px solid #f2d6e2;border-radius:19px}.banner p{color:#856476}.banner.warning,.notice{background:#fff3df;color:#805c36;border-color:#f0dfc3}
.empty{border-color:#e6cada;background:#ffffff85;border-radius:24px}.empty h3{color:#76445f}.empty p,.member-empty{color:#8c7080}.member-empty{background:#fff7fb;border-color:#e5cddc;border-radius:22px}
.exam-countdown{position:relative;overflow:hidden;background:linear-gradient(115deg,#f9dce8,#eee3fb);color:#733f60;border:1px solid #eed0e1;border-radius:24px;box-shadow:0 7px 22px #b3557e08}
.exam-countdown::after{content:"✿";position:absolute;font-size:120px;line-height:1;color:#ffffff65;left:49%;top:18px;pointer-events:none;transform:rotate(12deg)}
.countdown-copy,.countdown-number{position:relative;z-index:1}.countdown-copy h2{color:#79415e}.countdown-copy time,.countdown-number>span{color:#815e76}.countdown-number strong,.countdown-number>div>span{color:#9d3d6c}
.focus-card{background:linear-gradient(155deg,#fff0f6,#f6edfc);color:#633b53;border:1px solid #ead2e1;border-radius:28px;box-shadow:0 8px 30px #a4517810}
.focus-card .eyebrow,.focus-hint,.timer-label,.focus-card .divider,.focus-card .field label,.focus-card .field .muted{color:#846276}.focus-card h2{color:#713c58}.focus-card .badge{background:#f4d9e8;color:#8e3a60}
.timer-circle{background:radial-gradient(circle,#fffafc 50%,#f7e4f0);border:2px dashed #dfb6cd;box-shadow:0 0 0 9px #ffffff70}.timer{color:#9a456e}.focus-card .btn{background:#a33e68;color:#fff}.focus-card .btn.secondary{background:#fffafd;color:#913a61;border:1px solid #dfbed0}.focus-card input,.focus-card select{background:#fffdfd;color:#583647;border-color:#e3cbd9}.focus-card .divider{border-color:#ead2e1}
.member.self{border-color:#cc8fae;background:#fff6fa}.member-time{color:#9a486f}.room-guideline,.activity-empty{background:#f7effa;color:#82658d;border-color:#e6d6ec;border-radius:17px}
.room-tabs,.ranking-tabs{background:#f3e7f0;border-color:#ead7e5;border-radius:17px}.room-tabs button,.ranking-tabs button{color:#866579;border-radius:12px}.room-tabs button[aria-selected=true],.ranking-tabs button.active{background:#fffdfd;color:#a33e68}
.discussion-study{background:#f7e9f3;color:#74475e;border-radius:18px}.discussion-message{background:#f5eff9;color:#614a6c}.discussion-message.own{background:#fbe2ed;color:#74405a}.discussion-tile{background:#664457;border-radius:18px}.discussion-avatar{background:#8d5d77}.discussion-tile.speaking{border-color:#e89abf}.discussion-tile-label{background:#412c3bc9}
.profile-summary,.ranking-self{background:linear-gradient(115deg,#f9dce8,#eee3fb);color:#6d3c58;border:1px solid #eed0e1;border-radius:24px}.profile-summary p,.ranking-self-title p,.ranking-self-score span,.ranking-self-hint{color:#805b73}.ranking-self-hint{border-color:#dfbcd1}.ranking-emblem{color:#a9507a;border-color:#dcb2c9;background:#ffffff70}.ranking-table th{background:#fff2f7;color:#846578}.ranking-table td{border-color:#f0e2e9}.ranking-table tr.ranking-me{background:#fceaf2}.participation-switch[aria-checked=true]{background:#b24d7c;border-color:#b24d7c}
.content.statistics-content{background:linear-gradient(155deg,#fff0f5,#f4edfc 65%,#fff8f2)}.statistics-dashboard{--stats-teal:#a34b75;--stats-ink:#633b53}.stats-page-heading,.stats-page-heading h1{color:#733e5a}.stats-page-heading p,.stats-page-heading .eyebrow{color:#89667a}.stats-private{background:#fffafd;color:#966581;border-color:#e8cddd}
.stats-card{border-color:#eed9e4;box-shadow:0 5px 20px #ad5a7d07;border-radius:24px}.stats-card h2 small,.stats-card-note,.stats-footer,.stats-loading{color:#886d7c}.stats-arrows .icon-button{color:#b6678c}.stats-arrows .icon-button:hover{background:#fceaf2}
.stats-periods{border-color:#dbaaC2}.stats-periods button{color:#93667f;border-color:#edd7e3;background:#fffdfd}.stats-periods button[aria-pressed=true]{background:#f8dce9;color:#8f345f}.stats-date-form{color:#85687b}.stats-date-form .btn{color:#96476e;border-color:#e9cddb}
.stats-detail-button,.subject-chip{background:#f9e5ef;color:#99446d}.stats-detail-button:hover,.stats-detail-button span{background:#f3d5e5}.stats-chart-total,.pie-percentage,.pie-subject,.pie-label{color:#613f54;fill:#613f54}.subject-breakdown-head{background:#fff0f7;color:#86667a}.subject-breakdown-row{color:#664759;border-color:#f1e3eb}.subject-breakdown-row>strong{color:#a04470}
.bar-value{fill:#db89ad}.day-bar:nth-of-type(even) .bar-value{fill:#c5a3df}.current-month .bar-value,.day-bar:hover .bar-value,.day-bar:focus .bar-value{fill:#b55283}.bar-axis,.bar-number{fill:#826479}.current-month .bar-axis,.bar-current-label{fill:#9a4470}.bar-grid{stroke:#efe2eb}.current-month .bar-hit{fill:#c568970b}.stats-monthly{border-top-color:#d58bae}#stats-daily{border-top-color:#c5a3df}.chart-scroll{scrollbar-color:#d7a8c0 #fff5f9}
.stats-record h3{color:#744b63}.stats-record p,.stats-pagination{color:#896c7e}.stats-record>strong{color:#a04f78}.stats-record{border-color:#eee0e9}
.chart-color-0{fill:#f49ab7;background:#f49ab7}.chart-color-1{fill:#c5ade6;background:#c5ade6}.chart-color-2{fill:#9ec7e8;background:#9ec7e8}.chart-color-3{fill:#f3be95;background:#f3be95}.chart-color-4{fill:#adbbeb;background:#adbbeb}.chart-color-5{fill:#ead48e;background:#ead48e}.chart-color-6{fill:#b8d4b0;background:#b8d4b0}.chart-color-7{fill:#cbbcc9;background:#cbbcc9}.chart-color-8{fill:#dda8d1;background:#dda8d1}.chart-color-9{fill:#a3cecd;background:#a3cecd}
.auth-layout{background:#fffbfd}.auth-story{background:radial-gradient(circle at 85% 15%,#fff9 0,transparent 34%),linear-gradient(145deg,#f9d9e6,#eddef8);color:#703c59}.auth-story::after{content:"✿";position:absolute;font-size:190px;color:#ffffff55;right:-20px;bottom:90px;pointer-events:none}.auth-story .brand-mark{background:#fff9;color:#a33e68}.auth-story h1{font-weight:600}.auth-story h1 em{color:#ab4c7e}.auth-story p,.auth-story .eyebrow,.auth-story .brand small,.auth-note,.auth-features{color:#815b73}.auth-note{border-color:#dcbbd0;position:relative;z-index:1}.auth-box{background:#fffdfd}.auth-footer{color:#8b7180}
dialog{background:#fffbfd;border:1px solid #edd5e2;border-radius:25px;box-shadow:0 24px 90px #60374b30}dialog::backdrop{background:#51314655;backdrop-filter:none;-webkit-backdrop-filter:none}.modal-head{border-color:#ead4e1}.summary{background:#fbe9f2;color:#8e4168}.summary strong{color:#a24773}#toast{background:#70425c;color:#fff5fa;border-radius:17px}.network-banner{background:#fff0dc;color:#866035}
@media(max-width:800px){.sidebar{background:#fffafdf5;border-color:#ecd5e1;backdrop-filter:blur(12px)}.nav-item.active{background:#f9deeb;color:#93395f}.nav-item{border-radius:15px}.exam-countdown::after{font-size:90px;left:43%}.stats-private{white-space:normal}.page-heading h1::after{font-size:18px;margin-left:8px}}
@media(prefers-reduced-motion:reduce){.btn:hover,.btn:active{transform:none}}
.focus-card .field input{background:#fffdfd;border-color:#e3cbd9;color:#583647}.focus-card .field input::placeholder{color:#947b89}.focus-card .focus-hint{color:#846276}.focus-card .btn:hover{background:#893254}.focus-card .btn.secondary:hover{background:#fce8f1}.focus-card .notice{background:#fff1dc;color:#805c36;border-color:#efdabb}

@media(max-width:600px){.stats-page-heading{align-items:flex-start;flex-wrap:wrap}.stats-page-heading>.row{gap:8px}.stats-page-heading .btn{font-size:12px}}

/* Shared pink logo for the sidebar, sign-in and loading screens. */
.brand-mark.brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:12px;background:transparent;box-shadow:none;transform:none}

.remember-password{display:inline-flex;align-items:center;gap:8px;margin:0;cursor:pointer;font-weight:400}.remember-password input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#ab4c7e}.password-save-hint{margin:8px 0 18px;line-height:1.6}

/* Snow landscape and the supplied two-line quotation on the sign-in page. */
.auth-story.auth-story-snow{background:linear-gradient(180deg,rgba(235,242,247,.30),rgba(235,242,247,.08) 55%,rgba(235,242,247,.60)),url('/auth-snow.png') 36% center/cover no-repeat;color:#283e4d;gap:36px;min-height:100vh}
.auth-story-snow::after{content:none}
.auth-story-snow .brand small{color:#425969}
.auth-story-snow .auth-snow-copy{margin-top:clamp(26px,7vh,76px);margin-bottom:auto}
.auth-story-snow h1{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-size:clamp(30px,3.1vw,52px);font-weight:600;line-height:1.65;letter-spacing:.025em;color:#243a49;text-shadow:0 1px 10px #ffffff80;margin:0}
.auth-story-snow h1 span{display:block;white-space:nowrap}
.auth-story-snow .auth-note{color:#344f60;border-color:#50677945;text-shadow:0 1px 8px #fff;padding-top:20px}
@media(max-width:800px){.auth-story.auth-story-snow{min-height:360px;padding:26px 30px;gap:24px;background-position:36% 48%}.auth-story-snow .auth-snow-copy{margin-top:10px;margin-bottom:auto}.auth-story-snow h1{font-size:clamp(25px,5.5vw,38px);line-height:1.7;letter-spacing:.04em}}

/* Supplied calligraphy composited into the landscape; live heading retained for accessibility. */
.auth-story.auth-story-calligraphy{background:#b4c5d3 url('/auth-snow-calligraphy.png') center/100% 100% no-repeat;padding:28px 8%;gap:0}
.auth-story-calligraphy .auth-snow-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.auth-story-calligraphy .auth-note{margin-top:auto;color:#213b4b;border:0;padding-top:0;font-size:12px}
.auth-story-calligraphy .brand-logo{width:40px;height:40px}
.auth-story-calligraphy .brand-name{font-size:20px}
@media(max-width:800px){.auth-story.auth-story-calligraphy{min-height:0;aspect-ratio:4/5;padding:16px 8%;background-position:center}.auth-story-calligraphy .brand-logo{width:30px;height:30px}.auth-story-calligraphy .brand-name{font-size:16px}.auth-story-calligraphy .brand small{font-size:8px}}

.auth-story-calligraphy .brand-name{color:#293e4b}

/* Keep the active session visible while browsing other pages, without covering chat controls. */
.global-focus{position:sticky;top:0;z-index:15;padding:12px 32px 0;background:transparent;pointer-events:none}
html:has(#fyt-window-bar) .global-focus{top:40px}
.global-focus-button{display:flex;align-items:center;gap:14px;width:100%;max-width:480px;min-height:66px;margin:0 0 0 auto;padding:12px 16px;border:1px solid #f0e5eb;border-radius:20px;background:#fffdfef5;color:#774359;text-align:left;cursor:pointer;pointer-events:auto;box-shadow:0 5px 20px #7138500a;transition:background .18s,box-shadow .18s}
.global-focus-button:hover{background:#fff8fb;box-shadow:0 6px 22px #71385012}.global-focus-button:focus-visible{outline:2px solid #a33e68;outline-offset:3px}
.global-focus-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:13px;background:#f9edf3;color:#b06587}.global-focus-icon svg{width:18px;height:18px}
.global-focus-copy{display:grid;gap:4px;min-width:0;flex:1}.global-focus-copy strong{font-size:11px;font-weight:500;color:#977386;line-height:1.4}.global-focus-goal{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:#644855;line-height:1.4}
.global-focus-time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:23px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap;color:#974c70}
.global-focus-return{display:flex;align-items:center;gap:6px;align-self:stretch;border-left:1px solid #f0e5eb;padding-left:14px;font-size:11px;font-weight:500;white-space:nowrap;color:#997689}.global-focus-return span{font-size:19px;line-height:1;color:#b38b9f}
@media(max-width:800px){.global-focus{padding:10px 16px 0}.global-focus-button{max-width:none;min-height:62px;padding:10px 12px;gap:10px;border-radius:18px}.global-focus-icon{display:none}.global-focus-time{font-size:22px}.global-focus-return{padding-left:10px;font-size:11px;gap:3px}.global-focus-copy strong{font-size:10px}.global-focus-goal{font-size:12px}}
@media(prefers-reduced-motion:reduce){.global-focus-button{transition:none}}
.room-discovery-heading h2{display:flex;align-items:center;gap:9px;flex-shrink:0;white-space:nowrap}.room-discovery-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:8px;background:#fbe3ee;color:#9a4b70;font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.room-discovery-description{display:flex;flex-wrap:wrap;gap:3px 12px;align-items:center;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.room-discovery-description>span{white-space:nowrap}.room-discovery-description>span+span::before{content:'·';margin-right:12px;color:#b394a4}
@media(max-width:800px){.room-discovery-heading{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:16px}.room-discovery-heading h2{font-size:19px;line-height:1.5;margin:0}.room-discovery-description{font-size:12px;gap:2px 8px}.room-discovery-description>span+span::before{margin-right:8px}}
.encouragement-card{margin:0 0 24px;padding:22px 26px;border:1px solid #eed4e2;border-radius:24px;background:linear-gradient(115deg,#fff7f9,#f9f3ff);color:#70445d}.encouragement-heading,.encouragement-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.encouragement-heading h2{margin:0;font-size:15px;font-weight:600}.encouragement-heading h2 span{color:#ca85a1;margin-left:6px}.encouragement-position,.encouragement-status{font-size:12px;color:#977c8c}.encouragement-position{font-variant-numeric:tabular-nums;white-space:nowrap}.encouragement-copy{margin:18px 0 20px}.encouragement-copy blockquote{margin:0;min-height:3.5em;font-family:KaiTi,STKaiti,serif;font-size:22px;line-height:1.8;letter-spacing:.04em;overflow-wrap:anywhere}.encouragement-copy cite{display:block;margin-top:10px;font-size:13px;font-style:normal;text-align:right;color:#927183}.encouragement-copy p{margin:16px 0 0;font-size:13px;line-height:1.8;color:#8a6b7d;overflow-wrap:anywhere}@media(max-width:600px){.encouragement-card{padding:18px;border-radius:20px}.encouragement-copy blockquote{font-size:20px;min-height:5.4em}.encouragement-footer{flex-wrap:wrap}.encouragement-status{font-size:11px}}
