:root{
  --bg:#f6f1e7;
  --ink:#111111;
  --deep:#1d1d1f;
  --muted:#555965;
  --soft:#727680;
  --gold:#b8944d;
  --gold-dark:#8b6728;
  --paper:#fffaf1;
  --paper-white:rgba(255,255,255,.76);
  --line:rgba(42,35,24,.13);
  --line-gold:rgba(184,148,77,.28);
  --shadow:0 32px 90px rgba(28,22,12,.18);
  --shadow-soft:0 18px 55px rgba(28,22,12,.08);
  --radius:32px;
  --sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;
}

body{
  min-height:100vh;
  padding:34px 22px;
  color:var(--ink);
  font-family:var(--sans);
  background:
    radial-gradient(circle at 16% 12%, rgba(184,148,77,.20), transparent 31%),
    radial-gradient(circle at 84% 10%, rgba(29,29,31,.08), transparent 30%),
    linear-gradient(180deg, #faf6ec 0%, #ede7dc 100%);
}

button,
input,
textarea,
select{
  font:inherit;
}

button{
  cursor:pointer;
}

.loading-screen{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 40%, rgba(184,148,77,.18), transparent 38%),
    radial-gradient(circle at 20% 15%, rgba(184,148,77,.14), transparent 32%),
    linear-gradient(180deg, #faf6ec 0%, #ede7dc 100%);
  opacity:1;
  transition:opacity 700ms ease;
  pointer-events:none;
}

.loading-screen img{
  width:min(78vw, 360px);
  max-height:74vh;
  object-fit:contain;
  filter:drop-shadow(0 28px 42px rgba(78,54,18,.22));
  opacity:0;
  transform:scale(.96);
  animation:justiceLoad 2.25s ease forwards;
}

.page{
  width:min(1420px, 100%);
  min-height:calc(100vh - 68px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.topbar{
  min-height:66px;
  display:grid;
  place-items:center;
  border:1px solid rgba(184,148,77,.34);
  border-radius:26px;
  background:rgba(255,255,255,.66);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
  padding:14px 20px;
}

.topbar-title{
  color:var(--deep);
  text-align:center;
  font-family:var(--serif);
  font-size:24px;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:950;
  white-space:nowrap;
}

.workbench-shell{
  flex:1;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:1fr;
  border:1px solid rgba(184,148,77,.48);
  border-radius:var(--radius);
  background:
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.82) 45%, rgba(255,255,255,.48) 100%),
    radial-gradient(circle at 80% 18%, rgba(184,148,77,.18), transparent 31%),
    linear-gradient(135deg, #fffaf1, #efe6d8);
  box-shadow:var(--shadow);
  isolation:isolate;
}

.workbench-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(184,148,77,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,148,77,.055) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.04) 58%, transparent 100%);
  pointer-events:none;
  z-index:0;
}

.workbench-shell::after{
  content:"";
  position:absolute;
  right:6%;
  top:8%;
  width:min(36vw, 460px);
  aspect-ratio:1;
  border:1px solid rgba(184,148,77,.18);
  border-radius:50%;
  background:radial-gradient(circle, rgba(184,148,77,.09), transparent 68%);
  box-shadow:0 0 0 16px rgba(184,148,77,.035);
  pointer-events:none;
  z-index:0;
}

.lady-justice-art{
  position:absolute;
  right:clamp(34px, 6vw, 104px);
  top:clamp(125px, 12vw, 176px);
  width:clamp(330px, 31vw, 455px);
  max-height:560px;
  object-fit:contain;
  object-position:center top;
  opacity:.16;
  filter:drop-shadow(0 34px 52px rgba(78,54,18,.18));
  pointer-events:none;
  user-select:none;
  z-index:1;
}

.pretool{
  position:relative;
  z-index:3;
  width:100%;
  min-height:calc(100vh - 190px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:54px 28px;
}

.pretool-card{
  width:min(760px, 100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.primary-btn{
  position:relative;
  width:min(700px, 92vw);
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:0 42px;
  color:#ffffff;
  background:
    radial-gradient(circle at 50% 0%, rgba(184,148,77,.40), transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(184,148,77,.20), transparent 52%),
    linear-gradient(180deg, #191919 0%, #050505 100%);
  box-shadow:
    0 38px 76px rgba(28,22,12,.30),
    0 14px 26px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -18px 28px rgba(0,0,0,.28);
  font-family:var(--sans);
  font-size:clamp(18px, 2vw, 24px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.02em;
  text-align:center;
  overflow:hidden;
  animation:matterHeartbeat .92s ease-in-out infinite;
}

.primary-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.10) 42%, rgba(255,255,255,.18) 50%, rgba(255,255,255,.10) 58%, transparent 100%);
  transform:translateX(-120%);
  animation:matterButtonSheen 5.8s ease-in-out infinite;
  pointer-events:none;
}

.primary-btn:hover{
  animation-play-state:paused;
  transform:scale(1.014);
}

.primary-btn:active{
  transform:scale(.992);
}

.tool{
  position:relative;
  z-index:3;
  display:none;
  visibility:hidden;
  opacity:0;
  padding:28px;
}

.tool.is-open{
  display:block;
  visibility:visible;
  opacity:1;
  animation:toolIn .45s ease forwards;
}

.tool-panel{
  width:min(980px, 100%);
  margin:0 auto;
  min-height:auto;
  border:1px solid rgba(42,35,24,.13);
  border-radius:30px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
  overflow:hidden;
}

.tool-panel-inner{
  padding:24px;
}

.panel-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:18px;
}

.panel-label,
.workflow-kicker{
  margin:0;
  color:var(--gold-dark);
  font-family:var(--sans);
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.status-pill,
.intake-report-toggle{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border:1px solid rgba(184,148,77,.24);
  border-radius:999px;
  padding:0 14px;
  background:rgba(246,241,231,.72);
  color:var(--gold-dark);
  font-family:var(--sans);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.intake-report-toggle{
  cursor:pointer;
}

.tabs{
  display:grid;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  gap:8px;
  margin-bottom:18px;
}

.tab{
  min-height:42px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:#828792;
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.01em;
  white-space:nowrap;
  padding:0 6px;
}

.tab.is-active{
  background:#050505;
  color:#ffffff;
  border-color:#050505;
  box-shadow:0 12px 30px rgba(28,22,12,.16);
}

.matter-panel-stack{
  width:100%;
  margin-top:18px;
}

.matter-workflow-panel{
  width:100%;
}

.matter-workflow-panel[hidden]{
  display:none !important;
}

.starter-box{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:10px;
  margin:0 0 14px;
}

.starter-input{
  width:100%;
  min-height:44px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:999px;
  padding:0 16px;
  background:rgba(255,255,255,.72);
  color:var(--deep);
  font-family:var(--sans);
  font-size:13px;
  font-weight:850;
  outline:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.starter-input::placeholder{
  color:rgba(85,89,101,.56);
}

.starter-btn{
  min-height:44px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:999px;
  padding:0 16px;
  background:rgba(255,255,255,.72);
  color:var(--deep);
  font-family:var(--sans);
  font-size:12px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}

.starter-btn:hover{
  border-color:rgba(184,148,77,.34);
  color:var(--gold-dark);
}

.starter-btn:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.matter-box{
  display:grid;
  gap:14px;
  border:1px solid rgba(42,35,24,.12);
  border-radius:24px;
  background:rgba(255,255,255,.66);
  padding:14px;
}

.matter-input-wrap{
  position:relative;
  width:100%;
}

.matter-textarea{
  width:100%;
  min-height:220px;
  resize:vertical;
  border:1px solid rgba(42,35,24,.10);
  outline:0;
  border-radius:20px;
  padding:18px 56px 58px 18px;
  background:rgba(255,255,255,.76);
  color:var(--deep);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
  font-weight:650;
}

.matter-textarea::placeholder,
.workflow-input::placeholder{
  color:rgba(85,89,101,.66);
  font-weight:700;
}

.demo-mini-btn{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:30;
  min-height:30px;
  height:30px;
  border:1px solid rgba(184,148,77,.42);
  border-radius:999px;
  padding:0 12px;
  background:rgba(255,255,255,.92);
  color:var(--gold-dark);
  font-family:var(--serif);
  font-size:15px;
  line-height:1;
  font-weight:850;
  box-shadow:0 8px 18px rgba(28,22,12,.08);
}

.demo-mini-btn[aria-hidden="true"],
#demoMatter[aria-hidden="true"],
#footerDemoMatter[aria-hidden="true"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.mic-btn{
  position:absolute;
  right:16px;
  bottom:14px;
  z-index:30;
  width:30px;
  height:30px;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(184,148,77,.42);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--gold-dark);
  box-shadow:0 8px 18px rgba(28,22,12,.08);
}

.mic-btn svg{
  width:15px;
  height:15px;
}

.mic-btn.is-recording,
.mic-btn[aria-pressed="true"]{
  color:#ffffff;
  border-color:#050505;
  background:#050505;
}

.action-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  width:100%;
}

.action-btn,
#analyzeMatter{
  min-height:48px;
  height:48px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--deep);
  box-shadow:none;
  font-family:var(--sans);
  font-size:13px;
  font-weight:950;
  line-height:1;
  padding:0 12px;
  width:100%;
  text-align:center;
}

.action-btn:hover,
#analyzeMatter:hover{
  border-color:rgba(184,148,77,.34);
  color:var(--gold-dark);
}

.action-btn:disabled,
#analyzeMatter:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.analyze-row{
  display:none !important;
}

.proof-note,
.workflow-auto-note{
  margin-top:14px;
  border:1px dashed rgba(42,35,24,.18);
  border-radius:20px;
  padding:14px;
  color:#656a75;
  background:rgba(255,255,255,.42);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}

.workflow-panel-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(42,35,24,.10);
  border-radius:20px;
  padding:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}

.workflow-kicker{
  margin:0 0 8px;
  color:var(--gold-dark);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:950;
}

.workflow-panel-head h3{
  margin:0 0 8px;
  color:var(--deep);
  font-family:var(--serif);
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.03em;
  font-weight:950;
}

.workflow-panel-head p:not(.workflow-kicker){
  margin:0;
  color:#555965;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.45;
  font-weight:600;
}

.workflow-primary,
.workflow-save,
.workflow-complete{
  border-radius:999px;
  min-height:46px;
  padding:0 18px;
  font-family:var(--serif);
  font-size:17px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.workflow-primary,
.workflow-save{
  border:0;
  background:#050607;
  color:#fff;
}

.workflow-primary:disabled,
.workflow-save:disabled{
  opacity:.38;
  cursor:not-allowed;
}

.workflow-complete{
  width:100%;
  margin-top:14px;
  background:rgba(120,92,45,.12);
  color:#6c5427;
  border:1px solid rgba(120,92,45,.18);
}

.workflow-form{
  display:grid;
  gap:10px;
  margin-top:14px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.64);
}

.workflow-form[hidden]{
  display:none !important;
}

.workflow-input{
  width:100%;
  min-height:48px;
  border:1px solid rgba(42,35,24,.10);
  border-radius:14px;
  padding:12px 14px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:650;
  box-sizing:border-box;
  background:rgba(255,255,255,.82);
  color:var(--deep);
  outline:0;
}

.workflow-textarea{
  min-height:92px;
  resize:vertical;
}

.workflow-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.workflow-item,
.workflow-card,
.workflow-empty,
.workflow-empty-state{
  border:1px solid rgba(42,35,24,.10);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(255,255,255,.76);
  color:#2b2f38;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  word-break:break-word;
}

.workflow-item strong,
.workflow-card-title,
.report-category{
  color:var(--deep);
  font-weight:950;
}

.workflow-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}

.workflow-card-meta{
  color:#777d88;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.workflow-card-body{
  color:#555965;
  line-height:1.5;
  font-weight:600;
}

.workflow-delete{
  border:1px solid rgba(42,35,24,.10);
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:7px 10px;
  font-weight:900;
  cursor:pointer;
}

.report-panel{
  display:flex;
  flex-direction:column;
}

.report-card{
  margin-top:14px;
  border:1px solid rgba(42,35,24,.12);
  border-radius:22px;
  background:rgba(255,255,255,.58);
  overflow:hidden;
}

.report-card p{
  margin:0;
  padding:16px 18px;
  color:#555965;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.45;
  font-weight:650;
  border-bottom:1px solid rgba(42,35,24,.10);
  background:rgba(255,255,255,.48);
}

.report-top{
  padding:20px;
  border-bottom:1px solid rgba(42,35,24,.10);
  background:rgba(255,255,255,.48);
}

.report-top h2{
  margin:0 0 8px;
  color:var(--deep);
  font-family:var(--serif);
  font-size:26px;
  line-height:1;
  letter-spacing:-.052em;
  font-weight:950;
}

.report-top p{
  margin:0;
  padding:0;
  border-bottom:0;
  background:transparent;
  color:#5d626d;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.45;
  font-weight:650;
}

.report-list{
  margin:0;
  padding:0;
  list-style:none;
}

.report-list li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:14px 18px;
  border-bottom:1px solid rgba(42,35,24,.09);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:750;
}

.report-list li:last-child{
  border-bottom:0;
}

.report-list span:first-child{
  color:#6d727d;
  font-weight:900;
}

.report-list span:last-child{
  color:var(--deep);
  text-align:right;
  font-weight:950;
}

.report-command{
  padding-bottom:0 !important;
}

.report-command p{
  margin-bottom:12px !important;
}

.report-action-row,
.report-command-actions{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  margin:0;
}

.report-action-btn{
  margin-top:0 !important;
  width:100%;
}

.report-audio-btn{
  position:relative;
  min-width:38px;
  width:38px;
  height:38px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(184,148,77,.28);
  border-radius:999px;
  padding:0;
  background:
    radial-gradient(circle at 50% 0%, rgba(184,148,77,.16), transparent 56%),
    rgba(255,255,255,.92);
  color:var(--gold-dark);
  box-shadow:
    0 8px 20px rgba(28,22,12,.08),
    inset 0 1px 0 rgba(255,255,255,.86);
  overflow:hidden;
}

.report-audio-btn[hidden]{
  display:none !important;
}

.report-audio-btn:hover{
  border-color:rgba(184,148,77,.52);
  background:rgba(255,255,255,.98);
  transform:translateY(-1px);
}

.report-audio-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

.report-audio-btn:disabled:hover{
  border-color:rgba(184,148,77,.28);
  background:rgba(255,255,255,.92);
  transform:none;
}

.report-audio-btn.is-reading,
.report-audio-btn[aria-pressed="true"]{
  border-color:#050505;
  background:
    radial-gradient(circle at 50% 0%, rgba(184,148,77,.26), transparent 54%),
    #050505;
  box-shadow:
    0 14px 34px rgba(28,22,12,.20),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.report-audio-img{
  display:block;
  width:22px;
  height:22px;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  user-select:none;
}

.report-audio-btn.is-reading .report-audio-img,
.report-audio-btn[aria-pressed="true"] .report-audio-img{
  filter:invert(1);
  animation:audioPulse 1s ease-in-out infinite;
}

.report-audio-text{
  display:none;
}

.report-accordion{
  margin:14px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:22px !important;
  background:transparent !important;
  overflow:visible;
}

.report-accordion-summary{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(42,35,24,.10);
  border-radius:999px;
  padding:0 16px;
  background:rgba(255,255,255,.70);
  color:#6d727d;
  font-family:var(--sans);
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.report-accordion-summary::-webkit-details-marker{
  display:none;
}

.report-accordion-summary::after{
  content:"Open";
  margin-left:8px;
  color:var(--gold-dark);
  font-size:10px;
  letter-spacing:.12em;
}

.report-accordion[open] .report-accordion-summary::after{
  content:"Hide";
}

.report-accordion .report-card{
  margin-top:12px;
}

.report-accordion:not([open]){
  margin-bottom:0 !important;
}

.report-accordion:not([open]) .report-accordion-summary{
  margin-bottom:0;
}

.report-output{
  display:none;
  margin-top:18px;
  border:1px solid rgba(184,148,77,.25);
  border-radius:24px;
  background:rgba(255,255,255,.70);
  overflow:hidden;
  animation:reportIn .45s ease forwards;
}

.report-output.is-visible{
  display:block;
}

.output-section{
  padding:18px 20px;
  border-bottom:1px solid rgba(42,35,24,.10);
}

.output-section:last-child{
  border-bottom:0;
}

.output-section h3{
  margin:0 0 10px;
  color:var(--deep);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
}

.output-section p,
.output-section li{
  color:#555965;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.5;
  font-weight:600;
}

.output-section p{
  margin:0;
}

.output-section ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:18px;
}

.report-lockbox{
  position:relative;
  margin-top:14px;
  border:1px dashed rgba(42,35,24,.18);
  border-radius:18px;
  padding:18px;
  color:#555965;
  background:rgba(255,255,255,.55);
  font-family:var(--sans);
  font-size:14px;
  line-height:1.55;
  font-weight:600;
  white-space:normal;
  word-break:normal;
}

.report-lockbox strong,
.report-lockbox b{
  color:var(--deep);
  font-weight:950;
}

.report-placeholder-text{
  display:block;
}

.generated-report-shell{
  position:relative;
  width:100%;
  min-height:100%;
}

.generated-report-audio-dock{
  position:absolute;
  top:0;
  right:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.generated-report-audio-dock .report-audio-btn{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
}

.generated-report-audio-dock .report-audio-img{
  width:22px;
  height:22px;
}

.generated-report-shell .generated-report{
  padding-right:50px;
}

.generated-report{
  display:grid;
  gap:12px;
  color:#3f444d;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.44;
  font-weight:500;
  white-space:normal;
}

.generated-section{
  display:grid;
  gap:5px;
}

.generated-label{
  color:var(--deep);
  font-family:var(--sans);
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

.generated-body{
  color:#3f444d;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.44;
  font-weight:500;
}

.generated-body p{
  margin:0;
}

.generated-body ul{
  margin:0;
  padding-left:18px;
}

.generated-body li{
  margin:4px 0;
}

/* Compact sentence-only workflow command headers */
.workflow-panel-head.workflow-command{
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 0 12px !important;
  margin:0 0 12px !important;
  background:transparent !important;
  box-shadow:none !important;
}

.workflow-panel-head.workflow-command p{
  margin:0 !important;
  color:#4f5560 !important;
  font-family:var(--sans) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
}

.workflow-panel-head.workflow-command strong{
  display:none !important;
}

.workflow-demo-link{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--gold-dark) !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  line-height:inherit !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}

.workflow-demo-link[aria-hidden="true"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.workflow-demo-link:hover{
  color:#050505 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.workflow-command .workflow-kicker,
.workflow-command h3{
  display:none !important;
}

.workflow-command + .workflow-form,
.workflow-command + .workflow-auto-note,
.workflow-command + .report-card{
  margin-top:0 !important;
}

.footer{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 18px 4px;
  color:#686d78;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.35;
  font-weight:850;
  text-align:center;
}

.footer button{
  border:0;
  padding:0;
  background:transparent;
  color:var(--deep);
  font:inherit;
  font-weight:950;
}

.footer button:hover{
  color:var(--gold-dark);
}

.copyright{
  width:100%;
  color:#6f747f;
  font-family:var(--sans);
  font-size:11px;
  line-height:1.25;
  font-weight:850;
  text-align:center;
}

.modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(16,16,18,.46);
  backdrop-filter:blur(14px);
}

.modal.is-open{
  display:flex;
}

.modal-card{
  width:min(680px, 100%);
  max-height:min(760px, 86vh);
  overflow:auto;
  border:1px solid rgba(42,35,24,.18);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 30px 90px rgba(0,0,0,.26);
  padding:24px 24px 0;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.modal-card h2{
  position:sticky;
  top:0;
  z-index:4;
  margin:0 -24px 16px;
  padding:22px 24px 14px;
  color:var(--deep);
  text-align:center;
  font-family:var(--serif);
  font-size:34px;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:950;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 72%, rgba(255,255,255,.80) 100%);
  backdrop-filter:blur(12px);
}

details{
  border:1px solid rgba(42,35,24,.11);
  border-radius:18px;
  padding:14px 16px;
  margin-top:10px;
  background:rgba(255,255,255,.70);
}

summary{
  cursor:pointer;
  color:var(--deep);
  font-family:var(--sans);
  font-size:15px;
  font-weight:950;
}

details p{
  margin:12px 0 0;
  color:#555965;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.48;
  font-weight:650;
}

.modal-footer{
  position:sticky;
  bottom:0;
  z-index:5;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:18px -24px 0;
  padding:16px 24px 18px;
  border-top:1px solid rgba(42,35,24,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.98) 100%);
  box-shadow:0 -18px 34px rgba(28,22,12,.08);
  backdrop-filter:blur(14px);
  font-family:var(--sans);
  font-size:12px;
  font-weight:950;
}

.modal-footer button{
  border:0;
  background:transparent;
  padding:0;
  color:var(--deep);
  font:inherit;
}

.modal-footer button:hover{
  color:var(--gold-dark);
}

.manual-modal-card{
  display:flex;
  flex-direction:column;
  width:min(680px, 100%);
  max-height:min(760px, 86vh);
  overflow:hidden;
}

.manual-modal-top{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0 0 14px;
  flex:0 0 auto;
}

.manual-download-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border:1px solid rgba(42,35,24,.12);
  border-radius:999px;
  padding:0 20px;
  background:rgba(255,255,255,.92);
  color:var(--deep);
  box-shadow:0 14px 34px rgba(28,22,12,.10);
  font-family:var(--sans);
  font-size:13px;
  line-height:1;
  font-weight:950;
  text-decoration:none;
}

.manual-download-btn:hover{
  color:var(--gold-dark);
  border-color:rgba(184,148,77,.34);
}

.manual-frame{
  display:block;
  width:100%;
  height:calc(min(760px, 86vh) - 132px);
  min-height:430px;
  border:0;
  border-radius:22px;
  background:#fffaf1;
  overflow:auto;
  flex:1 1 auto;
}

.manual-modal-card .modal-footer{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  margin:0 -24px;
}

@media (max-width:1120px){
  .tabs{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
  }

  .tab{
    min-height:44px;
    font-size:12px;
  }

  .lady-justice-art{
    opacity:.12;
    right:28px;
    width:clamp(280px, 30vw, 360px);
  }
}

@media (max-width:760px){
  body{
    padding:14px 10px;
  }

  .page{
    width:100%;
    min-height:calc(100vh - 28px);
    gap:12px;
  }

  .topbar{
    min-height:58px;
    border-radius:22px;
    padding:12px;
  }

  .topbar-title{
    font-size:22px;
  }

  .workbench-shell{
    border-radius:24px;
  }

  .workbench-shell::after,
  .workbench-shell::before{
    display:none;
  }

  .loading-screen img{
    width:min(82vw, 330px);
    max-height:72vh;
  }

  .lady-justice-art{
    display:none;
  }

  .pretool{
    min-height:calc(100vh - 170px);
    padding:22px 14px;
  }

  .primary-btn{
    min-height:68px;
    width:100%;
    font-size:18px;
  }

  .tool{
    padding:12px;
  }

  .tool-panel{
    border-radius:24px;
  }

  .tool-panel-inner{
    padding:18px;
  }

  .panel-head{
    flex-direction:row;
    align-items:center;
    margin-bottom:16px;
  }

  .panel-label{
    font-size:11px;
    letter-spacing:.18em;
  }

  .status-pill{
    min-height:32px;
    padding:0 12px;
    font-size:10px;
    letter-spacing:.08em;
  }

  .tabs{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
    margin-bottom:16px;
  }

  .tab{
    min-height:40px;
    font-size:11px;
    padding:0 4px;
  }

  .matter-panel-stack{
    margin-top:16px;
  }

  .starter-box{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .starter-input{
    grid-column:1 / -1;
    min-width:0;
    min-height:42px;
    font-size:12px;
    padding:0 12px;
  }

  .starter-btn{
    width:100%;
    min-height:40px;
    font-size:11px;
    padding:0 10px;
  }

  .matter-box{
    padding:12px;
    border-radius:22px;
  }

  .matter-textarea{
    min-height:178px;
    font-size:14px;
    line-height:1.38;
    padding:16px 48px 52px 16px;
  }

  .demo-mini-btn{
    left:14px;
    bottom:13px;
    height:28px;
    min-height:28px;
    padding:0 10px;
    font-size:14px;
  }

  .mic-btn{
    right:14px;
    bottom:13px;
    width:28px;
    height:28px;
    min-height:28px;
  }

  .mic-btn svg{
    width:14px;
    height:14px;
  }

  .action-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }

  .action-btn,
  #analyzeMatter{
    min-height:40px;
    height:40px;
    font-size:11px;
    padding:0 6px;
  }

  .proof-note,
  .workflow-auto-note,
  .report-lockbox{
    font-size:12px;
    line-height:1.38;
    padding:12px;
    border-radius:16px;
  }

  .workflow-panel-head{
    grid-template-columns:1fr;
    padding:14px;
    border-radius:18px;
  }

  .workflow-panel-head h3{
    font-size:22px;
  }

  .workflow-panel-head p:not(.workflow-kicker){
    font-size:12.5px;
  }

  .workflow-panel-head.workflow-command{
    padding-bottom:10px !important;
    margin-bottom:10px !important;
  }

  .workflow-panel-head.workflow-command p{
    font-size:12.5px !important;
    line-height:1.38 !important;
  }

  .workflow-demo-link{
    font-size:10.5px !important;
    letter-spacing:.10em !important;
    margin-left:6px !important;
  }

  .workflow-primary,
  .workflow-save,
  .workflow-complete{
    min-height:40px;
    font-size:12px;
  }

  .workflow-primary{
    width:100%;
  }

  .workflow-form{
    padding:10px;
    border-radius:16px;
  }

  .workflow-input{
    min-height:39px;
    font-size:12.5px;
    padding:9px 11px;
  }

  .workflow-textarea{
    min-height:68px;
  }

  .workflow-item,
  .workflow-card,
  .workflow-empty,
  .workflow-empty-state{
    font-size:12.5px;
    padding:11px;
    border-radius:16px;
  }

  .report-action-row,
  .report-command-actions{
    grid-template-columns:minmax(0, 1fr) 42px;
    gap:8px;
  }

  .report-audio-btn{
    width:34px;
    min-width:34px;
    height:34px;
    min-height:34px;
  }

  .report-audio-img{
    width:20px;
    height:20px;
  }

  .generated-report-audio-dock .report-audio-btn{
    width:34px;
    min-width:34px;
    height:34px;
    min-height:34px;
  }

  .generated-report-audio-dock .report-audio-img{
    width:20px;
    height:20px;
  }

  .generated-report-shell .generated-report{
    padding-right:42px;
  }

  .report-card p{
    font-size:12.5px;
    line-height:1.38;
    padding:13px 14px;
  }

  .report-list li{
    font-size:11.5px;
    padding:12px 14px;
    align-items:flex-start;
  }

  .report-accordion{
    margin-top:12px !important;
  }

  .report-accordion-summary{
    min-height:38px;
    font-size:10.5px;
    letter-spacing:.07em;
  }

  .report-accordion-summary::after{
    font-size:9px;
  }

  .generated-report{
    font-size:12.5px;
    line-height:1.4;
  }

  .generated-label{
    font-size:10.5px;
    letter-spacing:.11em;
  }

  .generated-body{
    font-size:12.5px;
    line-height:1.4;
  }

  .footer{
    gap:9px;
    font-size:11px;
  }

  .modal{
    padding:16px;
  }

  .modal-card{
    width:100%;
    max-height:82vh;
    border-radius:26px;
    padding:20px 20px 0;
  }

  .modal-card h2{
    margin:0 -20px 14px;
    padding:20px 20px 12px;
    font-size:32px;
  }

  details{
    padding:13px 14px;
  }

  .report-accordion{
    padding:0 !important;
  }

  summary{
    font-size:14px;
  }

  details p{
    font-size:13px;
  }

  .modal-footer{
    margin:18px -20px 0;
    padding:15px 20px 17px;
  }

  .manual-frame{
    height:calc(82vh - 124px);
    min-height:390px;
    border-radius:20px;
  }

  .manual-modal-card .modal-footer{
    margin:0 -20px;
  }
}

@media (max-width:430px){
  .topbar-title{
    font-size:20px;
  }

  .tabs{
    gap:7px;
  }

  .tab{
    min-height:39px;
    font-size:10.5px;
  }

  .starter-box{
    grid-template-columns:1fr 1fr;
  }

  .workflow-panel-head.workflow-command p{
    font-size:12px !important;
  }

  .workflow-demo-link{
    font-size:10px !important;
  }

  .modal-card{
    max-height:84vh;
  }

  .modal-footer{
    gap:8px;
    font-size:11px;
  }
}

@media (max-width:390px){
  .tab{
    font-size:10px;
    padding:0 3px;
  }

  .topbar-title{
    font-size:20px;
  }

  .workflow-panel-head h3{
    font-size:21px;
  }

  .workflow-panel-head.workflow-command p{
    font-size:12px !important;
  }

  .workflow-demo-link{
    font-size:10px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .loading-screen{
    display:none;
  }

  .loading-screen img,
  .tool,
  .report-output,
  .primary-btn,
  .primary-btn::before,
  .report-audio-img{
    animation:none !important;
  }
}

@keyframes matterHeartbeat{
  0%, 28%, 100%{
    transform:scale(1);
  }

  14%{
    transform:scale(1.011);
  }
}

@keyframes matterButtonSheen{
  0%, 52%{
    transform:translateX(-130%);
  }

  70%, 100%{
    transform:translateX(130%);
  }
}

@keyframes justiceLoad{
  0%{
    opacity:0;
    transform:scale(.94);
  }

  18%, 72%{
    opacity:1;
    transform:scale(1);
  }

  100%{
    opacity:0;
    transform:scale(.985);
  }
}

@keyframes toolIn{
  from{
    opacity:0;
    transform:translateY(12px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes reportIn{
  from{
    opacity:0;
    transform:translateY(10px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes audioPulse{
  0%, 100%{
    opacity:.72;
    transform:scale(.92);
  }

  50%{
    opacity:1;
    transform:scale(1.08);
  }
}