
.space-flat-hub {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 3vw, 44px);
  border: 1px solid rgba(137, 121, 186, .16);
  border-radius: 30px;
  background: rgba(255, 255, 255, .54);
  box-shadow: 0 24px 80px rgba(76, 61, 116, .08);
  backdrop-filter: blur(24px) saturate(1.08);
}

.space-flat-heading {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.space-flat-heading h1 {
  max-width: 760px;
  margin: 0;
  color: #514a68;
  font-family: var(--font-serif);
  font-size: clamp(28px, 3.1vw, 48px);
  font-weight: 500;
  line-height: 1.35;
}

.space-flat-enter {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 22px;
  padding: 12px 16px 12px 20px;
  border: 1px solid rgba(137, 121, 186, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  color: #71649d;
  font-size: 13px;
  backdrop-filter: blur(14px);
}

.space-flat-visual {
  position: relative;
  min-height: 520px;
  margin-top: 24px;
}

.flat-plan-room {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(129, 108, 178, .18);
  border-radius: 26px;
  background:
    linear-gradient(rgba(137, 121, 186, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 121, 186, .045) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(238, 232, 248, .78));
  background-size: 48px 48px, 48px 48px, auto;
}

.flat-plan-room > span {
  position: absolute;
  display: block;
  border: 1px solid rgba(126, 108, 167, .18);
  background: rgba(255, 255, 255, .58);
}

.flat-plan-window {
  top: 0;
  left: 12%;
  width: 31%;
  height: 12px;
  border-width: 0 1px 1px !important;
  border-radius: 0 0 9px 9px;
  background: #d8cdec !important;
}

.flat-plan-sofa {
  top: 14%;
  left: 8%;
  width: 36%;
  height: 19%;
  display: flex !important;
  gap: 6px;
  padding: 8px;
  border-radius: 23px;
  background: rgba(206, 194, 228, .64) !important;
}

.flat-plan-sofa i {
  flex: 1;
  border: 1px solid rgba(120, 101, 162, .13);
  border-radius: 15px;
  background: rgba(249, 247, 252, .72);
}

.flat-plan-rug {
  top: 36%;
  left: 27%;
  width: 39%;
  height: 42%;
  border: 0 !important;
  border-radius: 50%;
  background: rgba(204, 191, 228, .48) !important;
}

.flat-plan-table {
  top: 49%;
  left: 40%;
  width: 14%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 8px 26px rgba(96, 77, 132, .08);
}

.flat-plan-shelf {
  top: 9%;
  right: 3%;
  width: 8%;
  height: 43%;
  border-radius: 10px;
  background: repeating-linear-gradient(0deg, rgba(211, 201, 232, .86) 0 7px, rgba(255, 255, 255, .7) 7px 25px) !important;
}

.flat-plan-easel {
  top: 12%;
  right: 17%;
  width: 13%;
  height: 20%;
  border: 7px solid rgba(184, 168, 213, .72) !important;
  border-radius: 8px;
  background: rgba(255, 255, 255, .76) !important;
}

.flat-plan-sand {
  right: 8%;
  bottom: 10%;
  width: 24%;
  height: 28%;
  border: 7px solid rgba(184, 168, 213, .7) !important;
  border-radius: 14px;
  background: rgba(222, 215, 238, .56) !important;
}

.flat-plan-plant {
  left: 5%;
  bottom: 7%;
  width: 13%;
  height: 25%;
  border: 0 !important;
  background: transparent !important;
}

.flat-plan-plant i {
  position: absolute;
  width: 52%;
  height: 58%;
  border-radius: 55% 45% 55% 45%;
  background: #9eaf93;
}

.flat-plan-plant i:nth-child(1) { left: 0; bottom: 3%; }
.flat-plan-plant i:nth-child(2) { right: 0; top: 0; }
.flat-plan-plant i:nth-child(3) { right: 8%; bottom: 0; }

.flat-room-entry {
  position: absolute;
  z-index: 3;
  min-width: 96px;
  padding: 10px 14px;
  border: 1px solid rgba(125, 105, 173, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 10px 28px rgba(73, 54, 110, .08);
  color: #655987;
  font-family: var(--font-serif);
  font-size: 13px;
  backdrop-filter: blur(14px);
  transition: transform .2s, border-color .2s, background .2s;
}

.flat-room-entry:hover {
  transform: translateY(-3px);
  border-color: rgba(125, 105, 173, .42);
  background: rgba(255, 255, 255, .94);
}

.flat-room-entry--self { top: 17%; left: 18%; }
.flat-room-entry--relation { top: 39%; left: 16%; }
.flat-room-entry--sound { top: 51%; left: 43%; }
.flat-room-entry--sand { right: 13%; bottom: 22%; }
.flat-room-entry--drawing { top: 17%; right: 18%; }
.flat-room-entry--relax { left: 24%; bottom: 12%; }
.flat-room-entry--mind { left: 7%; bottom: 13%; }
.flat-room-entry--games { right: 34%; bottom: 9%; }

.space-entry-library {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding-bottom: 44px;
}

.space-entry-group {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 18px;
  align-items: start;
  padding: 20px;
  border: 1px solid rgba(137, 121, 186, .13);
  border-radius: 24px;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(18px);
}

.space-entry-group h2 {
  margin: 10px 0 0;
  color: #5c536f;
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 500;
}

.space-entry-group > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.space-entry-card {
  min-height: 66px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(137, 121, 186, .12);
  border-radius: 15px;
  background: rgba(249, 247, 252, .68);
  color: #5f5774;
  text-align: left;
}

.space-entry-card:hover {
  transform: translateY(-2px);
  border-color: rgba(137, 121, 186, .3);
  background: rgba(255, 255, 255, .9);
}

.space-entry-symbol {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #eee8f8;
  color: #7f71aa;
}

.space-entry-card strong {
  font-family: var(--font-serif);
  font-size: 14px;
  font-weight: 500;
}

.space-entry-card b { color: #a397c3; font-weight: 400; }

.spread-grid { padding-top: 10px; }
.deck-switcher.glass-panel {
  position: sticky;
  top: 10px;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  width: auto;
  margin: 0 0 14px;
  padding: 6px;
  border: 1px solid rgba(132, 113, 177, .14);
  border-radius: 18px;
  background: rgba(253, 253, 252, .96);
  box-shadow: 0 12px 32px rgba(77, 61, 111, .07);
  backdrop-filter: blur(18px);
}
.deck-switcher.glass-panel::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: -2px;
  right: -2px;
  bottom: 100%;
  height: 200px;
  background: #f7f7f5;
  pointer-events: none;
}

.deck-switcher.glass-panel .deck-tab {
  min-width: 0;
  padding: 13px 10px;
  border: 0;
  border-radius: 13px;
  background: transparent;
}

.deck-switcher.glass-panel .deck-tab.active {
  background: linear-gradient(135deg, #9487c4, #8171b3);
  color: #fff;
  box-shadow: 0 9px 22px rgba(113, 91, 165, .2);
}

.deck-overview.glass-panel {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0 0 14px;
  padding: 20px 112px 20px 22px;
  border: 1px solid rgba(137, 121, 186, .13);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(238, 232, 248, .58));
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.deck-overview-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.deck-overview.glass-panel h2 { margin: 0; font-size: clamp(24px, 2.2vw, 34px); }
.deck-overview.glass-panel p { max-width: 760px; margin: 7px 0 0; color: #8c839a; font-size: 13px; }
.deck-overview-info { flex: 0 0 auto; width: 20px; height: 20px; padding: 0; border: 1px solid rgba(132, 113, 177, .22); border-radius: 50%; color: #74669c; font-size: 11px; }
.deck-overview-preview { position: absolute; top: 50%; right: 28px; width: 62px; height: 76px; transform: translateY(-50%); }
.deck-overview-preview img { position: absolute; inset: 0; width: 50px; height: 70px; object-fit: cover; border: 2px solid rgba(255,255,255,.82); border-radius: 8px; box-shadow: 0 8px 18px rgba(74,55,110,.12); }
.deck-overview-preview img:first-child { transform: translate(-7px,3px) rotate(-8deg); opacity: .72; }
.deck-overview-preview img:last-child { transform: translate(8px,-2px) rotate(5deg); }

.spread-grid-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.spread-card.glass-panel {
  min-height: 176px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid rgba(137, 121, 186, .13);
  border-radius: 20px;
  background: rgba(255, 255, 255, .62);
  box-shadow: none;
  color: #554d68;
  text-align: left;
  backdrop-filter: blur(16px);
}

.spread-card.glass-panel:hover {
  transform: translateY(-3px);
  border-color: rgba(137, 121, 186, .3);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 16px 38px rgba(75, 59, 108, .08);
}

.spread-card-header h3 { font-size: 19px; }
.spread-card .card-count-badge { background: #eee9f7; color: #7a6ca3; }
.spread-card > p { margin: 12px 0; color: #91899e; font-size: 12px; line-height: 1.75; }
.spread-card > b { margin-top: auto; color: #75669f; font-size: 11px; font-weight: 500; }

body.is-space-embed { background: #f7f7f5; }
body.is-space-embed.app-shell-active .page.active { position:fixed; inset:0; width:100%; min-height:100%; padding:0!important; border:0; border-radius:0; background:#f7f7f5; box-shadow:none; }
body.is-space-embed #page-dashboard .container { width: 100%; max-width: none; margin:0; padding: 0; }
body.is-space-embed .spread-grid { padding: 0; }
body.is-space-embed .deck-switcher.glass-panel { top: 0; border-radius:0 0 18px 18px; }

.sound-healing-space { width: min(1080px, 100%); margin: 0 auto; padding: clamp(18px, 3vw, 40px); }
.sound-healing-space > header { margin: 0 0 24px; }
.sound-healing-space h2 { margin: 0; color: #554d6b; font-family: var(--font-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 500; }
.soundscape-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.soundscape-option {
  min-height: 156px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(135, 119, 183, .15);
  border-radius: 22px;
  background: rgba(255, 255, 255, .58);
  color: #62587e;
  backdrop-filter: blur(16px);
}
.soundscape-option:hover,
.soundscape-option.is-playing { transform: translateY(-3px); border-color: rgba(135, 119, 183, .38); background: rgba(255, 255, 255, .82); box-shadow: 0 18px 44px rgba(77, 59, 112, .09); }
.soundscape-option i { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e5dcf1; color: #8574ac; font: 29px/1 Georgia; }
.soundscape-option.is-playing i { animation: sound-pulse 2.5s ease-in-out infinite; }
.soundscape-option strong { font-family: var(--font-serif); font-size: 17px; font-weight: 500; }
.sound-healing-space > footer { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 13px 16px; border-radius: 15px; background: rgba(255, 255, 255, .58); color: #91899f; font-size: 11px; }
.sound-healing-space > footer button { padding: 8px 13px; border: 1px solid rgba(135, 119, 183, .18); border-radius: 999px; color: #71649a; }
@keyframes sound-pulse { 50% { transform: scale(1.09); box-shadow: 0 0 0 15px rgba(177, 159, 211, .11); } }

@media (max-width: 1040px) {
  .space-entry-group { grid-template-columns: 1fr; }
  .space-entry-group h2 { margin: 0; }
  .space-entry-group > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .spread-grid-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .soundscape-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
  .space-flat-hub { padding: 20px 14px; border-radius: 22px; }
  .space-flat-heading { display: block; }
  .space-flat-enter { width: max-content; margin-top: 14px; }
  .space-flat-visual { min-height: 500px; }
  .flat-room-entry { min-width: 82px; padding: 8px 10px; font-size: 11px; }
  .flat-room-entry--self { left: 10%; }
  .flat-room-entry--relation { left: 8%; }
  .flat-room-entry--drawing { right: 10%; }
  .flat-room-entry--games { right: 27%; }
  .space-entry-group { padding: 16px; }
  .space-entry-group > div { grid-template-columns: 1fr 1fr; }
  .deck-switcher.glass-panel { display: flex; overflow-x: auto; }
  .deck-switcher.glass-panel .deck-tab { min-width: 132px; }
  .deck-overview.glass-panel { padding-right: 86px; }
  .deck-overview-preview { right: 14px; transform: translateY(-50%) scale(.82); }
  .spread-grid-inner { grid-template-columns: 1fr; }
  .soundscape-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 2D / 3D parity polish: restrained glass surfaces and shared proportions. */
.return-to-space { top: 26px; right: 28px; bottom: auto; }
.personal-tools-heading { align-items: stretch; margin: 0 0 18px; }
.personal-tools-greeting { flex:1 1 auto;display:flex;align-items:center;min-height:72px;padding:18px 24px;border:1px solid rgba(28,29,27,.075);border-radius:22px;background:rgba(255,255,255,.62);box-shadow:0 12px 36px rgba(32,33,31,.055) }
.personal-tools-heading h1 { font-size:20px;line-height:1.45;letter-spacing:.02em }
.personal-tools-space-entry { flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:154px;min-height:72px;padding:0 22px;border:1px solid rgba(28,29,27,.1);border-radius:22px;background:#20211f;color:#fff;font-size:13px;text-decoration:none;box-shadow:0 14px 34px rgba(32,33,31,.12);transition:transform .2s ease,box-shadow .2s ease }
.personal-tools-space-entry:hover { transform:translateY(-2px);box-shadow:0 18px 42px rgba(32,33,31,.16) }
.personal-tool-card::before { display:none }
.personal-tool-card { background:rgba(255,255,255,.7) }

.deck-switcher.glass-panel { z-index:30;isolation:isolate;background:rgba(253,253,252,.985) }
.deck-switcher.glass-panel::before { top:auto;bottom:100%;height:200px;background:#f7f7f5 }
.deck-focus-nav { display:flex;gap:8px;margin:0 0 14px;padding:4px 0 10px;overflow-x:auto;border:0;border-bottom:1px solid rgba(28,29,27,.08);border-radius:0;background:transparent;box-shadow:none }
.deck-focus-nav button { appearance:none;flex:0 0 auto;min-height:36px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:#626660;font:inherit;font-size:13px;cursor:pointer }
.deck-focus-nav button:hover { background:rgba(32,33,31,.055);color:#20211f }
.deck-focus-nav button.active { background:#20211f;color:#fff }

.personal-writing-tool,
.healing-box-tool { width:min(980px,calc(100% - 32px));min-height:620px;margin:0 auto;padding:clamp(28px,5vw,64px);border-radius:32px;background:rgba(255,255,255,.66) }
.personal-writing-tool>header,.healing-box-tool>header { max-width:660px;margin-bottom:34px }
.personal-writing-tool>header>span,.healing-box-tool>header>span { color:#777b75;font-size:11px;letter-spacing:.12em }
.personal-writing-tool h1,.healing-box-tool h1 { margin:8px 0 10px;font:500 clamp(30px,4vw,48px)/1.25 var(--font-serif) }
.personal-writing-tool header p,.healing-box-tool header p { color:#686c66;font-size:13px;line-height:1.8 }
.personal-writing-compose { display:grid;grid-template-columns:1fr auto;gap:12px;padding:22px;border:1px solid rgba(28,29,27,.075);border-radius:24px;background:rgba(255,255,255,.62) }
.personal-writing-compose label { grid-column:1/-1;color:#5f635e;font-size:12px }
.personal-writing-compose textarea { width:100%;min-height:126px;resize:vertical;padding:18px;border:1px solid rgba(28,29,27,.1);border-radius:18px;background:rgba(248,248,246,.8);color:#20211f;font:14px/1.8 var(--font-sans);outline:none }
.personal-writing-compose textarea:focus { border-color:rgba(28,29,27,.32);background:#fff }
.personal-writing-compose button,.healing-box-tool>button,.healing-box-result button,.classic-modality-save { align-self:end;min-height:48px;padding:0 22px;border-radius:15px;background:#20211f;color:#fff;font-size:12px }
.personal-writing-history { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;padding:10px;border:1px solid rgba(28,29,27,.055);border-radius:24px;background:rgba(255,255,255,.46) }
.personal-writing-history article,.personal-writing-empty { min-height:96px;padding:17px;border:1px solid rgba(28,29,27,.065);border-radius:18px;background:rgba(248,248,246,.68) }
.personal-writing-history time { color:#898d87;font-size:10px }
.personal-writing-history p { margin-top:8px;color:#424540;font-size:12px;line-height:1.75 }
.personal-writing-empty { grid-column:1/-1;display:grid;place-items:center;color:#898d87!important }
.vent-writing-tool { background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(238,239,236,.68)) }
.vent-release { min-height:46px;margin-top:16px;color:#5f635e;font-size:13px }
.healing-box-tool { display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);align-items:center;gap:34px }
.healing-box-tool>header { margin:0 }
.healing-box-result { position:relative;grid-column:2;grid-row:1/span 2;min-height:360px;display:grid;place-items:center;align-content:center;gap:18px;padding:36px;border:1px solid rgba(28,29,27,.075);border-radius:30px;background:radial-gradient(circle at 50% 40%,#fff,rgba(238,239,236,.76));text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 20px 54px rgba(32,33,31,.07) }
.healing-box-result>span { display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(28,29,27,.1);border-radius:24px;background:#fff;font:28px/1 var(--font-serif) }
.healing-box-result strong { font:500 26px/1.3 var(--font-serif) }
.healing-box-result p { max-width:280px;color:#6d716b;font-size:13px;line-height:1.7 }
.healing-box-tool>button { justify-self:start;min-width:160px }

.drawing-hub-shell,.sound-mode-home,.classic-practice-hub,.classic-learning { width:min(1120px,100%);margin:0 auto;padding:clamp(20px,3vw,40px) }
.drawing-entry-grid,.sound-mode-gallery,.classic-practice-grid { gap:14px }
.drawing-hub-shell .drawing-entry-card,.sound-mode-card,.classic-practice-grid button { min-height:210px;padding:24px;border:1px solid rgba(28,29,27,.075);border-radius:24px;background:rgba(255,255,255,.7);box-shadow:0 14px 40px rgba(32,33,31,.055);backdrop-filter:blur(22px) }
.sound-mode-card { display:grid;grid-template-columns:86px 1fr;align-items:center;gap:22px }
.sound-mode-art { width:78px }
.sound-mode-card strong,.classic-practice-grid strong { font-size:23px }
.classic-practice-grid button { display:grid;grid-template-columns:82px 1fr;grid-template-rows:1fr auto;align-items:center;justify-items:start }
.practice-orbit,.practice-body { grid-row:1/-1;width:62px;height:62px;margin:0;box-shadow:0 0 0 12px rgba(232,233,230,.72) }
.practice-body { width:42px;height:78px;border-radius:45% 45% 38% 38% }

.classic-counselor { grid-template-columns:260px 1fr }
.classic-counselor>aside { display:block }
.classic-counselor-tools { display:grid;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(28,29,27,.075) }
.classic-counselor-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px }
.classic-counselor>aside .classic-counselor-list button { min-width:0;padding:12px }
.classic-counselor>aside .classic-counselor-list small { white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.classic-modality-toolbox { width:min(1080px,100%);margin:auto;padding:clamp(24px,4vw,48px) }
.classic-modality-toolbox>header { margin-bottom:24px }
.classic-modality-toolbox h2 { margin:22px 0 8px;font:500 36px/1.3 var(--font-serif) }
.classic-modality-toolbox header p { color:#6c706a }
.classic-modality-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px }
.classic-modality-grid button { min-height:190px;display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid rgba(28,29,27,.075);border-radius:22px;background:rgba(255,255,255,.7);text-align:left }
.classic-modality-grid span { color:#7a7e78;font-size:11px }
.classic-modality-grid strong { margin:12px 0;font:500 20px/1.3 var(--font-serif) }
.classic-modality-grid small { color:#666a64;line-height:1.75 }
.classic-modality-practice { width:min(800px,100%);min-height:560px;margin:auto;padding:clamp(28px,5vw,58px);border-radius:30px }
.classic-modality-practice>span { display:block;margin:40px 0 8px;color:#747872;font-size:11px }
.classic-modality-practice h2 { font:500 30px/1.55 var(--font-serif) }
.classic-modality-practice textarea { width:100%;min-height:220px;margin:24px 0 14px;padding:20px;border:1px solid rgba(28,29,27,.1);border-radius:20px;background:rgba(248,248,246,.82);font:14px/1.8 var(--font-sans) }

.classic-bookcase { display:grid;gap:18px }
.classic-bookcase-section { padding:20px 20px 12px;border:1px solid rgba(28,29,27,.075);border-radius:24px;background:rgba(255,255,255,.66) }
.classic-bookcase-section>header { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px }
.classic-bookcase-section>header span { font:500 18px/1.3 var(--font-serif) }
.classic-bookcase-section>header b { color:#858983;font-size:10px;font-weight:400 }
.classic-book-shelf { position:relative;display:flex;align-items:flex-end;gap:8px;min-height:250px;padding:14px 12px 24px;overflow-x:auto;border-bottom:12px solid #d9c8a6;border-radius:0 0 9px 9px }
.classic-book-shelf::after { content:'';position:absolute;left:0;right:0;bottom:-18px;height:12px;border-radius:50%;background:rgba(32,33,31,.08);filter:blur(10px) }
.classic-book-shelf button { flex:0 0 94px;height:186px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 10px;border:1px solid rgba(28,29,27,.1);border-radius:5px 9px 4px 4px;background:linear-gradient(90deg,#e8e2d5,#fbfaf6 18%,#f0ece4 82%,#d6cdbd);box-shadow:5px 8px 14px rgba(32,33,31,.08);text-align:left }
.classic-book-shelf button:nth-child(4n+2) { height:202px }
.classic-book-shelf button:nth-child(4n+3) { height:176px }
.classic-book-shelf button:nth-child(4n) { height:194px }
.classic-book-shelf button:nth-child(3n+2) { background:linear-gradient(90deg,#dce5dc,#f7faf7 18%,#e9efe9 82%,#c8d2c8) }
.classic-book-shelf button:nth-child(3n+3) { background:linear-gradient(90deg,#e6ddd8,#fbf8f6 18%,#efe7e2 82%,#d4c7c0) }
.classic-book-shelf button:hover { transform:translateY(-6px) }
.classic-book-shelf button span { writing-mode:vertical-rl;max-height:118px;overflow:hidden;color:#282a27;font:500 13px/1.45 var(--font-serif) }
.classic-book-shelf button small { display:none }

@media (max-width:780px) {
  .return-to-space{top:14px;right:14px;bottom:auto}.personal-tools-heading{flex-direction:column}.personal-tools-space-entry{width:100%;min-height:54px}.personal-tools-greeting{min-height:62px;padding:15px 18px}.personal-tools-heading h1{font-size:18px}
  .personal-writing-tool,.healing-box-tool{width:100%;min-height:0;padding:24px;border-radius:24px}.personal-writing-compose{grid-template-columns:1fr}.personal-writing-history{grid-template-columns:1fr}.healing-box-tool{grid-template-columns:1fr}.healing-box-result{grid-column:1;grid-row:auto;min-height:280px}
  .sound-mode-card{grid-template-columns:70px 1fr;min-height:170px}.classic-practice-grid button{min-height:170px}.classic-counselor{grid-template-columns:1fr}.classic-counselor-list{display:flex;overflow-x:auto}.classic-counselor-list button{min-width:130px!important}.classic-modality-grid{grid-template-columns:1fr}
}

.classic-practice-hub,.classic-learning{width:min(1120px,100%);margin:auto;padding:clamp(20px,3vw,40px)}.classic-practice-hub>header,.classic-learning>header{margin-bottom:24px}.classic-practice-hub h2,.classic-learning h2{margin:0;font:500 clamp(30px,3vw,44px)/1.25 var(--font-serif)}.classic-practice-hub header p,.classic-learning header p{color:#737771}.classic-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.classic-practice-grid button{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:30px;border:1px solid rgba(31,32,30,.08);border-radius:30px;background:rgba(255,255,255,.72);text-align:left}.classic-practice-grid strong{font:500 30px/1.2 var(--font-serif)}.classic-practice-grid small{color:#777b75}.practice-orbit,.practice-body{align-self:center;margin:auto;width:180px;height:180px;border:1px solid rgba(31,32,30,.15);border-radius:50%;box-shadow:0 0 0 28px rgba(236,233,225,.7),0 0 0 29px rgba(31,32,30,.06)}.practice-body{width:84px;height:190px;border-radius:44% 44% 36% 36%;box-shadow:0 0 0 25px rgba(238,240,237,.72)}.classic-breathing{min-height:620px;display:grid;place-items:center;align-content:center;gap:24px}.classic-breathing>button{position:absolute;top:28px;left:28px}.classic-breath-orb{width:240px;height:240px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 0 0 54px rgba(224,226,220,.65);animation:classic-breathe 8s ease-in-out infinite}.classic-breath-orb.is-exhale{animation-direction:reverse}.classic-breathing strong{font-size:24px}.classic-breathing p{color:#737771}@keyframes classic-breathe{50%{transform:scale(1.16);box-shadow:0 0 0 72px rgba(224,226,220,.38)}}
.classic-counselor{width:min(1120px,100%);min-height:650px;margin:auto;display:grid;grid-template-columns:230px 1fr;gap:16px;padding:clamp(16px,3vw,36px)}.classic-counselor>aside{display:flex;flex-direction:column;gap:8px}.classic-counselor>aside button{display:flex;flex-direction:column;align-items:flex-start;padding:16px;border:1px solid rgba(31,32,30,.08);border-radius:16px;background:rgba(255,255,255,.62)}.classic-counselor>aside button.active{background:#20211f;color:#fff}.classic-counselor>aside small{margin-top:5px;opacity:.62}.classic-counselor-room{display:grid;grid-template-rows:auto 1fr auto;min-height:620px;padding:26px;border:1px solid rgba(31,32,30,.08);border-radius:28px;background:rgba(255,255,255,.74)}.classic-counselor-room header{display:flex;align-items:baseline;gap:12px}.classic-counselor-room h2{margin:0;font:500 30px/1.2 var(--font-serif)}#classic-counselor-messages{overflow:auto;padding:28px 8px}#classic-counselor-messages p{width:fit-content;max-width:75%;padding:14px 17px;border-radius:18px;background:#f0f0ed;line-height:1.8}#classic-counselor-messages p.user{margin-left:auto;background:#20211f;color:#fff}.classic-counselor-room form{display:grid;grid-template-columns:1fr auto;gap:10px}.classic-counselor-room textarea{min-height:76px;padding:14px;border:1px solid rgba(31,32,30,.1);border-radius:16px;background:#fff}.classic-counselor-room form button{padding:0 24px;border-radius:16px;background:#20211f;color:#fff}.classic-learning-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.classic-learning-list article{min-height:190px;padding:22px;border:1px solid rgba(31,32,30,.08);border-radius:22px;background:rgba(255,255,255,.68)}.classic-learning-list span{color:#777b75;font-size:10px}.classic-learning-list h3{font:500 19px/1.5 var(--font-serif)}.classic-learning-list p{color:#737771;font-size:12px;line-height:1.8}
.classic-learning-list>button{min-height:210px;display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid rgba(31,32,30,.08);border-radius:22px;background:rgba(255,255,255,.68);text-align:left}.classic-learning-list>button:hover{transform:translateY(-3px);background:#fff}.classic-learning-list b{margin-top:auto;font-size:11px;font-weight:500}.classic-lesson{width:min(900px,100%);margin:auto;padding:clamp(24px,4vw,56px);color:#20211f}.classic-lesson>button{margin-bottom:30px}.classic-lesson header{padding-bottom:24px;border-bottom:1px solid rgba(31,32,30,.09)}.classic-lesson header span{font-size:11px;color:#747872}.classic-lesson h2{font:500 clamp(30px,3vw,46px)/1.35 var(--font-serif)}.classic-lesson>section{padding:24px 0;border-bottom:1px solid rgba(31,32,30,.08)}.classic-lesson h3{font:500 23px/1.5 var(--font-serif)}.classic-lesson h4{margin:22px 0 7px;font-size:15px}.classic-lesson p{color:#5f635e;line-height:1.9}
@media(max-width:780px){.classic-practice-grid,.classic-learning-list{grid-template-columns:1fr}.classic-counselor{grid-template-columns:1fr}.classic-counselor>aside{flex-direction:row;overflow:auto}.classic-counselor-room{min-height:520px}}

body.is-space-embed .deck-switcher.glass-panel .deck-tab{color:#252623}body.is-space-embed .deck-switcher.glass-panel .deck-tab.active{background:#20211f;color:#fff;box-shadow:none}body.is-space-embed .deck-overview.glass-panel h2,body.is-space-embed .spread-card-header h3{color:#20211f}body.is-space-embed .deck-overview.glass-panel p,body.is-space-embed .spread-card>p{color:#666a64}body.is-space-embed .spread-card>b{color:#20211f}

/* 统一为克制的浅灰与白色毛玻璃；紫色只保留在内容插画自身。 */
:root {
  --bg: #f4f5f4;
  --bg-warm: #f0f1ef;
  --text: #20211f;
  --text-light: #70746f;
  --primary: #20211f;
  --primary-light: #dfe1de;
  --primary-dark: #171817;
  --card-back: #343633;
  --shadow: rgba(30, 31, 29, .07);
  --shadow-lg: rgba(30, 31, 29, .12);
  --glass-surface: rgba(255, 255, 255, .68);
  --glass-surface-strong: rgba(255, 255, 255, .84);
  --glass-border: rgba(28, 29, 27, .08);
  --glass-shadow: 0 18px 54px rgba(32, 33, 31, .08);
}

body {
  background: radial-gradient(circle at 78% 4%, rgba(255,255,255,.95), transparent 34%), linear-gradient(145deg, #f7f7f5, #eeeeeb);
  color: var(--text);
}

body::before { background: radial-gradient(circle at 21% 15%, rgba(255,255,255,.7), transparent 28%), radial-gradient(circle at 72% 82%, rgba(220,222,218,.32), transparent 34%); }
body.app-shell-active #main-nav,
body.app-shell-active .page.active,
.glass-panel,
.module-hero,
.auth-card,
.modal-content,
.platform-experience-dialog {
  border-color: rgba(28,29,27,.08);
  background: rgba(255,255,255,.68);
  box-shadow: 0 18px 54px rgba(32,33,31,.08);
  backdrop-filter: blur(28px) saturate(112%);
  -webkit-backdrop-filter: blur(28px) saturate(112%);
}

body.app-shell-active .nav-link { color: #5d615c; }
body.app-shell-active .nav-link:hover { transform:none;background: rgba(255,255,255,.7); color: #20211f; }
body.app-shell-active #main-nav { box-shadow: none; }
body.app-shell-active .nav-link.active { border-color: rgba(28,29,27,.08); background: rgba(255,255,255,.88); color: #20211f; box-shadow: none; }
body.app-shell-active .nav-link.active::before { border-color: #20211f; background: #20211f; box-shadow: 0 0 0 4px rgba(32,33,31,.08); }
.return-to-space { border-color: rgba(28,29,27,.1); background: rgba(255,255,255,.88); color: #20211f; box-shadow: 0 12px 34px rgba(32,33,31,.1); }
.btn-primary,.btn-submit,.btn-start,.primary-action,.deck-tab.active,.card-count-badge { background: #20211f !important; border-color: #20211f !important; color: #fff !important; }
button, a, .module-icon, .nav-logo, .page-context-heading { color: #20211f; }

.platform-experience-dialog {
  position: fixed;
  inset: 0;
  width: min(1280px, calc(100vw - 96px));
  height: min(780px, calc(100dvh - 96px));
  max-width: none;
  max-height: none;
  margin: auto;
  border-radius: 28px;
}

.personal-tools-home { width: min(1240px,100%); margin: 0 auto; padding: clamp(12px,2.2vw,28px); }
.personal-tools-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin: 8px 0 26px; }
.personal-tools-heading h1 { margin:0; color:#20211f; font-family:var(--font-serif); font-size:clamp(28px, 3vw, 44px); line-height:1.25; font-weight:500; letter-spacing:-.015em; }
.personal-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.personal-tool-card {
  --tool-accent:#c9a77a;
  position:relative;
  min-height:218px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  align-content:stretch;
  padding:22px;
  border:1px solid rgba(28,29,27,.075);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(250,250,248,.66));
  box-shadow:0 14px 40px rgba(32,33,31,.055);
  color:#20211f;
  text-align:left;
  backdrop-filter:blur(24px);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.personal-tool-card::before { content:''; position:absolute; width:180px; height:180px; right:-64px; top:-82px; border-radius:50%; background:color-mix(in srgb,var(--tool-accent) 12%,transparent); filter:blur(4px); }
.personal-tool-card:hover { transform:translateY(-4px); border-color:rgba(28,29,27,.14); box-shadow:0 22px 52px rgba(32,33,31,.1); }
.personal-tool-card:nth-child(2){--tool-accent:#91a89c}.personal-tool-card:nth-child(3){--tool-accent:#c89980}.personal-tool-card:nth-child(4){--tool-accent:#a9a8a0}.personal-tool-card:nth-child(5){--tool-accent:#d1b468}.personal-tool-card:nth-child(6){--tool-accent:#a7b7a1}.personal-tool-card:nth-child(7){--tool-accent:#b79c78}.personal-tool-card:nth-child(8){--tool-accent:#879b90}
.personal-tool-mark { position:relative; z-index:1; width:74px; height:74px; display:grid; place-items:center; border:1px solid rgba(28,29,27,.08); border-radius:50%; background:rgba(255,255,255,.56); box-shadow:inset 0 0 0 8px rgba(255,255,255,.34); }
.personal-tool-mark i,.personal-tool-mark::before,.personal-tool-mark::after { content:''; position:absolute; display:block; border:1.5px solid #252724; }
.personal-tool-mark i { width:29px; height:29px; border-radius:50%; }
.personal-tool-mark--emotion-wheel::before { width:42px; height:42px; border-radius:50%; border-style:dashed; }
.personal-tool-mark--emotion-wheel::after { width:6px; height:6px; border:0; border-radius:50%; background:#252724; }
.personal-tool-mark--body-map i { width:20px; height:38px; border-radius:46% 46% 42% 42%; }
.personal-tool-mark--body-map::before { width:8px; height:8px; top:14px; border-radius:50%; background:#fff; }
.personal-tool-mark--body-map::after { width:34px; height:16px; bottom:13px; border-width:1.5px 0 0; border-radius:50%; }
.personal-tool-mark--decompression i { width:32px; height:32px; border-radius:9px; transform:rotate(45deg); }
.personal-tool-mark--decompression::before { width:12px; height:1px; border-width:1.5px 0 0; transform:rotate(-45deg); }
.personal-tool-mark--decompression::after { width:46px; height:46px; border-radius:14px; border-color:rgba(37,39,36,.25); transform:rotate(45deg); }
.personal-tool-mark--vent-room i { width:38px; height:28px; border-radius:14px; }
.personal-tool-mark--vent-room::before { width:8px; height:8px; bottom:17px; left:24px; border-width:0 0 1.5px 1.5px; transform:skew(-24deg); background:#fff; }
.personal-tool-mark--vent-room::after { width:18px; height:1px; border-width:1.5px 0 0; }
.personal-tool-mark--happiness-journal i { width:31px; height:38px; border-radius:4px; }
.personal-tool-mark--happiness-journal::before { width:19px; height:1px; top:27px; border-width:1.5px 0 0; box-shadow:0 7px 0 #252724,0 14px 0 #252724; }
.personal-tool-mark--happiness-journal::after { width:1px; height:38px; border-width:0 0 0 1.5px; left:26px; }
.personal-tool-mark--healing-box i { width:36px; height:29px; bottom:17px; border-radius:3px; }
.personal-tool-mark--healing-box::before { width:42px; height:10px; top:18px; border-radius:3px; background:#fff; }
.personal-tool-mark--healing-box::after { width:1px; height:39px; border-width:0 0 0 1.5px; }
.personal-tool-mark--sandplay i { width:38px; height:20px; bottom:17px; border-radius:3px 3px 15px 15px; }
.personal-tool-mark--sandplay::before { width:32px; height:1px; top:29px; border-width:1.5px 0 0; }
.personal-tool-mark--sandplay::after { width:3px; height:3px; top:22px; left:25px; border:0; border-radius:50%; background:#252724; box-shadow:9px 3px 0 #252724,18px -1px 0 #252724; }
.personal-tool-mark--modality-toolbox i { width:31px; height:38px; border-radius:3px; }
.personal-tool-mark--modality-toolbox::before { width:1px; height:38px; left:27px; border-width:0 0 0 1.5px; }
.personal-tool-mark--modality-toolbox::after { width:13px; height:1px; top:27px; right:19px; border-width:1.5px 0 0; box-shadow:0 7px 0 #252724,0 14px 0 #252724; }
.personal-tool-copy { position:relative; z-index:1; align-self:end; }
.personal-tool-copy strong { display:block; font-family:var(--font-serif); font-size:23px; line-height:1.25; font-weight:500; }
.personal-tool-copy small { display:block; margin-top:8px; color:#777b75; font-size:12px; }

.sound-mode-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sound-mode-card { position:relative; min-height:460px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; padding:36px; border:1px solid rgba(28,29,27,.08); border-radius:34px; background:rgba(255,255,255,.72); color:#20211f; text-align:left; box-shadow:0 22px 64px rgba(32,33,31,.08); backdrop-filter:blur(24px); }
.sound-mode-card:hover { transform:translateY(-4px); box-shadow:0 30px 76px rgba(32,33,31,.12); }
.sound-mode-card strong { display:block; font-family:var(--font-serif); font-size:clamp(34px,4vw,54px); font-weight:500; }
.sound-mode-card small { display:block; margin-top:10px; color:#737771; font-size:13px; }
.sound-mode-art { position:relative; align-self:center; width:min(280px,70%); aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(31,32,30,.1); border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.95) 0 23%,rgba(231,227,217,.55) 24% 45%,transparent 46%); }
.sound-mode-art i { position:absolute; border:1px solid rgba(31,32,30,.14); border-radius:50%; }
.sound-mode-art i:nth-child(1){inset:12%}.sound-mode-art i:nth-child(2){inset:25%;border-style:dashed}.sound-mode-art i:nth-child(3){width:24%;height:24%;background:#fff}
.sound-mode-card--play .sound-mode-art { border:0; border-radius:0; background:none; transform:none; }
.sound-mode-card--play .sound-mode-art::before { content:''; position:absolute; left:10%; right:10%; bottom:18%; height:42%; border-radius:8% 8% 50% 50% / 12% 12% 82% 82%; background:linear-gradient(115deg,#8b6a34,#e2ca8b 42%,#b4884c 72%,#684f2d); box-shadow:inset 0 12px 18px rgba(255,255,255,.25),0 24px 30px rgba(78,57,31,.18); }
.sound-mode-card--play .sound-mode-art::after { content:''; position:absolute; width:70%; height:12px; top:25%; right:0; border-radius:999px; transform:rotate(-18deg); transform-origin:right center; background:linear-gradient(90deg,#6d4d30,#b88c58 70%,#4c3829 71%); box-shadow:0 8px 16px rgba(52,40,28,.15); }
.sound-mode-card--play .sound-mode-art i { display:none; }
.sound-space-heading > div { flex:1; }

.sound-healing-space { width:min(1160px,100%); padding:clamp(14px,2.4vw,34px); color:#20211f; }
.sound-space-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px!important; }
.sound-healing-space h2,.sound-healing-space h3,.sound-healing-space h4 { color:#20211f; font-family:var(--font-serif); font-weight:500; }
.sound-space-heading h2 { font-size:clamp(28px,3vw,42px); }
.sound-space-heading p,.instrument-playground-copy p { margin:0; color:#7a7e78; font-size:12px; }
.sound-library-section>h3,.sound-instrument-section h3 { margin:0 0 14px; font-size:20px; }
.sound-sanctuary-stage { position:relative; min-height:370px; overflow:hidden; display:grid; grid-template-columns:minmax(0,.82fr) minmax(340px,1.18fr); align-items:center; padding:clamp(28px,5vw,64px); border:1px solid rgba(28,29,27,.07); border-radius:32px; background:radial-gradient(circle at 78% 48%,rgba(212,194,161,.34),transparent 29%),linear-gradient(135deg,rgba(255,255,255,.88),rgba(235,237,233,.72)); box-shadow:0 22px 64px rgba(32,33,31,.08); isolation:isolate; }
.sound-sanctuary-stage::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 0 48%,rgba(255,255,255,.4) 48.2% 48.5%,transparent 48.7%); }
.sound-stage-copy>span { color:#7c817a; font-size:11px; letter-spacing:.12em; }
.sound-stage-copy h4 { margin:10px 0 28px; font-size:clamp(34px,4vw,56px); line-height:1.15; }
.sound-stage-play { display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 20px; border-radius:999px; background:#20211f; color:#fff!important; font-size:13px; box-shadow:0 14px 32px rgba(32,33,31,.18); }
.sound-stage-play i { width:0; height:0; border-style:solid; border-width:6px 0 6px 9px; border-color:transparent transparent transparent currentColor; }
.sound-orbit { position:relative; width:min(310px,28vw); aspect-ratio:1; justify-self:center; display:grid; place-items:center; border-radius:50%; color:#20211f; }
.sound-orbit strong { position:relative; z-index:2; display:grid; place-items:center; width:112px; height:112px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(255,255,255,.72); font:42px/1 Georgia,serif; box-shadow:0 20px 60px rgba(82,67,45,.14); backdrop-filter:blur(18px); }
.sound-wave-ring { position:absolute; border:1px solid rgba(55,58,53,.15); border-radius:50%; }
.sound-wave-ring--inner{inset:21%}.sound-wave-ring--middle{inset:10%;border-style:dashed}.sound-wave-ring--outer{inset:0;border-color:rgba(55,58,53,.08)}
.sound-sanctuary-stage.is-playing .sound-wave-ring--inner { animation:sound-ring-breathe 2.2s ease-in-out infinite; }
.sound-sanctuary-stage.is-playing .sound-wave-ring--middle { animation:sound-ring-breathe 2.2s .35s ease-in-out infinite; }
@keyframes sound-ring-breathe { 50%{ transform:scale(1.06); opacity:.45; } }
.sound-library-rail,.instrument-choice-rail { display:flex; gap:8px; overflow-x:auto; padding:12px 2px 4px; scrollbar-width:none; scroll-snap-type:x proximity; }
.sound-library-rail::-webkit-scrollbar,.instrument-choice-rail::-webkit-scrollbar{display:none}
.soundscape-option.sound-library-choice,.instrument-choice { flex:0 0 auto; min-height:46px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; padding:0 15px; border:1px solid rgba(28,29,27,.08); border-radius:999px; background:rgba(255,255,255,.68); color:#545852; box-shadow:none; scroll-snap-align:center; }
.soundscape-option.sound-library-choice:hover,.soundscape-option.sound-library-choice.is-active,.soundscape-option.sound-library-choice.is-playing,.instrument-choice:hover,.instrument-choice.is-active { transform:none; border-color:#20211f; background:#20211f; color:#fff; box-shadow:none; }
.sound-library-choice>span,.instrument-choice>span { color:#969a94; font:9px/1 ui-monospace,monospace; }
.sound-library-choice strong,.instrument-choice strong { font:500 12px/1.2 var(--font-sans); }
.sound-library-choice.is-active>span,.instrument-choice.is-active>span { color:rgba(255,255,255,.58); }

.instrument-playground { position:relative; min-height:460px; margin-top:34px; overflow:hidden; display:grid; grid-template-columns:240px 1fr; grid-template-rows:1fr auto; padding:30px; border:1px solid rgba(28,29,27,.07); border-radius:32px; background:linear-gradient(145deg,rgba(249,247,241,.92),rgba(255,255,255,.68)); box-shadow:0 20px 58px rgba(32,33,31,.07); }
.instrument-playground-copy { position:relative; z-index:2; align-self:start; padding:10px; }
.instrument-playground-copy p { margin-top:9px; line-height:1.7; }
.healing-instrument-stage { position:relative; min-height:340px; display:grid; place-items:center; align-content:center; gap:8px; color:#20211f; }
.instrument-halo { position:absolute; width:310px; height:310px; border:1px solid rgba(40,42,38,.1); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.32),0 0 0 35px rgba(40,42,38,.045); }
.healing-instrument-stage strong { margin-top:22px; font-family:var(--font-serif); font-size:22px; font-weight:500; }
.healing-instrument-stage small { color:#858982; font-size:10px; letter-spacing:.12em; }
.instrument-object { position:relative; z-index:2; width:180px; height:180px; display:block; filter:drop-shadow(0 20px 18px rgba(59,48,32,.17)); }
.instrument-object::before,.instrument-object::after,.instrument-object i { content:''; position:absolute; display:block; }
.instrument-object--tongue::before,.instrument-object--handpan::before { inset:20px; border-radius:50%; background:radial-gradient(circle at 38% 28%,#d6c09c,#947a53 56%,#62533f); box-shadow:inset 0 0 0 8px rgba(255,255,255,.12); }
.instrument-object--tongue::after { inset:54px; border:2px solid rgba(40,34,27,.7); border-radius:50%; box-shadow:35px 0 0 -13px #39342c,-35px 0 0 -13px #39342c,0 35px 0 -13px #39342c,0 -35px 0 -13px #39342c; }
.instrument-object--handpan::before { background:radial-gradient(circle at 36% 26%,#d9d7ce,#777770 56%,#3f403d); }
.instrument-object--handpan::after { inset:68px; border-radius:50%; background:#4e504d; box-shadow:38px 0 0 -6px #565854,-38px 0 0 -6px #565854,0 38px 0 -6px #565854,0 -38px 0 -6px #565854; }
.instrument-object--chime::before { width:96px; height:18px; left:42px; top:20px; border-radius:50%; background:linear-gradient(90deg,#a67e44,#e3c985,#a67e44); }
.instrument-object--chime::after { width:2px; height:130px; left:89px; top:28px; background:#9f7d4d; box-shadow:-34px 12px 0 #b89760,-17px 18px 0 #b89760,17px 18px 0 #b89760,34px 12px 0 #b89760; }
.instrument-object--rain::before { width:46px; height:150px; left:67px; top:15px; border-radius:22px; transform:rotate(28deg); background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 3px,transparent 3px 12px),linear-gradient(90deg,#8a5d35,#c89962,#774b29); }
.instrument-object--ocean::before { inset:24px; border-radius:50%; background:radial-gradient(circle at 46% 45%,#acc7c4 0 42%,#f1e4cd 43% 55%,#8b6842 56% 63%,#4e4032 64%); }
.instrument-object--shell::before { width:3px; height:84px; top:20px; left:88px; background:#80684b; box-shadow:-38px 18px 0 #80684b,-24px 4px 0 #80684b,-12px 22px 0 #80684b,16px 12px 0 #80684b,31px 25px 0 #80684b; }
.instrument-object--shell::after { width:22px; height:30px; left:78px; top:92px; border-radius:60% 40% 58% 42%; background:#b89360; box-shadow:-38px 18px 0 #a77b48,-24px 4px 0 #c3a06f,-12px 22px 0 #8b683f,16px 12px 0 #b88c56,31px 25px 0 #987047; }
.instrument-object--bowl::before { width:154px; height:72px; left:13px; top:72px; border-radius:0 0 72px 72px; background:linear-gradient(100deg,#8b6a34,#e1c67d 44%,#aa8345 74%,#6d542e); box-shadow:inset 0 9px 10px rgba(255,255,255,.22); }
.instrument-object--bowl::after { width:154px; height:42px; left:13px; top:51px; border:8px solid #b18a4c; border-radius:50%; background:radial-gradient(ellipse,#5b492f,#b8955b 72%); }
.healing-instrument-stage.is-struck .instrument-object { animation:instrument-strike .5s ease; }
@keyframes instrument-strike { 35%{transform:scale(1.035) rotate(.8deg)}70%{transform:scale(.99) rotate(-.8deg)} }
.instrument-choice-rail { grid-column:1/-1; border-top:1px solid rgba(28,29,27,.07); padding-top:18px; }
.instrument-choice { min-height:42px; }
.sound-healing-space>footer { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:13px 16px; border-radius:15px; background:rgba(255,255,255,.72); color:#656963; font-size:11px; }
.sound-healing-space>footer button { color:#20211f; }

@media (max-width: 1040px) {
  .personal-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sound-sanctuary-stage { min-height:330px; }
}
@media (max-width: 720px) {
  .platform-experience-dialog { width:calc(100vw - 20px); height:calc(100dvh - 28px); border-radius:20px; }
  .personal-tools-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.personal-tools-heading h1{font-size:28px}.personal-tools-grid{grid-template-columns:1fr}.personal-tool-card{min-height:190px;padding:18px}.personal-tool-mark{width:64px;height:64px}
  .sound-mode-gallery{grid-template-columns:1fr}.sound-mode-card{min-height:340px;padding:24px}.sound-space-heading{display:flex;align-items:flex-start}.sound-space-heading p{margin-top:8px}.sound-sanctuary-stage{grid-template-columns:1fr;min-height:430px;padding:28px;text-align:center}.sound-stage-copy{order:2}.sound-stage-copy h4{margin:7px 0 18px}.sound-orbit{width:230px}.sound-orbit strong{width:88px;height:88px}.instrument-playground{grid-template-columns:1fr;padding:20px}.instrument-playground-copy{text-align:center}.healing-instrument-stage{min-height:310px}.instrument-halo{width:260px;height:260px}.instrument-object{transform:scale(.88)}.instrument-choice-rail{grid-column:1}
}

/* Final cascade for the unified home header and compact shared entry cards. */
.personal-tools-heading { align-items:stretch;margin:0 0 18px }
.personal-tools-heading h1 { font-size:20px;line-height:1.45;letter-spacing:.02em }
.personal-tools-greeting { min-height:72px;padding:18px 24px }
.sound-mode-card { min-height:210px;padding:24px }
@media (max-width:720px) {
  .personal-tools-heading{align-items:stretch;flex-direction:column;margin-bottom:18px}.personal-tools-heading h1{font-size:18px}.personal-tools-space-entry{width:100%;min-height:54px}.personal-tools-greeting{min-height:62px;padding:15px 18px}.sound-mode-card{min-height:170px;padding:20px}
}

/* September parity pass: one navigation, one entry-card language, one shared library. */
.nav-space-entry {
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(28,29,27,.1);
  border-radius:15px;
  background:#20211f;
  color:#fff!important;
  font-size:12px;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(32,33,31,.12);
}
.nav-space-entry:hover { transform:translateY(-1px);background:#111210; }

.deck-switcher.glass-panel { display:block; padding:18px 14px 14px; }
.deck-switcher-note {
  margin:0 0 13px;
  color:#8a8e88;
  font-size:12px;
  line-height:1.5;
  text-align:center;
  letter-spacing:.04em;
}
.deck-switcher-tabs { display:flex;gap:8px;min-width:max-content; }
.deck-switcher-tabs .deck-tab { flex:1 1 0; }
/* Only the spread list scrolls, so cards are clipped below both navigation rows. */
body.app-shell-active #page-dashboard.active { overflow:hidden; }
#page-dashboard.active > .container { height:100%;min-height:0;display:flex;flex-direction:column; }
#page-dashboard.active #spread-grid { flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden; }
#page-dashboard #spread-grid > .deck-switcher,
#page-dashboard #spread-grid > .deck-focus-nav { flex:none;position:relative;top:0; }
#page-dashboard #spread-grid > .spread-grid-inner { flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;overscroll-behavior:contain; }
.sound-transport { width:min(360px,100%);position:relative;z-index:3; }
.sound-transport input { width:100%;accent-color:#20211f;cursor:pointer; }
.sound-transport > div { display:flex;justify-content:space-between;font-size:12px;color:#666; }
.sound-stage-play[aria-pressed="true"] i { width:9px;height:12px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor; }

.module-entry-canvas { display:block!important; }
.personal-tools-grid .personal-tool-card,
.module-entry-grid .module-entry-card.personal-tool-card {
  justify-items:center!important;align-content:center!important;grid-template-rows:auto auto!important;
  gap:24px!important;text-align:center!important;
}
.personal-tools-grid .personal-tool-copy { align-self:center!important;text-align:center!important; }
.shared-space-experience { display:block;width:100%;height:calc(100dvh - 145px);min-height:540px;border:0;background:transparent; }
body.app-shell-active #page-module .module-hero:has(.shared-space-experience) { padding:28px;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none; }
/* Root modules share the exact content inset of My Healing, without another surface. */
body.app-shell-active #page-module .module-container:has(.module-entry-canvas),
body.app-shell-active #page-module .module-container:has(.classic-learning) { max-width:1240px; }
body.app-shell-active #page-module .module-hero:has(.module-entry-canvas),
body.app-shell-active #page-module .module-hero:has(.classic-learning) {
  margin:0 auto;padding:clamp(12px,2.2vw,28px);border:0;border-radius:0;
  background:transparent;box-shadow:none;backdrop-filter:none;
}
body.app-shell-active #page-module .module-entry-canvas,
body.app-shell-active #page-module .classic-learning {
  width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;backdrop-filter:none;
}
.drawing-entry-card .module-entry-mark i,
.drawing-entry-card .module-entry-mark::before,
.drawing-entry-card .module-entry-mark::after { top:50%;left:50%;translate:-50% -50%; }
.module-entry-grid.personal-tools-grid {
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px!important;
}
.module-entry-grid .module-entry-card.personal-tool-card {
  min-height:218px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  align-content:stretch!important;
  align-items:initial!important;
  justify-content:initial!important;
  gap:0!important;
  padding:22px!important;
  border:1px solid rgba(28,29,27,.075)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(250,250,248,.66))!important;
  box-shadow:0 14px 40px rgba(32,33,31,.055)!important;
  text-align:left!important;
  backdrop-filter:blur(24px)!important;
}
.module-entry-grid .module-entry-card.personal-tool-card:hover { transform:translateY(-4px);box-shadow:0 22px 52px rgba(32,33,31,.1)!important; }
.module-entry-card .personal-tool-copy { align-self:end; }
.module-entry-card .personal-tool-copy strong { font-size:23px!important; }
.module-entry-mark--listen i { width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 8px rgba(37,39,36,.06); }
.module-entry-mark--listen::before { width:48px;height:48px;border-radius:50%;border-style:dashed; }
.module-entry-mark--listen::after { width:7px;height:7px;border:0;border-radius:50%;background:#252724; }
.module-entry-mark--play i { width:40px;height:22px;border-radius:4px 4px 22px 22px;background:linear-gradient(120deg,#b18b55,#dbc58d);border-color:#665038; }
.module-entry-mark--play::before { width:35px;height:3px;border:0;border-radius:99px;background:#6b5137;transform:translate(12px,-12px) rotate(-19deg); }
.module-entry-mark--play::after { display:none; }
.module-entry-mark--breathing i { width:30px;height:30px;border-radius:50%; }
.module-entry-mark--breathing::before { width:44px;height:44px;border-radius:50%; }
.module-entry-mark--breathing::after { width:56px;height:56px;border-radius:50%;border-color:rgba(37,39,36,.18); }
.module-entry-mark--body-map i { width:20px;height:38px;border-radius:46% 46% 42% 42%; }
.module-entry-mark--body-map::before { width:8px;height:8px;top:14px;border-radius:50%;background:#fff; }
.module-entry-mark--body-map::after { width:34px;height:16px;bottom:13px;border-width:1.5px 0 0;border-radius:50%; }
.module-entry-mark--sand i { width:34px;height:26px;border-radius:3px 3px 14px 14px;background:repeating-linear-gradient(0deg,#d7c5a0 0 3px,#efe5d0 4px 6px); }
.module-entry-mark--mandala i { border-radius:50%;box-shadow:0 0 0 8px rgba(37,39,36,.05); }
.module-entry-mark--mandala::before { width:42px;height:42px;border-radius:50%;border-style:dashed; }
.module-entry-mark--house-tree-person i { width:31px;height:25px;border-radius:2px;transform:rotate(45deg); }
.module-entry-mark--exercises i { width:28px;height:36px;border-radius:3px; }

.classic-counselor,
.module-hero .classic-counselor { grid-template-columns:minmax(0,1fr) 244px;gap:18px; }
.classic-counselor-room { grid-column:1; }
.classic-counselor-rail { grid-column:2;display:flex;min-width:0;flex-direction:column;padding:18px;border-left:1px solid rgba(28,29,27,.08); }
.classic-counselor-rail>header { display:block;margin:2px 0 18px; }
.classic-counselor-rail>header span { display:block;font:500 20px/1.3 var(--font-serif); }
.classic-counselor-rail>header small { display:block;margin-top:6px;color:#858983;font-size:10px;line-height:1.5; }
.classic-counselor-rail .classic-counselor-list { display:grid;grid-template-columns:1fr;gap:8px; }
.classic-counselor-rail .classic-counselor-list button { min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:13px 14px;border:1px solid rgba(31,32,30,.08);border-radius:14px;background:rgba(255,255,255,.42);text-align:left; }
.classic-counselor-rail .classic-counselor-list button.active { background:#20211f;color:#fff; }
.classic-counselor-rail .classic-counselor-list small { margin-top:4px;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

.module-hero .classic-learning.study-screen { --ink:#242522;--paper:#fffdf9;position:relative;display:flex;min-height:clamp(600px,74vh,760px);flex-direction:column;overflow:hidden;color:#242522; }
.classic-learning .study-header { display:flex;align-items:center;gap:20px;padding:4px 4px 18px;border-bottom:1px solid rgba(31,32,30,.08);background:transparent; }
.classic-learning .study-brand { min-width:170px; }
.classic-learning .study-brand span { color:#66645f;font:500 13px/1.2 var(--font-serif);letter-spacing:.12em; }
.classic-learning .study-tabs { display:flex;padding:4px;border:1px solid rgba(31,32,30,.08);border-radius:999px;background:rgba(240,239,235,.86); }
.classic-learning .study-tabs button { padding:9px 18px;border:0;border-radius:999px;background:transparent;color:#343532;font-size:11px; }
.classic-learning .study-tabs button[aria-pressed=true] { background:#242522!important;color:#fff!important; }
.classic-learning .study-global-search { position:relative;width:min(280px,24vw);margin-left:auto; }
.classic-learning .study-global-search>span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.classic-learning .study-global-search::before { content:'⌕';position:absolute;z-index:1;left:14px;top:4px;color:#66645f;font-size:22px; }
.classic-learning .study-global-search input { box-sizing:border-box;width:100%;padding:10px 14px 10px 38px;border:1px solid rgba(31,32,30,.1);border-radius:999px;background:rgba(255,255,255,.78);color:#242522;font-size:11px; }
.classic-learning .study-library { min-height:0;flex:1;overflow:auto;padding:26px 4px 12px; }
.classic-learning .study-library-intro { display:grid;grid-template-columns:minmax(260px,620px) auto;align-items:end;max-width:1420px;margin:0 auto 22px; }
.classic-learning .study-library-intro h2 { margin:0!important;color:#242522!important;font:500 clamp(30px,3vw,44px)/1.3 var(--font-serif)!important;letter-spacing:.08em; }
.classic-learning .study-progress { grid-column:2;text-align:right;color:#66645f;font-size:11px; }
.classic-learning .study-bookcase { max-width:1420px;margin:auto;perspective:none; }
.classic-learning .study-shelf-row { position:relative;min-height:244px;margin-bottom:19px;padding:13px 18px 24px;border:1px solid rgba(31,32,30,.08);border-radius:18px;background:rgba(255,255,255,.48);box-shadow:0 18px 44px rgba(57,49,40,.07),inset 0 1px rgba(255,255,255,.8); }
.classic-learning .study-shelf-row::after { content:'';position:absolute;left:18px;right:18px;bottom:10px;height:4px;border-radius:99px;background:#ccb797;box-shadow:0 3px 6px rgba(73,55,34,.14); }
.classic-learning .study-books-row { position:relative;z-index:1;display:flex;min-height:206px;align-items:flex-end;justify-content:space-evenly;gap:20px;padding:0 4px; }
.classic-learning .study-book { position:relative;width:160px;height:205px;flex:0 0 calc((100% - 100px)/6);padding:0;border:0;background:transparent;perspective:900px;filter:drop-shadow(5px 8px 10px rgba(55,47,37,.14));transition:filter .28s ease,transform .28s ease; }
.classic-learning .study-book-object { position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateY(-15deg);transition:transform .4s cubic-bezier(.2,.75,.2,1); }
.classic-learning .study-book:hover { z-index:4;transform:translateY(-7px);filter:drop-shadow(8px 14px 16px rgba(55,47,37,.2)); }
.classic-learning .study-book:hover .study-book-object { transform:rotateY(-3deg) translateZ(28px) scale(1.04); }
.classic-learning .study-book-cover { position:absolute;inset:0;display:flex;box-sizing:border-box;flex-direction:column;overflow:hidden;padding:18px 14px 14px;border:1px solid rgba(255,255,255,.55);border-radius:2px 7px 7px 2px;background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 24%),linear-gradient(160deg,var(--book),color-mix(in srgb,var(--book),#000 20%));box-shadow:inset 8px 0 14px rgba(71,55,36,.1);color:var(--page);text-align:left;transform:translateZ(8px);filter:saturate(.72) brightness(1.04); }
.classic-learning .study-book-cover::before,.classic-learning .study-book-cover::after { content:'';position:absolute;left:11px;right:10px;height:1px;background:var(--foil);opacity:.72; }
.classic-learning .study-book-cover::before { top:12px; }.classic-learning .study-book-cover::after { bottom:12px; }
.classic-learning .study-book-spine { position:absolute;left:-14px;top:3px;width:22px;height:199px;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#756855,var(--book));transform:rotateY(-72deg);transform-origin:right center; }
.classic-learning .study-book-pages-edge { position:absolute;right:-6px;top:7px;width:8px;height:190px;border-radius:0 4px 4px 0;background:#fbf7f0;transform:rotateY(76deg);transform-origin:left center; }
.classic-learning .study-book-mark { color:var(--foil);font-size:9px;letter-spacing:.18em; }.classic-learning .study-book-kind { margin-top:30px;color:var(--foil);font-size:9px;letter-spacing:.16em; }
.classic-learning .study-book-cover strong { display:block;margin-top:10px;font:500 17px/1.45 var(--font-serif);letter-spacing:.06em; }.classic-learning .study-book-cover small { margin-top:auto;color:rgba(255,255,255,.68);font-size:9px; }
.classic-learning .study-book-cover i { position:absolute;right:-15px;bottom:30px;width:58px;height:58px;border:1px solid var(--foil);border-radius:50%;opacity:.23; }.classic-learning .study-book-cover i::after { content:'';position:absolute;inset:11px;border:1px solid var(--foil);transform:rotate(45deg); }
.classic-learning .study-empty { padding:30px;color:#737771;text-align:center; }

@media (max-width:900px) {
  .module-entry-grid.personal-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .classic-counselor,.module-hero .classic-counselor { grid-template-columns:1fr; }
  .classic-counselor-rail { grid-column:1;border-top:1px solid rgba(28,29,27,.08);border-left:0; }
  .classic-counselor-rail .classic-counselor-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .classic-learning .study-header { flex-wrap:wrap; }.classic-learning .study-brand { flex:1; }.classic-learning .study-tabs { order:3;width:100%; }.classic-learning .study-tabs button { flex:1; }.classic-learning .study-global-search { width:220px; }
  .classic-learning .study-books-row { justify-content:flex-start;overflow-x:auto; }
}
@media (max-width:640px) {
  .nav-space-entry { min-height:38px; }
  .deck-switcher.glass-panel { overflow-x:auto; }
  .deck-switcher-tabs .deck-tab { min-width:132px; }
  .module-entry-grid.personal-tools-grid { grid-template-columns:1fr; }
  .module-entry-grid .module-entry-card.personal-tool-card { min-height:170px!important; }
  .classic-counselor-rail .classic-counselor-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .classic-learning .study-global-search { order:4;width:100%;margin:0; }
  .classic-learning .study-library { padding:20px 0; }.classic-learning .study-library-intro { display:block;margin:0 8px 18px; }.classic-learning .study-progress { margin-top:7px;text-align:left; }
  .classic-learning .study-shelf-row { min-height:216px;padding:10px 8px 18px; }.classic-learning .study-books-row { min-height:188px;gap:17px; }.classic-learning .study-book { min-width:108px;width:108px;height:180px; }.classic-learning .study-book-spine { height:174px; }.classic-learning .study-book-pages-edge { height:166px; }
}

/* Flat module architecture: the module hero is the only page-sized glass layer. */
#page-module.active .module-container { max-width:1280px; }
.module-hero:not(.game-module-hero):not(.drawing-module-hero) {
  min-height:calc(100dvh - var(--app-chrome-height) - 64px);
  margin-top:18px;
  padding:clamp(24px,3vw,42px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.module-hero .classic-module-canvas,
.module-hero .classic-modality-toolbox {
  width:100%;
  max-width:none;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.module-hero .classic-module-canvas > header:first-child { margin-top:0; }

/* Root entry pages place their second-level actions directly on the shared glass canvas. */
.module-hero .sound-mode-gallery,
.module-hero .classic-practice-grid { gap:18px; }
.module-hero .sound-mode-card,
.module-hero .classic-practice-grid button {
  min-height:clamp(280px,42vh,430px);
  padding:clamp(26px,3vw,38px);
  border:1px solid rgba(28,29,27,.085);
  border-radius:30px;
  background:rgba(255,255,255,.48);
  box-shadow:none;
  backdrop-filter:blur(16px);
}
.module-hero .sound-mode-card { display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between; }
.module-hero .sound-mode-card:hover,
.module-hero .classic-practice-grid button:hover { transform:translateY(-3px);background:rgba(255,255,255,.78);box-shadow:0 18px 44px rgba(32,33,31,.07); }
.module-hero .sound-mode-art { width:clamp(150px,20vw,250px); }
.module-hero .sound-mode-card strong { font-size:clamp(34px,4vw,52px); }
.module-hero .classic-practice-grid button { display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto auto;align-items:end; }
.module-hero .classic-practice-grid strong { font-size:clamp(26px,3vw,38px); }
.module-hero .practice-orbit { align-self:center;justify-self:center;width:180px;height:180px;margin:auto;box-shadow:0 0 0 34px rgba(230,232,228,.58),0 0 0 35px rgba(28,29,27,.06); }
.module-hero .practice-body { align-self:center;justify-self:center;width:82px;height:190px;margin:auto;box-shadow:0 0 0 38px rgba(230,232,228,.5); }

/* One breathing language in 2D and 3D: editorial copy left, responsive orbit right. */
.classic-breathing { min-height:clamp(540px,68vh,700px);display:grid;grid-template-columns:minmax(240px,.75fr) minmax(360px,1.25fr);align-items:center;gap:clamp(30px,6vw,92px); }
.classic-breath-copy > span { color:#7c817a;font-size:11px;letter-spacing:.16em; }
.classic-breath-copy h2 { max-width:430px;margin:14px 0 16px!important;color:#20211f;font:500 clamp(36px,4.4vw,62px)/1.25 var(--font-serif)!important; }
.classic-breath-copy p { max-width:390px!important;margin:0!important;color:#737771!important;line-height:1.8; }
.classic-breath-stage { display:grid;place-items:center;align-content:center;gap:28px;min-height:480px; }
.classic-breath-orb { position:relative;width:clamp(230px,27vw,360px);height:clamp(230px,27vw,360px);display:grid;place-items:center;border:1px solid rgba(42,45,41,.12);border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 0 0 52px rgba(226,228,224,.6),0 0 0 53px rgba(42,45,41,.06);animation:classic-breathe 8s ease-in-out infinite; }
.classic-breath-orb::before { content:'';position:absolute;inset:19%;border:1px dashed rgba(42,45,41,.14);border-radius:50%; }
.classic-breath-orb span { position:relative;font:500 24px/1 var(--font-serif);letter-spacing:.12em; }
.classic-breath-stage > strong { font:400 26px/1 ui-monospace,monospace;letter-spacing:.08em; }
.classic-breath-stage > small { color:#8a8e88;font-size:11px;letter-spacing:.12em; }
@keyframes classic-breathe { 50%{transform:scale(1.08);box-shadow:0 0 0 72px rgba(226,228,224,.36),0 0 0 73px rgba(42,45,41,.04)} }

/* Quiet listening room: list on the left, gramophone as the single visual focus. */
.sound-listening-layout { min-height:clamp(570px,70vh,720px);display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:0;overflow:hidden; }
.sound-list-sidebar { display:grid;grid-template-rows:auto 1fr auto;min-height:100%;padding:8px 28px 8px 4px;border-right:1px solid rgba(28,29,27,.08); }
.sound-list-sidebar header span { color:#878b85;font-size:10px;letter-spacing:.16em; }
.sound-list-sidebar header h2 { margin:10px 0 8px!important;font-size:clamp(28px,3vw,38px)!important; }
.sound-list-sidebar header p { margin:0 0 22px!important;color:#858983!important;font-size:12px!important;line-height:1.7; }
.sound-list-sidebar .sound-library-rail { display:grid;align-content:start;gap:7px;overflow:auto;padding:0 6px 0 0; }
.sound-list-sidebar .soundscape-option.sound-library-choice { width:100%;min-height:58px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:10px 13px;border-radius:14px;text-align:left; }
.sound-list-sidebar .sound-library-choice > span { grid-row:1/-1;align-self:center; }
.sound-list-sidebar .sound-library-choice strong { font-size:13px; }
.sound-list-sidebar .sound-library-choice small { color:#939791;font-size:9px; }
.sound-list-sidebar .sound-library-choice.is-active small { color:rgba(255,255,255,.58); }
.sound-list-sidebar footer { display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:16px;color:#8a8e88;font-size:10px; }
.sound-list-sidebar footer button { flex:0 0 auto;padding:8px 11px;border:1px solid rgba(28,29,27,.1);border-radius:999px;background:rgba(255,255,255,.48);font-size:10px; }
.gramophone-stage { position:relative;min-height:570px;overflow:hidden;display:grid;place-items:center;align-content:center;gap:22px;padding:42px;background:radial-gradient(circle at 54% 46%,rgba(222,211,190,.54),transparent 31%),linear-gradient(145deg,rgba(255,255,255,.24),rgba(237,238,234,.26)); }
.gramophone-stage::before,.gramophone-stage::after { content:'';position:absolute;border:1px solid rgba(51,53,49,.06);border-radius:50%;pointer-events:none; }
.gramophone-stage::before { width:520px;height:520px; }
.gramophone-stage::after { width:390px;height:390px;border-style:dashed; }
.gramophone-copy { position:absolute;top:32px;left:38px;z-index:2; }
.gramophone-copy > span { color:#898d87;font-size:10px;letter-spacing:.16em; }
.gramophone-copy h3 { margin:8px 0 0!important;font-size:clamp(30px,3.5vw,46px)!important; }
.gramophone-machine { position:relative;z-index:2;width:390px;height:340px;padding:0;border:0;background:transparent;transform:translateY(18px);filter:drop-shadow(0 28px 28px rgba(71,54,35,.16)); }
.gramophone-machine > span,.gramophone-cabinet i { position:absolute;display:block; }
.gramophone-horn { right:20px;top:10px;width:190px;height:172px;border-radius:50% 50% 50% 12%;transform:rotate(-18deg);background:radial-gradient(circle at 32% 66%,#413326 0 9%,#927043 10% 24%,#dfc992 25% 38%,#8e6939 39% 52%,#d6b979 53% 64%,#6d4f31 65%);clip-path:polygon(0 43%,100% 0,86% 100%,15% 62%); }
.gramophone-neck { left:180px;top:124px;width:104px;height:20px;border-radius:999px;transform:rotate(33deg);background:linear-gradient(#c5a66a,#7b5c35); }
.gramophone-cabinet { left:46px;bottom:18px;width:228px;height:146px;border:1px solid rgba(61,43,27,.3);border-radius:18px;background:linear-gradient(130deg,#6b4d32,#b28758 45%,#745137);box-shadow:inset 0 0 0 8px rgba(255,255,255,.08); }
.gramophone-record { left:24px;top:18px;width:112px;height:112px;border-radius:50%;background:repeating-radial-gradient(circle,#1d201e 0 4px,#313532 5px 8px);box-shadow:inset 0 0 0 35px #242825,inset 0 0 0 48px #b18b55; }
.gramophone-tonearm { right:30px;top:24px;width:60px;height:70px;border:5px solid #cdb57e;border-left:0;border-bottom:0;border-radius:0 24px 0 0;transform:rotate(12deg); }
.gramophone-stage.is-playing .gramophone-record { animation:gramophone-spin 4s linear infinite; }
.gramophone-stage.is-playing::after { animation:sound-ring-breathe 2.4s ease-in-out infinite; }
.gramophone-stage > .sound-stage-play { position:relative;z-index:3; }
@keyframes gramophone-spin { to{transform:rotate(360deg)} }

/* Mini-program parity for performance: centered instrument, restrained field, bottom chooser. */
.instrument-experience { min-height:clamp(610px,73vh,760px);display:grid;grid-template-rows:auto 1fr; }
.instrument-page-heading { position:relative;z-index:3;text-align:center; }
.instrument-page-heading h2 { margin:4px 0 10px!important;color:#2a2d29;font-size:clamp(34px,4vw,54px)!important;font-weight:400!important;letter-spacing:.12em; }
.instrument-page-heading p { max-width:none!important;margin:0!important;color:#858a84!important;font-size:13px!important;letter-spacing:.06em; }
.instrument-playground { min-height:520px;margin:0;overflow:visible;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto auto;padding:20px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none; }
.instrument-sound-field { position:relative;justify-self:center;align-self:center;width:clamp(320px,38vw,510px);height:clamp(320px,38vw,510px);display:grid;place-items:center;border:0;border-radius:50%;background:rgba(244,245,243,.58); }
.instrument-ring { position:absolute;border:1px solid rgba(48,51,47,.11);border-radius:50%; }
.instrument-ring--outer { inset:0; }
.instrument-ring--inner { inset:9%;border-style:dashed; }
.instrument-sound-field::after { content:'';position:absolute;inset:17%;border:1px solid rgba(48,51,47,.06);border-radius:50%;background:rgba(255,255,255,.36); }
.instrument-portrait { position:relative;z-index:3;width:74%;height:auto;aspect-ratio:1;display:block;filter:drop-shadow(0 22px 20px rgba(47,45,39,.16));transition:transform .25s ease; }
.instrument-portrait::before,.instrument-portrait::after,.instrument-portrait i { content:'';position:absolute;display:block;box-sizing:border-box; }
.instrument-sound-field.is-struck .instrument-portrait { animation:instrument-strike .5s ease; }
.instrument-gesture { justify-self:center;margin:0 0 14px!important;color:#9a9e98!important;font-size:11px!important;letter-spacing:.14em; }
.instrument-gesture::before { content:'';display:block;width:30px;margin:0 auto 8px;border-top:1px solid #b6b9b4; }
.instrument-tab-bar { width:100%;display:flex;justify-content:center;gap:0;overflow-x:auto;padding:14px 0 0;border-top:1px solid rgba(28,29,27,.07); }
.instrument-tab-bar .instrument-choice { min-width:104px;min-height:56px;display:grid;place-items:center;gap:4px;padding:8px 14px;border:0;border-radius:0;background:transparent;color:#878b85; }
.instrument-tab-bar .instrument-choice:hover,.instrument-tab-bar .instrument-choice.is-active { border:0;background:transparent;color:#20211f; }
.instrument-tab-bar .instrument-choice.is-active::after { content:'';width:28px;border-bottom:2px solid #20211f; }
.instrument-tab-bar .instrument-choice > span { font-size:9px; }
.instrument-tab-bar .instrument-choice > strong { font:400 13px/1.2 var(--font-serif); }

/* Seven instrument portraits derived from the original mini-program silhouettes. */
.instrument-portrait--tongue::before,.instrument-portrait--handpan::before { inset:4%;border:2px solid #44504b;border-radius:50%;background:radial-gradient(circle at 45% 40%,#a6b0aa,#68746f 60%,#3f4a46);box-shadow:inset 0 0 0 8px rgba(255,255,255,.08),inset 0 -18px 32px rgba(0,0,0,.16); }
.instrument-portrait--tongue::after { inset:36%;border:2px solid rgba(56,66,62,.72);border-radius:50%;background:radial-gradient(circle,#78857f,#4d5954); }
.instrument-portrait--tongue i,.instrument-portrait--handpan i { width:15%;height:20%;border:2px solid rgba(49,60,55,.55);border-radius:50%;background:radial-gradient(circle at 45% 35%,#89958f,#515d58); }
.instrument-portrait--tongue i:nth-child(1),.instrument-portrait--handpan i:nth-child(1){left:42%;top:12%}.instrument-portrait--tongue i:nth-child(2),.instrument-portrait--handpan i:nth-child(2){right:16%;top:25%}.instrument-portrait--tongue i:nth-child(3),.instrument-portrait--handpan i:nth-child(3){right:12%;top:51%}.instrument-portrait--tongue i:nth-child(4),.instrument-portrait--handpan i:nth-child(4){right:27%;bottom:10%}.instrument-portrait--tongue i:nth-child(5),.instrument-portrait--handpan i:nth-child(5){left:27%;bottom:10%}.instrument-portrait--tongue i:nth-child(6),.instrument-portrait--handpan i:nth-child(6){left:12%;top:51%}.instrument-portrait--tongue i:nth-child(7),.instrument-portrait--handpan i:nth-child(7){left:16%;top:25%}.instrument-portrait--tongue i:nth-child(8){left:29%;top:39%}.instrument-portrait--tongue i:nth-child(9){right:29%;top:39%}
.instrument-portrait--handpan::before { background:radial-gradient(circle at 44% 36%,#a9aca6,#646963 62%,#3b403c); }
.instrument-portrait--handpan i { width:18%;height:18%;border-radius:50%; }
.instrument-portrait--chime::before { left:20%;right:20%;top:11%;height:8%;border:2px solid #5e6964;border-radius:50%;background:#9aa59f; }
.instrument-portrait--chime i { top:19%;width:7%;height:55%;border:2px solid #5d6863;border-radius:999px;background:linear-gradient(90deg,#aeb8b3,#78847e); }
.instrument-portrait--chime i:nth-child(1){left:22%;height:42%}.instrument-portrait--chime i:nth-child(2){left:30%;height:54%}.instrument-portrait--chime i:nth-child(3){left:39%;height:66%}.instrument-portrait--chime i:nth-child(4){left:48%;height:74%}.instrument-portrait--chime i:nth-child(5){left:57%;height:66%}.instrument-portrait--chime i:nth-child(6){left:66%;height:54%}.instrument-portrait--chime i:nth-child(7){left:74%;height:42%}.instrument-portrait--chime i:nth-child(n+8){display:none}
.instrument-portrait--bowl { display:grid;grid-template-columns:repeat(6,1fr);align-items:center;justify-items:center; }
.instrument-portrait--bowl i { position:relative;width:78%;aspect-ratio:1;border:2px solid #4f4435;border-radius:50% 50% 44% 44%;background:linear-gradient(120deg,#b19158,#d8bc7c 48%,#876b43);box-shadow:inset 0 7px 0 #352f27,0 10px 18px rgba(57,44,29,.14); }
.instrument-portrait--bowl i:nth-child(1){grid-column:2/4;width:96%}.instrument-portrait--bowl i:nth-child(2){grid-column:4/6;width:96%}.instrument-portrait--bowl i:nth-child(n+3){grid-row:2}.instrument-portrait--bowl i:nth-child(n+8){display:none}
.instrument-portrait--shell::before { left:49%;top:9%;width:2px;height:22%;background:#706857;box-shadow:-70px 45px #706857,-34px 20px #706857,34px 20px #706857,70px 45px #706857; }
.instrument-portrait--shell i { width:15%;height:19%;border:2px solid #5c4a35;border-radius:56% 44% 56% 44%;background:linear-gradient(135deg,#c4a06c,#87613f); }
.instrument-portrait--shell i:nth-child(1){left:43%;top:27%;width:21%;height:25%}.instrument-portrait--shell i:nth-child(2){left:17%;top:32%}.instrument-portrait--shell i:nth-child(3){left:28%;top:22%}.instrument-portrait--shell i:nth-child(4){right:26%;top:22%}.instrument-portrait--shell i:nth-child(5){right:15%;top:34%}.instrument-portrait--shell i:nth-child(6){left:11%;top:54%}.instrument-portrait--shell i:nth-child(7){left:30%;top:58%}.instrument-portrait--shell i:nth-child(8){right:27%;top:58%}.instrument-portrait--shell i:nth-child(9){right:9%;top:55%}
.instrument-portrait--rain::before { left:38%;top:6%;width:24%;height:88%;border:2px solid #65482f;border-radius:10% 10% 18% 18%;transform:rotate(15deg);background:repeating-linear-gradient(35deg,transparent 0 14px,rgba(78,52,31,.27) 15px 17px),linear-gradient(90deg,#9a6d40,#d0a56d,#8a5e37);box-shadow:inset 0 12px 0 #67452e,inset 0 -12px 0 #67452e; }
.instrument-portrait--rain i { display:none; }
.instrument-portrait--ocean::before { inset:3%;border:7px solid #8a6b45;border-radius:50%;background:radial-gradient(circle at 48% 45%,#f2e9cf 0 62%,#cfba8b 63% 69%,#98754b 70%);box-shadow:inset 0 0 0 4px rgba(72,54,35,.25); }
.instrument-portrait--ocean::after { content:'潮息';left:44%;top:45%;color:#777064;font:500 12px/1 var(--font-serif);letter-spacing:.18em;transform:rotate(-15deg); }
.instrument-portrait--ocean i { width:3%;height:3%;border-radius:50%;background:#bca47a; }
.instrument-portrait--ocean i:nth-child(1){left:27%;top:24%}.instrument-portrait--ocean i:nth-child(2){left:49%;top:17%}.instrument-portrait--ocean i:nth-child(3){right:24%;top:31%}.instrument-portrait--ocean i:nth-child(4){right:18%;top:54%}.instrument-portrait--ocean i:nth-child(5){right:35%;bottom:21%}.instrument-portrait--ocean i:nth-child(6){left:38%;bottom:18%}.instrument-portrait--ocean i:nth-child(7){left:18%;top:55%}.instrument-portrait--ocean i:nth-child(8){left:20%;top:37%}.instrument-portrait--ocean i:nth-child(9){left:57%;top:46%}

/* Existing counselor and bookcase components now sit directly in the same glass canvas. */
.module-hero .classic-counselor { min-height:clamp(570px,70vh,700px);grid-template-columns:minmax(0,1fr) 244px;gap:18px; }
.module-hero .classic-counselor-room { min-height:570px;background:rgba(255,255,255,.44);box-shadow:none; }
.module-hero .classic-counselor > aside button { background:rgba(255,255,255,.42);color:#20211f; }
.module-hero .classic-counselor > aside button.active { background:#20211f;color:#fff; }
.module-hero .classic-modality-toolbox { padding:4px; }
.module-hero .classic-modality-toolbox h2 { margin-top:0; }
.module-hero .classic-modality-practice { max-width:880px;margin:0 auto;padding:clamp(20px,4vw,48px); }
.module-hero .classic-learning { padding:0; }
.module-hero .classic-bookcase-section { background:rgba(255,255,255,.38);box-shadow:none; }
.module-hero .classic-lesson { max-width:940px;margin:0 auto;padding:clamp(8px,2vw,24px); }

@media (max-width:900px) {
  .sound-listening-layout { grid-template-columns:1fr; }
  .sound-list-sidebar { min-height:auto;padding:0 0 20px;border-right:0;border-bottom:1px solid rgba(28,29,27,.08); }
  .sound-list-sidebar .sound-library-rail { display:flex;overflow-x:auto; }
  .sound-list-sidebar .soundscape-option.sound-library-choice { flex:0 0 170px; }
  .gramophone-stage { min-height:500px; }
  .classic-breathing { grid-template-columns:1fr;text-align:center; }
  .classic-breath-copy h2,.classic-breath-copy p { margin-left:auto!important;margin-right:auto!important; }
  .module-hero .classic-counselor { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .module-hero:not(.game-module-hero):not(.drawing-module-hero) { padding:20px 16px;border-radius:24px; }
  .module-hero .sound-mode-gallery,.module-hero .classic-practice-grid { grid-template-columns:1fr; }
  .module-hero .sound-mode-card,.module-hero .classic-practice-grid button { min-height:250px; }
  .gramophone-stage { min-height:430px;padding:24px; }
  .gramophone-machine { width:300px;height:280px;transform:scale(.82); }
  .gramophone-copy { top:20px;left:22px; }
  .classic-breathing { min-height:560px;gap:10px; }
  .classic-breath-stage { min-height:380px; }
  .instrument-experience { min-height:600px; }
  .instrument-playground { min-height:500px; }
  .instrument-tab-bar { justify-content:flex-start; }
  .instrument-tab-bar .instrument-choice { min-width:82px; }
  .module-hero .classic-counselor-room { min-height:520px; }
}

body .personal-tools-grid .personal-tool-card,
body .module-entry-grid .module-entry-card.personal-tool-card {
  justify-items:center!important;align-content:center!important;grid-template-rows:auto auto!important;
  gap:24px!important;text-align:center!important;
}

/* Shared page insets follow the card catalogue's container. */
body.app-shell-active #page-module .module-container { max-width:none; }
body.app-shell-active #page-module .module-hero,
body.app-shell-active #page-module .module-hero:has(.module-entry-canvas),
body.app-shell-active #page-module .module-hero:has(.shared-space-experience),
body.app-shell-active .personal-tools-home { width:100%;max-width:none;margin:0;padding:0; }
body.app-shell-active #page-module .module-container:has(.module-entry-canvas) { max-width:none; }
body #page-dashboard .deck-switcher,
body #page-dashboard .deck-tab { box-shadow:none!important;filter:none; }
body #page-dashboard .deck-switcher::before { display:none; }
#spread-grid > .deck-switcher { order:0; }
body #page-dashboard #spread-grid { margin:0;padding-top:0; }
#spread-grid > .deck-focus-nav { order:1; }
body #page-dashboard #spread-grid > .deck-focus-nav.glass-panel { background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none; }
body #page-dashboard .deck-focus-nav.glass-panel::before,
body #page-dashboard .deck-focus-nav.glass-panel::after { display:none; }
#spread-grid > .spread-grid-inner { order:2;scrollbar-width:none; }
#spread-grid > .spread-grid-inner::-webkit-scrollbar { display:none; }
#spread-grid > .deck-help-footer { order:3;flex:none;display:block;width:100%;min-height:44px;margin:0;padding:12px;border:0;background:#fafafa;color:#949791;font:inherit;font-size:12px;text-align:center;cursor:pointer; }
.deck-help-footer:hover { color:#343632!important; }
@media(min-width:781px){
 body.app-shell-active #page-dashboard{padding-bottom:0!important}
 body #page-dashboard #spread-grid>.deck-help-footer{height:58.8px!important;min-height:58.8px!important;padding:0!important;align-items:center!important;justify-content:center!important}
}
body>.deck-help-footer{display:none}
@media(max-width:780px){body:has(#page-dashboard.active)>.deck-help-footer{display:flex;position:fixed;left:0;right:0;bottom:0;width:100%;height:calc(56px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);box-sizing:border-box;align-items:center;justify-content:center;border:0;background:#fafafa;color:#949791;font:inherit;font-size:12px;z-index:40}}
body #spread-grid>.deck-help-footer{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;height:64px;min-height:64px;padding:0!important;margin:0!important;line-height:1.5}
@media(max-width:780px){
 body #page-dashboard.active #spread-grid{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
 body #page-dashboard.active #spread-grid>.deck-help-footer{position:fixed;left:0;right:0;bottom:0;width:100%;height:calc(56px + env(safe-area-inset-bottom,0px));min-height:56px;padding-bottom:env(safe-area-inset-bottom,0px)!important;z-index:40;background:#fafafa}
}
/* The 3D host provides the help link in its shared action row. */
body.is-space-embed #page-dashboard #spread-grid>.deck-help-footer,
body.is-space-embed>.deck-help-footer{display:none!important}
body.is-space-embed #page-dashboard.active #spread-grid{padding-bottom:0!important}
body .classic-counselor-room { padding:18px; }
@media (min-width:901px) {
  body.app-shell-active #page-module:has(.classic-counselor) { padding:24px; }
  body.app-shell-active #page-module:has(.classic-counselor) .module-container,
  body.app-shell-active #page-module .module-hero:has(.classic-counselor),
  body.app-shell-active #page-module .classic-counselor { height:100%;min-height:0; }
  body.app-shell-active #page-module .classic-counselor-room { min-height:0;grid-template-rows:auto minmax(0,1fr) auto; }
  body.app-shell-active #page-module .classic-counselor-rail { min-height:0;overflow-y:auto; }
}
body .classic-counselor-room form { align-items:center; }
body .classic-counselor-room textarea { box-sizing:border-box;height:48px;min-height:48px;max-height:110px;padding:12px;resize:vertical; }
body .classic-counselor-room form button { height:48px;min-height:0;padding:0 18px;border:0;border-radius:13px; }
body .platform-experience-dialog { width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;padding:12px; }
body .platform-experience-dialog[open] { display:flex;flex-direction:column; }
.platform-experience-dialog header { flex:none; }
body .platform-experience-dialog .platform-experience-frame { flex:1;min-height:0;height:auto; }
body .platform-experience-dialog:fullscreen { width:100vw;height:100dvh;border:0;border-radius:0; }
body .shared-space-experience { height:calc(100dvh - 92px); }
body .page-context-bar,body .page-context-bar.is-nested { background:#fff;box-shadow:none;border-color:#eee; }
body .game-flat-copy { min-height:0;padding:18px 10px 20px;text-align:center; }
body .game-flat-card { align-self:start; }
body .game-flat-card:hover { border-color:#ccc;box-shadow:0 12px 30px #0000000b; }
body .personal-writing-tool,body .healing-box-tool { width:100%;max-width:none;margin:0;padding:24px;border:1px solid #e8e8e8;background:rgba(255,255,255,.7);box-shadow:none;min-height:calc(100dvh - 160px); }
body .personal-writing-tool h1,body .healing-box-tool h1 { font-size:32px; }
body .personal-writing-compose { padding:20px;margin-top:24px;background:rgba(255,255,255,.6);border-color:#e8e8e8; }
body .personal-writing-compose button { border:0; }
body .healing-box-result { background:#f7f7f7;color:#555;border-color:#ddd; }
body iframe.platform-experience-frame:fullscreen { box-sizing:border-box;padding:24px;background:#fff;border:0; }
body .drawing-toolbar button { color:#555; }
body .drawing-toolbar button.active { background:rgba(255,255,255,.8);border-color:#ddd; }
body .drawing-tool-rail { background:rgba(255,255,255,.8);border-color:#e5e5e5;box-shadow:0 8px 22px #00000006; }
body .drawing-tool-button { color:#555; }
body .drawing-tool-button.active,body .drawing-tool-button.panel-open,body .drawing-tool-button:hover { background:rgba(255,255,255,.8);border-color:#ccc;box-shadow:0 3px 12px #0000000a; }
body .module-hero .classic-counselor { position:relative;grid-template-columns:minmax(0,1fr) 88px; }
body .classic-counselor-toggle { align-self:start;padding:12px 16px;border:1px solid #ddd;border-radius:16px;background:rgba(255,255,255,.75);color:#333;cursor:pointer; }
body .classic-counselor-rail { position:absolute;z-index:10;right:0;top:56px;width:min(280px,90%);max-height:calc(100% - 56px);overflow:auto;padding:16px;border:1px solid #e5e5e5;border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);box-shadow:0 10px 40px #00000010; }
body .classic-counselor-rail[hidden] { display:none!important; }
@media(max-width:900px) {
 body .module-hero .classic-counselor { grid-template-columns:minmax(0,1fr);padding-top:54px; }
 body .classic-counselor-toggle { position:absolute;top:0;right:0; }
 body.app-shell-active:not(.is-space-embed) #page-module.active,
 body.app-shell-active:not(.is-space-embed) #page-home.active { padding-top:calc(var(--nav-height,70px) + 24px)!important; }
 body .game-flat-cover img[src*="incense-story"] { object-position:35% center; }
}
/* Final shared-shell corrections. */
body #card-fan.card-fan{display:block;position:relative;width:100%;height:330px;max-height:none;overflow:visible;padding:0;margin-top:76px}
body #card-fan.card-fan .fan-card{position:absolute;left:calc(50% + var(--fan-x));top:var(--fan-y);width:clamp(56px,8vw,100px);height:auto;transform:translateX(-50%) rotate(var(--fan-angle));transform-origin:50% 130%;aspect-ratio:5/7}
body #card-fan.card-fan .fan-card:hover,body #card-fan.card-fan .fan-card.is-selected{transform:translateX(-50%) translateY(-26px) rotate(var(--fan-angle));z-index:300!important}
body #card-fan.card-fan.is-shuffling{overflow:visible}
@media(min-width:901px){
 body.chat-locked #spread-step-questions .chat-panel{--chat-edge:24px}
 body.chat-locked #spread-step-questions #chat-log{padding:var(--chat-edge) 28px 18px 28px}
 body.chat-locked #spread-step-questions #chat-form{width:calc(100% - 56px);margin-left:28px;margin-right:28px;padding:14px 0 var(--chat-edge)}
 body.chat-locked #spread-step-questions .questions-actions:not(:has(button:not([style*="display:none"]):not([style*="display: none"]))){display:none}
}
body.chat-locked #spread-step-questions .chat-panel:has(.spread-result-card:only-child){grid-template-columns:minmax(260px,4fr) minmax(0,6fr)}
body.chat-locked #spread-step-questions .spread-result-cards:has(.spread-result-card:only-child){grid-column:1;grid-template-columns:minmax(0,180px);justify-content:center;align-content:center;border:0}
body.chat-locked #spread-step-questions .chat-panel:has(.spread-result-card:only-child) #chat-log,body.chat-locked #spread-step-questions .chat-panel:has(.spread-result-card:only-child) #chat-form{grid-column:2}
@media(max-width:900px){
 body.chat-locked #spread-step-questions .chat-panel{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;gap:0!important}
 body.chat-locked #spread-step-questions .spread-result-cards{flex:0 0 auto!important;width:100%!important;box-sizing:border-box;height:auto!important;max-height:32dvh!important;overflow-y:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:center!important;align-content:start!important;padding:16px!important;border:0!important}
 body.chat-locked #spread-step-questions .spread-result-cards:has(.spread-result-card:only-child){grid-template-columns:minmax(0,160px)!important}
 body.chat-locked #spread-step-questions .spread-result-card img{max-height:150px!important;width:auto!important;max-width:100%!important;object-fit:contain}
 body.chat-locked #spread-step-questions #chat-log{flex:1 1 auto!important;width:100%!important;min-height:100px!important;box-sizing:border-box;padding:16px!important;overflow-y:auto!important}
 body.chat-locked #spread-step-questions #chat-form{position:static!important;flex:none!important;display:flex;width:100%!important;box-sizing:border-box;margin:0!important;padding:12px 16px!important;gap:8px!important}
 body.chat-locked #spread-step-questions #chat-input{flex:1!important;width:0!important;min-width:0!important}
 body.chat-locked #spread-step-questions #chat-form button{flex:none!important;padding:12px 18px!important}
}
body .sound-list-sidebar header h2{font-size:22px!important;margin:4px 0 18px!important;font-weight:500}
body .sound-listening-layout .gramophone-stage{display:flex;align-items:center;justify-content:center;gap:18px;padding:28px;min-height:120px;background:none;align-self:center;overflow:visible}
body .sound-listening-layout .gramophone-stage:before,body .sound-listening-layout .gramophone-stage:after{display:none}
body .sound-listening-layout .sound-stage-play{flex:none;white-space:nowrap;box-shadow:none;font-size:13px}
body .sound-listening-layout .sound-transport{flex:1;width:auto;max-width:520px;padding-top:16px}
body .sound-listening-layout .sound-transport input{display:block;margin:0;height:20px}
body .classic-counselor-room .counselor-avatar svg{width:36px;height:36px}
body .classic-counselor-room .counselor-avatar{gap:12px}
body .classic-counselor-room #classic-counselor-messages{padding-left:48px}
body #classic-counselor-messages .counselor-message-meta{margin:2px 0 8px;font-size:12px}
body .study-tabs button:focus,body .study-tabs button:focus-visible{outline:none!important;box-shadow:none!important}
@media(max-width:600px){body .sound-listening-layout .gramophone-stage{padding:18px 0;gap:12px}body .sound-listening-layout .sound-stage-play{padding:0 14px}body .classic-counselor-room #classic-counselor-messages{padding-left:48px}}
body button,body button:focus-visible,body button *{text-decoration:none!important}
body button:focus-visible{outline:2px solid #999;outline-offset:3px}
body #page-context-bar,body #page-context-bar .page-context-inner{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;box-sizing:border-box;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body #page-context-bar::before,body #page-context-bar::after{content:none!important;display:none!important}
@media(min-width:901px){
 body.app-shell-active:not(.is-space-embed) #page-spread.active{top:16px!important;bottom:16px!important;height:calc(100dvh - 32px)!important;min-height:0!important;box-sizing:border-box;padding-top:64px!important;padding-bottom:0!important;overflow:hidden}
 body.chat-locked.app-shell-active #page-spread>.container{height:100%!important;min-height:0!important}
 body.chat-locked #spread-step-questions #chat-log{padding-top:32px!important}
 body.chat-locked #spread-step-questions #chat-form{padding-bottom:16px!important}
}
body #page-breadcrumbs{display:flex;align-items:center;gap:14px;color:#777;font-size:14px}
body #page-breadcrumbs button,body #page-breadcrumbs a{color:#333;background:none;border:0;font-weight:400;text-decoration:none}
body #page-breadcrumbs [aria-current=page]{font-weight:400;color:#222}
/* Drawing needs page scrolling; only the conversation uses a locked viewport. */
body.app-shell-active:not(.chat-locked) #page-spread.active{overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:32px!important;overscroll-behavior-y:contain}
body.app-shell-active:not(.chat-locked) #page-spread.active>.container{height:auto!important;min-height:0!important;overflow:visible!important}
body #platform-experience-dialog{padding:0!important;box-sizing:border-box;border:1px solid #dededb;border-radius:20px;background:#fff;overflow:hidden}
body #platform-experience-dialog>header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;height:64px;padding:0 20px;box-sizing:border-box;background:#fafafa;border-bottom:1px solid #e8e8e5}
body #platform-experience-dialog>header button:first-of-type{grid-column:3;grid-row:1;justify-self:end;margin:0;color:#252525;border-color:#ddd}
body #platform-experience-dialog>header button:last-of-type{grid-column:2;grid-row:1;justify-self:center;margin:0;color:#252525;border-color:#ddd}
body #platform-experience-dialog>header h2{grid-column:1;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body iframe.platform-experience-frame:fullscreen{padding:0!important}
@media(max-width:600px){body #platform-experience-dialog>header{gap:8px;padding:0 12px}body #platform-experience-dialog>header h2{font-size:16px}body #platform-experience-dialog>header button{padding:8px 10px;font-size:12px}}
body .counselor-avatar{display:flex;align-items:center;gap:12px;font-size:15px;color:#555}
body .counselor-avatar svg{width:52px;height:52px;display:block;flex:none;border-radius:50%}
body #classic-counselor-messages .counselor-message-meta{display:block;font-size:12px;color:#858585;margin:18px 0 8px 12px}
body #classic-counselor-messages .counselor-message-meta+p{margin-top:0}
body .card-fan-wrapper,body.draw-mode .card-fan-wrapper{height:auto!important;min-height:180px;margin:24px auto!important;width:100%;max-width:1000px}
body #card-fan{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;max-height:360px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:16px;padding:18px 12px;isolation:isolate;scrollbar-width:thin;scrollbar-color:#ccc transparent}
body #card-fan .fan-card{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:5/7;padding:0;border:2px solid white;transform-origin:center;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 9px #00000012;margin:0!important}
body #card-fan .fan-card:hover{filter:brightness(1.02);transform:translateY(-3px)}
body #card-fan .fan-card.is-selected{transform:translateY(-8px);border-color:#20221f;box-shadow:0 9px 18px #00000026;z-index:5!important}
body #card-fan .fan-card.dealing{pointer-events:none;transition:transform .55s ease;opacity:.4}
body #card-fan.is-shuffling{pointer-events:none;overflow:hidden}
body .card-pick-hint{text-align:center;color:#777;font-size:13px;margin:0 0 12px}
/* Keep selection counters available to the draw logic without a visible heading block. */
body #embedded-draw .selection-header{padding:0!important}
body #embedded-draw .selection-header h2,
body #embedded-draw .selection-count{display:none!important}
body #embedded-draw .selection-actions{margin-top:0}
body .card-slots{gap:20px!important;flex-wrap:wrap}
body .card-slot{border:1px dashed #ccc!important;background:#f7f7f7!important;border-radius:12px}
body .card-slot-number{background:#ffffffd9!important;color:#222!important}
@media(max-width:600px){body #card-fan{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-height:340px}body .card-slots{gap:12px!important}}
body .module-hero .classic-counselor{grid-template-columns:minmax(0,1fr)!important;padding-top:0!important}
body .classic-counselor-room>header{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
body .classic-counselor-room .classic-counselor-toggle{position:static!important;margin-left:auto;align-self:center}
body .classic-counselor-rail{right:24px;top:88px;max-height:calc(100% - 112px)}
body .healing-box-tool{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px!important}
body .healing-box-tool header{text-align:center}
body .healing-box-result{width:min(100%,640px);min-height:240px!important;padding:36px!important;margin:0!important;background:linear-gradient(140deg,#fff,#f8f8f8)!important}
body .healing-box-tool>button{align-self:center;margin:0!important}
body .vent-writing-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;overflow:hidden}
body .vent-writing-tool header{text-align:center}
body .vent-writing-tool .personal-writing-compose{position:relative;display:flex;flex-direction:column;width:min(100%,780px);padding:32px;border-radius:4px;background:linear-gradient(135deg,#fff,#faf8f3);box-shadow:0 20px 65px #25221c12;isolation:isolate}
body .vent-writing-tool textarea{width:100%;min-height:220px;border:0!important;border-radius:0!important;background:transparent!important;resize:none;line-height:2}
body .vent-writing-tool .personal-writing-compose button{align-self:center;min-width:140px}
body .vent-writing-tool .personal-writing-compose:after{content:'';pointer-events:none;position:absolute;left:-4%;right:-4%;bottom:0;height:50px;opacity:0;background:radial-gradient(ellipse at 20% 80%,#fff3b0,transparent 40%),radial-gradient(ellipse at 60% 80%,#ffb13b,transparent 45%),radial-gradient(ellipse at 85% 80%,#ff6c22,transparent 40%);filter:blur(5px)}
body .vent-writing-tool .is-burning{animation:paper-release 4.2s ease-in forwards;pointer-events:none}
body .vent-writing-tool .is-burning:after{animation:fire-rise 4.2s ease-in forwards}
body .vent-writing-tool .is-burning textarea{color:#654b36;transition:color 1s}
@keyframes paper-release{0%,12%{clip-path:inset(0);filter:none}40%{filter:sepia(.5);box-shadow:0 0 36px #e9944426;clip-path:polygon(0 0,100% 0,100% 75%,85% 78%,73% 71%,60% 76%,42% 70%,24% 77%,0 73%)}75%{opacity:.8;filter:sepia(1) brightness(.45);clip-path:polygon(0 0,100% 0,100% 28%,80% 23%,64% 30%,43% 20%,22% 27%,0 23%);transform:translateY(-8px)}100%{opacity:0;filter:blur(6px);clip-path:inset(0 0 100%);transform:translateY(-25px)}}
@keyframes fire-rise{0%{opacity:0;bottom:0}15%{opacity:1}45%{bottom:27%;height:70px}75%{bottom:76%;height:48px;opacity:1}100%{bottom:100%;opacity:0;height:10px}}
@media(prefers-reduced-motion:reduce){body .vent-writing-tool .is-burning{animation:none;opacity:0}body .vent-writing-tool .is-burning:after{animation:none}}
/* A complete identity travels with every message, not with the page header. */
body .classic-counselor-room #classic-counselor-messages{padding:0!important;display:flex!important;flex-direction:column;justify-content:flex-start!important;gap:22px!important}
body .classic-counselor-room .counselor-message-row{display:flex;align-items:flex-start;gap:12px;width:100%;margin:0}
body .classic-counselor-room .counselor-message-row .counselor-avatar{flex:0 0 36px;margin:0}
body .classic-counselor-room .counselor-message-row .counselor-avatar svg{width:36px;height:36px}
body .counselor-message-content{min-width:0;max-width:85%;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
body .counselor-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;line-height:1.5;font-size:14px;color:#424640}
body .counselor-identity small{font-size:12px;color:#888}
body #classic-counselor-messages .counselor-message-row p{margin:0!important;padding:12px 16px!important;font-size:15px!important;line-height:1.8;border-radius:4px 18px 18px 18px;white-space:pre-wrap}
body .counselor-message-row.from-user{flex-direction:row-reverse}
body .from-user .counselor-message-content{align-items:flex-end}
body .from-user .counselor-avatar svg{filter:none}
body .from-user .counselor-avatar svg>circle{fill:#fff0df}
body .from-user .counselor-avatar svg>path:first-of-type{fill:#df792f}
body .from-user .counselor-avatar svg>ellipse{fill:#f2c49c}
body #classic-counselor-messages .counselor-message-row p{width:fit-content!important;max-width:100%!important;box-sizing:border-box;overflow-wrap:anywhere}
body .vent-writing-tool .personal-writing-compose.is-burning{animation:none!important;clip-path:none!important;filter:none!important;opacity:1!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible}
body .vent-writing-tool .is-burning:after{display:none!important}
body .vent-writing-tool .is-burning>label,body .vent-writing-tool .is-burning>textarea,body .vent-writing-tool .is-burning>button{visibility:hidden}
body .vent-burn-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 8px 16px #47321d18)}
body .deck-switcher.glass-panel,body .study-tabs{border:0!important;box-shadow:none!important;background:transparent!important}
body .deck-switcher.glass-panel:before{display:none!important}
body .deck-switcher.glass-panel{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body .therapist-picker{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 40px));max-height:calc(100dvh - 64px);box-sizing:border-box;padding:24px;border:1px solid #e5e5e5;border-radius:24px;background:#fff;color:#242424;box-shadow:0 24px 90px #0002}
body .therapist-picker::backdrop{background:#2225;backdrop-filter:blur(5px)}
body .therapist-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
body .therapist-picker h2{margin:0;font-size:22px}
body .therapist-picker header button{background:none;border:0;font-size:26px}
body .therapist-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .therapist-picker-list button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid #ddd;border-radius:16px;background:#fafafa;color:#333}
body .therapist-picker-list small{font-size:12px}
body .personal-writing-tool>header,body .healing-box-tool>header{display:none!important}
body .personal-writing-tool,body .healing-box-tool{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important}
body .vent-writing-tool{justify-content:flex-start!important;padding-top:24px!important;min-height:0!important}
body .personal-writing-tool:not(.vent-writing-tool){display:flex!important;flex-direction:column!important;gap:24px!important;padding:20px!important}
body .personal-writing-tool:not(.vent-writing-tool) .personal-writing-compose{display:grid!important;grid-template-columns:1fr auto!important;gap:14px!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
body .personal-writing-tool:not(.vent-writing-tool) .personal-writing-compose label{grid-column:1/-1}
body .personal-writing-history{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
body .personal-writing-history article{width:100%!important;box-sizing:border-box;padding:20px!important}
body .therapist-picker-list button[aria-pressed=true]{background:#20221f;color:#fff}
@media(max-width:780px){
body .nav-space-entry .entry-prefix{display:none}
body .nav-user-menu{flex-shrink:0!important}
body .nav-user-label{min-width:3em!important;max-width:5em!important;width:auto!important;flex-shrink:0!important}
body #nav-user-name{min-width:86px!important;width:auto!important;flex-shrink:0!important}
body .nav-space-entry{white-space:nowrap;padding:10px 12px!important;flex-shrink:0!important}
body .page.active>.container{box-sizing:border-box;padding-left:0!important;padding-right:0!important;width:calc(100% - 28px)!important;max-width:none!important;margin-left:14px!important;margin-right:14px!important}
body .shared-space-experience{width:100%;box-sizing:border-box}
}
body .sound-listening-layout .gramophone-stage{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:18px!important;align-content:center;width:100%;box-sizing:border-box}
body .turntable-model{grid-column:1/-1;width:100%;height:clamp(360px,60vh,680px);border:0;pointer-events:auto}
body .sound-listening-layout{display:flex;flex-direction:column;align-items:center;min-height:0;overflow:visible}
body .sound-listening-layout .gramophone-stage{display:block!important;padding:0!important;min-width:0}
body .sound-track-picker{position:relative;z-index:5;width:min(360px,90%);margin:12px auto 0}
body .sound-track-picker summary{display:flex;justify-content:center;align-items:center;gap:18px;cursor:pointer;list-style:none;padding:14px 22px;font-size:20px;color:#30342f}
body .sound-track-picker summary::-webkit-details-marker{display:none}
body .sound-track-picker{width:min(260px,85%)}
body .sound-track-picker summary{font-size:15px;padding:10px 18px;min-height:22px;border:1px solid #e4e5e0;border-radius:16px;background:#ffffffa8;backdrop-filter:blur(18px);gap:12px;line-height:22px}
body .sound-track-picker summary>span:last-child{font-family:sans-serif;font-size:16px;line-height:22px;align-self:center}
body .sound-track-picker .sound-library-rail{position:absolute;top:100%;left:0;right:0;max-height:310px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:18px;background:#fff;box-shadow:0 16px 48px #20242018}
body .sound-track-picker .sound-library-choice{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:0;border-radius:10px;width:100%}
body .sound-track-picker .sound-library-choice strong{font-size:14px}
body .sound-track-picker .sound-library-choice small{font-size:11px}
/* Neutral glass theme, scoped to body scanning and its own dialogs. */
body .body-map-atlas,body .body-map-dialog,body .body-map-region-dialog{--primary:#252725;--primary-dark:#202220;--primary-light:#a8aaa7;--text:#353735;--text-light:#818580;filter:grayscale(1)}
body .body-map-atlas{background:linear-gradient(135deg,#ffffffad,#eceeeb80)!important;border:1px solid #ffffffd9;backdrop-filter:blur(22px);box-shadow:0 16px 48px #2024200c}
body .body-map-atlas .body-map-model,body .body-map-atlas .body-map-observation-panel{background:linear-gradient(145deg,#ffffffa8,#e8ebe65c)!important;backdrop-filter:blur(16px);border-color:#353b351c!important}
body .body-map-atlas .body-map-figure svg .body-shape{fill:#dfe2de66!important;stroke:#737a7399!important}
body .body-map-atlas .body-map-figure svg .body-detail{stroke:#747b7440!important}
body .body-map-hotspot{background:#ffffffbf!important;border-color:#686f6859!important;color:#343834!important;box-shadow:0 0 0 5px #747b7410,0 6px 16px #20262012!important}
body .body-map-hotspot.is-selected,body .body-map-hotspot[aria-pressed="true"]{background:#292d29!important;color:white!important}
body .body-map-atlas .btn-primary{background:#252825!important;border-color:#252825!important;color:#fff!important;box-shadow:0 6px 18px #20242014!important}
body .personal-writing-tool:has(#happiness-entry){max-width:860px;margin:0 auto;padding:20px!important}
body .personal-writing-compose:has(#happiness-entry){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px}
body #happiness-entry{width:100%!important;box-sizing:border-box;min-height:160px!important}
body .personal-writing-compose:has(#happiness-entry)>button{align-self:flex-end;min-height:44px;padding:10px 24px!important;margin:0!important}
body .drawing-exercise-prompt{background:transparent!important;box-shadow:none!important;border:0!important}
body.is-space-embed #page-module:has(.drawing-workspace) .module-container,
body.is-space-embed #page-module:has(.drawing-workspace) .module-hero{height:100%!important;min-height:0!important;padding:0!important;margin:0!important}
body.is-space-embed .drawing-workspace{height:100dvh!important;max-height:100dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:8px!important;box-sizing:border-box;overflow:auto!important}
body.is-space-embed .drawing-random-exercise{display:flex!important;flex-direction:column!important;flex:1;min-height:0!important;height:100%!important}
body.is-space-embed .drawing-exercise-prompt{flex:none;padding:8px!important;margin:0!important}
body.is-space-embed .drawing-studio{flex:1!important;min-height:240px!important;height:auto!important;max-height:none!important;box-sizing:border-box;overflow:hidden!important}
body.is-space-embed .drawing-studio .drawing-canvas-panel{height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden;padding:8px!important;box-sizing:border-box}
body.is-space-embed .drawing-studio .drawing-canvas-panel canvas{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain;box-sizing:border-box}
body.is-space-embed .drawing-studio[data-drawing-tool="mandala"] .drawing-canvas-panel canvas{width:auto!important;max-width:100%!important;aspect-ratio:1}
body .gramophone-stage .sound-transport{width:100%!important;min-width:0;max-width:none!important;justify-self:stretch}
@media(max-width:780px){body.app-shell-active #page-dashboard.active{height:calc(100dvh - 70px)!important;max-height:calc(100dvh - 70px)!important;min-height:0!important}}
body .study-header{border-bottom:0!important}
body .study-library-intro,body .study-progress{justify-content:flex-start!important;text-align:left!important;margin-left:0!important}
@media(max-width:780px){
body.app-shell-active #page-dashboard.active{overflow-y:auto!important;touch-action:pan-y}
body #page-dashboard.active>.container,body #page-dashboard.active #spread-grid{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
body #page-dashboard #spread-grid>.spread-grid-inner{height:auto!important;overflow:visible!important;display:grid}
body .nav-account{gap:18px!important}
body .nav-user{background:#fff!important;color:#252525!important;border:1px solid #ddd!important;border-radius:18px!important;min-height:42px;padding:10px 14px!important}
body .game-flat-card{display:flex!important;flex-direction:column!important;gap:16px!important;padding:14px!important}
body .game-flat-card .game-flat-copy{width:100%!important;text-align:center!important;align-items:center!important;padding:8px!important}
}

/* Unframed card navigation and a quiet, metal-toned instrument studio. */
@media(min-width:901px){
 body.app-shell-active .nav-inner{padding:24px 14px!important;gap:12px!important;justify-content:flex-start!important}
 body.app-shell-active .nav-logo{height:40px;box-sizing:border-box;margin:0!important;padding:4px 8px!important;flex:0 0 40px!important}
 body.app-shell-active .nav-links{min-height:0;overflow-y:auto;flex:0 1 auto!important;margin:0!important;padding-bottom:10px!important;box-sizing:border-box;justify-content:flex-start!important;gap:5px!important}
 body.app-shell-active .nav-account{flex-shrink:0}
}
/* Fit the complete drawing surface inside its available viewport. */
body #page-module .drawing-workspace{height:calc(100dvh - 132px)!important;min-height:0!important;max-height:none!important;box-sizing:border-box;padding:12px 0 24px!important;display:flex!important;flex-direction:column!important;overflow:auto!important}
body.is-space-embed #page-module .drawing-workspace{height:100dvh!important;padding:12px 12px 24px!important}
body #page-module .drawing-random-exercise{display:flex!important;flex-direction:column!important;flex:1;min-height:0!important;gap:16px;height:100%!important}
body #page-module .drawing-exercise-prompt{padding:0!important;margin:0!important;flex:none;width:100%;box-sizing:border-box}
body #page-module .drawing-studio{flex:1!important;height:auto!important;min-height:240px!important;max-height:none!important;box-sizing:border-box;overflow:hidden!important;padding:12px!important;border:1px solid #c4a77d!important;border-radius:16px!important;background:repeating-linear-gradient(2deg,transparent 0 5px,rgba(120,83,41,.07) 6px,transparent 8px 15px),linear-gradient(105deg,#e3cba5,#f0dfbf 45%,#d6b88c)!important;backdrop-filter:none!important;box-shadow:inset 0 1px 2px #fff8e3,0 6px 16px #73563212!important}
body #page-module .drawing-canvas-panel{height:100%!important;min-height:0!important;max-height:100%!important;padding:6px!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;container-type:size}
body #page-module .drawing-canvas-panel canvas{display:block;width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;box-sizing:border-box}
body #page-module .drawing-studio[data-drawing-tool="mandala"] canvas{width:min(100cqw,100cqh)!important;height:min(100cqw,100cqh)!important;aspect-ratio:1!important}
body .classic-breathing{min-height:0!important;padding:64px 24px 32px!important;box-sizing:border-box}
body .classic-breath-copy>span{display:none}
body .classic-breath-stage{min-height:0!important;padding-top:48px;gap:28px}
body .classic-breath-orb{width:clamp(160px,20vw,280px)!important;height:clamp(160px,20vw,280px)!important;margin:48px 44px 64px;border-color:#dfd2a340!important;box-shadow:0 0 0 38px #f3e8ad66;animation:soft-yellow-breathe 8s ease-in-out infinite!important}
@keyframes soft-yellow-breathe{50%{transform:scale(1.06);box-shadow:0 0 0 48px #f3e8ad44}}
@media(max-width:780px){body .classic-breathing{padding:24px 16px!important;gap:12px!important}body .classic-breath-stage{padding-top:12px}body #page-module .drawing-workspace{height:calc(100dvh - 110px)!important}body #page-module .drawing-exercise-prompt{gap:12px!important}body.is-space-embed #page-module .drawing-workspace{height:100dvh!important}}
body #page-module .drawing-workspace>.drawing-studio{width:100%!important;align-self:stretch!important}
body.is-space-embed #page-module .drawing-workspace{width:100%!important;align-items:center!important;margin-inline:auto!important}
body.is-space-embed #page-module .drawing-studio{margin-inline:auto!important;align-self:center!important;width:100%!important}
body .personal-writing-compose:has(#happiness-entry)>button{align-self:flex-start!important}
body.app-shell-active #page-module:has(.sound-listening-layout){overflow-y:clip!important;background:#fff!important}
body .sound-listening-layout{background:#fff!important;padding:20px 0 0!important;border-radius:20px;gap:16px!important}
body .sound-listening-layout .gramophone-stage{background:#fff!important;min-height:0!important}
body .sound-listening-layout .gramophone-stage::before,body .sound-listening-layout .gramophone-stage::after{display:none!important}
body .sound-track-picker{margin:0 auto!important}
body .sound-track-picker summary>span:last-child{font-size:0!important;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);line-height:0!important;flex:none}
@media(max-width:900px){
 body.app-shell-active:not(.is-space-embed) #page-module:has(.sound-listening-layout),body.app-shell-active:not(.is-space-embed) #page-module:has(.original-instrument-player){padding-top:146px!important;overflow-y:auto!important}
 body .original-instrument-player{height:700px!important;min-height:700px!important}
 body .sound-listening-layout{padding-top:12px!important;padding-bottom:24px!important}
}
body #page-module .drawing-studio{background:linear-gradient(120deg,#ffffffaa,#e8ebe980)!important;border-color:#ffffffcc!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;box-shadow:inset 0 1px 0 #fff9,0 6px 18px #20252008!important}
body .drawing-exercise-prompt img,body .drawing-exercise-prompt .drawing-detail-media,body .drawing-exercise-prompt-copy{box-shadow:none!important;filter:none!important}
body .personal-writing-tool,body .vent-writing-tool textarea,body .vent-writing-tool .personal-writing-compose,body .classic-module-canvas,body .pressure-cabin-page,body .pressure-cabin-index{border-radius:24px!important}
body .drawing-exercise-reference{box-shadow:none!important;filter:none!important}
body .sound-listening-layout>.sound-track-picker{display:none!important}
@media(min-width:901px){
 body #page-module .module-hero:has(.classic-breathing){margin:0!important;padding:0 24px!important;min-height:0!important;display:flex;align-items:center;height:calc(100dvh - 128px);box-sizing:border-box}
 body .classic-breathing{width:100%;padding:24px!important;align-content:center!important}
 body .classic-breath-stage{padding-top:0!important}
}
body.chat-locked #spread-step-questions #chat-log{padding-top:24px!important}
body #chat-form input,body #chat-form textarea{border-color:#d5d7d4!important;box-shadow:none!important}
body .study-book:nth-child(6n+1){--book:#526685!important;--page:#fffaf0!important}
body .study-book:nth-child(6n+2){--book:#9c6d54!important;--page:#fffaf0!important}
body .study-book:nth-child(6n+3){--book:#5f7463!important;--page:#fffaf0!important}
body .study-book:nth-child(6n+4){--book:#766679!important;--page:#fffaf0!important}
body .study-book:nth-child(6n+5){--book:#9b8351!important;--page:#fffaf0!important}
body .study-book:nth-child(6n){--book:#52777a!important;--page:#fffaf0!important}
body .study-book{--foil:#ead191!important}
body .study-book-cover{filter:saturate(.58) brightness(1.06)!important}
body .study-book-kind{color:var(--page)!important;opacity:.78}
body #btn-analyze,body #btn-yixin-analyze{box-shadow:none!important;filter:none!important}
@media(max-width:900px){
 body .classic-breath-copy h2{font-size:26px!important;line-height:1.4!important;margin:8px 0 12px!important;letter-spacing:0!important}
 body .classic-breath-copy p{font-size:13px!important;line-height:1.8!important}
 body .classic-breath-orb span{font-size:20px!important;letter-spacing:.06em}
 body .classic-breath-stage>strong{font-size:22px!important;letter-spacing:.04em}
 body .classic-breath-stage>small{font-size:11px!important;letter-spacing:.04em}
}
body #classic-counselor-input,body #chat-input{scrollbar-width:none!important;resize:none!important}
body #classic-counselor-input::-webkit-scrollbar,body #chat-input::-webkit-scrollbar{display:none!important}
/* One glass surface, with no nested mat or toolbar enclosure. */
body #page-module .drawing-studio{box-shadow:none!important;border:1px solid #dfe3df!important;padding:10px!important}
body #page-module .drawing-canvas-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body #page-module .drawing-canvas-panel canvas{border:0!important;box-shadow:none!important;border-radius:10px!important}
body #page-module .drawing-tool-rail{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
/* Seven-colour hardbacks with readable white type and visible page depth. */
body .study-book .study-book-cover,body .study-book .study-book-cover strong,body .study-book .study-book-mark,body .study-book .study-book-kind,body .study-book .study-book-cover small{color:#fff!important;opacity:1!important}
body .study-book .study-book-object{transform:rotateY(-24deg) rotateX(3deg)!important;filter:drop-shadow(7px 8px 5px #20202028)}
body .study-book .study-book-cover{box-shadow:inset 7px 0 9px #0003,inset 9px 0 1px #ffffff25!important}
body .study-book .study-book-pages-edge{width:12px!important;right:-9px!important;background:repeating-linear-gradient(0deg,#e7dfcc 0 1px,#fff9ea 1px 3px)!important}
body .classic-learning .study-header{background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important}
body, body * { -webkit-user-select:none; user-select:none; }
body input, body textarea, body [contenteditable=""], body [contenteditable="true"], body [contenteditable="true"] * { -webkit-user-select:text; user-select:text; }
body .study-book .study-book-pages-edge{width:22px!important;right:-19px!important;top:5px!important;height:calc(100% - 10px)!important;transform:skewY(-12deg)!important;transform-origin:left center;border-right:3px solid color-mix(in srgb,var(--book),#000 25%);border-bottom:2px solid var(--book);border-radius:0 3px 4px 0;background:repeating-linear-gradient(0deg,#eee8d9 0 1px,#fffdf4 1px 3px)!important;box-shadow:inset -5px 0 7px #8b806344;z-index:-1}
body .study-book .study-book-object::after{content:'';position:absolute;left:5px;right:-20px;bottom:-5px;height:7px;background:color-mix(in srgb,var(--book),#000 22%);transform:skewX(-25deg);border-radius:0 0 4px 3px;z-index:-2}
body .study-books-row{column-gap:32px!important}
body .study-book .study-book-cover{box-shadow:inset 9px 0 10px #0004,inset 11px 0 1px #ffffff35!important}
body *{scrollbar-width:thin;scrollbar-color:#c9ccc7 transparent}
body *::-webkit-scrollbar{width:5px!important;height:5px!important}
body *::-webkit-scrollbar-thumb{background:#c9ccc7;border-radius:8px}
body *::-webkit-scrollbar-track{background:transparent}
@media(max-width:780px){
 body .card-fan-wrapper,body.draw-mode .card-fan-wrapper{width:calc(100% - 64px)!important;margin-left:auto!important;margin-right:auto!important}
 body #card-fan.card-fan .fan-card{width:46px;transform-origin:50% 100%}
 body #page-dashboard .deck-focus-nav{scrollbar-width:none!important}
 body #page-dashboard .deck-focus-nav::-webkit-scrollbar{height:0!important;display:none!important}
}
body #page-breadcrumbs button{padding-left:0;padding-right:0}
@media(max-width:780px){
 body.app-shell-active #page-dashboard.active{height:auto!important;max-height:none!important;min-height:calc(100dvh - 70px)!important;overflow:visible!important;padding-bottom:20px!important;background:transparent!important}
 body #page-dashboard .deck-focus-nav{scrollbar-width:none!important;padding-bottom:0!important;border:0!important}
 body #page-dashboard .deck-focus-nav::-webkit-scrollbar{display:none!important}
 body #page-dashboard #spread-grid{max-height:none!important}
 body.app-shell-active #page-module .module-hero:has(.shared-space-experience){padding:0!important}
}
body .deck-switcher.glass-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
body .deck-switcher.glass-panel::after{display:none!important}
body #page-dashboard .deck-switcher.glass-panel{padding-top:0!important;padding-bottom:6px!important;margin-bottom:10px!important}
body #page-dashboard #spread-grid>.deck-focus-nav{padding-top:0!important;margin-bottom:4px!important}
body #page-dashboard #spread-grid>.spread-grid-inner{padding-top:14px!important;padding-bottom:18px!important;box-sizing:border-box;scroll-padding-top:14px}
.instrument-experience .instrument-page-heading h2{font-size:clamp(28px,3vw,42px)!important;letter-spacing:.12em}
.instrument-experience .instrument-sound-field{background:transparent;min-height:0;width:min(100%,460px);height:auto;aspect-ratio:1}
.instrument-experience .instrument-ring{display:none}
.instrument-experience .instrument-sound-field::after{display:none}
.instrument-portrait--tongue::before,.instrument-portrait--handpan::before{border:1px solid #9b8770;background:radial-gradient(ellipse at 33% 22%,#f1e4ce 0%,#c8b496 35%,#a18a6d 70%,#76634f 100%);box-shadow:inset 0 0 0 5px #d5c2a4,inset 0 -12px 24px #79664c55,0 16px 28px #77634b20}
.instrument-portrait--tongue i,.instrument-portrait--handpan i,.instrument-portrait--tongue::after{border:1px solid #a18b6b;background:radial-gradient(ellipse at 40% 32%,#e8d8b9,#c7af86 55%,#9a805e);box-shadow:inset 0 2px 5px #fff6df88,inset 0 -3px 6px #76614540}
.instrument-portrait--handpan i:nth-child(8){left:39%;top:39%;right:auto;bottom:auto;width:22%;height:22%;background:radial-gradient(circle at 38% 28%,#f7ead0,#b99b70 70%,#8e7554)}
.instrument-portrait--handpan i:nth-child(9){display:none}
.instrument-experience .instrument-tab-bar{border:0;gap:8px;padding:8px 0}
.instrument-experience .instrument-choice{border-radius:12px;min-height:46px;padding:12px 18px}
.instrument-experience .instrument-choice.is-active{background:#eee8dd;color:#514331}
.instrument-experience .instrument-choice.is-active::after{display:none}
@media(min-width:800px) and (orientation:landscape){
 .instrument-experience{position:relative;padding:28px!important}
 .instrument-experience .instrument-page-heading{margin-left:190px;text-align:center}
 .instrument-experience .instrument-playground{grid-template-columns:170px minmax(0,1fr);grid-template-rows:1fr auto;min-height:420px;gap:0 24px;padding:0}
 .instrument-experience .instrument-sound-field{grid-column:2;grid-row:1}
 .instrument-experience .instrument-gesture{grid-column:2;grid-row:2}
 .instrument-experience .instrument-tab-bar{grid-column:1;grid-row:1/3;flex-direction:column;align-self:center;overflow:visible}
 .instrument-experience .instrument-choice{width:100%;justify-content:start;text-align:left}
}
@media(max-width:799px){
 .instrument-experience{padding:20px!important}
 .instrument-experience .instrument-playground{min-height:0}
 .instrument-experience .instrument-sound-field{width:min(100%,400px)}
 .instrument-experience .instrument-tab-bar{grid-row:1;max-width:100%;margin-bottom:18px}
}
/* Shared consultation pacing and completion controls. */
.classic-session-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 0; font-size:13px; }
.classic-session-controls span { margin-right:auto; color:#667168; }
.classic-session-controls button { border:1px solid #d9ddd5; background:#f9faf6; color:#37483e; padding:8px 12px; border-radius:8px; cursor:pointer; }
.classic-session-controls button:disabled { opacity:.5; cursor:wait; }
.classic-session-report { padding:16px; background:#f7f8f2; border-radius:12px; }
.classic-session-report p { white-space:pre-wrap; line-height:1.85; }

/* Detail content shares the outer frosted workspace surface. */
body.app-shell-active #page-module .module-hero,
body.app-shell-active #page-module .module-container,
body .assessment-workspace,
body .ar-page,
body #page-module :is(.classic-module-canvas,.classic-breathing,.drawing-studio,.sound-listening-layout,.gramophone-stage,.original-instrument-player,.shared-space-experience,.classic-learning,.study-layout,.study-sidebar,.study-book-pages,.study-reader,.study-leaf,.personal-writing-tool,.personal-writing-compose,.pressure-cabin-page,.pressure-cabin-index),
body :is(.emotion-wheel-page,.emotion-wheel-picker,.emotion-wheel-recent,.emotion-bubble-field){
  background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;
}
body #page-module :is(.study-book-pages,.study-reader)::before,
body #page-module .study-page-edge{display:none!important}
body :is(.personal-writing-tool,.vent-writing-tool .personal-writing-compose,.pressure-cabin-page,.pressure-cabin-index){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
body .emotion-wheel-recent::before,body .emotion-wheel-recent::after{display:none!important}

/* Size short embedded experiences to the panel content box, not the window. */
body.app-shell-active #page-module .module-hero:has(.ar-research,.ar-frame,.shared-space-experience,.original-instrument-player,.classic-breathing){min-height:0!important}
body.app-shell-active #page-module .assessment-workspace:has(.ar-research,.ar-frame){margin-top:0!important}
@media(min-width:901px){
 body.app-shell-active:not(.is-space-embed) #page-module:has(.ar-research,.ar-frame,.shared-space-experience,.original-instrument-player,.classic-breathing){container-type:size}
 body.app-shell-active:not(.is-space-embed) #page-module :is(.shared-space-experience,.original-instrument-player,.ar-frame){height:100cqh!important;min-height:0!important;box-sizing:border-box}
 body.app-shell-active:not(.is-space-embed) #page-module .module-hero:has(.shared-space-experience){height:100cqh!important;min-height:0!important}
 body.app-shell-active:not(.is-space-embed) #page-module .ar-frame-page{padding:0}
}

@media(min-width:901px){body.app-shell-active:not(.is-space-embed) #page-module .module-hero:has(.classic-breathing){height:100cqh!important}}

/* A stable header covers scrolling text without per-scroll clipping/repainting. */
body #page-context-bar.is-nested{background:#fafafa!important;isolation:isolate;z-index:90;overflow:hidden!important;transform:translateZ(0);animation:none!important;transition:none!important}
body #page-context-bar .page-context-inner{background:transparent!important}
body .profile-page-header{display:block;padding:12px 0 22px;border:0}
body .profile-page-header h1{font:400 28px/1.4 "Songti SC",SimSun,serif;letter-spacing:0}
body .profile-dashboard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:32px;padding:32px;background:#fff;border:1px solid #e4e6e0;border-radius:24px;align-items:start}
body #page-profile :is(.ar-profile-map,.ar-profile-empty,.profile-card){background:#fff!important;border:0!important;border-radius:0!important;min-height:0;padding:0;box-shadow:none}
body #page-profile .ar-profile-map{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}
body #page-profile .ar-profile-map h2{font-size:28px;max-width:650px}
body #page-profile .ar-profile-map .ar-star-chart{width:100%;max-width:520px}
body .ar-constellation{width:100%;text-align:center}
body .ar-star-detail{min-height:3.6em;max-width:620px;margin:12px auto!important;font-size:13px;line-height:1.8}
body .ar-star-node{cursor:pointer;outline:none}.ar-star-node:focus circle,.ar-star-node:hover circle{stroke:#536a56;stroke-width:1}
body .ar-map-actions{display:flex;justify-content:center;width:100%}
body .ar-map-actions .ar-primary{background:#20221f!important;color:#fff!important;border-color:#20221f!important}
body .ar-report-body{width:min(100%,830px);margin:32px auto 60px!important;box-sizing:border-box}
body .ar-report>footer{text-align:center}
body .ar-report-actions{position:static!important;display:flex;justify-content:flex-end;padding:12px 0 24px;min-height:44px}
body .ar-report-cover>div>span{display:none}
body .assessment-workspace .ar-generating{min-height:calc(100dvh - 170px);padding:24px;display:grid;place-content:center;text-align:center}
@media(min-width:901px){body.app-shell-active #page-module:has(.cr-chat-page,.ar-generating){container-type:size}body.app-shell-active #page-module .cr-chat-page{height:100cqh;min-height:0;display:flex;flex-direction:column;padding-bottom:0}body .cr-message-log{flex:1;min-height:120px;height:auto}body .cr-composer{flex-shrink:0;margin-top:12px}body .assessment-workspace .ar-generating{height:100cqh;min-height:0}}
@media(max-width:900px){body .profile-dashboard{grid-template-columns:1fr;padding:24px 20px}body .profile-page-header h1{font-size:25px}body #page-profile .profile-card{padding-top:24px;border-top:1px solid #eee!important}body .ar-report-cover{padding-top:12px}body .ar-report-actions{padding:14px 0 20px;justify-content:center}body .ar-report-cover h2{font-size:32px}body .ar-report{padding-top:16px!important}}

#page-profile .profile-card-header{display:block;}
#page-profile .profile-card-header h2{font-size:24px;white-space:nowrap;margin-bottom:12px;}
#page-profile .profile-card-header p{text-align:left;}

.ar-star-chart{display:block;width:100%;max-height:440px;margin:0 auto;}
@media(max-width:600px){.ar-star-chart{max-height:330px;}}
/* Constellations own the page; profile editing is a separate task. */
body #page-profile .profile-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.profile-edit-link{background:none;border:0;border-bottom:1px solid #a9b3a9;padding:6px 0;color:#566252;font:inherit;cursor:pointer}
body #page-profile .profile-dashboard{display:block;padding:24px 20px;background:#fff;border:0;border-radius:0}
body #page-profile .ar-profile-map{gap:28px;max-width:1100px;margin:auto}
body #page-profile .ar-profile-map h2{max-width:900px;margin:16px auto 24px;font-size:30px}
body .ar-constellation{width:100%;max-width:none}
.ar-star-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;text-align:left}
.ar-star-group{min-width:0;padding:0 8px;background:transparent}
.ar-star-group h3{font:400 21px/1.4 "Songti SC",SimSun,serif;color:#53614f;margin:0 0 14px}
.ar-star-group h3 span{font:10px Georgia;color:#adb7a9;margin-right:12px}
.ar-star-group svg{display:block;width:100%;overflow:visible}
.ar-star-node{cursor:pointer;outline:none}.ar-star-node:hover circle,.ar-star-node:focus circle,.ar-star-node[aria-pressed=true] circle{stroke:#9daf9d;stroke-width:6;paint-order:stroke}
body .ar-star-detail{max-width:780px;margin:24px auto 0;min-height:40px;padding:20px 12px;line-height:1.9;text-align:center;color:#798274}
body .ar-star-detail strong{display:block;font-weight:500;color:#41513f;font-size:19px}
body .ar-star-detail p{margin:8px auto!important;font-size:14px;max-width:none!important}
body .ar-star-detail small{font-size:11px;color:#929b8d}
.profile-editor{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:32px;border:1px solid #e1e5df;border-radius:24px;background:#fff;color:#293028;overflow:auto}
.profile-editor::backdrop{background:rgba(28,35,28,.28);backdrop-filter:blur(7px)}
.profile-editor-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px;color:#899184;cursor:pointer}
body #page-profile .profile-editor .profile-card{border:0!important;padding:0!important}
@media(max-width:1000px){.ar-star-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:520px){.ar-star-groups{grid-template-columns:1fr;gap:22px}.ar-star-group{max-width:290px;width:100%;margin:auto}body #page-profile .profile-dashboard{padding:16px 0}body #page-profile .ar-profile-map h2{font-size:25px}.profile-editor{padding:28px 22px}}
/* One continuous, light constellation field. */
body #page-profile .profile-page-header{align-items:flex-start;padding:18px 20px 24px}
#profile-info{max-width:780px}body #page-profile #profile-info h1{font:400 28px/1.4 "Songti SC",SimSun,serif;margin:0 0 9px}
#profile-info p{font-size:13px;color:#7d887b;margin:0 0 8px}#profile-info>div{font-size:14px;color:#626f62;line-height:1.8}
body #page-profile .profile-dashboard{padding-top:0}body #page-profile .ar-profile-map{gap:10px}body #page-profile .ar-profile-map h2{font-size:24px;margin:12px auto 0}
.ar-map-controls{display:flex;justify-content:flex-end;gap:6px;margin:0 12px 0 0}.ar-map-controls button{background:transparent;border:1px solid #e0e6df;border-radius:50%;width:34px;height:34px;padding:0;color:#788674;font-size:13px;cursor:pointer}.ar-map-controls [data-map-zoom=reset]{border-radius:18px;width:56px}
.ar-map-viewport{width:100%;height:clamp(460px,65vw,780px);overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 50% 47%,#f3f5f466,transparent 60%);outline-offset:3px}
.ar-map-viewport:active{cursor:grabbing}.ar-connected-map{display:block;width:100%;height:100%;transform-origin:50% 50%;user-select:none;overflow:visible}.ar-connected-map .ar-cluster-title{font:18px "Songti SC",SimSun,serif;letter-spacing:1px}.ar-connected-map .ar-star-node text{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.ar-connected-map .ar-star-group{padding:0;margin:0}.ar-connected-map .ar-star-node:hover circle,.ar-connected-map .ar-star-node:focus circle{stroke-width:2px}
@media(max-width:600px){body #page-profile .profile-page-header{padding:8px 0 22px}body #page-profile .ar-profile-map h2{font-size:22px}.ar-map-viewport{height:530px}.ar-connected-map{width:760px;max-width:none;position:relative;left:calc(50% - 380px)}body .ar-star-detail{padding:12px 0}}
/* Body scan has one outer page surface, without nested presentation panels. */
body #page-toolbox :is(.body-map-atlas,.body-map-model,.body-map-observation-panel),body .body-map-atlas,body .body-map-atlas :is(.body-map-model,.body-map-observation-panel){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
body .body-map-atlas :is(.body-map-model,.body-map-observation-panel)::before,body .body-map-atlas::before{display:none!important}
body .vent-writing-tool .personal-writing-compose{border:1px solid rgba(90,90,90,.22)!important;border-radius:22px!important;background:rgba(255,255,255,.38)!important;backdrop-filter:blur(16px)!important;box-shadow:none!important}
body .body-map-atlas .body-map-model::after{display:none!important}
body .body-map-page .body-map-recent{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
body .body-map-page .body-map-recent::before,body .body-map-page .body-map-recent::after{display:none!important}
/* Separate the reading report from the overall personal constellation. */
body .ar-report{max-width:1060px!important;margin:0 auto!important;padding:36px clamp(20px,4vw,64px) 56px!important;background:#fff!important}
body .ar-research-cover{display:block!important;text-align:center;padding:26px 0 38px;max-width:800px;margin:auto}
body .ar-report-label{display:block;color:#777;font-size:13px;letter-spacing:.14em;margin-bottom:24px}
body .ar-research-cover h2{font-family:"Noto Serif SC","Songti SC",SimSun,serif!important;font-size:clamp(28px,3vw,42px)!important;line-height:1.6!important;letter-spacing:.04em!important;margin:0 auto 20px!important;max-width:740px!important;font-weight:400!important;color:#252825!important}
body .ar-research-cover>p{font-size:13px!important;color:#888!important;margin:0!important}
body .ar-report-intro{font-size:15px;line-height:1.9;color:#777;max-width:580px;margin:24px auto 0}
body .ar-research-dimensions{max-width:760px;margin:0 auto 42px;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}
body .ar-research-dimensions summary{cursor:pointer;padding:20px 0;color:#555;font-size:15px}
body .ar-research-dimensions>div{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:10px 0 28px}
body .ar-research-dimensions section{position:relative;padding-left:30px}
body .ar-research-dimensions small{position:absolute;left:0;top:4px;color:#999;font-size:11px}
body .ar-research-dimensions h3{font-size:18px!important;margin:0 0 10px!important}
body .ar-research-dimensions p{font-size:14px!important;line-height:1.9!important;margin:0!important;color:#666!important}
body .ar-report .ar-report-body{width:100%!important;max-width:760px!important;margin:0 auto 48px!important;font-size:16px!important;line-height:2!important;color:#484b47!important;text-align:left!important}
body .ar-report-body h2{font-size:25px!important;line-height:1.6!important;margin:44px 0 20px!important;text-align:left!important;font-weight:400!important}
body .ar-report-body p{font-size:16px!important;line-height:2!important;margin:0 0 22px!important}
body .ar-report>footer{border-top:1px solid #e7e7e7;padding-top:28px!important;max-width:760px;margin:auto;font-size:12px!important;line-height:1.9!important;color:#888!important}
body .ar-report>footer p{font-size:12px!important}
body .ar-insight-header{text-align:center;max-width:760px;margin:0 auto 22px}
body .ar-insight-header>span{font-size:13px;color:#777;letter-spacing:.1em}
body .ar-insight-header h2{font-size:clamp(26px,3vw,38px)!important;line-height:1.6!important;margin:16px 0!important}
body .ar-insight-header p,body .ar-generation-note,body .ar-generation-status{font-size:13px!important;line-height:1.8!important;text-align:center!important;color:#777!important}
body .ar-insight-overview,body .ar-insight-empty{max-width:740px!important;margin:24px auto 32px!important;font-size:16px!important;line-height:2!important;color:#555!important;text-align:left!important;white-space:pre-line}
body .ar-insight-empty{padding:36px 0 20px}
body .ar-research-link{display:block;margin:28px auto 0;padding:10px;border:0;background:transparent;color:#666;font-size:13px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
body .ar-map-actions button:disabled{opacity:.5;cursor:default}
@media(max-width:600px){body .ar-research-dimensions>div{grid-template-columns:1fr}body .ar-report{padding:20px 18px 40px!important}body .ar-research-cover{padding-top:18px}body .ar-report-body h2{font-size:22px!important}body .ar-insight-overview{padding:0 8px}}
body .ar-research-dimensions{border:0!important}
body .ar-research-dimensions>h2{font-size:24px!important;font-weight:400;margin:0 0 28px!important}
.ar-star-dialog{width:min(560px,calc(100vw - 40px));max-height:80dvh;overflow:auto;box-sizing:border-box;border:1px solid #ececec;border-radius:24px;padding:36px;background:#fff;color:#303630;box-shadow:0 24px 90px #20282020}
.ar-star-dialog::backdrop{background:#29322c30;backdrop-filter:blur(8px)}
.ar-star-dialog>span{font-size:12px;color:#888}.ar-star-dialog h2{font:400 28px/1.5 "Songti SC",SimSun,serif;margin:16px 30px 24px 0}.ar-star-dialog p{font-size:16px;line-height:1.9;white-space:pre-line}.ar-star-dialog small{font-size:12px;color:#888}.ar-star-dialog section+section{margin-top:24px}.ar-star-dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:26px;color:#777;cursor:pointer;padding:8px}
body dialog.ar-star-dialog{position:fixed!important;inset:0!important;margin:auto!important;height:fit-content!important;max-height:calc(100dvh - 48px)!important;width:min(640px,calc(100vw - 40px));transform:none!important}
body .ar-star-dialog h3{font-size:14px;font-weight:500;color:#777;margin:24px 0 10px}body .ar-star-dialog p{margin:0 0 16px;line-height:1.95}
/* Decorative connections must not intercept star clicks. */
.ar-connected-map line,.ar-connected-map path,.ar-star-group>circle{pointer-events:none}
body #platform-experience-dialog>header{height:auto;min-height:64px;grid-template-columns:minmax(120px,1fr) auto auto auto;align-items:center;padding:12px 20px;gap:12px}
body #platform-experience-dialog>header>[data-game-save]{grid-column:2;grid-row:1}
body #platform-experience-dialog>header>button:first-of-type{grid-column:4}
body #platform-experience-dialog>header>button:last-of-type{grid-column:3}
body #platform-experience-dialog>header [data-game-save] [role=status]{max-width:220px}
@media(max-width:850px){body #platform-experience-dialog>header{grid-template-columns:minmax(0,1fr) auto auto}body #platform-experience-dialog>header>[data-game-save]{grid-column:1/-1;grid-row:2}body #platform-experience-dialog>header>button:first-of-type{grid-column:3}body #platform-experience-dialog>header>button:last-of-type{grid-column:2}}

/* Hide only the consultation scrollbar; preserve its scrolling container. */
body .classic-counselor-room #classic-counselor-messages{scrollbar-width:none!important;-ms-overflow-style:none!important}
body .classic-counselor-room #classic-counselor-messages::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* Touch controls should not select their labels or flash the browser tap overlay. */
button, [role="button"], .nav-link {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
button *, [role="button"] * { -webkit-user-select:none; user-select:none; }

@media(max-width:700px){
 body #page-module .drawing-workspace.canvas-focused{gap:0!important;padding:0!important}
 body #page-module .drawing-studio{display:flex!important;flex-direction:column!important;gap:10px!important;padding:8px!important;border:0!important;border-radius:12px!important;min-height:0!important;overflow:visible!important}
 body #page-module .drawing-tool-rail{position:relative!important;inset:auto!important;display:flex!important;flex:none!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:4px!important;margin:0!important;padding:0!important;transform:none!important}
 body #page-module .drawing-tool-button{width:42px!important;height:42px!important;min-width:0!important;min-height:42px!important;padding:10px!important;border-radius:12px!important;flex:0 1 42px!important}
 body #page-module .drawing-tool-button svg{width:22px!important;height:22px!important}
 body #page-module .drawing-save-status:empty{display:none!important}
 body #page-module .drawing-canvas-panel{flex:1!important;width:100%!important;height:auto!important;min-height:180px!important;padding:0!important;border-radius:10px!important}
 body #page-module .drawing-tool-panel{position:absolute!important;top:60px!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;z-index:20!important}
 body.is-space-embed #page-module .drawing-studio{height:100%!important;max-height:100%!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
}

@media(max-width:700px){body.is-space-embed #page-module:has(.drawing-studio)>.module-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}}

@media(max-width:780px){
 body .spread-card .spread-card-header{display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
 body .spread-card .spread-card-header h3{flex:1!important;min-width:0!important;margin:0!important}
 body .spread-card .card-count-badge{flex:none!important;margin-left:auto!important;white-space:nowrap!important}
}
@media(max-width:700px){
 body .deck-switcher-tabs{display:flex!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important;padding:0!important;width:100%!important}
 body .deck-switcher-tabs .deck-tab{flex:1 1 calc(33.333% - 6px)!important;min-width:0!important;padding:10px 6px!important;font-size:12px!important;white-space:nowrap!important;border-radius:12px!important}
}
@media(max-width:700px){
 body .deck-switcher.glass-panel{width:100%!important;min-width:0!important;padding:0!important;overflow:visible!important}
 body .deck-switcher.glass-panel .deck-switcher-tabs{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;transform:none!important}
 body .deck-switcher.glass-panel .deck-tab{width:100%!important;min-width:0!important;margin:0!important;padding:10px 4px!important;transform:none!important}
 body .deck-switcher.glass-panel .deck-tab span{font-size:12px!important;white-space:nowrap!important}
}
@media(max-width:700px){
 body .deck-switcher.glass-panel .deck-switcher-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;gap:8px!important;padding:4px 0!important}
 body .deck-switcher.glass-panel .deck-tab{flex:0 0 auto!important;width:auto!important;padding:10px 16px!important}
 body .deck-switcher.glass-panel{background:transparent!important;border:0!important;box-shadow:none!important;margin:12px 0!important}
 body.is-space-embed #page-spreads{padding-top:16px!important;background:transparent!important}
 body.is-space-embed{background:#fafaf8!important}
}
@media(max-width:700px){
 body.is-space-embed #page-spreads,body.is-space-embed #page-spreads>.container,body.is-space-embed #spread-grid{background:transparent!important;border:0!important;box-shadow:none!important}
 body.is-space-embed .main-content{background:transparent!important}
}
body .deck-switcher-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
body .deck-switcher-tabs{scrollbar-width:none!important;-ms-overflow-style:none!important}
@media(max-width:700px){
 body .emotion-wheel-page{padding:12px!important;overflow:auto!important}
 body .emotion-wheel-layout{display:block!important;min-width:0!important}
 body .emotion-wheel-picker{padding:8px!important}
 body .emotion-wheel-disc{width:100%!important;max-width:340px!important;margin:16px auto!important;min-height:0!important;aspect-ratio:1}
 body .emotion-wheel-center{font-size:12px!important}
 body .emotion-wheel-primary{font-size:12px!important;padding:6px!important;min-width:48px!important}
}
@media(max-width:700px){
 body .platform-experience-dialog>header{display:flex!important;flex-wrap:wrap!important;gap:10px!important;padding:14px!important}
 body .platform-experience-dialog>header h2{flex:0 0 100%!important;font-size:22px!important;margin:0!important}
 body .platform-experience-dialog [data-game-save]{flex:0 0 100%!important;gap:8px!important}
 body .platform-experience-dialog [data-game-save] button{font-size:12px!important}
 body .ar-research{padding:16px!important;overflow:auto!important}
 body .ar-research .ar-single-question{padding-top:24px!important}
 body .ar-research .ar-single-question textarea{min-height:120px!important}
}
@media(max-width:700px){
 body.is-space-embed #page-module:has(.ar-frame){height:100dvh!important;min-height:0!important;overflow:hidden!important}
 body.is-space-embed #page-module:has(.ar-frame)>.module-container,body.is-space-embed #page-module .assessment-workspace:has(.ar-frame),body.is-space-embed #page-module .ar-frame-page{height:100%!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
 body.is-space-embed #page-module .ar-frame{height:100%!important;min-height:0!important;max-height:none!important;display:block!important}
 body .emotion-wheel-layout--centered .emotion-wheel-disc{height:auto!important;aspect-ratio:1!important;max-width:340px!important;min-width:0!important}
 body .emotion-wheel-layout--centered .emotion-wheel-center{width:34%!important;height:34%!important;min-width:0!important;min-height:0!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}
 body .emotion-wheel-center strong{font-size:17px!important;line-height:1.3!important}
 body .emotion-wheel-center span,body .emotion-wheel-center small{font-size:10px!important;line-height:1.4!important}
 body .emotion-wheel-layout--centered .emotion-wheel-primary{width:64px!important;height:48px!important;min-width:0!important;min-height:0!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important}
 body .emotion-wheel-primary strong{font-size:14px!important;line-height:1.4!important}
 body .emotion-wheel-primary small{display:none!important}
 body .emotion-wheel-step-heading h2{font-size:21px!important;text-align:center!important}
}
@media(max-width:700px){
 body .emotion-wheel-primary>span{display:none!important}
 body .emotion-wheel-layout--centered .emotion-wheel-primary{flex-direction:column!important;gap:0!important}
 body .emotion-wheel-center small{display:none!important}
}

@media(max-width:700px){
body .emotion-wheel-orbit,body .emotion-wheel-primary-slot{animation:none!important}
body .emotion-wheel-layout--centered .emotion-wheel-disc{max-width:320px!important;background:transparent!important;box-shadow:none!important;border:0!important;margin:12px auto 20px!important}
body .emotion-wheel-disc::before{inset:14%!important;border:1px solid #deded5!important;background:transparent!important;box-shadow:none!important}
body .emotion-wheel-disc::after{display:none!important}
body .emotion-wheel-primary-slot{left:var(--ring-x)!important;top:var(--ring-y)!important}
body .emotion-wheel-layout--centered .emotion-wheel-primary{width:52px!important;height:52px!important;border-radius:50%!important;border:1px solid #deded5!important;background:#fafaf6!important;box-shadow:none!important;color:#44483f!important}
body .emotion-wheel-layout--centered .emotion-wheel-primary.is-selected{background:#343d32!important;color:#fff!important;border-color:#343d32!important}
body .emotion-wheel-layout--centered .emotion-wheel-center{background:#f0f1eb!important;width:30%!important;height:30%!important;box-shadow:none!important;border:0!important}
body .emotion-wheel-static,body .emotion-wheel-picker,body .emotion-wheel-layout{min-height:0!important;margin-bottom:0!important;padding-bottom:0!important}
body .emotion-wheel-recent{margin-top:8px!important;padding-top:0!important;min-height:0!important}
body .emotion-wheel-recent-heading{padding:12px 8px!important}
body .emotion-wheel-recent-heading h2{font-size:20px!important}
body .emotion-wheel-step-heading h2{font-size:18px!important;font-weight:500!important}
body .emotion-wheel-primary-slot:nth-child(1){--ring-x:50%;--ring-y:12%}
body .emotion-wheel-primary-slot:nth-child(2){--ring-x:77%;--ring-y:23%}
body .emotion-wheel-primary-slot:nth-child(3){--ring-x:88%;--ring-y:50%}
body .emotion-wheel-primary-slot:nth-child(4){--ring-x:77%;--ring-y:77%}
body .emotion-wheel-primary-slot:nth-child(5){--ring-x:50%;--ring-y:88%}
body .emotion-wheel-primary-slot:nth-child(6){--ring-x:23%;--ring-y:77%}
body .emotion-wheel-primary-slot:nth-child(7){--ring-x:12%;--ring-y:50%}
body .emotion-wheel-primary-slot:nth-child(8){--ring-x:23%;--ring-y:23%}
}

/* Bring mobile 2D card categories slightly closer to the header. */
@media(max-width:700px){body:not(.is-space-embed) .deck-switcher.glass-panel{margin-top:4px!important}}

/* A dialog stays modal inside the document fullscreen viewport. */
html:fullscreen body #platform-experience-dialog[open]{inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important}

/* Mobile breadcrumbs form one opaque band with the navigation, without edge gaps. */
@media (max-width: 768px) {
  body.app-shell-active.page-context-nested:not(.is-space-embed) #page-context-bar.is-nested {
    top: var(--main-nav-height, 70px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border-radius: 0 !important;
    background: #fafafa !important;
  }
  body.app-shell-active.page-context-nested:not(.is-space-embed) :is(.page, #page-module).active {
    padding-top: calc(var(--main-nav-height, 70px) + var(--page-context-height) + 16px) !important;
  }
  body.app-shell-active.page-context-nested:not(.is-space-embed) #main-nav {
    background: #fafafa !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Embedded records share the surrounding surface instead of stacking opaque panels. */
html:has(body.is-space-embed #page-history.active),body.is-space-embed:has(#page-history.active),body.is-space-embed #page-history.active,body.is-space-embed #page-history.active>.container,body.is-space-embed #history-list,body.is-space-embed .history-filter-tabs{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}
body.is-space-embed #page-history .history-card{background:transparent!important;box-shadow:none!important;border:0;border-bottom:1px solid #22222212;border-radius:0}

/* Personal records stack naturally on narrow screens, including expanded transcripts. */
body #page-history .history-room-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 24px;padding:24px;min-width:0;cursor:default}
body #page-history .history-room-record .history-card-info{grid-column:1;min-width:0}
body #page-history .history-room-record .history-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
body #page-history .history-room-record .history-record-excerpt{grid-column:1;min-width:0;margin:0;line-height:1.7;color:#73776f;overflow-wrap:anywhere}
body #page-history .history-room-record>.btn{grid-column:2;grid-row:1/3;align-self:start;white-space:nowrap;width:auto;margin:0;min-width:110px;padding:10px 16px;font-size:13px;line-height:1.5}
body #page-history .history-room-record .consultation-record-detail{grid-column:1/-1;width:100%;min-width:0;margin-top:12px;padding:24px 0 0;border-top:1px solid #71756824}
body #page-history .consultation-record-transcript{display:flex;flex-direction:column;gap:20px;max-width:900px;margin:auto}
body #page-history .consultation-record-transcript article{width:fit-content;max-width:85%;padding:16px 20px;border-radius:18px;background:#f5f5ee;overflow-wrap:anywhere}
body #page-history .consultation-record-transcript article.is-user{align-self:flex-end;background:#343e35;color:#f7f6ef}
body #page-history .consultation-record-transcript small{display:block;margin-bottom:7px;font-size:12px;opacity:.65}
body #page-history .consultation-record-transcript p{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.85}
body #page-history .consultation-record-report{max-width:900px;margin:32px auto 0;padding:24px;border:1px solid #72796824;border-radius:18px;font-size:15px;line-height:1.9}
@media(max-width:768px){
 body #page-history .history-room-record{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:20px;min-width:0}
 body #page-history .history-room-record .history-card-info{flex:none;width:100%;min-width:0}
 body #page-history .history-room-record .history-card-info h3{margin:0 0 8px;white-space:normal;overflow-wrap:anywhere}
 body #page-history .history-room-record .history-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
 body #page-history .history-room-record .history-record-excerpt{width:100%;max-width:none;margin:0;line-height:1.7;overflow-wrap:anywhere;color:#777}
 body #page-history .history-room-record>.btn{align-self:flex-end;flex:none;width:auto;max-width:100%;min-width:0;margin:0;padding:9px 16px;font-size:13px;line-height:1.5;white-space:nowrap}
 body #page-history .history-room-record .consultation-record-detail{width:100%;min-width:0;box-sizing:border-box;margin-top:4px;padding-top:16px}
 body #page-history .consultation-record-transcript article{max-width:94%;min-width:0;overflow-wrap:anywhere}
 body #page-history .consultation-record-report{padding:16px;overflow-wrap:anywhere}
 body #page-history .history-filter-tabs{justify-content:flex-start;gap:8px}
 body #page-history .history-filter-tab{padding:8px 14px;font-size:13px}
}

/* Leave room for the complete tool rail, including touch focus outlines. */
@media(max-width:700px){
 body #page-module .drawing-tool-rail{box-sizing:border-box!important;min-height:50px!important;padding:4px 0!important;overflow:visible!important}
 body #page-module .drawing-tool-button{transform:none!important;margin-block:0!important}
 body #page-module .drawing-studio{flex-shrink:0!important}
}
