:root{--ink:#102a56;--muted:#667085;--paper:#fff;--canvas:#f6f8fc;--line:#e1e8f2;--coral:#ff6758;--coral-soft:#fff0ed;--mint:#21af91;--mint-soft:#eaf9f5;--sky:#3b82f6;--sky-soft:#eef5ff;--amber:#f59e0b;--radius-lg:24px;--radius-md:16px;--shadow:0 18px 50px #102a5617;--q-bg:#f7f7fb;--q-ink:#1d1d2b;--q-muted:#777b8b;--q-line:#e8e8ef;--q-purple:#7657e8;--q-purple-2:#9377f5;--q-green:#38b982;--q-shadow:0 20px 54px #2427401a;color:var(--q-ink);font-family:Inter,Noto Sans TC,PingFang TC,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 88% 5%,#7657e814,transparent 23%),var(--q-bg);min-width:320px;color:var(--q-ink);margin:0}button,input,select{font:inherit}button{cursor:pointer}.brand{letter-spacing:-.04em;align-items:center;gap:9px;font-size:25px;font-weight:850;display:inline-flex}.mark{background:conic-gradient(from 210deg,#6c4ce0 0 27%,#9a7afa 27% 48%,#41bd87 48% 76%,#f2ae51 76%);border-radius:8px;width:22px;height:22px;box-shadow:0 3px 12px #5b44b840}.setup-page{grid-template-columns:minmax(0,510px) minmax(0,540px);justify-content:center;align-items:center;gap:44px;min-height:100svh;padding:38px;display:grid}.setup-card{border:1px solid var(--q-line);box-shadow:var(--q-shadow);background:#fff;border-radius:34px;padding:52px}.setup-card h1{letter-spacing:-.05em;margin:48px 0 9px;font-size:47px;line-height:1.13}.setup-card>p{color:var(--q-muted);margin:0 0 36px;font-size:19px}.setup-card label{gap:8px;margin:17px 0;font-size:14px;font-weight:750;display:grid}.setup-card input,.setup-card select{width:100%;color:var(--q-ink);background:#fff;border:1px solid #e4e4ed;border-radius:14px;outline:none;padding:14px}.setup-card input:focus,.setup-card select:focus{border-color:#8b6fee;box-shadow:0 0 0 4px #7657e81a}.start-button{background:linear-gradient(135deg,var(--q-purple),var(--q-purple-2));color:#fff;border:0;border-radius:16px;width:100%;margin-top:17px;padding:15px;font-size:16px;font-weight:800;box-shadow:0 12px 25px #6a4bd540}.setup-card small{color:var(--q-muted);margin-top:17px;font-size:12px;line-height:1.65;display:block}.setup-art{height:620px;box-shadow:var(--q-shadow);background:#f2eadf;border-radius:36px;overflow:hidden}.setup-art img{object-fit:cover;width:100%;height:100%;display:block}.study-page{max-width:1240px;margin:0 auto;padding:28px 28px 54px}.study-card{min-height:690px;box-shadow:var(--q-shadow);background:#30271e url(/assets/study-desk.png) 50%/cover;border-radius:34px;position:relative;overflow:hidden}.study-card:after{content:"";pointer-events:none;background:linear-gradient(#140f0a8f,#140f0a12 34%,#140f0a26 58%,#140f0ab3);position:absolute;inset:0}.study-surface{z-index:1;color:#fff;flex-direction:column;min-height:690px;padding:29px;display:flex;position:relative}.study-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-group{align-items:center;gap:14px;display:flex}.brand-group .brand{color:#fff}.status-pill,.top-actions button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;background:#1d18184d;border:1px solid #ffffff3d}.status-pill{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:750}.status-pill.attention{background:#ea5b64cc}.top-actions{gap:8px;display:flex}.top-actions button{border-radius:50%;width:40px;height:40px;font-size:17px}.caregiver-mini{width:190px;color:var(--q-ink);background:#fffffff0;border:1px solid #ffffffbf;border-radius:20px;align-items:center;gap:9px;padding:10px;display:flex;position:absolute;top:94px;left:29px;box-shadow:0 16px 38px #0f0b0833}.caregiver-mini img{object-fit:cover;border-radius:50%;width:48px;height:48px}.caregiver-mini strong{font-size:13px;display:block}.caregiver-mini span{color:#616475;margin-top:3px;font-size:11px;line-height:1.4;display:block}.session-info{-webkit-backdrop-filter:blur(19px);backdrop-filter:blur(19px);background:#231b16ab;border:1px solid #ffffff2b;border-radius:25px;width:min(405px,75%);margin:auto 0 22px;padding:23px;box-shadow:0 16px 35px #0f0c0929}.session-info>span,.session-info>small{color:#fffc;font-size:13px;display:block}.session-info>strong{letter-spacing:-.06em;margin:5px 0 1px;font-size:46px;line-height:1;display:block}.progress-row{align-items:center;gap:10px;margin:19px 0;display:flex}.progress-row b{font-size:13px}.progress-track{background:#ffffff40;border-radius:99px;flex:1;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#8e74f5,#b9a8ff);height:100%;display:block}.metric-grid{border-top:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);gap:7px;padding-top:14px;display:grid}.metric-grid span,.metric-grid small{color:#ffffffad;font-size:10px;display:block}.metric-grid b{letter-spacing:-.04em;margin-top:4px;font-size:22px;display:block}.metric-grid small{font-size:10px;display:inline}.metric-grid .state-metric{color:#b9f4d7;font-size:16px}.study-actions{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.action{color:#3a3a49;background:#fffffff2;border:1px solid #ffffff9e;border-radius:20px;min-height:96px;font-size:13px;font-weight:750;box-shadow:0 10px 26px #100d0a21}.action-icon{border-radius:14px;place-items:center;width:39px;height:39px;margin:0 auto 7px;font-size:18px;display:grid}.action.research .action-icon{color:#2cae78;background:#e8f7f0}.action.break .action-icon{color:#e79d36;background:#fff3df}.action.report .action-icon{color:#db5a76;background:#f9e8ee}.action.ack .action-icon{color:#7255de;background:#eeeaff}.action:hover{transform:translateY(-3px);box-shadow:0 16px 31px #100d0a2e}.session-panel{border:1px solid var(--q-line);background:#fff;border-radius:26px;justify-content:space-between;align-items:center;gap:28px;margin:28px 0 0;padding:25px 30px;display:flex;box-shadow:0 10px 30px #2427400a}.session-panel span{color:var(--q-muted);font-size:13px}.session-panel h1{letter-spacing:-.03em;margin:6px 0;font-size:26px}.session-panel p{color:var(--q-muted);margin:0;font-size:14px}.observe-panel{background:#f6f4ff;border-radius:18px;gap:6px;min-width:260px;padding:16px 18px;display:grid}.observe-panel b{font-size:14px}.observe-panel button{color:#6d51db;background:#fff;border:0;border-radius:12px;margin-top:4px;padding:11px;font-size:13px;font-weight:800;box-shadow:0 4px 14px #4e3d961a}.end-session{color:#777b8b;background:0 0;border:0;margin:20px auto 0;font-size:13px;text-decoration:underline;display:block}.reminder-overlay{z-index:10;color:#fff;background:linear-gradient(#1d140f94,#1d140fb8),url(/assets/study-desk.png) 50%/cover;grid-template-rows:auto 1fr;padding:28px;display:grid;position:fixed;inset:0}.overlay-top{justify-content:space-between;align-items:center;font-size:14px;display:flex}.close-reminder{color:#fff;background:0 0;border:0;font-size:14px}.reminder-content{text-align:center;align-content:center;justify-items:center;display:grid}.reminder-content>img{object-fit:cover;border:5px solid #fffc;border-radius:50%;width:136px;height:136px;box-shadow:0 14px 36px #00000040}.hearts{color:#ffb7cf;gap:21px;margin:14px 0 3px;font-size:24px;display:flex}.hearts span:nth-child(2){font-size:34px;transform:translateY(-8px)}.speech{color:#342b29;background:#fffffff2;border-radius:24px;max-width:510px;margin:5px 0 16px;padding:22px 28px;box-shadow:0 15px 40px #00000029}.speech p{margin:0;font-size:25px;font-weight:800;line-height:1.45}.wave{color:#805fe8;letter-spacing:5px;margin-top:12px}.detected{margin:0;font-size:14px}.reminder-count{color:#ffffffd1;gap:18px;margin:18px 0;font-size:12px;display:flex}.acknowledge{background:linear-gradient(135deg,var(--q-purple),var(--q-purple-2));color:#fff;border:0;border-radius:16px;padding:15px 25px;font-weight:800;box-shadow:0 12px 26px #0000003b}.finish-page{text-align:center;background:radial-gradient(circle at 50% 30%,#fff 0 8%,#0000 35%),linear-gradient(160deg,#fbfbff,#eaf8f2);place-content:center;justify-items:center;min-height:100svh;padding:28px;display:grid}.finish-star{color:#edaa48;font-size:78px}.finish-page h1{letter-spacing:-.05em;margin:7px 0;font-size:48px}.finish-page p{color:var(--q-muted);margin:0}.result-row{background:#fff;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:2px;max-width:620px;margin:30px 0;padding:22px;display:grid;box-shadow:0 13px 32px #24274012}.result-row div{border-right:1px solid var(--q-line);padding:0 16px}.result-row div:last-child{border:0}.result-row b{font-size:28px;display:block}.result-row span{color:var(--q-muted);margin-top:4px;font-size:12px;display:block}.finish-button{max-width:280px}@media (width<=820px){.setup-page{grid-template-columns:minmax(0,510px);padding:20px}.setup-art{display:none}.study-page{padding:0 0 30px}.study-card{border-radius:0;min-height:100svh}.study-surface{min-height:100svh;padding:calc(21px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom))}.caregiver-mini{width:164px;top:80px;left:18px}.caregiver-mini img{width:43px;height:43px}.session-info{width:100%;margin-bottom:17px}.study-actions{gap:8px}.action{min-height:86px;padding:8px 4px;font-size:11px}.action-icon{width:36px;height:36px;margin-bottom:5px}.session-panel{gap:18px;margin:16px 14px 0;padding:20px;display:grid}.observe-panel{min-width:0}.end-session{margin-top:16px}.reminder-overlay{padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))}.speech p{font-size:21px}.reminder-count{flex-direction:column;gap:5px}.setup-card{padding:36px 30px}.setup-card h1{margin-top:37px;font-size:39px}}@media (width<=440px){.brand{font-size:20px}.mark{width:19px;height:19px}.brand-group{gap:8px}.status-pill{padding:6px 8px;font-size:10px}.top-actions button{width:36px;height:36px}.caregiver-mini{width:145px;padding:8px}.caregiver-mini strong{font-size:11px}.caregiver-mini span{font-size:9px}.session-info{padding:18px}.session-info>strong{font-size:39px}.metric-grid b{font-size:19px}.metric-grid .state-metric{font-size:14px}.study-actions{grid-template-columns:1fr 1fr}.action{min-height:74px}.session-panel h1{font-size:22px}.setup-card h1,.finish-page h1{font-size:35px}.result-row{gap:0;padding:17px 7px}.result-row div{padding:0 8px}.result-row b{font-size:23px}.result-row span{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
