:root{
  --paper:#f6efe2;
  --paper-2:#efe2cc;
  --ink:#2e271f;
  --muted:#74685b;
  --line:#c79a7d;
  --terracotta:#c97959;
  --sage:#98a38d;
  --sand:#d8c29d;
  --ochre:#d7a14a;
  --blue:#8aa4ae;
  --green:#75836f;
  --soft-white:rgba(255,252,244,.74);
  --shadow:0 24px 60px rgba(58,42,26,.16);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 8% 10%,rgba(199,121,89,.18),transparent 28%),
    radial-gradient(circle at 90% 84%,rgba(138,164,174,.2),transparent 30%),
    linear-gradient(135deg,#ead8bd,#fbf6ea 46%,#e6d3b4);
}
body:before,body:after{
  content:"";
  position:fixed;
  pointer-events:none;
  border-radius:48% 52% 44% 56%;
  background:rgba(255,255,255,.25);
  filter:blur(.2px);
}
body:before{width:420px;height:220px;left:-80px;top:90px;transform:rotate(-18deg)}
body:after{width:360px;height:260px;right:-90px;bottom:70px;transform:rotate(-22deg)}
button,input,textarea{font:inherit}
button{color:inherit}
.app-frame{
  width:min(1180px,calc(100vw - 36px));
  min-height:calc(100vh - 44px);
  margin:22px auto;
  border:1px solid rgba(100,76,55,.16);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,252,244,.9),rgba(246,239,226,.88));
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.75);
  overflow:hidden;
  position:relative;
}
.app-frame:before{
  content:"";
  position:absolute;
  inset:88px auto auto 40px;
  width:280px;
  height:170px;
  border-radius:44% 56% 60% 40%;
  background:rgba(216,194,157,.26);
  pointer-events:none;
}
.topbar{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 28px;
  background:rgba(231,212,181,.64);
  border-bottom:1px solid rgba(100,76,55,.1);
  position:relative;
  z-index:2;
}
.brand{display:flex;align-items:center;gap:8px;font-weight:760;letter-spacing:.01em}
.brand-mark{width:34px;height:24px;position:relative;display:inline-block}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1.5px solid rgba(46,39,31,.72);border-radius:999px;background:rgba(152,163,141,.48)}
.brand-mark:before{width:21px;height:17px;left:0;top:5px;transform:rotate(-18deg)}
.brand-mark:after{width:23px;height:16px;right:0;top:3px;transform:rotate(18deg);background:rgba(199,121,89,.28)}
.brand-separator{color:rgba(75,64,53,.48);font-weight:620;margin-left:2px}
.brand-tab{border:0;border-radius:999px;background:transparent;padding:10px 14px;color:#4b4035;font:inherit;font-weight:760;cursor:pointer;min-width:max-content}
.brand-tab:hover{background:rgba(255,255,255,.34)}
.brand-tab.active{background:#fff8eb;box-shadow:inset 0 0 0 1px rgba(100,76,55,.12)}
.nav{display:flex;gap:6px;align-items:center;overflow-x:auto}
.nav button{
  border:0;
  border-radius:999px;
  background:transparent;
  padding:10px 14px;
  min-width:max-content;
  cursor:pointer;
  color:#4b4035;
  font-weight:680;
}
.nav button:hover{background:rgba(255,255,255,.34)}
.nav button.active{background:#fff8eb;box-shadow:inset 0 0 0 1px rgba(100,76,55,.12)}
main{position:relative;z-index:1;padding:28px}
.view{display:none;position:relative;isolation:isolate;min-height:calc(100vh - 160px)}
.view.active{display:block}
.view:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-18px;
  top:8px;
  width:min(700px,86vw);
  height:330px;
  pointer-events:none;
  background:
    radial-gradient(circle at 13% 38%,rgba(152,163,141,.24) 0 42px,transparent 44px),
    radial-gradient(circle at 38% 12%,rgba(199,121,89,.16) 0 28px,transparent 30px),
    radial-gradient(circle at 64% 42%,rgba(216,194,157,.22) 0 64px,transparent 66px),
    radial-gradient(circle at 88% 24%,rgba(138,164,174,.16) 0 36px,transparent 38px);
  filter:blur(.2px);
  opacity:.86;
  transform-origin:18% 26%;
  animation:floatOutLeft 18s ease-in-out infinite alternate;
}
.view:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-12px;
  top:96px;
  width:min(360px,48vw);
  height:220px;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 72%,rgba(199,121,89,.11) 0 34px,transparent 36px),
    radial-gradient(circle at 62% 28%,rgba(152,163,141,.18) 0 48px,transparent 50px),
    radial-gradient(circle at 88% 76%,rgba(216,194,157,.18) 0 26px,transparent 28px);
  opacity:.72;
  transform-origin:36% 24%;
  animation:floatOutRight 22s ease-in-out infinite alternate;
}
.view .hero,.view .grid,.view .thought-space-layout{position:relative;z-index:1}
@keyframes floatOutLeft{
  0%{transform:translate3d(18px,6px,0) scale(.985) rotate(-.8deg)}
  45%{transform:translate3d(-10px,-7px,0) scale(1) rotate(.4deg)}
  100%{transform:translate3d(-42px,18px,0) scale(1.025) rotate(1.2deg)}
}
@keyframes floatOutRight{
  0%{transform:translate3d(-34px,-8px,0) scale(.98) rotate(.8deg)}
  50%{transform:translate3d(4px,8px,0) scale(1.005) rotate(-.3deg)}
  100%{transform:translate3d(48px,22px,0) scale(1.025) rotate(-1.1deg)}
}
.hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-bottom:22px}
.eyebrow{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta)}
h1,h2,h3,p{margin-top:0}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(36px,6vw,68px);line-height:.95;margin-bottom:8px}
h2{font-size:22px;line-height:1.12;margin-bottom:12px}
h3{font-size:15px;line-height:1.2;margin-bottom:8px}
.subtitle{color:var(--muted);font-size:16px;line-height:1.5;margin:0}
.pill{border:1px solid rgba(100,76,55,.13);border-radius:999px;background:rgba(255,255,255,.45);padding:9px 12px;color:var(--muted);font-size:13px;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{
  grid-column:span 6;
  border:1px solid rgba(100,76,55,.12);
  border-radius:24px;
  background:rgba(255,252,244,.58);
  box-shadow:0 14px 34px rgba(58,42,26,.08),inset 0 1px 0 rgba(255,255,255,.68);
  padding:20px;
  min-width:0;
}
.span-all{grid-column:1/-1}.span-4{grid-column:span 4}.span-8{grid-column:span 8}
.soft-panel{
  border:2px solid rgba(199,121,89,.62);
  border-radius:34px;
  background:rgba(255,252,244,.45);
  min-height:260px;
  padding:18px;
  box-shadow:inset 0 0 0 5px rgba(255,252,244,.46);
}
.composer{display:grid;gap:12px}
.today-composer{min-height:0;padding:12px 16px;border-radius:30px}
.today-composer textarea{min-height:92px;font-size:19px}
#view-today .hero{
  margin-bottom:14px;
}
#view-today .hero h1{
  font-size:clamp(34px,5vw,56px);
}
.today-thought-card{
  padding:14px 16px;
}
.composer-title-wrap{
  width:min(280px,100%);
  margin:0 auto;
  position:relative;
}
.composer-title{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(100,76,55,.18);
  background:transparent;
  text-align:center;
  font-weight:850;
  padding:7px 4px;
  outline:none;
}
.title-count{
  position:absolute;
  right:-26px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(46,39,31,.34);
  font-size:11px;
  font-weight:800;
}
.composer-meta-box{display:grid;gap:8px}
.composer-meta-display{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:38px;
  cursor:pointer;
}
.meta-tag-stack{display:flex;flex-wrap:wrap;gap:7px}
.meta-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  border-radius:999px;
  padding:7px 12px;
  border:1px solid rgba(100,76,55,.11);
  background:rgba(255,255,255,.42);
  color:rgba(46,39,31,.76);
  font-size:12px;
  font-weight:850;
}
.category-chip{background:rgba(138,164,174,.2);color:#43505a;margin-right:4px}
.tag-chip{background:rgba(216,194,157,.22);color:#67533b}
.composer-meta-row{
  display:grid;
  grid-template-columns:minmax(120px,170px) minmax(160px,1fr);
  gap:10px;
  align-items:end;
  display:none;
}
.composer-meta-box.editing .composer-meta-row{display:grid}
.composer-meta-box.editing .composer-meta-display{display:none}
.composer-meta-row label{display:grid;gap:4px;color:rgba(46,39,31,.48);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.composer-meta-row select,.composer-meta-row input{
  min-width:0;
  border:1px solid rgba(100,76,55,.12);
  border-radius:999px;
  background:rgba(255,255,255,.42);
  color:var(--ink);
  padding:9px 12px;
  outline:none;
}
.composer-meta-row select:focus,.composer-meta-row input:focus{border-color:rgba(80,121,142,.42);box-shadow:0 0 0 3px rgba(138,164,174,.16)}
textarea{
  width:100%;
  min-height:185px;
  resize:vertical;
  border:0;
  background:transparent;
  color:var(--ink);
  outline:none;
  font-size:22px;
  line-height:1.35;
  padding:10px 4px;
}
textarea::placeholder,.composer-title::placeholder{color:rgba(46,39,31,.42)}
.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{
  border:1px solid rgba(100,76,55,.13);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  padding:10px 14px;
  font-weight:760;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(58,42,26,.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.64)}
.btn.primary{background:var(--sage);color:#fff;border-color:rgba(73,83,67,.2)}
.btn.ai{background:linear-gradient(145deg,var(--blue),var(--sage));color:#fff}
.btn.danger{background:rgba(199,89,76,.12);border-color:rgba(199,89,76,.28);color:#8a3a31}
.btn.danger:hover{background:rgba(199,89,76,.18);border-color:rgba(199,89,76,.38)}
.btn.ki-compact{min-width:74px;padding-inline:16px}
.btn.save-wide{flex:1;box-shadow:none}
.magic-wand{display:inline-block;font-size:1.05em;line-height:1;transform-origin:32% 78%;filter:drop-shadow(0 2px 4px rgba(58,42,26,.2))}
.ai-working{position:relative;overflow:hidden;cursor:progress;opacity:.94}
.ai-working:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.34) 42%,transparent 68%);transform:translateX(-120%);animation:aiButtonSweep 1.35s ease-in-out infinite;pointer-events:none}
.ai-working .magic-wand{animation:wandWorking 1.05s ease-in-out infinite}
.ai-working .ai-label,.ai-working .magic-wand{position:relative;z-index:1}
@keyframes wandWorking{0%,100%{transform:rotate(-10deg) translateY(0) scale(1)}35%{transform:rotate(16deg) translateY(-2px) scale(1.12)}65%{transform:rotate(4deg) translateY(1px) scale(1.04)}}
@keyframes aiButtonSweep{to{transform:translateX(120%)}}
.composer .button-row{flex-wrap:nowrap}
.composer-status{
  min-height:24px;
  border-radius:999px;
  background:rgba(255,255,255,.36);
  border:1px solid rgba(100,76,55,.1);
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
  padding:7px 11px;
}
.check-grid{display:grid;gap:13px}
.check-card-wide{
  padding-top:16px;
  padding-bottom:16px;
}
.check-card-wide h2{margin-bottom:0}
.check-card-head{
  display:grid;
  justify-items:center;
  gap:9px;
  margin-bottom:14px;
  text-align:center;
}
.checkin-sentence{
  max-width:360px;
  margin:0;
  border:1px solid rgba(127,167,184,.18);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,252,244,.68),rgba(255,255,255,.38));
  color:#5d5146;
  box-shadow:0 10px 24px rgba(58,42,26,.07),inset 0 1px 0 rgba(255,255,255,.62);
  padding:8px 13px;
  font-size:13px;
  line-height:1.25;
  font-weight:760;
  text-align:center;
  transition:opacity .18s ease,transform .18s ease,filter .18s ease;
}
.checkin-sentence.sentence-out{opacity:0;transform:translateY(4px);filter:blur(.6px)}
.checkin-sentence.sentence-in{animation:sentenceSoftIn .34s ease both}
.today-ai-task-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  background:linear-gradient(145deg,rgba(231,238,232,.82),rgba(255,248,234,.7));
  border-color:rgba(127,167,184,.18);
}
.today-ai-task-card h2{
  margin:3px 0 2px;
  font-size:18px;
}
.today-ai-task-card .subtitle{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.today-ai-task-card .btn{
  min-height:42px;
  padding-inline:18px;
  white-space:nowrap;
}
.check-grid-wide{
  grid-template-columns:1fr;
  gap:14px;
}
.check-grid-wide .check-row{
  border:1px solid rgba(100,76,55,.1);
  border-radius:20px;
  background:rgba(255,255,255,.3);
  padding:13px 14px 11px;
}
.home-intro{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:34px}
.home-copy{position:relative;z-index:2;max-width:820px;margin:-74px auto 0;text-align:left;padding:clamp(24px,4vw,38px);border:1px solid rgba(100,76,55,.1);border-radius:30px;background:linear-gradient(145deg,rgba(255,252,244,.92),rgba(255,248,235,.78));box-shadow:0 24px 56px rgba(58,42,26,.14),inset 0 0 0 5px rgba(255,255,255,.24);backdrop-filter:blur(10px)}
.home-copy p{font-size:18px;line-height:1.68;color:#5c5045;margin:0 0 15px}
.home-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.home-visual{position:relative;margin:0;border:1px solid rgba(100,76,55,.1);border-radius:36px;overflow:hidden;min-height:clamp(360px,48vw,620px);background:#f8f1e5;box-shadow:var(--shadow)}
.home-visual:after{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(to bottom,transparent,rgba(251,246,236,.52) 48%,rgba(251,246,236,.95));pointer-events:none}
.home-visual img{width:100%;height:100%;display:block;object-fit:cover}
.home-hero-copy{position:absolute;z-index:1;left:clamp(22px,5vw,72px);right:clamp(22px,18vw,250px);bottom:clamp(54px,8vw,96px);margin:0;max-width:660px;color:#2f2922}
.home-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.8vw,62px);line-height:.98;margin:8px 0 10px;color:#2f2922;font-weight:520;letter-spacing:0;text-wrap:balance}
.home-hero-copy p{font-size:clamp(15px,1.55vw,18px);line-height:1.42;max-width:560px;margin:0;color:#5a4d41}
.home-grid{margin-top:26px}
.home-note p{margin:0;color:var(--muted);line-height:1.5}
.check-row b{display:block;margin-bottom:8px}
.check-slider-row{
  display:grid;
  gap:0;
}
.check-slider{
  width:100%;
  height:48px;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  cursor:pointer;
  touch-action:pan-y;
  opacity:0;
  position:absolute;
  inset:0;
  z-index:2;
}
.check-slider:focus{outline:none}
.check-slider-shell{
  position:relative;
  display:block;
  min-height:48px;
  margin:0 2px;
}
.check-slider-curve{
  position:relative;
  display:block;
  height:48px;
}
.check-slider-curve svg{
  position:absolute;
  inset:0;
  width:100%;
  height:44px;
  overflow:visible;
}
.slider-crescent{
  fill:#a7c5c4;
  stroke:none;
  filter:none;
}
.slider-crescent-glow{
  fill:none;
  stroke:rgba(255,252,244,.38);
  stroke-width:1.2;
  stroke-linecap:round;
}
.check-slider-dot{
  position:absolute;
  left:var(--curve-x);
  top:var(--curve-y);
  width:41px;
  height:41px;
  border-radius:999px;
  border:0;
  background:linear-gradient(145deg,rgba(246,232,194,.66),rgba(128,94,42,.28));
  box-shadow:0 9px 18px rgba(88,65,35,.17),inset 0 1px 1px rgba(255,255,255,.32),inset 0 -1px 2px rgba(74,51,24,.13);
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:1;
}
.check-slider-dot::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.8),transparent 28%),
    linear-gradient(145deg,#f1d78b 0%,#bf8d32 54%,#705225 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -2px 4px rgba(89,61,24,.22);
}
.check-slider-dot::after{
  content:"";
  position:absolute;
  inset:15px;
  border-radius:inherit;
  background:rgba(91,62,27,.18);
  box-shadow:0 0 0 1px rgba(255,252,244,.18);
}
.check-slider-center{
  position:absolute;
  left:50%;
  top:39px;
  transform:translate(-50%,-50%);
  color:rgba(46,39,31,.58);
  font-size:15px;
  font-weight:900;
  letter-spacing:0;
  text-transform:capitalize;
  pointer-events:none;
  transition:opacity .16s ease,color .16s ease,transform .16s ease;
}
.check-slider-center.show-value{
  color:#287884;
  font-size:13px;
  font-weight:620;
  transform:translate(-50%,-50%);
}
.check-hint-ready{animation:cardHintReady .82s ease both;background:rgba(119,153,98,.18);border-color:rgba(92,139,94,.32)}
.check-hint-ready .slider-crescent{fill:rgba(126,166,100,.72)}
.check-hint-ready .slider-crescent-glow{stroke:rgba(255,252,244,.68)}
.check-hint-ready .check-slider-dot{
  background:linear-gradient(145deg,rgba(246,239,214,.68),rgba(157,184,119,.28));
  box-shadow:0 10px 18px rgba(92,139,94,.18),inset 0 1px 1px rgba(255,255,255,.34),inset 0 -1px 2px rgba(74,96,52,.12);
}
.check-hint-ready .check-slider-dot::before{
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.84),transparent 28%),
    linear-gradient(145deg,#e9d68f 0%,#a7b66a 52%,#73834c 100%);
}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip,.tag{
  border:1px solid rgba(100,76,55,.13);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  padding:8px 10px;
  font-size:13px;
  font-weight:760;
}
.chip{cursor:pointer}.chip.active{background:rgba(152,163,141,.28);border-color:rgba(117,131,111,.34)}
.thought-list,.action-list{display:grid;gap:10px}
.thought-card,.action-card,.theme-card,.need-card{
  border:1px solid rgba(100,76,55,.12);
  border-radius:18px;
  background:rgba(255,255,255,.42);
  padding:14px;
}
.thought-card b,.action-card b,.theme-card b,.need-card b{display:block;margin-bottom:5px}
.thought-card p,.action-card p,.theme-card p,.need-card p{color:var(--muted);line-height:1.42;margin:0 0 10px}
.action-plan-list{display:grid;gap:14px}
.action-plan{
  display:grid;
  gap:14px;
  border:1px solid rgba(100,76,55,.12);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,252,244,.66),rgba(244,223,183,.34));
  padding:18px;
  box-shadow:0 14px 30px rgba(58,42,26,.07),inset 0 1px 0 rgba(255,255,255,.62);
}
.action-plan-goal{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.action-plan-goal h2{margin:4px 0 0;font-size:24px;line-height:1.08}
.progress-badge{
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid rgba(80,121,142,.18);
  background:rgba(138,164,174,.18);
  color:#405461;
  padding:8px 11px;
  font-size:13px;
  font-weight:900;
}
.progress-track{
  height:9px;
  border-radius:999px;
  background:rgba(100,76,55,.09);
  overflow:hidden;
}
.progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--blue),var(--sage));
}
.action-plan-row{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:14px;
  align-items:start;
}
.action-plan-row>b{font-size:13px;color:#5f5145}
.milestone-list{display:flex;flex-wrap:wrap;gap:8px}
.milestone-list span{
  border-radius:999px;
  border:1px solid rgba(199,121,89,.16);
  background:rgba(255,255,255,.38);
  padding:8px 11px;
  font-size:13px;
  font-weight:780;
}
.step-list{
  margin:0;
  padding-left:20px;
  columns:2;
  color:var(--muted);
  line-height:1.45;
}
.step-list li{break-inside:avoid;margin:0 0 6px}
.action-goals-card{overflow:hidden}
.action-goals-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.action-goals-head h2{margin:4px 0 0;font-size:28px;line-height:1.08}
.action-goal-list{
  display:grid;
  gap:16px;
}
.action-goal-card{
  min-width:0;
  display:grid;
  gap:14px;
  border:1px solid rgba(100,76,55,.12);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,252,244,.88),rgba(244,223,183,.28));
  padding:18px;
  box-shadow:0 16px 34px rgba(58,42,26,.08),inset 0 1px 0 rgba(255,255,255,.68);
}
.action-goal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.action-goal-top h2{margin:4px 0 0;font-size:24px;line-height:1.1}
.action-goal-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.action-edit-btn{
  min-height:34px;
  padding:8px 11px;
  font-size:12px;
}
.action-goal-progress{
  height:8px;
  border-radius:999px;
  background:rgba(100,76,55,.08);
  overflow:hidden;
}
.action-goal-progress span{
  display:block;
  width:var(--progress);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(117,131,111,.72),rgba(212,178,90,.82));
}
.action-goal-milestones{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.action-goal-milestones span{
  border-radius:999px;
  border:1px solid rgba(199,121,89,.14);
  background:rgba(255,255,255,.44);
  padding:7px 10px;
  font-size:12px;
  font-weight:760;
  color:#5f5145;
}
.action-step-board{
  position:relative;
  min-width:0;
  padding:8px 0 2px;
}
.action-step-slider{
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:stretch;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 4px 16px;
  scrollbar-color:rgba(198,153,61,.75) rgba(100,76,55,.08);
  scrollbar-width:thin;
}
.action-step-slider::-webkit-scrollbar{height:10px}
.action-step-slider::-webkit-scrollbar-track{
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,252,244,.72),rgba(244,223,183,.34));
  border:1px solid rgba(100,76,55,.08);
}
.action-step-slider::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(90deg,rgba(212,178,90,.94),rgba(152,163,141,.72));
  border:2px solid rgba(255,252,244,.9);
  box-shadow:0 2px 8px rgba(100,76,55,.14);
}
.action-step-side{
  display:flex;
  align-items:stretch;
  gap:10px;
  min-width:max-content;
}
.action-step-divider{
  flex:0 0 5px;
  align-self:stretch;
  min-height:102px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,234,118,.55),#f3c73b 48%,rgba(255,214,62,.74));
  box-shadow:0 0 0 2px rgba(243,199,59,.12);
}
.action-step-placeholder{
  align-self:center;
  border-radius:999px;
  border:1px dashed rgba(100,76,55,.14);
  background:rgba(255,255,255,.34);
  color:rgba(95,81,69,.58);
  padding:10px 13px;
  font-size:12px;
  font-weight:760;
}
.action-step-tab{
  position:relative;
  flex:0 0 198px;
  min-width:198px;
  height:118px;
  border-radius:14px;
  border:1px solid rgba(100,76,55,.1);
  background:rgba(255,255,255,.7);
  color:#4e453b;
  padding:11px 34px 11px 11px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(58,42,26,.035),inset 0 1px 0 rgba(255,255,255,.68);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.action-step-tab:hover,.action-step-tab:focus{
  outline:0;
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(58,42,26,.055),inset 0 1px 0 rgba(255,255,255,.74);
}
.action-step-tab.selected{
  border-color:rgba(243,199,59,.68);
  box-shadow:0 6px 15px rgba(154,112,37,.06),0 0 0 2px rgba(243,199,59,.18),inset 0 1px 0 rgba(255,255,255,.78);
}
.action-step-tab.done{
  border-color:rgba(117,131,111,.28);
  background:linear-gradient(145deg,rgba(241,248,234,.86),rgba(164,177,150,.22));
}
.action-step-tab.upcoming{
  border-color:rgba(100,76,55,.1);
  background:linear-gradient(145deg,rgba(248,246,240,.9),rgba(229,224,216,.32));
  color:#6e665e;
}
.action-step-tab span{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:0;
  color:rgba(95,81,69,.72);
}
.action-step-tab b{
  display:block;
  font-size:12.4px;
  line-height:1.16;
  font-weight:690;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.action-step-check{
  position:absolute;
  top:7px;
  right:7px;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(100,76,55,.14);
  background:rgba(255,255,255,.56);
  color:transparent;
  padding:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:15px;
  font-weight:900;
  line-height:1;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.action-step-check:hover,.action-step-check:focus{
  outline:0;
  transform:scale(1.05);
  border-color:rgba(117,131,111,.34);
}
.action-step-tab.done .action-step-check{
  background:linear-gradient(145deg,rgba(152,163,141,.95),rgba(93,126,91,.86));
  border-color:rgba(93,126,91,.42);
  color:#fff;
  box-shadow:0 5px 12px rgba(93,126,91,.22);
}
.action-editor-modal{
  width:min(820px,100%);
  overflow-y:auto;
  overscroll-behavior:contain;
  gap:12px;
  padding-bottom:18px;
}
.action-editor-goal input{
  width:100%;
  border:1px solid rgba(100,76,55,.12);
  border-radius:16px;
  background:rgba(255,255,255,.5);
  padding:12px 13px;
  font:inherit;
  color:var(--ink);
  outline:0;
}
.action-editor-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  min-height:0;
}
.action-editor-fields .thought-editor-text{
  min-width:0;
  height:100%;
}
.action-editor-modal .thought-editor-text textarea{
  min-height:clamp(190px,32vh,280px);
  max-height:clamp(190px,32vh,280px);
  overflow:auto;
  resize:none;
}
.action-editor-lines textarea{
  height:clamp(190px,32vh,280px);
}
.action-editor-modal .thought-editor-text textarea::-webkit-scrollbar{width:8px}
.action-editor-modal .thought-editor-text textarea::-webkit-scrollbar-track{background:rgba(100,76,55,.06);border-radius:999px}
.action-editor-modal .thought-editor-text textarea::-webkit-scrollbar-thumb{background:rgba(212,178,90,.62);border-radius:999px}
.action-editor-actions{
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-shrink:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(255,252,244,.88),rgba(246,239,226,.98));
  backdrop-filter:blur(8px);
  border-top:1px solid rgba(100,76,55,.1);
  margin-top:8px;
  padding-top:16px;
}
.action-editor-danger-zone{
  flex:0 0 auto;
}
.action-editor-danger-zone .btn.danger{
  background:transparent;
  box-shadow:none;
}
.action-editor-danger-zone .btn.danger:hover{
  background:rgba(199,89,76,.11);
}
.action-editor-confirm-actions{
  flex:0 0 auto;
  justify-content:flex-end;
}
.goal-suggestions-panel{
  display:grid;
  gap:16px;
  scroll-margin-top:18px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(80,121,142,.34);
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.34),transparent 30%),
    linear-gradient(145deg,rgba(127,167,184,.34),rgba(117,131,111,.25) 58%,rgba(255,252,244,.72));
  box-shadow:0 22px 48px rgba(64,84,97,.14),inset 0 1px 0 rgba(255,255,255,.68);
}
.goal-suggestions-panel:before{
  content:none;
}
.goal-suggestions-panel:after{
  content:none;
}
.goal-suggestions-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  position:relative;
  z-index:1;
}
.goal-suggestions-head h2{margin:4px 0 8px;font-size:28px;line-height:1.08}
.goal-suggestions-head .eyebrow{color:#405461}
.goal-suggestions-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-top:1px solid rgba(80,121,142,.18);
  border-bottom:1px solid rgba(80,121,142,.18);
  padding:12px 0;
  position:relative;
  z-index:1;
}
.goal-suggestion-list{
  overflow:visible;
  padding:0;
  position:relative;
  z-index:1;
}
.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:40;
  display:grid;
  align-items:start;
  justify-items:center;
  padding:96px 24px 24px;
  overflow:auto;
  background:rgba(46,39,31,.38);
  backdrop-filter:blur(10px);
}
.modal-panel{
  width:min(980px,100%);
  max-height:calc(100vh - 124px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(100,76,55,.18);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,252,244,.96),rgba(246,239,226,.96));
  box-shadow:0 28px 80px rgba(58,42,26,.28),inset 0 1px 0 rgba(255,255,255,.75);
  padding:22px;
}
.modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.modal-head h2{margin:4px 0 8px;font-size:30px;line-height:1.05}
.modal-close{flex:0 0 auto}
.modal-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-top:1px solid rgba(100,76,55,.1);
  border-bottom:1px solid rgba(100,76,55,.1);
  padding:12px 0;
  margin-bottom:14px;
}
.thought-editor-modal{width:min(760px,100%)}
.thought-editor-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.thought-editor-meta label,.thought-editor-meta>div,.thought-editor-text{
  display:grid;
  gap:6px;
  color:rgba(46,39,31,.56);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.thought-editor-meta input,.thought-editor-meta select,.thought-editor-text textarea{
  min-width:0;
  border:1px solid rgba(100,76,55,.12);
  border-radius:16px;
  background:rgba(255,255,255,.48);
  color:var(--ink);
  font:inherit;
  font-size:15px;
  font-weight:560;
  letter-spacing:0;
  text-transform:none;
  padding:11px 12px;
  outline:none;
}
.thought-editor-meta select{border-radius:999px}
.thought-editor-meta input:focus,.thought-editor-meta select:focus,.thought-editor-text textarea:focus{
  border-color:rgba(80,121,142,.42);
  box-shadow:0 0 0 3px rgba(138,164,174,.16);
}
.thought-editor-meta>div{
  justify-content:center;
  border:1px solid rgba(100,76,55,.1);
  border-radius:16px;
  background:rgba(255,255,255,.3);
  padding:10px 12px;
}
.thought-editor-meta>div b{
  color:#4b4035;
  font-size:14px;
  font-weight:760;
  letter-spacing:0;
  text-transform:none;
}
.thought-editor-text textarea{
  min-height:190px;
  resize:vertical;
  line-height:1.48;
}
.thought-editor-actions{
  margin:16px 0 0;
  padding-bottom:0;
  border-bottom:0;
}
.selection-count{
  flex:0 0 auto;
  border-radius:999px;
  background:rgba(138,164,174,.16);
  border:1px solid rgba(80,121,142,.16);
  color:#405461;
  padding:8px 11px;
  font-size:13px;
  font-weight:900;
}
.btn:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none;
}
.goal-suggestions-modal{
  width:min(900px,100%);
  gap:14px;
}
.goal-suggestions-modal .modal-head{
  margin-bottom:4px;
}
.goal-suggestions-modal .goal-suggestion-list{
  display:grid;
  gap:14px;
  overflow:auto;
  padding-right:4px;
}
.goal-suggestions-modal .goal-suggestion-list::-webkit-scrollbar{width:8px}
.goal-suggestions-modal .goal-suggestion-list::-webkit-scrollbar-track{background:rgba(100,76,55,.06);border-radius:999px}
.goal-suggestions-modal .goal-suggestion-list::-webkit-scrollbar-thumb{background:rgba(212,178,90,.62);border-radius:999px}
.goal-suggestion-item{
  background:linear-gradient(145deg,rgba(255,252,244,.9),rgba(244,223,183,.34));
  box-shadow:0 8px 22px rgba(58,42,26,.06),inset 0 1px 0 rgba(255,255,255,.66);
  transition:opacity .22s ease,transform .22s ease,max-height .22s ease,margin .22s ease,padding .22s ease,border-color .18s ease;
}
.goal-suggestion-item.accepting{
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
}
.goal-suggestion-steps{
  display:grid;
  gap:8px;
}
.goal-suggestion-steps span{
  display:flex;
  align-items:flex-start;
  gap:8px;
  border-radius:12px;
  border:1px solid rgba(100,76,55,.08);
  background:rgba(255,255,255,.36);
  color:#5f5145;
  padding:8px 10px;
  font-size:13px;
  line-height:1.3;
  font-weight:620;
}
.goal-suggestion-steps b{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(243,199,59,.28);
  color:#8b6820;
  font-size:11px;
}
.goal-suggestion-card-actions{
  display:flex;
  justify-content:flex-end;
  padding-top:2px;
}
.goal-suggestions-modal .action-plan{background:linear-gradient(145deg,rgba(255,252,244,.78),rgba(244,223,183,.42))}
.goal-suggestions-panel .action-plan{
  border-style:solid;
  border-color:rgba(80,121,142,.22);
  background:linear-gradient(145deg,rgba(255,252,244,.94),rgba(255,252,244,.66));
}
.goal-suggestions-panel .progress-badge{
  border-style:solid;
  background:rgba(255,255,255,.42);
  color:#557178;
}
.goal-suggestions-panel .progress-track{
  background:rgba(80,121,142,.1);
  border:1px solid rgba(80,121,142,.14);
}
.goal-suggestions-panel .progress-track span{background:linear-gradient(90deg,rgba(138,164,174,.55),rgba(152,163,141,.55))}
.goal-suggestion-card{
  position:relative;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.goal-suggestion-card:hover,.goal-suggestion-card:focus{
  outline:0;
  border-color:rgba(127,167,184,.45);
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(58,42,26,.11),inset 0 1px 0 rgba(255,255,255,.7);
}
.goal-suggestion-card.selected{
  border-color:rgba(117,131,111,.58);
  border-style:solid;
  background:linear-gradient(145deg,rgba(255,252,244,.96),rgba(152,163,141,.28));
  box-shadow:0 20px 46px rgba(58,42,26,.13),0 0 0 3px rgba(152,163,141,.18),inset 0 1px 0 rgba(255,255,255,.72);
}
.goal-suggestion-card.selected .action-plan-goal{padding-left:42px}
.goal-suggestion-card.selected:after{
  content:"\2713";
  position:absolute;
  top:12px;
  left:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--sage);
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 18px rgba(58,42,26,.14);
}
.action-card-panel{
  padding-left:12px;
  padding-right:12px;
}
.today-action-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.today-action-head h2{
  margin-bottom:2px;
}
.today-action-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.today-progress-badge{
  min-width:72px;
  min-height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(111,139,105,.2);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,252,244,.78),rgba(226,239,217,.58));
  color:#43573f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
}
.today-progress-badge span{font-weight:900;font-size:17px;line-height:1}
.today-progress-badge small{font-size:11px;color:#6f7f69;font-weight:800}
.action-card-deck{
  grid-template-columns:repeat(4,190px);
  justify-content:start;
  align-items:start;
  gap:10px;
}
.pixel-action-card{
  position:relative;
  width:100%;
  --card-radius:5.2% / 4.1%;
  --card-visible-inset:0;
  --card-visible-radius:var(--card-radius);
  aspect-ratio:890 / 1217;
  min-height:0;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  perspective:800px;
  text-align:left;
  overflow:visible;
}
.pixel-card-face{
  position:absolute;
  inset:0;
  box-sizing:border-box;
  display:grid;
  align-content:center;
  gap:8px;
  padding:16px;
  border:1px solid rgba(100,76,55,.14);
  border-radius:var(--card-radius);
  background:#f4dfb7;
  box-shadow:0 18px 34px rgba(58,42,26,.13),inset 0 1px 0 rgba(255,255,255,.62);
  backface-visibility:hidden;
  transform-style:preserve-3d;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}
.pixel-card-back{
  place-items:center;
  text-align:center;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:var(--card-radius);
  overflow:visible;
}
.card-back-art{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:none;
  transform-origin:center;
  transition:transform .28s ease;
}
.pixel-card-front{
  inset:var(--card-visible-inset);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:var(--card-visible-radius);
  border-color:rgba(100,76,55,.1);
  background:linear-gradient(145deg,#fff7e8 0%,#f6e8cc 58%,#efd8ad 100%);
  color:#3c332a;
  transform:rotateY(180deg);
  padding:15px 14px;
}
.pixel-card-front b{font-size:15px}.pixel-card-front small{font-weight:900;color:#7a6a58}.pixel-card-front span{font-size:13px;line-height:1.3}
.today-card-topline{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-bottom:4px;
}
.today-task-toggle{
  position:absolute;
  z-index:6;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(111,139,105,.26);
  border-radius:999px;
  background:rgba(255,252,244,.58);
  color:rgba(83,111,78,.62);
  font-weight:900;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  opacity:0;
  pointer-events:none;
  transform:translateY(2px) scale(.96);
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease,opacity .18s ease;
}
.pixel-action-card.flipped .today-task-toggle{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.today-task-toggle:hover,.today-task-toggle:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(111,139,105,.44);
  color:#4d7d52;
}
.today-task-toggle.done{
  background:#7fa76f;
  border-color:#7fa76f;
  color:#fff;
}
.today-card-replace{
  position:absolute;
  z-index:6;
  left:10px;
  top:10px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(127,167,184,.26);
  border-radius:999px;
  background:rgba(255,252,244,.58);
  color:#587c87;
  font-weight:900;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(2px) scale(.96);
  transition:opacity .18s ease,transform .18s ease,border-color .18s ease,color .18s ease;
}
.pixel-action-card.flipped .today-card-replace{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.today-card-replace:hover,.today-card-replace:focus-visible{
  border-color:rgba(127,167,184,.5);
  color:#3f6975;
  transform:translateY(-1px);
}
.today-card-text{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:3px;
}
.today-card-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin-top:9px;
}
.today-source-chip{
  border:1px solid rgba(127,167,184,.2);
  border-radius:999px;
  background:rgba(255,255,255,.42);
  color:#6b5c4e;
  padding:3px 7px;
  font-size:10px !important;
  font-weight:850;
  line-height:1.1 !important;
}
.today-source-chip.source-goal{
  border-color:rgba(127,167,184,.3);
  background:rgba(219,237,237,.52);
  color:#486d76;
}
.today-source-chip.source-adapted{
  border-color:rgba(207,166,74,.34);
  background:rgba(255,238,184,.56);
  color:#806333;
}
.today-source-chip.source-state{
  border-color:rgba(157,143,190,.28);
  background:rgba(235,229,246,.5);
  color:#635a7e;
}
.today-source-chip.source-rest{
  border-color:rgba(111,139,105,.3);
  background:rgba(226,239,217,.56);
  color:#526f4e;
}
.today-source-goal{
  color:#7a6a58;
  font-size:10px !important;
  line-height:1.18 !important;
}
.pixel-action-card.done .pixel-card-front{
  border-color:rgba(111,139,105,.28);
  background:linear-gradient(145deg,#fbf8ea 0%,#e7f0df 62%,#d6e5c8 100%);
}
.pixel-action-card.done .pixel-card-front b,
.pixel-action-card.done .today-card-text{
  color:#40553d;
}
.diamond-action-card.locked{
  opacity:.72;
}
.diamond-action-card.locked .diamond-card-back:before{
  filter:saturate(.72);
}
.bonus-lock-label{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,252,244,.76);
  border:1px solid rgba(100,76,55,.12);
  color:#766753;
  font-size:11px;
  font-weight:900;
  padding:5px 9px;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(58,42,26,.12);
}
.today-completion-card{
  display:grid;
  gap:14px;
}
.today-completion-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.today-completion-head h2{margin-bottom:0}
.today-bonus-state{
  border:1px solid rgba(207,166,74,.26);
  border-radius:999px;
  background:rgba(255,238,184,.42);
  color:#7c6634;
  font-size:12px;
  font-weight:900;
  padding:7px 10px;
  white-space:nowrap;
}
.today-bonus-state.unlocked{
  border-color:rgba(111,139,105,.32);
  background:rgba(226,239,217,.56);
  color:#526f4e;
}
.today-completion-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.today-completion-columns b{
  display:block;
  margin-bottom:7px;
  color:#5d5146;
  font-size:13px;
}
.today-pill-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.today-pill-list span{
  border:1px solid rgba(100,76,55,.1);
  border-radius:999px;
  background:rgba(255,255,255,.42);
  color:#6d6054;
  padding:6px 9px;
  font-size:12px;
  font-weight:800;
}
.today-pill-list.done span{
  border-color:rgba(111,139,105,.22);
  background:rgba(226,239,217,.52);
  color:#526f4e;
}
.today-note-field{
  display:grid;
  gap:7px;
}
.today-note-field span{
  color:#6d6054;
  font-size:13px;
  font-weight:850;
}
.today-note-field textarea{
  width:100%;
  resize:vertical;
  min-height:72px;
  border:1px solid rgba(100,76,55,.14);
  border-radius:18px;
  background:rgba(255,252,244,.7);
  padding:11px 13px;
  color:#3c332a;
  font:inherit;
}
.today-completion-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.today-completion-actions small{
  color:var(--muted);
  font-size:12px;
}
.pixel-action-card.flipped .pixel-card-back{transform:rotateY(180deg)}
.pixel-action-card.flipped .pixel-card-front{transform:rotateY(360deg)}
.pixel-action-card:hover .card-back-art{transform:translateY(-3px) scale(1.025)}
.diamond-card-back{
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.diamond-card-back:before{
  content:"";
  position:absolute;
  inset:var(--card-visible-inset);
  border-radius:var(--card-visible-radius);
  border:1px solid rgba(67,112,122,.28);
  background:
    radial-gradient(circle at 50% 40%,rgba(0,188,204,.5),transparent 34%),
    linear-gradient(135deg,transparent 0 47%,rgba(0,128,148,.4) 48% 52%,transparent 53%),
    linear-gradient(45deg,transparent 0 47%,rgba(170,95,67,.18) 48% 52%,transparent 53%),
    linear-gradient(145deg,#f6e6c8 0%,#d7b57f 38%,#46c7d1 100%);
  box-shadow:0 18px 34px rgba(24,104,116,.2),inset 0 1px 0 rgba(255,255,255,.58);
}
.diamond-card-back:after{
  content:"";
  position:absolute;
  inset:14px 12px;
  border-radius:calc(var(--card-visible-radius) - 6px);
  border:1px solid rgba(199,121,89,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46);
}
.diamond-gem{
  position:relative;
  z-index:1;
  width:86px;
  height:62px;
  transform:none;
  border:1px solid rgba(0,111,132,.95);
  border-radius:0;
  clip-path:polygon(12% 24%,88% 24%,100% 43%,50% 100%,0 43%);
  background:
    linear-gradient(135deg,rgba(255,248,232,.96) 0 22%,rgba(0,190,207,.78) 23% 62%,rgba(228,196,139,.96) 63%),
    #63d2d8;
  box-shadow:0 14px 30px rgba(0,128,148,.34),inset 0 1px 0 rgba(255,255,255,.82);
}
.diamond-gem:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(64deg,transparent 0 38%,rgba(0,102,124,.58) 39% 40%,transparent 41%),
    linear-gradient(116deg,transparent 0 38%,rgba(0,102,124,.58) 39% 40%,transparent 41%),
    linear-gradient(90deg,transparent 0 49%,rgba(0,102,124,.5) 50%,transparent 51%),
    linear-gradient(180deg,transparent 0 35%,rgba(0,102,124,.5) 36% 37%,transparent 38%);
}
.diamond-gem:after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:18%;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform:rotate(-7deg);
}
.diamond-card-front{background:linear-gradient(145deg,#eff8f9,#fff2df)}
.diamond-denied{}
.diamond-denied .pixel-card-face{
  background:linear-gradient(145deg,#ffe9e3,#f2c2b7);
  box-shadow:0 18px 34px rgba(199,65,55,.2),inset 0 0 0 2px rgba(199,65,55,.24);
}
.diamond-denied .card-back-art{filter:none}
.diamond-denied .pixel-card-back:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(210,92,78,.24);
  box-shadow:inset 0 0 0 2px rgba(199,65,55,.2);
  pointer-events:none;
}
.diamond-denied .diamond-card-back:before{box-shadow:0 18px 34px rgba(24,104,116,.2),inset 0 1px 0 rgba(255,255,255,.58)}
.checkin-card-denied{}
.checkin-card-denied .pixel-card-back:after,.checkin-card-denied .pixel-card-front:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(210,92,78,.16);
  box-shadow:inset 0 0 0 1px rgba(199,65,55,.14);
  pointer-events:none;
}
.checkin-card-denied .card-back-art{filter:none}
.checkin-card-denied .diamond-card-back:before{box-shadow:0 18px 34px rgba(24,104,116,.2),inset 0 1px 0 rgba(255,255,255,.58)}
.card-hint-ready{animation:cardHintReady .82s ease both}
.card-hint-ready .pixel-card-face{
  background:linear-gradient(145deg,#eef7de,#9fbc86);
  box-shadow:0 18px 34px rgba(92,139,94,.24),inset 0 0 0 2px rgba(92,139,94,.28);
}
.card-hint-ready .card-back-art{filter:none}
.card-hint-ready .pixel-card-back:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(119,153,98,.18);
  box-shadow:inset 0 0 0 2px rgba(92,139,94,.32);
  pointer-events:none;
}
.card-hint-ready .diamond-card-back:before{box-shadow:0 18px 34px rgba(24,104,116,.2),inset 0 1px 0 rgba(255,255,255,.58)}
@keyframes cardHintReady{
  0%,100%{transform:translateX(0)}
  16%{transform:translateX(-5px) rotate(-.8deg)}
  32%{transform:translateX(5px) rotate(.8deg)}
  48%{transform:translateX(-3px)}
  64%{transform:translateX(3px)}
}
.tag-row{display:flex;flex-wrap:wrap;gap:6px}
.tag.terracotta{background:rgba(199,121,89,.18)}.tag.sage{background:rgba(152,163,141,.22)}.tag.blue{background:rgba(138,164,174,.22)}.tag.ochre{background:rgba(215,161,74,.18)}
.empty{color:var(--muted);border:1px dashed rgba(100,76,55,.18);border-radius:18px;padding:18px;background:rgba(255,255,255,.28)}
.thought-space-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.thought-room-card,.thought-mode-card,.thought-summary-card,.thought-input-strip,.animation-tuning-card,.animation-values-card{grid-column:1/-1}
.room-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.room-head h2{margin-bottom:0}
.thought-room-card{position:relative}
.animation-tuning-card,.animation-values-card{
  background:rgba(255,252,244,.64);
}
.animation-tuning-card{
  padding:0;
  overflow:hidden;
}
.animation-tuning-card.open .animation-tuning-bar{
  display:none;
}
.animation-tuning-card.collapsed{
  background:rgba(255,252,244,.52);
}
.animation-tuning-bar{
  width:100%;
  min-height:52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border:0;
  background:transparent;
  color:#4b4035;
  padding:10px 18px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.animation-tuning-bar h2{
  margin-bottom:0;
  font-size:18px;
}
.animation-tuning-summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  border:1px solid rgba(100,76,55,.12);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  padding:0 11px;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.animation-tuning-summary b{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff8eb;
  color:#8f6338;
}
.animation-tuning-body{
  border-top:1px solid rgba(100,76,55,.09);
  padding:14px 18px 18px;
}
.animation-tuning-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.animation-tuning-selects{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.animation-tuning-selects .room-bottom-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.icon-only{
  min-width:38px;
  width:38px;
  height:38px;
  padding:0;
  border-radius:999px;
  font-size:20px;
  line-height:1;
}
.animation-tuning-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  color:#7a6a5a;
  font-size:13px;
}
.animation-tuning-actions>div{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.animation-tuning-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.animation-tuning-head.compact{
  align-items:center;
  margin-bottom:10px;
}
.animation-tuning-head h2{
  margin-bottom:0;
}
.animation-tuning-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.animation-tuning-group{
  border:1px solid rgba(100,76,55,.1);
  border-radius:18px;
  background:rgba(255,255,255,.32);
  padding:12px;
}
.animation-tuning-group h3{
  margin:0 0 10px;
  color:#5d4d3e;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.animation-tuning-group>div{
  display:grid;
  gap:8px;
}
.animation-tuning-row{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:8px;
  min-height:64px;
  border:1px solid rgba(100,76,55,.1);
  border-radius:14px;
  background:rgba(255,255,255,.46);
  padding:9px 10px;
}
.animation-tuning-row span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.animation-tuning-row b{
  font-size:12px;
  line-height:1.1;
  color:#4b4035;
}
.animation-tuning-row em{
  min-width:50px;
  text-align:right;
  font-style:normal;
  font-size:12px;
  font-weight:850;
  color:#8f6338;
}
.animation-tuning-row input[type="range"]{
  width:100%;
  accent-color:#d29a45;
}
.animation-values-card pre{
  margin:0;
  max-height:260px;
  overflow:auto;
  border:1px solid rgba(100,76,55,.1);
  border-radius:18px;
  background:rgba(47,39,31,.9);
  color:#fff6e6;
  padding:14px;
  font-size:12px;
  line-height:1.5;
  white-space:pre-wrap;
}
.animation-values-inline{
  margin-top:12px;
}
.animation-values-inline pre{
  margin:7px 0 0;
  max-height:210px;
  overflow:auto;
  border:1px solid rgba(100,76,55,.1);
  border-radius:16px;
  background:rgba(47,39,31,.9);
  color:#fff6e6;
  padding:12px;
  font-size:12px;
  line-height:1.5;
  white-space:pre-wrap;
}
.thought-room-toolbar{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto minmax(230px,1fr);
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.thought-room-title h2{margin-bottom:0}
.thought-head-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}
.room-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.thought-range-toggle{
  display:inline-flex;
  gap:3px;
  padding:4px;
  border:1px solid rgba(100,76,55,.1);
  border-radius:999px;
  background:rgba(255,252,244,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.64);
}
.thought-range-toggle button{
  min-width:38px;
  height:30px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#5d4d3e;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.thought-range-toggle button:hover{background:rgba(255,255,255,.48)}
.thought-range-toggle button.active{background:#fff8eb;color:#5d3b2c;box-shadow:0 6px 14px rgba(58,42,26,.08),inset 0 0 0 1px rgba(199,121,89,.28)}
.thought-head-tools .pill{white-space:nowrap}
.thought-room{
  position:relative;
  min-height:610px;
  border:1px solid rgba(168,143,111,.14);
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 48%,rgba(226,174,77,.1),transparent 18%),
    radial-gradient(circle at 23% 24%,rgba(134,159,132,.1),transparent 28%),
    radial-gradient(circle at 76% 23%,rgba(215,149,100,.1),transparent 29%),
    radial-gradient(circle at 31% 82%,rgba(122,172,194,.08),transparent 27%),
    radial-gradient(circle at 72% 80%,rgba(147,168,135,.09),transparent 25%),
    linear-gradient(120deg,#fbf5e9 0%,#fffaf1 45%,#fbefe0 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.58),0 18px 48px rgba(91,70,45,.08);
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.room-no-select,.room-no-select *{user-select:none!important}
.thought-room.panning{cursor:grabbing}
.thought-room:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(ellipse at 50% 50%,transparent 0 9%,rgba(255,255,255,.34) 9.2% 9.42%,transparent 9.7% 12%,rgba(255,255,255,.24) 12.2% 12.42%,transparent 12.7% 15.4%,rgba(255,255,255,.18) 15.7% 15.92%,transparent 16.2%),
    radial-gradient(ellipse at 28% 78%,transparent 0 15%,rgba(255,255,255,.2) 15.2% 15.42%,transparent 15.8% 21%,rgba(255,255,255,.14) 21.2% 21.42%,transparent 21.8%),
    radial-gradient(ellipse at 77% 73%,transparent 0 16%,rgba(255,255,255,.18) 16.2% 16.42%,transparent 16.8% 23%,rgba(255,255,255,.12) 23.2% 23.42%,transparent 23.8%);
  pointer-events:none;
  z-index:0;
  opacity:.72;
  filter:blur(1.2px);
}
.thought-room:after{
  content:"";
  position:absolute;
  inset:-26% -8%;
  pointer-events:none;
  opacity:.26;
  z-index:0;
  filter:blur(1.8px);
  background:
    radial-gradient(ellipse at 4% 48%,transparent 0 22%,rgba(255,255,255,.62) 22.15% 22.3%,transparent 22.45% 31%,rgba(255,255,255,.42) 31.15% 31.3%,transparent 31.5%),
    radial-gradient(ellipse at 100% 48%,transparent 0 25%,rgba(255,255,255,.56) 25.15% 25.3%,transparent 25.45% 36%,rgba(255,255,255,.38) 36.15% 36.3%,transparent 36.5%);
}
.room-world{position:absolute;inset:0;z-index:1;transform-origin:0 0;will-change:transform;transition:transform .18s ease}
.room-world.mode-enter .topic-hub{animation:topicRise .7s cubic-bezier(.18,.82,.18,1) both}
.room-center,.topic-hub{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);min-width:164px;min-height:78px;border:1px solid rgba(255,250,241,.28);border-radius:42% 58% 50% 50%/52% 44% 56% 48%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:13px 18px;color:#fffaf1;background:radial-gradient(circle at 30% 22%,rgba(255,250,241,.24),transparent 28%),linear-gradient(145deg,rgba(65,60,52,.92),rgba(111,126,106,.82));box-shadow:0 22px 42px rgba(58,42,26,.18),inset 0 1px 0 rgba(255,255,255,.24),inset 0 -12px 28px rgba(45,35,26,.16);font-weight:680}
.room-center:after,.topic-hub:after{content:"";position:absolute;inset:9px 14px auto 18px;height:18px;border-radius:999px;background:linear-gradient(90deg,rgba(255,250,241,.3),transparent);pointer-events:none;filter:blur(.2px)}
.room-center.thought-room-orb{
  z-index:8;
  width:108px;
  min-width:0;
  height:108px;
  min-height:0;
  aspect-ratio:1;
  padding:18px;
  border:0;
  border-radius:0;
  gap:0;
  color:#5b3c1b;
  font-size:15px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:1;
  text-shadow:
    0 1px 0 rgba(255,250,235,.62),
    0 10px 22px rgba(128,82,29,.14);
  background:transparent;
  box-shadow:none;
  animation:roomOrbIdle 7s ease-in-out infinite alternate;
}
.focus-hex-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  filter:none;
  pointer-events:none;
}
.focus-hex-frame path{
  fill:#f7ead1;
  fill-opacity:1;
  stroke:#e6b84c;
  stroke-width:5;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.focus-orb-label{
  position:relative;
  z-index:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.thought-room.animation-gravity .thought-room-orb{animation:none}
.room-center.thought-room-orb:after{
  display:none;
}
.topic-hub{
  width:var(--hub-w,190px);
  height:var(--hub-h,90px);
  min-height:var(--hub-h,90px);
  border-radius:42px;
  background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.62),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--blue) 24%,#fbf8ef),#f8f7ef);
  color:#263d45;
  box-shadow:0 14px 28px rgba(58,42,26,.09),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -10px 18px color-mix(in srgb,var(--blue) 10%,transparent);
}
.topic-hub::before{
  content:"◇";
  position:relative;
  z-index:1;
  font-size:22px;
  line-height:1;
  color:color-mix(in srgb,var(--blue) 70%,#6c573b);
}
.topic-hub b{position:relative;z-index:1;font-size:15.5px;line-height:1.18;max-width:88%;font-weight:640;letter-spacing:.01em}.topic-hub span{position:relative;z-index:1;font-size:14px;font-weight:520;opacity:.86}
.topic-hub[data-topic-focus="ziele"]{--hub-accent:#9bb69a}
.topic-hub[data-topic-focus="druck"]{--hub-accent:#d79a74}
.topic-hub[data-topic-focus="ressourcen"]{--hub-accent:#9fb999}
.topic-hub[data-topic-focus="aufgaben"]{--hub-accent:#9fc3d3}
.topic-hub[data-topic-focus="ziele"]::before{content:"◉"}
.topic-hub[data-topic-focus="druck"]::before{content:"↻"}
.topic-hub[data-topic-focus="ressourcen"]::before{content:"◇"}
.topic-hub[data-topic-focus="aufgaben"]::before{content:"☑"}
.topic-hub[data-topic-focus]{
  border-color:color-mix(in srgb,var(--hub-accent,var(--blue)) 42%,rgba(100,76,55,.13));
  background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.66),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--hub-accent,var(--blue)) 24%,#fbf8ef),#f8f7ef);
  box-shadow:0 14px 28px rgba(58,42,26,.09),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -10px 18px color-mix(in srgb,var(--hub-accent,var(--blue)) 10%,transparent);
}
.topic-room .topic-hub,.goal-room .goal-hub{
  top:auto;
  z-index:8;
  transform:translate(-50%,-50%);
  border:1px solid color-mix(in srgb,var(--blue) 38%,rgba(100,76,55,.16));
  cursor:pointer;
  touch-action:none;
  user-select:none;
  appearance:none;
  -webkit-appearance:none;
}
.topic-room .topic-hub:hover,.topic-room .topic-hub.active,.goal-room .goal-hub:hover,.goal-room .goal-hub.active{
  z-index:28;
  filter:brightness(1.035);
  box-shadow:0 18px 34px rgba(58,42,26,.13),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -10px 18px color-mix(in srgb,var(--blue) 16%,transparent);
}
.topic-room-arriving .room-world.mode-enter .topic-hub{
  opacity:0;
  animation:topicHubFadeIn .9s cubic-bezier(.18,.82,.18,1) forwards;
  animation-delay:var(--topic-delay,0ms);
}
.topic-room:not(.topic-room-arriving) .room-world.mode-enter .topic-hub{
  animation:none;
  opacity:1;
}
.topic-room.topic-focused .room-thought,.goal-room.goal-focused .room-thought{opacity:.22;filter:saturate(.58) blur(.2px)}
.topic-room.topic-focused .room-thought.topic-active,.goal-room.goal-focused .room-thought.goal-active{
  z-index:27;
  opacity:1;
  filter:brightness(1.08) saturate(1.1);
  box-shadow:0 24px 44px rgba(58,42,26,.21),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -10px 22px color-mix(in srgb,var(--node) 24%,transparent);
}
.room-node{transition:transform 1.9s cubic-bezier(.42,0,.18,1),width 1.35s cubic-bezier(.42,0,.18,1),height 1.35s cubic-bezier(.42,0,.18,1),min-height 1.35s cubic-bezier(.42,0,.18,1),border-radius 1.2s cubic-bezier(.42,0,.18,1),color .7s ease,opacity .65s ease}
.thought-room.animation-linear .room-node{
  transition:left .78s cubic-bezier(.2,.82,.18,1),top .78s cubic-bezier(.2,.82,.18,1),opacity .22s ease,filter .22s ease,box-shadow .22s ease,transform .22s ease;
}
.thought-room.animation-linear [data-linear-anchor]{cursor:pointer}
.thought-room.animation-linear .room-center.active,.thought-room.animation-linear .topic-hub.active{
  filter:brightness(1.08) saturate(1.06);
  box-shadow:0 28px 54px rgba(58,42,26,.24),inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 28px rgba(45,35,26,.16);
}
.thought-room.animation-linear .room-center.thought-room-orb.active{
  box-shadow:none;
}
.thought-room.animation-linear .room-center.thought-room-orb.active .focus-hex-frame path{
  stroke:#e0a83e;
  stroke-width:6;
}
.room-node b{transition:opacity .42s ease,transform .56s ease}
.room-node.morphing,.room-node.settling{animation-play-state:paused!important;will-change:transform,width,height,border-radius,background}
.room-thought{--node:#d8c29d;position:absolute;z-index:3;width:104px;height:104px;min-height:0;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--node) 30%,rgba(100,76,55,.12));border-radius:50%;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.78),transparent 26%),linear-gradient(145deg,color-mix(in srgb,var(--node) 28%,#fff8ec),rgba(255,255,255,.56));color:#30281f;padding:13px;cursor:grab;box-shadow:0 18px 32px rgba(58,42,26,.1),inset 0 1px 0 rgba(255,255,255,.76),inset 0 -10px 20px color-mix(in srgb,var(--node) 14%,transparent);animation:none;user-select:none;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.room-thought::before{
  content:"✦";
  color:color-mix(in srgb,var(--node) 72%,#64513a);
  font-size:17px;
  line-height:1;
  opacity:.95;
}
.room-thought.terracotta::before{content:"↻"}
.room-thought.sage::before{content:"◇"}
.room-thought.blue::before{content:"☑"}
.room-thought.ochre::before{content:"⚑"}
.room-thought.sand::before{content:"○"}
.topic-room .room-thought,.goal-room .room-thought{width:74px;height:74px;min-height:0;padding:8px;box-shadow:0 14px 26px rgba(58,42,26,.1),inset 0 1px 0 rgba(255,255,255,.74);animation:none}
.goal-room .room-thought.goal:not(.cluster){width:var(--goal-w,164px);height:auto;min-height:78px;border-radius:999px;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.5),transparent 27%),linear-gradient(145deg,color-mix(in srgb,var(--blue) 52%,#fff8ec),rgba(255,255,255,.52));color:#263d45;padding:13px 16px;box-shadow:0 16px 32px rgba(58,42,26,.13),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -10px 22px color-mix(in srgb,var(--blue) 18%,transparent)}
.goal-room .room-thought.goal:not(.cluster) b{font-size:12.4px;line-height:1.1}
.thought-room.animation-orbit .room-thought:not(.dragging){animation:none;will-change:transform}
.thought-room.animation-orbit .room-thought{transition:opacity .22s ease,filter .22s ease,box-shadow .22s ease}
.thought-room.animation-orbit .room-thought.orbit-drag-follow{transition:none}
.thought-room.animation-orbit .need-point:not(.dragging){animation:roomNodeOrbit 10s linear infinite;animation-delay:var(--delay)}
.thought-room.animation-gravity .room-thought:not(.dragging),
.thought-room.animation-gravity .need-point:not(.dragging){
  transition:left 1.05s cubic-bezier(.18,.82,.18,1),top 1.05s cubic-bezier(.18,.82,.18,1),opacity .42s ease,filter .42s ease,box-shadow .42s ease,transform .42s ease;
}
.thought-room .room-thought.thought-arriving,
.thought-room.animation-orbit .room-thought.thought-arriving,
.thought-room .need-point.thought-arriving,
.thought-room.animation-orbit .need-point.thought-arriving{
  z-index:35;
  animation:thoughtArriveFromBottom 1.85s cubic-bezier(.16,.78,.14,1) both;
  will-change:translate,scale,opacity,filter;
}
.topic-room .room-thought:not(.morphing),.goal-room .room-thought:not(.morphing){transition:opacity .22s ease,filter .22s ease,transform .22s ease,box-shadow .22s ease}
.thought-room.animation-orbit.topic-room .room-thought:not(.morphing),.thought-room.animation-orbit.goal-room .room-thought:not(.morphing){transition:opacity .22s ease,filter .22s ease,box-shadow .22s ease}
.topic-room .room-thought.morphing,.goal-room .room-thought.morphing,.room-node.morphing{transition:transform 1.9s cubic-bezier(.42,0,.18,1),width 1.35s cubic-bezier(.42,0,.18,1),height 1.35s cubic-bezier(.42,0,.18,1),min-height 1.35s cubic-bezier(.42,0,.18,1),border-radius 1.2s cubic-bezier(.42,0,.18,1),color .7s ease,opacity .65s ease}
.topic-room .room-thought b,.goal-room .room-thought b{font-size:9.2px;line-height:1.1;font-weight:560}
.topic-room.topic-hovering .room-thought:not(.hovered),.goal-room.goal-hovering .room-thought:not(.hovered){opacity:.36;filter:saturate(.74) blur(.15px)}
.topic-room .room-thought.hovered,.topic-room .room-thought:hover,.goal-room .room-thought.hovered,.goal-room .room-thought:hover{z-index:30;opacity:1;filter:brightness(1.06);transform:translate(-50%,-50%) scale(1.13);box-shadow:0 24px 44px rgba(58,42,26,.22),inset 0 1px 0 rgba(255,255,255,.72)}
.room-thought b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11.2px;line-height:1.1;font-weight:560;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.room-thought.terracotta{--node:var(--terracotta)}.room-thought.sage{--node:var(--sage)}.room-thought.blue{--node:var(--blue)}.room-thought.ochre{--node:var(--ochre)}.room-thought.sand{--node:var(--sand)}
.room-thought:hover,.room-thought:focus-visible,.need-point:hover,.need-point:focus-visible,.need-cluster:hover{z-index:32;filter:brightness(1.06);transform:translate(-50%,-50%) scale(1.06);outline:none}
.room-thought.dragging,.need-point.dragging,.topic-hub.dragging{z-index:36;cursor:grabbing;filter:brightness(1.08);animation:none}
@keyframes thoughtFloat{from{translate:-4px -3px;rotate:-.6deg}to{translate:5px 6px;rotate:.8deg}}
@keyframes roomNodeOrbit{
  0%{transform:translate(-50%,-50%) rotate(0deg) translateX(4px) rotate(0deg)}
  100%{transform:translate(-50%,-50%) rotate(360deg) translateX(4px) rotate(-360deg)}
}
@keyframes thoughtArriveFromBottom{
  0%{opacity:0;translate:0 118px;scale:.78;filter:blur(5px) saturate(.9)}
  42%{opacity:.82;translate:0 28px;scale:.94;filter:blur(1.6px) saturate(.96)}
  78%{opacity:1;translate:0 -4px;scale:1.015;filter:blur(0) saturate(1.02)}
  100%{opacity:1;translate:0 0;scale:1;filter:none}
}
@keyframes topicRise{from{opacity:0;scale:.9;translate:0 10px}to{opacity:1;scale:1;translate:0 0}}
@keyframes topicHubFadeIn{from{opacity:0;scale:.9;translate:0 8px}to{opacity:1;scale:1;translate:0 0}}
.room-ai-btn{min-height:36px;border:1px solid rgba(80,121,142,.28);border-radius:999px;color:#fff;background:linear-gradient(145deg,#7fa7b8,#75836f);box-shadow:0 10px 22px rgba(58,42,26,.14),inset 0 1px 0 rgba(255,255,255,.28);padding:0 16px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.room-settings-btn{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(100,76,55,.14);
  background:rgba(255,252,244,.78);
  color:#6f5538;
  box-shadow:0 8px 18px rgba(58,42,26,.09),inset 0 1px 0 rgba(255,255,255,.72);
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:17px;
  line-height:1;
}
.room-settings-btn:hover,.room-settings-btn:focus{
  outline:0;
  border-color:rgba(212,178,90,.46);
  background:#fff8eb;
}
.room-controls{position:absolute;right:14px;top:14px;z-index:14;display:flex;gap:5px;padding:4px;border-radius:999px;background:rgba(255,252,244,.68);border:1px solid rgba(100,76,55,.12);box-shadow:0 10px 22px rgba(58,42,26,.09);backdrop-filter:blur(8px);user-select:none}
.room-controls button{min-width:34px;height:28px;border:0;border-radius:999px;background:rgba(255,255,255,.58);font-weight:900;cursor:pointer;color:#4b4035;user-select:none;-webkit-user-select:none}.room-controls button:hover{background:#fff8eb}
.thought-room-footer{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.room-bottom-controls{
  display:contents;
}
.room-setting-select{
  height:36px;
  width:178px;
  max-width:178px;
  border:1px solid rgba(100,76,55,.12);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:0 10px 22px rgba(58,42,26,.08),inset 0 1px 0 rgba(255,255,255,.62);
  color:#4b4035;
  font:inherit;
  font-size:12px;
  font-weight:850;
  padding:0 28px 0 11px;
  cursor:pointer;
}
.room-setting-select:focus{outline:2px solid rgba(127,167,184,.42);outline-offset:2px}
.room-layout-select{width:188px;max-width:188px}
.thought-mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.thought-mode-tabs .btn{width:100%;box-shadow:none}.thought-mode-tabs .btn.active{background:#fff8eb;border-color:rgba(199,121,89,.48);color:#5d3b2c}

.reflection-grid{
  align-items:start;
}
.reflection-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.reflection-card-head h2{
  margin-bottom:0;
}
.reflection-today-card{
  background:linear-gradient(145deg,rgba(255,252,244,.66),rgba(246,239,226,.5));
}
.reflection-today-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.reflection-today-grid>div{
  border:1px solid rgba(100,76,55,.1);
  border-radius:18px;
  background:rgba(255,255,255,.3);
  padding:12px;
  min-width:0;
}
.reflection-today-grid>div>b,
.reflection-note-preview>b{
  display:block;
  color:rgba(46,39,31,.62);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.reflection-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.reflection-chip-list span{
  border:1px solid rgba(100,76,55,.1);
  border-radius:999px;
  background:rgba(255,252,244,.62);
  padding:7px 10px;
  color:rgba(46,39,31,.78);
  font-size:12px;
  font-weight:720;
  line-height:1.25;
}
.reflection-chip-list span b{
  margin-right:5px;
}
.reflection-chip-list.done span{
  background:rgba(152,163,141,.2);
  border-color:rgba(117,131,111,.18);
}
.reflection-note-preview{
  margin-top:12px;
  border-top:1px solid rgba(100,76,55,.1);
  padding-top:12px;
}
.reflection-note-preview p{
  color:var(--muted);
  line-height:1.45;
  margin:0;
}
.reflection-topic-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.reflection-topic-tabs .btn{
  box-shadow:none;
}
.reflection-topic-tabs .btn.active{
  background:#fff8eb;
  border-color:rgba(199,121,89,.45);
  color:#674431;
}
.reflection-topic-input{
  min-height:92px;
  border:1px solid rgba(100,76,55,.11);
  border-radius:20px;
  background:rgba(255,255,255,.32);
  padding:14px 15px;
  font-size:17px;
  resize:vertical;
}
.reflection-topic-input[readonly]{
  color:rgba(46,39,31,.75);
  cursor:default;
}
.reflection-character-section{
  overflow:hidden;
}
.reflection-selection-count{
  border:1px solid rgba(100,76,55,.11);
  border-radius:999px;
  background:rgba(255,255,255,.36);
  padding:8px 11px;
  color:rgba(46,39,31,.62);
  font-size:12px;
  font-weight:820;
  white-space:nowrap;
}
.reflection-character-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(118px,1fr));
  gap:10px;
}
.reflection-character-card{
  border:1px solid rgba(100,76,55,.12);
  border-radius:22px;
  background:rgba(255,252,244,.5);
  min-height:174px;
  padding:14px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  text-align:center;
  box-shadow:0 10px 22px rgba(58,42,26,.06),inset 0 1px 0 rgba(255,255,255,.62);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  position:relative;
  overflow:hidden;
}
.reflection-character-card:hover{
  transform:translateY(-2px);
  background:rgba(255,252,244,.68);
}
.reflection-character-card.active{
  border-color:rgba(199,121,89,.34);
  box-shadow:0 12px 28px rgba(58,42,26,.08),inset 0 0 0 2px rgba(255,255,255,.3);
}
.reflection-character-card.selected{
  background:linear-gradient(145deg,rgba(215,161,74,.34),rgba(255,248,235,.9));
  border-color:rgba(168,122,42,.68);
  box-shadow:0 16px 30px rgba(126,89,32,.14),inset 0 0 0 2px rgba(255,255,255,.52);
}
.reflection-character-card.selected:after{
  content:"\2713";
  position:absolute;
  top:10px;
  right:10px;
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#8f7a3a;
  color:#fffaf0;
  font-size:14px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(58,42,26,.16);
}
.reflection-character-card.selected .reflection-portrait{
  background:linear-gradient(145deg,#fff7df,rgba(215,161,74,.42));
  border-color:rgba(168,122,42,.46);
  color:#7f5b18;
}
.reflection-portrait{
  width:118px;
  height:92px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(255,248,235,.94),rgba(216,194,157,.28));
  border:1px solid rgba(100,76,55,.13);
  color:#8e6a2b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:520;
  overflow:hidden;
  box-shadow:0 8px 16px rgba(58,42,26,.08),inset 0 1px 0 rgba(255,255,255,.58);
}
.reflection-portrait img,
.reflection-detail-symbol img,
.reflection-voice-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.reflection-character-card b{
  font-size:15px;
}
.reflection-character-card small{
  color:var(--muted);
  line-height:1.25;
  font-size:12px;
}
.reflection-character-detail{
  margin-top:13px;
  border:1px solid rgba(100,76,55,.1);
  border-radius:22px;
  background:rgba(255,255,255,.3);
  padding:14px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
}
.reflection-detail-symbol{
  width:112px;
  height:90px;
  border-radius:20px;
  display:grid;
  place-items:center;
  border:1px solid rgba(100,76,55,.12);
  background:#fff8eb;
  color:#8e6a2b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  overflow:hidden;
  box-shadow:0 10px 20px rgba(58,42,26,.08);
}
.reflection-character-detail h3{
  font-size:18px;
  margin-bottom:5px;
}
.reflection-character-detail p{
  color:var(--muted);
  margin-bottom:11px;
  line-height:1.45;
}
.reflection-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.reflection-detail-grid span{
  border-radius:16px;
  background:rgba(246,239,226,.56);
  padding:10px 11px;
  color:rgba(46,39,31,.72);
  line-height:1.35;
  font-size:13px;
}
.reflection-detail-grid b{
  display:block;
  color:rgba(46,39,31,.56);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.reflection-start-row{
  display:flex;
  justify-content:center;
}
.reflection-start-row .btn{
  min-width:min(100%,260px);
  min-height:46px;
}
.reflection-result-card{
  background:linear-gradient(145deg,rgba(255,248,235,.76),rgba(238,226,207,.48));
}
.reflection-result-card.empty-result{
  text-align:center;
  padding:28px 20px;
}
.reflection-result-card.empty-result p{
  color:var(--muted);
  max-width:560px;
  margin:0 auto;
  line-height:1.5;
}
.reflection-voice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.reflection-voice-card{
  border:1px solid rgba(100,76,55,.11);
  border-radius:20px;
  background:rgba(255,252,244,.58);
  padding:13px;
  min-width:0;
}
.reflection-voice-card p{
  margin:10px 0 0;
  color:rgba(46,39,31,.72);
  line-height:1.42;
  font-size:13.5px;
}
.reflection-voice-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.reflection-voice-avatar{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#fff8eb;
  border:1px solid rgba(100,76,55,.11);
  color:#8e6a2b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  overflow:hidden;
}
.reflection-voice-head b,
.reflection-voice-head small{
  display:block;
}
.reflection-voice-head small{
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
}
.reflection-synthesis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.reflection-synthesis>div{
  border-radius:18px;
  background:rgba(152,163,141,.14);
  border:1px solid rgba(117,131,111,.15);
  padding:13px;
}
.reflection-synthesis b{
  display:block;
  margin-bottom:6px;
}
.reflection-synthesis p{
  color:var(--muted);
  line-height:1.42;
  margin:0;
  font-size:13.5px;
}
.reflection-psych-card{
  background:
    radial-gradient(circle at 8% 18%,rgba(215,161,74,.22),transparent 30%),
    linear-gradient(145deg,rgba(255,248,235,.84),rgba(226,212,189,.52));
  border-color:rgba(168,122,42,.2);
  overflow:hidden;
}
.reflection-psych-main{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
}
.reflection-psych-mark{
  width:94px;
  height:94px;
  border-radius:32px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(255,252,244,.92),rgba(216,194,157,.45));
  border:1px solid rgba(168,122,42,.2);
  box-shadow:0 18px 34px rgba(58,42,26,.1),inset 0 1px 0 rgba(255,255,255,.68);
  color:#8e6a2b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
}
.reflection-psych-copy h2{
  margin-bottom:8px;
}
.reflection-psych-copy p{
  color:rgba(46,39,31,.72);
  line-height:1.5;
  margin:0;
  max-width:760px;
}
.reflection-psych-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
}
.reflection-psych-points span{
  border:1px solid rgba(168,122,42,.16);
  border-radius:999px;
  background:rgba(255,252,244,.52);
  color:rgba(46,39,31,.68);
  font-size:12px;
  font-weight:760;
  padding:8px 11px;
}
.reflection-psych-summary{
  margin-top:16px;
  border:1px solid rgba(100,76,55,.1);
  border-radius:20px;
  background:rgba(255,252,244,.48);
  padding:13px;
}
.reflection-psych-summary b{
  display:block;
  margin-bottom:8px;
}
.reflection-psych-summary pre{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  color:rgba(46,39,31,.72);
  font:600 13px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;
}
.reflection-psych-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.reflection-history-card .thought-list{
  max-height:360px;
  overflow:auto;
  padding-right:2px;
}
.need-room{padding:0 18px}.need-label-row{position:absolute;left:18px;right:18px;z-index:3;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.need-label-row.top{top:16px}.need-label-row.bottom{bottom:18px}
.need-label-row span{border-radius:12px;padding:9px 4px;text-align:center;font-size:11px;line-height:1.05;font-weight:850;background:rgba(255,255,255,.42);border:1px solid rgba(100,76,55,.1)}.need-label-row.top span{background:rgba(138,164,174,.2)}.need-label-row.bottom span{background:rgba(199,121,89,.14)}
.need-midline{position:absolute;left:26px;right:26px;top:50%;border-top:1px dashed rgba(100,76,55,.22)}
.need-point{position:absolute;z-index:4;width:var(--size);height:var(--size);min-width:0;min-height:0;padding:0;border-radius:52% 48% 46% 54%/50% 44% 56% 50%;border:1px solid rgba(255,255,255,.78);transform:translate(-50%,-50%);cursor:grab;box-shadow:0 12px 24px rgba(58,42,26,.16),inset 0 1px 0 rgba(255,255,255,.72);animation:needPointFloat 6.5s ease-in-out infinite alternate;animation-delay:var(--delay);touch-action:none}
.need-point.need-enter{animation:needPointArrive .72s cubic-bezier(.2,.82,.18,1) both,needPointFloat 6.5s ease-in-out infinite alternate;animation-delay:var(--delay),calc(var(--delay) + .72s)}
.need-cluster{position:absolute;z-index:5;width:var(--size);height:var(--size);border-radius:45% 55% 50% 50%/52% 45% 55% 48%;border:1px solid rgba(255,255,255,.82);transform:translate(-50%,-50%) scale(.7);opacity:0;cursor:pointer;box-shadow:0 16px 28px rgba(58,42,26,.18),inset 0 1px 0 rgba(255,255,255,.75);animation:needClusterAppear .42s cubic-bezier(.2,.82,.18,1) forwards,thoughtFloat 7.2s ease-in-out infinite alternate;animation-delay:var(--delay),calc(var(--delay) + .42s);display:grid;place-items:center;color:rgba(46,39,31,.76);font-weight:900;font-size:13px;touch-action:none}
.need-cluster span{pointer-events:none}
.need-positive{background:radial-gradient(circle at 35% 30%,#ffffff,rgba(138,164,174,.86))}.need-negative{background:radial-gradient(circle at 35% 30%,#fff5ed,rgba(199,121,89,.86))}
@keyframes needPointArrive{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.45)}65%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) translate(0,0) scale(1)}}
@keyframes needPointFloat{from{translate:0 0;rotate:0deg}to{translate:.08px .08px;rotate:.04deg}}
@keyframes needClusterAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.room-empty{position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);color:var(--muted);font-weight:760}
.topic-summary-grid,.need-summary-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.summary-row{width:100%;display:flex;justify-content:space-between;gap:10px;border:1px solid rgba(100,76,55,.1);border-radius:13px;background:rgba(255,255,255,.34);padding:9px 10px;text-align:left;cursor:pointer}.summary-row span{color:var(--muted);font-size:12px}
.collect-summary-list{display:grid;gap:14px}
.collect-summary-group{
  border:1px solid rgba(100,76,55,.1);
  border-radius:18px;
  background:rgba(255,252,244,.36);
  overflow:hidden;
}
.collect-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  background:rgba(255,255,255,.34);
  border-bottom:1px solid rgba(100,76,55,.08);
}
.collect-summary-head b{font-size:13px;color:#3e342a}
.collect-summary-head span{
  min-width:26px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(127,167,184,.18);
  color:#4b4035;
  font-size:12px;
  font-weight:850;
}
.collect-summary-rows{display:grid}
.collect-summary-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:0;
  border-bottom:1px solid rgba(100,76,55,.07);
  background:transparent;
  padding:10px 13px;
  text-align:left;
  cursor:pointer;
}
.collect-summary-row:last-child{border-bottom:0}
.collect-summary-row:hover{background:rgba(255,255,255,.32)}
.collect-summary-main{display:grid;gap:3px;min-width:0}
.collect-summary-main b{
  color:#3e342a;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.collect-summary-main small{
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.collect-summary-tags{display:flex;gap:5px;justify-content:flex-end;max-width:260px;overflow:hidden}
.collect-summary-tags em{
  font-style:normal;
  white-space:nowrap;
  border-radius:999px;
  padding:4px 7px;
  background:rgba(117,131,111,.12);
  color:#5c5045;
  font-size:11px;
  font-weight:760;
}
.need-balance-list{display:grid;gap:12px}
.need-balance-row{
  border:1px solid rgba(100,76,55,.1);
  border-radius:18px;
  background:rgba(255,252,244,.38);
  padding:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34);
}
.need-balance-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.need-balance-top b{color:#3e342a;font-size:14px}
.need-balance-top span{
  min-width:44px;
  text-align:center;
  border-radius:999px;
  padding:4px 8px;
  font-weight:850;
  font-size:12px;
  background:rgba(255,255,255,.45);
  color:#5c5045;
}
.need-balance-row.is-loaded .need-balance-top span{background:rgba(199,121,89,.16);color:#7a3f2b}
.need-balance-row.is-resourceful .need-balance-top span{background:rgba(127,167,184,.18);color:#2f6673}
.need-balance-bar{
  position:relative;
  height:18px;
  border-radius:999px;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(199,121,89,.72) 0%,rgba(216,194,157,.52) 50%,rgba(127,167,184,.74) 100%);
  box-shadow:inset 0 1px 2px rgba(58,42,26,.12),0 1px 0 rgba(255,255,255,.5);
}
.need-balance-bar:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(255,252,244,.72);
}
.need-balance-marker{
  position:absolute;
  left:var(--marker);
  top:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff8eb;
  box-shadow:0 4px 10px rgba(58,42,26,.18),inset 0 0 0 4px rgba(74,64,52,.16);
}
.need-balance-copy{display:grid;gap:5px;margin-top:10px}
.need-balance-copy p{margin:0;color:var(--muted);line-height:1.38;font-size:13px}
.need-balance-copy strong{color:#4b4035}
.need-balance-thoughts{display:grid;gap:6px;margin-top:10px}
.archive-card{background:radial-gradient(circle at 12% 12%,rgba(127,167,184,.12),transparent 34%),rgba(255,252,244,.5)}
.archive-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.archive-calendar-head h2{margin:0;text-transform:capitalize}
.archive-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.archive-dow{min-height:30px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:850}
.archive-day{min-height:42px;border:1px solid rgba(100,76,55,.1);border-radius:14px;background:rgba(255,255,255,.34);color:#4b4035;cursor:pointer;position:relative;font-weight:820;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.archive-day:hover,.archive-day:focus-visible{transform:translateY(-1px);border-color:rgba(127,167,184,.5);background:rgba(127,167,184,.12);box-shadow:0 10px 24px rgba(58,42,26,.08);outline:none}
.archive-day.has{background:linear-gradient(to top,rgba(127,167,184,.18),rgba(255,255,255,.42));border-color:rgba(127,167,184,.22)}
.archive-day.productive{background:linear-gradient(to top,rgba(210,154,69,.2),rgba(255,255,255,.44));border-color:rgba(210,154,69,.28)}
.archive-day.active{outline:2px solid rgba(127,167,184,.76);outline-offset:2px;background:linear-gradient(to top,rgba(127,167,184,.26),rgba(255,255,255,.5));box-shadow:0 16px 28px rgba(58,42,26,.1)}
.archive-star{position:absolute;right:7px;top:4px;color:#d29a45;font-size:12px}
.archive-chartbox{height:320px;border:1px solid rgba(100,76,55,.09);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,252,244,.26));padding:10px;overflow:hidden}
.archive-chartbox canvas{display:block;width:100%;height:100%}
.archive-toggles{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.archive-toggle{color:var(--metric);border-color:color-mix(in srgb,var(--metric) 30%,rgba(100,76,55,.12));box-shadow:none}
.archive-toggle.on{background:color-mix(in srgb,var(--metric) 18%,rgba(255,255,255,.48));border-color:color-mix(in srgb,var(--metric) 55%,rgba(100,76,55,.1));color:#3c332a}
.archive-logbook-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.archive-logbook-head h2{margin:0}
.date-badge{border:1px solid rgba(127,167,184,.28);background:rgba(127,167,184,.1);color:#4b4035;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}
.archive-log-lines{display:grid;gap:10px}
.archive-log-block{border:1px solid rgba(100,76,55,.09);border-radius:18px;background:rgba(255,255,255,.32);padding:13px}
.archive-log-block b{display:block;margin-bottom:8px}
.archive-log-block p{margin:0;color:var(--muted);line-height:1.45}
.archive-log-list{display:grid;gap:7px}
.archive-log-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(117,131,111,.08);border:1px solid rgba(117,131,111,.13)}
.thought-input-strip{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.thought-input-strip .soft-panel{min-height:0}.thought-input-strip textarea{min-height:92px;font-size:17px}
.vision-note{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.25;color:#3e342a}
.today-thought-card{position:relative}
.today-room-stage{
  grid-column:1/-1;
}
.today-room-stage .thought-room{
  min-height:clamp(420px,54vh,580px);
  cursor:default;
  touch-action:pan-y;
}
.today-room-stage .room-thought,
.today-room-stage .need-point,
.today-room-stage .topic-hub,
.today-room-stage .goal-hub{
  cursor:pointer;
  touch-action:pan-y;
}
.today-compass-overlay{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:16;
  pointer-events:none;
}
.today-compass-overlay .today-compass-row{
  --compass-beam-width:74px;
  --compass-beam-height:40px;
  --compass-note-width:min(430px,calc(100vw - 220px));
  pointer-events:auto;
}
.today-compass-overlay .compass-symbol{
  width:58px;
  height:58px;
  flex-basis:58px;
}
.today-compass-overlay .lighthouse-icon{
  width:58px;
  height:58px;
  transform:translateY(11px) scale(1.12);
}
.today-compass-overlay .compass-question .vision-note{
  font-size:13px;
  min-height:var(--compass-beam-height);
  padding:10px 14px;
}
.today-compass-overlay .compass-card.compass-open .compass-question{
  max-width:min(520px,calc(100vw - 170px));
}
.today-compass-overlay .compass-card.compass-open .compass-beam{
  max-width:var(--compass-beam-width);
}
.today-compass-row{
  --compass-beam-width:92px;
  --compass-beam-height:46px;
  --compass-beam-gap:8px;
  --compass-radius:8px;
  --compass-note-width:min(570px,calc(100vw - 232px));
  --compass-shared-width:calc(var(--compass-beam-width) + var(--compass-beam-gap) + var(--compass-note-width));
  --compass-shared-bg:linear-gradient(90deg,rgba(255,252,244,.96) 0%,rgba(252,244,223,.88) 50%,rgba(248,232,190,.56) 84%,rgba(244,222,174,.42) 100%);
  --compass-border:rgba(202,166,94,.34);
  --compass-ease:cubic-bezier(.2,.82,.2,1);
  --compass-beam-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 46' preserveAspectRatio='none'%3E%3Cpath d='M7 23 Q7 20 12 19 L91 2 Q102 2 102 12 L102 34 Q102 44 91 44 L12 27 Q7 26 7 23 Z' fill='black'/%3E%3C/svg%3E");
  --compass-beam-border:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 46' preserveAspectRatio='none'%3E%3Cpath d='M7 23 Q7 20 12 19 L91 2 Q102 2 102 12 L102 34 Q102 44 91 44 L12 27 Q7 26 7 23 Z' fill='none' stroke='%23caa65e' stroke-opacity='.34' stroke-width='1'/%3E%3C/svg%3E");
  display:inline-flex;
  align-items:flex-start;
  gap:0;
  min-height:38px;
  margin:0;
  max-width:100%;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.compass-symbol{
  position:relative;
  width:76px;
  height:76px;
  flex:0 0 76px;
  border-radius:999px;
  border:1px solid rgba(80,121,142,.24);
  background:linear-gradient(145deg,rgba(255,252,244,.82),rgba(138,164,174,.22));
  box-shadow:0 8px 18px rgba(58,42,26,.09),inset 0 1px 0 rgba(255,255,255,.72);
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
  overflow:hidden;
}
.lighthouse-icon{
  width:76px;
  height:76px;
  display:block;
  object-fit:contain;
  pointer-events:none;
  transform:translateY(15px) scale(1.12);
  transform-origin:center bottom;
}
.compass-beam{
  position:relative;
  width:var(--compass-beam-width);
  max-width:0;
  height:var(--compass-beam-height);
  flex:0 0 auto;
  margin:-6px var(--compass-beam-gap) 0 3px;
  opacity:0;
  transform:translateX(-10px) scaleX(.72);
  transform-origin:left center;
  pointer-events:none;
  background:var(--compass-shared-bg) left/var(--compass-shared-width) 100% no-repeat;
  -webkit-mask:var(--compass-beam-mask) center/100% 100% no-repeat;
  mask:var(--compass-beam-mask) center/100% 100% no-repeat;
  filter:drop-shadow(0 10px 16px rgba(202,166,94,.12));
  transition:max-width .48s var(--compass-ease),opacity .24s ease,transform .48s var(--compass-ease);
}
.compass-beam:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:var(--compass-beam-border) center/100% 100% no-repeat;
}
.compass-question{
  display:inline-flex;
  align-items:center;
  max-width:0;
  opacity:0;
  overflow:hidden;
  white-space:nowrap;
  transform:translateX(-12px);
  transform-origin:left center;
  border:0;
  padding:0;
  margin-top:-6px;
  margin-left:0;
  background:transparent;
  cursor:pointer;
  transition:max-width .48s var(--compass-ease),opacity .24s ease,transform .48s var(--compass-ease);
}
.compass-question .vision-note{
  margin:0;
  width:var(--compass-note-width);
  min-height:var(--compass-beam-height);
  display:flex;
  align-items:center;
  border-radius:var(--compass-radius);
  background:var(--compass-shared-bg) calc((var(--compass-beam-width) + var(--compass-beam-gap)) * -1) center/var(--compass-shared-width) 100% no-repeat,rgba(255,252,244,.9);
  border:1px solid var(--compass-border);
  color:rgba(46,39,31,.68);
  padding:13px 17px;
  font-size:15px;
  line-height:1.18;
  font-weight:780;
  box-shadow:0 12px 26px rgba(202,166,94,.1),inset 0 1px 0 rgba(255,255,255,.72);
}
.compass-card:hover .compass-symbol{border-color:rgba(80,121,142,.38);box-shadow:0 10px 20px rgba(58,42,26,.11)}
.compass-card.compass-hit .compass-symbol{animation:compassHit .82s cubic-bezier(.18,.9,.2,1);box-shadow:0 0 0 8px rgba(138,164,174,.16),0 14px 28px rgba(58,42,26,.12)}
.compass-card.compass-open .compass-question{
  max-width:min(760px,calc(100vw - 226px));
  opacity:1;
  transform:translateX(0);
}
.compass-card.compass-open .compass-beam{
  max-width:92px;
  opacity:1;
  transform:translateX(0) scaleX(1);
}
.compass-ghost{
  position:fixed;
  z-index:9999;
  pointer-events:none;
  padding:0;
  border:0;
  border-radius:20px;
  background:transparent;
  overflow:visible;
  transform-origin:center;
  animation:compassTransfer 1.15s cubic-bezier(.18,.86,.18,1) forwards;
  will-change:transform,opacity,filter;
}
.compass-ghost .vision-note{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  width:100%;
  height:100%;
  margin:0;
  border-radius:20px;
  background:
    linear-gradient(145deg,rgba(255,252,244,.92),rgba(246,225,166,.38)),
    rgba(255,252,244,.68);
  border:1px solid rgba(202,166,94,.22);
  color:rgba(46,39,31,.68);
  padding:13px 17px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.18;
  font-weight:780;
  box-shadow:0 16px 34px rgba(202,166,94,.16),inset 0 1px 0 rgba(255,255,255,.72);
}
.compass-ghost p{pointer-events:none;user-select:none}
@keyframes compassHit{
  0%{transform:scale(1)}
  18%{transform:scale(.93) rotate(-1deg)}
  42%{transform:scale(1.055) rotate(.65deg)}
  70%{transform:scale(.99) rotate(-.25deg)}
  100%{transform:scale(1)}
}
@keyframes compassTransfer{
  0%{opacity:.94;transform:translate3d(0,0,0) scale(1)}
  16%{opacity:1;transform:translate3d(0,0,0) scale(.92) rotate(-1deg)}
  58%{opacity:.62;transform:translate3d(calc(var(--fly-x) * .72),calc(var(--fly-y) * .72),0) scale(.48) rotate(1.4deg);filter:blur(.1px)}
  100%{opacity:0;transform:translate3d(var(--fly-x),var(--fly-y),0) scale(.14) rotate(3deg);filter:blur(1.2px)}
}
@keyframes roomOrbIdle{
  0%{transform:translate(-50%,-50%) translateY(0) rotate(-.5deg)}
  100%{transform:translate(-50%,-50%) translateY(-5px) rotate(.6deg)}
}
@keyframes sentenceSoftIn{
  from{opacity:0;transform:translateY(4px);filter:blur(.6px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
#toast{
  position:fixed;
  z-index:2147483000;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(20px);
  opacity:0;
  pointer-events:none;
  border-radius:999px;
  background:#3a3127;
  color:#fff;
  padding:10px 15px;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
  transition:.22s ease;
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){
  .topbar{height:auto;align-items:flex-start;flex-direction:column;padding:18px}
  main{padding:18px}
  .home-intro{grid-template-columns:1fr}
  .home-visual{min-height:300px;border-radius:28px}
  .hero{grid-template-columns:1fr}
  .card,.span-4,.span-8{grid-column:1/-1}
  .thought-input-strip{grid-template-columns:1fr}
  .thought-mode-tabs{grid-template-columns:1fr 1fr}
  .animation-tuning-grid{grid-template-columns:1fr}
  .thought-room-toolbar{grid-template-columns:1fr;align-items:stretch}
  .thought-room-title{text-align:center}
  .room-toolbar-actions{justify-content:center}
  .thought-room{min-height:520px}
  .need-label-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .check-card-head{flex-direction:column;gap:8px}
  .checkin-sentence{max-width:100%;text-align:left}
  .topic-summary-grid,.need-summary-table{grid-template-columns:1fr}
  .action-plan-row{grid-template-columns:1fr;gap:8px}
  .step-list{columns:1}
  .action-step-tab{flex-basis:188px;min-width:188px;height:116px}
  .check-grid-wide{grid-template-columns:1fr}
  .goal-suggestions-head,.goal-suggestions-toolbar{align-items:stretch;flex-direction:column}
  .goal-suggestions-toolbar .button-row{display:grid;grid-template-columns:1fr}
  .selection-count{text-align:center}
  .modal-backdrop{padding:172px 18px 18px}
  .modal-panel{max-height:calc(100vh - 190px)}
  .thought-editor-meta{grid-template-columns:1fr}
}

@media(max-width:620px){
  body{min-width:0}
  main{padding:12px}
  .card{border-radius:22px;padding:16px}
  .brand{flex-wrap:wrap}
  .brand-tab{padding:9px 12px}
  .home-copy{margin-top:-42px;border-radius:24px;padding:22px}
  .home-copy p{font-size:15px;line-height:1.55}
  .home-visual{min-height:230px;border-radius:24px}
  .home-hero-copy{left:18px;right:18px;bottom:48px}
  .home-hero-copy h1{font-size:28px;margin-bottom:7px}
  .home-hero-copy p{font-size:13px;line-height:1.32}
  .room-head{align-items:flex-start;gap:10px}
  .room-head h2{font-size:24px}
  .thought-room-toolbar{gap:10px}
  .animation-tuning-bar{padding:9px 13px}
  .animation-tuning-body{padding:12px}
  .animation-tuning-actions{align-items:stretch;flex-direction:column}
  .animation-tuning-actions>div{justify-content:stretch}
  .animation-tuning-actions .btn{flex:1}
  .animation-tuning-head{align-items:stretch;flex-direction:column}
  .animation-tuning-row{grid-template-columns:1fr;gap:8px}
  .thought-head-tools{width:100%;justify-content:center}
  .thought-range-toggle{gap:2px;padding:3px}
  .thought-range-toggle button{min-width:30px;height:28px;padding:0 6px}
  .thought-head-tools .pill{padding:7px 9px;font-size:11px}
  .thought-room{min-height:clamp(560px,74vh,680px);border-radius:24px;box-shadow:inset 0 0 0 3px rgba(255,252,244,.34)}
  .today-room-stage .thought-room{min-height:clamp(300px,42vh,410px)}
  .today-compass-overlay{left:12px;bottom:12px}
  .today-compass-overlay .today-compass-row{
    --compass-beam-width:54px;
    --compass-beam-height:34px;
    --compass-beam-gap:5px;
    --compass-note-width:calc(100vw - 144px);
  }
  .today-compass-overlay .compass-symbol{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .today-compass-overlay .lighthouse-icon{
    width:48px;
    height:48px;
    transform:translateY(9px) scale(1.12);
  }
  .today-compass-overlay .compass-question .vision-note{
    font-size:12px;
    padding:9px 11px;
  }
  .today-compass-overlay .compass-card.compass-open .compass-question{
    max-width:calc(100vw - 124px);
  }
  #view-today .hero{
    margin-bottom:10px;
  }
  #view-today .hero .subtitle{
    display:none;
  }
  #view-today .hero .pill{
    display:none;
  }
  #view-today .hero h1{
    font-size:34px;
    margin-bottom:0;
  }
  .today-thought-card{padding:12px}
  .check-card-wide{padding:14px 12px}
  .check-card-head{margin-bottom:11px}
  .check-grid-wide{gap:10px}
  .check-grid-wide .check-row{padding:10px 11px 9px;border-radius:18px}
  .today-ai-task-card{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
    padding:13px;
  }
  .today-ai-task-card h2{font-size:17px}
  .today-ai-task-card .btn{width:100%}
  .today-composer{border-radius:22px;padding:10px 12px}
  .today-composer textarea{min-height:76px;font-size:17px}
  .thought-room:before{inset:10px;border-radius:20px}
  .room-controls{gap:4px;padding:4px;max-width:100%}
  .room-controls button{min-width:30px;height:29px;font-size:12px;padding:0 8px}
  .thought-room-footer{align-items:center;flex-direction:row;gap:7px}
  .room-ai-btn{min-height:34px;padding:0 14px;font-size:13px}
  .room-settings-btn{width:36px;height:36px;font-size:16px}
  .animation-tuning-top{align-items:stretch;flex-direction:column}
  .animation-tuning-selects .room-bottom-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .room-setting-select{width:104px;max-width:104px;height:34px;font-size:11px;padding-left:8px;padding-right:22px}
  .room-layout-select{width:116px;max-width:116px}
  .animation-tuning-selects .room-setting-select,
  .animation-tuning-selects .room-layout-select{width:100%;max-width:none}
  .room-center{min-width:128px;min-height:64px;padding:11px 14px;font-size:14px}
  .topic-room.animation-linear .thought-room-orb,
  .goal-room.animation-linear .thought-room-orb,
  .topic-room.animation-orbit .thought-room-orb,
  .goal-room.animation-orbit .thought-room-orb{
    top:24px;
    left:50%;
    width:66px;
    height:66px;
    min-width:0;
    min-height:0;
    padding:9px;
    transform:translateX(-50%);
    font-size:10.5px;
    gap:1px;
    z-index:1;
    opacity:.62;
    pointer-events:none;
    animation:none;
    box-shadow:0 10px 22px rgba(170,115,51,.1),0 0 0 8px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.64),inset 0 -8px 14px rgba(112,72,35,.1);
  }
  .topic-room.animation-linear .thought-room-orb::before,
  .goal-room.animation-linear .thought-room-orb::before,
  .topic-room.animation-orbit .thought-room-orb::before,
  .goal-room.animation-orbit .thought-room-orb::before{
    transform:translateY(-3px);
    font-size:15px;
  }
  .room-thought{width:50px;height:50px;min-height:0;padding:5px}
  .room-thought b{font-size:7.4px;line-height:1;-webkit-line-clamp:3}
  .modal-backdrop{padding:170px 10px 10px;align-items:start;justify-items:center}
  .modal-panel{max-height:calc(100vh - 182px);border-radius:22px;padding:16px}
  .thought-editor-backdrop{
    padding:8px;
    align-items:end;
    justify-items:stretch;
  }
  .thought-editor-modal{
    width:100%;
    max-height:calc(100dvh - 16px);
    min-height:min(620px,calc(100dvh - 16px));
    border-radius:24px 24px 18px 18px;
    padding:14px;
    overflow:auto;
  }
  .thought-editor-modal .modal-head{
    gap:10px;
    margin-bottom:12px;
  }
  .thought-editor-modal .modal-head .subtitle{
    display:none;
  }
  .thought-editor-meta{
    gap:9px;
    margin-bottom:10px;
  }
  .thought-editor-meta input,
  .thought-editor-meta select,
  .thought-editor-text textarea{
    font-size:16px;
    padding:11px 12px;
  }
  .thought-editor-meta>div{
    min-height:48px;
    padding:8px 11px;
  }
  .thought-editor-text textarea{
    min-height:clamp(180px,36dvh,300px);
    resize:none;
  }
  .thought-editor-actions{
    position:sticky;
    bottom:-14px;
    z-index:2;
    background:linear-gradient(180deg,rgba(255,252,244,.78),rgba(246,239,226,.98) 36%);
    backdrop-filter:blur(8px);
    padding:12px 0 2px;
    margin-top:12px;
  }
  .modal-head{flex-direction:column}
  .modal-head h2{font-size:24px}
  .modal-close{width:100%}
  .modal-toolbar{align-items:stretch;flex-direction:column}
  .modal-toolbar .button-row{display:grid;grid-template-columns:1fr}
  .thought-editor-actions .button-row{display:grid;grid-template-columns:1fr 1fr}
  .thought-editor-text textarea{min-height:160px}
  .selection-count{text-align:center}
  .goal-suggestions-head h2{font-size:23px}
  .topic-hub{width:min(var(--hub-w,120px),96px);height:min(var(--hub-h,70px),62px);min-width:0;min-height:min(var(--hub-h,70px),62px);padding:8px 9px}
  .topic-hub b{font-size:10px;line-height:1.04;overflow-wrap:anywhere}
  .topic-hub span{font-size:10px}
  .topic-room .room-thought,.goal-room .room-thought{width:52px;height:52px;min-height:0;padding:5px}
  .topic-room .room-thought b,.goal-room .room-thought b{font-size:7.6px;line-height:1}
  .need-room{padding:0}
  .need-label-row{left:8px;right:8px;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}
  .need-label-row.top{top:12px}
  .need-label-row.bottom{bottom:12px}
  .need-label-row span{border-radius:9px;padding:6px 1px;font-size:8px;line-height:1;overflow-wrap:anywhere;hyphens:auto}
  .need-midline{left:14px;right:14px}
.need-point{box-shadow:0 8px 16px rgba(58,42,26,.14),inset 0 1px 0 rgba(255,255,255,.72)}
  .action-card-panel{
    padding:14px 0 16px;
    overflow:hidden;
  }
  .action-card-panel>.eyebrow,
  .action-card-panel>h2{
    padding-inline:14px;
  }
  .today-action-head{
    align-items:flex-start;
    padding-inline:14px;
    margin-bottom:10px;
  }
  .today-action-head h2{font-size:22px}
  .today-action-head p{font-size:12px}
  .today-progress-badge{
    min-width:62px;
    min-height:48px;
    border-radius:15px;
  }
  .action-card-deck{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(142px,154px);
    grid-template-columns:none;
    justify-content:start;
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    padding:2px 14px 10px;
    scrollbar-width:thin;
  }
  .pixel-action-card{scroll-snap-align:start}
  .pixel-card-face{padding:13px 12px}
  .pixel-card-front b{font-size:14px}
  .pixel-card-front small{font-size:11px}
  .pixel-card-front span{font-size:12px;line-height:1.24}
  .today-card-text{-webkit-line-clamp:4}
  .today-card-meta{gap:4px;margin-top:7px}
  .today-source-goal{display:none}
  .today-task-toggle{
    width:29px;
    height:29px;
    top:8px;
    right:8px;
  }
  .today-card-replace{
    width:29px;
    height:29px;
    top:8px;
    left:8px;
  }
  .bonus-lock-label{
    bottom:14px;
    font-size:10px;
  }
  .today-completion-card{
    padding:14px;
    gap:12px;
  }
  .today-completion-head{
    flex-direction:column;
    gap:8px;
  }
  .today-completion-head h2{font-size:22px}
  .today-completion-columns{
    grid-template-columns:1fr;
    gap:10px;
  }
  .today-note-field textarea{
    min-height:66px;
    font-size:14px;
  }
  .today-completion-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .today-completion-actions .btn{
    width:100%;
  }
  .reflection-card-head{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  .reflection-card-head .btn,
  .reflection-topic-tabs .btn{
    width:100%;
  }
  .reflection-today-grid,
  .reflection-detail-grid,
  .reflection-synthesis,
  .reflection-voice-grid{
    grid-template-columns:1fr;
  }
  .reflection-topic-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .reflection-topic-input{
    min-height:104px;
    font-size:16px;
  }
  .reflection-character-section{
    padding-inline:12px;
  }
  .reflection-character-row{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:156px;
    grid-template-columns:none;
    justify-content:start;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    padding:2px 0 10px;
    scrollbar-width:thin;
  }
  .reflection-character-card{
    min-height:166px;
    scroll-snap-align:start;
  }
  .reflection-character-detail{
    grid-template-columns:1fr;
    text-align:left;
  }
  .reflection-detail-symbol{
    width:112px;
    height:90px;
  }
  .reflection-start-row .btn{
    width:100%;
  }
  .reflection-selection-count{
    width:max-content;
  }
  .reflection-psych-main{
    grid-template-columns:1fr;
    gap:12px;
  }
  .reflection-psych-mark{
    width:72px;
    height:72px;
    border-radius:24px;
    font-size:34px;
  }
  .reflection-psych-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .reflection-psych-actions .btn{
    width:100%;
  }
  .action-goals-head{align-items:stretch;flex-direction:column;gap:8px}
  .action-goals-head h2{font-size:24px}
  .action-goal-card{border-radius:20px;padding:14px}
  .action-goal-top{align-items:stretch;flex-direction:column}
  .action-goal-actions{justify-content:space-between}
  .action-goal-top h2{font-size:20px}
  .action-step-slider{gap:9px;padding-bottom:14px}
  .action-step-tab{flex-basis:174px;min-width:174px;height:112px;padding-right:34px}
  .action-step-tab b{font-size:11.8px;line-height:1.16}
  .action-step-divider{min-height:106px}
  .action-editor-actions{align-items:stretch;flex-direction:column-reverse;gap:10px}
  .action-editor-confirm-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .action-editor-danger-zone .btn{width:100%}
  .action-editor-fields{grid-template-columns:1fr;gap:10px}
  .action-editor-modal .thought-editor-text textarea,
  .action-editor-lines textarea{
    min-height:170px;
    max-height:170px;
    height:170px;
  }
  .thought-mode-tabs{grid-template-columns:1fr 1fr;gap:8px}
  .thought-mode-tabs .btn{padding:11px 8px;font-size:13px}
}

@media(max-width:420px){
  .thought-room{min-height:600px}
  .room-thought{width:48px;height:48px;min-height:0;padding:5px}
  .topic-room .room-thought,.goal-room .room-thought{width:50px;height:50px;min-height:0}
  .topic-hub{width:min(var(--hub-w,112px),88px);height:min(var(--hub-h,64px),58px);min-height:min(var(--hub-h,64px),58px)}
  .topic-hub b{font-size:9px}
  .need-label-row span{font-size:7.4px;padding:5px 1px}
}
