/* V361.9: compatibility skin for existing learning, account and support cards. */
  :root { color-scheme: light; --bg:#f6f7f9; --panel:#fff; --ink:#202d3c; --muted:#607080; --line:#dce2e9; --cyan:#3e5cdf; --blue:#3e5cdf; --violet:#675aca; --error:#a5364d; }
  html { background:#f6f7f9; color-scheme:light; }
  body { background:radial-gradient(ellipse at 6% 8%,#e3faf3,transparent 46%),radial-gradient(ellipse at 94% 20%,#efeaff,transparent 50%),#f6f7f9; color:#202d3c; }
  body::before { background:radial-gradient(ellipse at 12% 38%,#d4f5ef85,transparent 60%),radial-gradient(ellipse at 86% 74%,#dee9ff80,transparent 56%); opacity:.7; }
  a { color:#2f64a6; }
  button { background:#eef5fd; color:#254c70; border-color:#bcd3e4; box-shadow:none; }
  button:hover:not(:disabled) { background:#e0edfc; border-color:#91b4d5; }
  textarea,input,select { background:#fff; color:#202d3c; border-color:#a9c5d8; caret-color:#326ab6; color-scheme:light; -webkit-text-fill-color:currentColor; }
  textarea::placeholder,input::placeholder { color:#60798e; -webkit-text-fill-color:#60798e; opacity:1; }
  :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid #5278d0; outline-offset:3px; }
  .primary-button,button.primary-button,.send-button { background:linear-gradient(125deg,#2f65be,#6564bc); border-color:#3967bf; color:#fff; box-shadow:0 4px 15px #5375bc20; }
  button.primary-button:hover:not(:disabled),.send-button:hover:not(:disabled) { background:#2c5bae; color:#fff; }
  .skip-link { background:#fff; color:#285ba4; }
  .hayato-header { background:#ffffff90; border-color:#d1e2ed; }
  .hayato-brand { color:#202d3c; text-decoration:none; }
  .hayato-brand img { display:block; width:42px; height:42px; border:1px solid #dce8ee; border-radius:13px; background:#fff; }
  .hayato-brand small,.hayato-header-meta { color:#607080; }
  .system-dot { background:#2d987a; box-shadow:0 0 0 4px #d8f0e6; }
  .eyebrow,.presence-caption,.orb-orbit-label,.presence-identity p,.presence-bottom { color:#53728a; }
  .orb-fallback { background:radial-gradient(circle,#fff 12%,#d8f2ed 33%,#dddeff55 53%,transparent 70%); }
  .orb-fallback i { border-color:#70bbaf; box-shadow:0 0 22px #81caba40; }
  .orb-fallback i:nth-child(2) { border-color:#9990d7; }
  .orb-fallback i:nth-child(3) { border-color:#89b7e0; }
  .orb-fallback span { background:#3b6977; box-shadow:0 0 0 5px #d0efea; }
  .presence-status { background:#f0faf6; color:#246657; border-color:#bfe0d3; }
  .presence-status::before { background:#369a7b; }
  .presence-context,.has-session .presence-context { background:linear-gradient(125deg,#ffffffd9,#eaf6ffbb); color:#3a5e79; border-color:#c8dfed; box-shadow:0 8px 25px #628aac0b; }
  .presence-context small { color:#58738a; }
  .presence-line { background:linear-gradient(90deg,transparent,#abcbdc,transparent); }
  .conversation-scroll { scrollbar-color:#a2bfd5 transparent; }
  .welcome-heading h2 { color:#1d3b57; }
  .welcome-heading h2 span { background:none; color:#397895; -webkit-text-fill-color:#397895; display:inline-block; white-space:nowrap; }
  .welcome-heading p,.welcome-example,.message-label { color:#607080; }
  .message-label::before { background:#46a797; }
  .message-text,.message.user .message-text { color:#293747; }
  .message.local .message-text { color:#607080; }
  .message.user { background:#e9f3fd; border-color:#c3d9ec; }
  .conversation-bottom,.layout-reflow .conversation-bottom { background:linear-gradient(0deg,#f6f7f9f2,#f6f7f900); }
  .hayato-composer { background:#ffffffed; border-color:#b6d0e2; box-shadow:0 8px 30px #507a9e15; }
  .hayato-composer:focus-within { border-color:#7aabd2; box-shadow:0 0 0 3px #c9e3f545,0 8px 30px #507a9e12; }
  .hayato-composer textarea { background:transparent; color:#202d3c; }
  .voice-start { background:#edf8f4; color:#226c60; border-color:#b8dace; }
  .voice-start:hover:not(:disabled) { background:#dbf1e8; }
  .composer-foot { color:#5d7589; }
  .work-card,.practice-card { background:linear-gradient(135deg,#fff,#f4f9ff); color:#202d3c; border-color:#c0d9e8; box-shadow:0 14px 38px #4f7c9b0c; }
  .work-card p,.practice-card .practice-prompt,.practice-outcome p,.practice-hints p { color:#35566f; }
  .work-card .card-kicker,.card-note,.draft-note { color:#376979; }
  .clarification-choices button { background:#edf6ff; color:#285574; border-color:#bdd6e9; }
  .clarification-choices button::after { color:#668abe; }
  .clarification-choices button:hover { background:#dfeefc; }
  .topic-meta { color:#607080; }
  .topic-meta span { background:#eef4fb; border-color:#c9dbeb; }
  .phase-number { background:#e7eefc; color:#4866a6; border-color:#c0d0eb; }
  .plan-phase p,.plan-days summary,.plan-day b { color:#3f5f79; }
  .video-stage { background:#e6f0f8; border-color:#bdd3e4; }
  .video-play { background:linear-gradient(0deg,#fffffff0,#ffffff08 75%); color:#285370; }
  .video-play:hover:not(:disabled) { background:linear-gradient(0deg,#fffffff5,#e0f1ff22 75%); }
  .play-disc { background:#fff; color:#396fc1; box-shadow:0 4px 20px #5885b02b; }
  .video-channel,.question-hint summary,.answer-label { color:#4c6d88; }
  .question-prompt,.task-steps,.point-list { color:#274e68; }
  .question-prompt { background:#edf6fd; border-color:#bbd5e8; }
  .answer-option { background:#fff; color:#254f6e; border-color:#bed7e5; }
  .answer-option:has(input:checked) { background:#e1f5ec; border-color:#73bba2; }
  .answer-option input { accent-color:#248467; }
  .question-tools button { color:#3d668b; }
  .diagnosis-number,.feedback-symbol { background:#e6f7ee; color:#267256; }
  .feedback-card[data-correct="false"] .feedback-symbol { background:#fff2e2; color:#8a5d22; }
  .feedback-card[data-correct="unknown"] .feedback-symbol { background:#edf3fb; color:#4f6e8c; }
  .progress-fact { background:#edf5ff; border-color:#c5dcef; }
  .progress-fact b { color:#315b85; }
  .progress-fact small { color:#53718b; }
  .hayato-working { background:linear-gradient(120deg,#fff,#eaf7f6 50%,#f0edff); border-color:#bddbdc; color:#30566f; box-shadow:0 8px 30px #528a9515; }
  .hayato-working::before { background:radial-gradient(ellipse at 15% 50%,#a8e5d466,transparent 65%); }
  .hayato-working .working-halo { background:radial-gradient(circle,#c8f1e5,#dcdafa33,transparent 70%); }
  .hayato-working .working-orbit { border-color:#6ca9ad; box-shadow:none; }
  .hayato-working .working-orbit+.working-orbit { border-color:#a49acf; }
  .hayato-working .working-core { background:#72b8a7; box-shadow:0 0 14px #99d3c266; }
  .hayato-working .working-particles i { background:#6cb9a5; }
  .hayato-working .working-particles i:nth-child(2) { background:#9b90d0; }
  .hayato-working .working-particles i:nth-child(3) { background:#78add8; }
  .hayato-working .working-kicker { color:#326c71; }
  .hayato-working :is(.working-elapsed,#hayato-working-note) { color:#55748a; }
  .hayato-working .working-flow span { background:#e7f5f0; color:#356e61; border-color:#b4d8cb; }
  .hayato-working .working-flow span:nth-child(2) { background:#edf2fc; color:#45678f; }
  .hayato-working .working-flow span:nth-child(3) { background:#f0ebfc; color:#69558e; }
  #hayato-root.waiting-long .hayato-working,.hayato-working[data-phase="long"] { background:linear-gradient(125deg,#fff,#f0edff); border-color:#c5bce6; }
  #hayato-root.waiting-long .hayato-working .working-kicker,.hayato-working[data-phase="long"] .working-kicker { color:#725e98; }
  #hayato-root.waiting-offline .hayato-working,.hayato-working[data-phase="offline"] { background:#fff7e9; border-color:#e0caa6; }
  #hayato-root.waiting-offline .hayato-working .working-kicker,.hayato-working[data-phase="offline"] .working-kicker { color:#815c23; }
  .inline-notice { background:#fff6e8; color:#80572a; border-color:#e3cda9; }
  .inline-notice button { background:#ffefda; color:#775022; }
  .attachment-preview,.media-handoff-card { background:#eef7fc; color:#315a74; border-color:#bbd8e7; }
  .attachment-preview img { background:#fff; }
  .attachment-preview p { color:#426780; }
  .attachment-preview button { color:#3b668d; }
  .voice-session { background:#eaf8f3; color:#265f53; border-color:#b3dace; }
  .voice-session button { background:#dff1e9; color:#255e52; border-color:#a8cdbf; }
  .voice-session-copy small,.voice-connection-note,.voice-quota-note,.voice-caption,.voice-interim { color:#426f65; }
  .voice-session[data-state="connecting"],.voice-session[data-state="recovering"] { background:#eef3fe; border-color:#bdccec; color:#42658d; }
  .voice-session[data-state="paused"],.voice-session[data-state="error"] { background:#fff4e5; border-color:#e2c79d; color:#785223; }
  .voice-meter i,.voice-wave i { background:#368c78; }
  .hayato-dialog { background:#fff; color:#202d3c; border-color:#b8d1e5; box-shadow:0 24px 90px #355a8530; }
  .hayato-dialog::backdrop { background:#7291ad4d; backdrop-filter:blur(8px); }
  .hayato-dialog>p,.media-status,.privacy-note { color:#526e86; }
  .media-options button,.file-button { background:#eff6ff; color:#365c7c; border-color:#c3d7e8; }
  .phone-pair { background:#f0f7fc; border-color:#c5dae9; }
  .phone-pair .phone-pin { color:#255478; }
  .phone-pair p { color:#547087; }
  .ink-canvas { background:#fff; }
  .noscript-message { background:#fff5e7; color:#75532d; border-color:#decca8; }
  .empty-message { color:#526e86; }
  .account-entry { background:#ffffffde; color:#2f5571; border-color:#bbd5e5; }
  .account-entry small { color:#55748b; }
  .account-entry:hover,.account-entry:focus-visible { background:#edf5ff; }
  .unread-badge { background:#4668b6; color:#fff; }
  .account-facts dt,.account-section-title { color:#51708a; }
  .account-quota .quota-value { color:#305d80; }
  .account-quota progress,.account-quota progress::-webkit-progress-bar { background:#dfebf4; }
  .account-quota progress::-webkit-progress-value { background:linear-gradient(90deg,#70b5a6,#647cca); }
  .account-quota progress::-moz-progress-bar { background:#629eab; }
  .feature-available { color:#25755d; }
  .feature-limited { color:#815e31; }
  .plan-offer { background:linear-gradient(125deg,#edf8ff,#efedff); border-color:#c8d3ed; }
  .plan-price { color:#365b94; }
  .plan-comparison th { background:#edf4fc; color:#395f80; }
  .notification-item.is-read { background:#f4f8fc; color:#527088; }
  .notification-item button { color:#466e95; }
  .account-form-field { color:#3d607c; }
  .account-form-field input,.account-form-field textarea,.account-form-field select { background:#fff; color:#24465f; border-color:#a9c7db; }
  .account-check { color:#42647e; }
  .account-check input { accent-color:#386dbc; }
  .conversation-thread { border-color:#d3e2ed; }
  .conversation-history,.workspace-resources { background:#ffffffc7; border-color:#c9dce9; }
  .conversation-history>summary,.workspace-resources>summary { color:#54738c; }
  .practice-outcome h4,.practice-checks>h4,.practice-material h4 { color:#2c5a79; }
  .practice-materials>summary,.practice-hints>summary,.practice-previous>summary { color:#557190; }
  .criterion-status { background:#edf3fc; color:#47698c; border-color:#c4d6ec; }
  [data-criterion-status="confirmed"] .criterion-status { background:#e6f6ed; color:#276c51; border-color:#bbd8c8; }
  [data-criterion-status="needs_work"] .criterion-status { background:#fff4e2; color:#835c23; border-color:#decca8; }
  .practice-criterion .criterion-evidence,.practice-criterion .criterion-feedback,.practice-criterion .criterion-next { color:#446b81; }
  .practice-original { background:#eff5fa; color:#41647e; border-color:#c8dbe9; }
  .practice-next-action { background:#e9f7f1; color:#306a57; border-color:#b9d9c8; }
  .has-session.has-work.layout-wide .hayato-workspace { border-color:#c7dde9; }
  .hayato-entry-note,.hayato-public-info { background:#ffffffd9; color:#466780; border-color:#c6ddea; }
  .hayato-entry-note { border:1px solid #c6ddea; border-radius:14px; padding:10px 13px; font-size:13px; line-height:1.6; }
  .hayato-entry-note p { margin:0 0 6px; }
  .hayato-public-info { border:1px solid #c6ddea; border-radius:12px; padding:10px 13px; font-size:12px; line-height:1.65; }
  .hayato-public-info summary { color:#466780; cursor:pointer; font-size:12px; }
  .hayato-public-info p { margin:9px 0; }
  .hayato-public-info h2 { font-size:14px; margin:5px 0; }
  .hayato-public-info nav { display:flex; flex-wrap:wrap; gap:7px 13px; }
  .voice-turn-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; align-items:end; margin:8px 0; padding:10px 12px; border:1px solid #bfd7e3; border-radius:14px; background:#f2f8fc; color:#202d3c; }
  .voice-turn-controls[hidden] { display:none; }
  .voice-turn-controls label { display:grid; gap:4px; min-width:0; font-size:12px; line-height:1.4; color:#315670; }
  .voice-turn-controls select { width:100%; min-width:0; min-height:44px; font-size:14px; padding:8px 24px 8px 9px; }
  .voice-turn-controls button { min-height:44px; padding:10px 12px; font-size:14px; font-weight:700; line-height:1.4; border-radius:10px; color:#254c70; background:#e6f0fb; white-space:normal; }
  .voice-turn-controls button:disabled { opacity:1; color:#51677b; background:#edf2f6; border-color:#c1cfda; cursor:default; }
  .voice-turn-note { grid-column:1/-1; margin:0; font-size:12px; line-height:1.6; color:#425f76; overflow-wrap:anywhere; }
  #hayato-dialog-turn-note { color:#425f76; }
  @media (max-width:360px) { .voice-turn-controls { padding:9px; gap:7px; } .voice-turn-controls button { padding:10px 8px; font-size:13px; } .voice-turn-controls select { font-size:13px; } }
  .message-sources { margin-top:18px; padding:14px 16px; border:1px solid #dce2ec; border-radius:14px; background:#f8faff; font-size:13px; line-height:1.6; }
  .message-sources .message-sources-label { margin:0 0 8px; color:#566276; font-size:12px; font-weight:600; }
  .message-sources ol { margin:0; padding-left:22px; }
  .message-sources li { margin:6px 0; overflow-wrap:anywhere; }
  .message-sources a { color:#304cb6; text-decoration:underline; text-underline-offset:3px; }
  .message-sources a:focus-visible { outline:3px solid #758bfa; outline-offset:4px; border-radius:3px; }
  .message-source-domain { display:block; color:#65728a; font-size:11px; }
  @media print { html,body,.work-card,.practice-card { background:#fff; box-shadow:none; } }
/* V362.8: textbook fractions without changing the submitted/stored answer. */
.hayato-body .hayato-fraction { display: inline-grid; grid-template-rows: auto auto; vertical-align: middle; text-align: center; min-width: 1.45em; margin: .25em .15em; line-height: 1.2; font-variant-numeric: tabular-nums; color: inherit; }
.hayato-body .hayato-fraction>.hayato-numerator { display: block; padding: 0 .18em .12em; border-bottom: 1.5px solid currentColor; }
.hayato-body .hayato-fraction>.hayato-denominator { display: block; padding: .12em .18em 0; }
