/* Generated by scripts/extract-room-mockup-css.ts from world.html.
   Kylon Land's stylesheet, copied whole so the room mockup can be mounted
   on its own page. Do not edit by hand. */
/* transitions-dev — copy this :root block into your project once.
   Every transition snippet reads from these semantic names. */
:root {
  /* Card resize */
  --resize-dur: 300ms;
  --resize-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Number pop-in */
  --digit-dur: 500ms;
  --digit-distance: 8px;
  --digit-stagger: 70ms;
  --digit-blur: 2px;
  --digit-ease: cubic-bezier(0.34, 1.45, 0.64, 1);
  --digit-dir-x: 0;
  --digit-dir-y: 1;
  /* Notification badge */
  --badge-slide-dur: 260ms;
  --badge-pop-dur: 500ms;
  --badge-pop-close-dur: 180ms;
  --badge-fade-dur: 400ms;
  --badge-fade-close-dur: 180ms;
  --badge-blur: 2px;
  --badge-offset-x: -8.2px;
  --badge-offset-y: 12.4px;
  --badge-slide-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --badge-pop-ease: cubic-bezier(0.34, 1.36, 0.64, 1);
  --badge-close-ease: cubic-bezier(0.4, 0, 0.2, 1);
  /* Text states swap */
  --text-swap-dur: 200ms;
  --text-swap-translate-y: 8px;
  --text-swap-blur: 2px;
  --text-swap-ease: ease-out;
  /* Menu dropdown */
  --dropdown-open-dur: 250ms;
  --dropdown-close-dur: 150ms;
  --dropdown-pre-scale: 0.97;
  --dropdown-closing-scale: 0.99;
  --dropdown-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Modal open / close */
  --modal-open-dur: 250ms;
  --modal-close-dur: 150ms;
  --modal-scale: 0.96;
  --modal-scale-close: 0.96;
  --modal-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Panel reveal */
  --panel-open-dur: 400ms;
  --panel-close-dur: 350ms;
  --panel-translate-y: 100px;
  --panel-blur: 2px;
  --panel-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Page side-by-side */
  --page-slide-dur: 200ms;
  --page-fade-dur: 200ms;
  --page-slide-distance: 8px;
  --page-blur: 3px;
  --page-stagger: 0ms;
  --page-exit-enabled: 1;
  --page-slide-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --page-fade-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Icon swap */
  --icon-swap-dur: 200ms;
  --icon-swap-blur: 2px;
  --icon-swap-start-scale: 0.25;
  --icon-swap-ease: ease-in-out;
}

html[data-mobile-hero="true"] #hover-label{display:none!important}
.mobile-private-lock{position:fixed;z-index:9;transform:translate(-50%,-100%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(241,246,236,.85);border:1px solid rgba(255,255,255,.7);color:#59715b;pointer-events:none}.mobile-private-lock svg{width:21px;height:21px}
.mobile-studio-hints[hidden]{display:none!important}
.mobile-studio-hints button{position:fixed;z-index:9;transform:translate(-50%,-100%);display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;background:rgba(241,246,236,.82);border:1px solid rgba(255,255,255,.7);border-radius:999px;box-shadow:0 2px 6px #24472c0b;color:#315d46;font-family:inherit;cursor:pointer;touch-action:manipulation;min-height:32px;min-width:68px;text-align:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:studio-invite 1.25s ease-in-out 2}
.mobile-studio-hints button:before{content:"";position:absolute;inset:-6px 0}
.mobile-studio-hints button b{display:block;font-size:11px;line-height:16px;font-weight:550;white-space:nowrap}.mobile-studio-hints button>span:last-child{font-size:13px;color:#6a8871}.mobile-studio-hints button:focus-visible{outline:2px solid #175e44;outline-offset:3px}
@keyframes studio-invite{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,calc(-100% - 3px))}}
@media(prefers-reduced-motion:reduce){.mobile-studio-hints button{animation:none}}

.mobile-studio-hints button.mobile-private-lock{display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;padding:0;pointer-events:auto;animation:none;cursor:pointer}.mobile-studio-hints button.mobile-private-lock:before{inset:-7px}

:root {
  --paper:#fafbf8; --ink:#073f31; --primary:#045c45; --muted:#62756a;
  --sage:#b4c6a8; --line:#d9e0d5; --signal:#f4ff7f; --pink:#ffcce6; --mint:#ddfdc6; --surface:#f0f3eb;
  --page-gutter:clamp(24px,4vw,72px); --rail-width:36%;
  --font:"Geist",ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:var(--font);font-synthesis:none}
body{margin:0;min-height:100svh;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer;color:inherit}
button:disabled{cursor:default}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid #82a08d;outline-offset:5px}
[hidden]{display:none!important}
.site-header{height:104px;padding:0 var(--page-gutter);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:600;letter-spacing:-.8px}
.brand svg{width:30px;height:30px}
.brand-caption{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:14px;padding-left:22px;border-left:1px solid var(--line)}
.site-header nav{display:flex;gap:28px;align-items:center}
.text-button{padding:0;border:0;background:none;font-size:14px;line-height:1.5;text-align:left;transition:color .18s}
.text-button:hover{color:#0e795a}
.text-button span{margin-left:6px}
.icon-button{width:29px;height:29px;border:1px solid var(--line);border-radius:50%;background:none;font-size:15px}
#experience{display:grid;grid-template-columns:var(--rail-width) 1fr;min-height:calc(100svh - 104px);max-width:2100px;margin:0 auto}
.editorial{padding:40px 0 26px var(--page-gutter);position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.room-switcher{display:flex;align-items:center;gap:6px;margin-bottom:44px}
.room-switcher button{font-size:13px;background:transparent;border:1px solid transparent;border-radius:6px;padding:7px 11px;color:var(--muted)}
.room-switcher button[aria-pressed=true]{background:var(--surface);border-color:#e1e7dc;color:var(--ink)}
.room-switcher button:hover{color:var(--ink)}
.room-symbol{display:inline-block;margin-right:7px}
.eyebrow{font-size:11px;line-height:1.5;font-weight:550;letter-spacing:1.65px;color:var(--muted);margin:0 0 16px}
h1{font-size:clamp(34px,3.6vw,63px);line-height:1.1;font-weight:500;letter-spacing:-2.4px;margin:0;max-width:650px}
.story-intro{width:calc(100% + 38px);pointer-events:none}
.description{font-size:clamp(15px,1.23vw,20px);line-height:1.65;letter-spacing:-.15px;color:var(--muted);margin:24px 0 0}
.story{margin-top:38px;width:100%;max-width:355px}
.identity{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;padding:0;width:100%}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#dfe8d0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.avatar.human{background:#c1d0b4;color:#395a45}
.avatar svg{width:34px;height:34px;align-self:flex-end}
.avatar img{display:block;width:100%;height:100%;object-fit:cover}
.profile-portrait{width:144px;height:144px;border-radius:15px;overflow:hidden;margin:8px 0 20px;border:1px solid color-mix(in srgb,var(--identity-color) 30%,transparent)}
.profile-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.profile-portrait.large{width:100%;height:auto;aspect-ratio:1;border-radius:12px}
#npc-avatar{border:0;padding:0;transition:transform .18s ease-out}
#npc-avatar:hover{transform:scale(1.045)}
.identity strong{font-weight:500;font-size:15px}
.identity-role{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.identity-arrow{font-size:17px;color:var(--muted);margin-left:auto;padding-right:10px;opacity:0;transition:opacity .2s}
.identity:hover .identity-arrow,.identity:focus-visible .identity-arrow{opacity:1}
.dialogue{font-size:15px;line-height:1.65;margin:17px 0 0;min-height:50px;max-width:320px;color:#426050}
.artifact-status{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:15px}
.status-dot{height:5px;width:5px;border-radius:50%;background:var(--primary)}
.mode-row{display:flex;align-items:center;gap:23px;margin:29px 0 0;flex-wrap:wrap}
.mode-switch{display:flex;gap:3px;padding:3px;border-radius:30px;background:#edf1e8}
.mode-switch button{font-size:13px;font-weight:500;border:0;background:transparent;border-radius:25px;padding:10px 18px;min-height:38px;color:#526b59}
.mode-switch button[aria-pressed=true]{background:var(--primary);color:var(--paper)}
.room-details{font-size:12px;color:var(--muted)}
.timeline{margin-top:auto;padding-top:40px;width:100%;max-width:375px}
.timeline-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}
#phase{font-size:10px;letter-spacing:1.3px;color:var(--muted)}
.play-button{display:flex;gap:6px;align-items:center;font-size:12px;border:0;background:none;padding:4px 0}
.play-button svg{width:12px;height:12px}
.steps{display:flex;width:100%}
.steps button{flex:1;position:relative;border:0;background:none;text-align:left;padding:18px 0 0;font-size:11px;color:var(--muted);line-height:1.5}
.steps button:last-child{flex:0 0 16%}
.steps button::before{content:"";width:100%;height:1px;background:#c8d2c2;position:absolute;top:4px;left:5px}
.steps button:last-child::before{display:none}
.steps button::after{content:"";width:8px;height:8px;background:#c8d2c2;border-radius:50%;position:absolute;top:0;left:0}
.steps button[aria-current=step]{color:var(--primary);font-weight:600}
.steps button[aria-current=step]::after{background:var(--primary);box-shadow:0 0 0 4px #e6eddf}
.steps button.done::after{background:#779981}
.steps button:disabled{color:#a0ac9d}
.demo-note{font-size:10px;color:#788978;line-height:1.5;margin:28px 0 0}
.scene-window{position:relative;min-width:0;min-height:640px;align-self:stretch;isolation:isolate}
#stage{position:absolute;inset:-34px -0px 24px -16px;touch-action:none}
#stage canvas{display:block;width:100%;height:100%;outline:none}
/* The canvas takes focus on load so the keys work without a click, which also
   made it match :focus-visible and draw a ring around the whole world. The
   scene is not a control and the world is meant to be frameless, so no ring. */
.scene-caption{position:absolute;bottom:38px;left:11%;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);pointer-events:none}
.scene-number{font-size:11px;border:1px solid #b9cbbb;width:27px;height:27px;border-radius:50%;display:grid;place-items:center}
.scene-tools{position:absolute;bottom:36px;right:var(--page-gutter);display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted)}
.scene-tools button{border:0;background:none;padding:6px;display:flex;color:var(--muted)}
.scene-tools svg{width:15px;height:15px}
.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper);z-index:5;transition:opacity .3s}
.loading p{font-size:13px;color:var(--muted)}
.loading.done{opacity:0;pointer-events:none}
.loading-mark{width:30px;height:30px;background:var(--primary);border-radius:6px;animation:loading 2s ease-in-out infinite}
@keyframes loading{50%{transform:rotate(90deg);border-radius:50%}}
.hover-label{position:absolute;padding:8px 12px;background:var(--paper);border:1px solid var(--line);border-radius:7px;pointer-events:none;font-size:12px;white-space:nowrap;box-shadow:0 4px 15px #16372210;z-index:4}
.hover-label.with-hint{white-space:normal;max-width:264px}
.hover-label strong{display:block;font-weight:500}
.hover-label small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}
.explore-help{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);max-width:90%;width:max-content;padding:12px 18px;border:1px solid #d6dfcf;border-radius:8px;background:#fafbf8ed;font-size:12px;text-align:center}
.explore-help strong{display:block;font-weight:500;margin-bottom:4px}
.explore-help .keycluster{display:inline-grid;grid-template-areas:". w ." "a s d";gap:4px;vertical-align:middle;margin-right:10px}
/* A key seen from slightly above. The outer square is the skirt: its four
   trapezoid faces meet on the diagonals, which is what makes the corners read
   as chamfered rather than as a flat frame. The white top face sits inside it,
   lower edge thickest, and carries the letter. */
.explore-help kbd{position:relative;display:grid;place-items:center;width:32px;height:32px;border:2px solid #14231d;border-radius:9px;background:conic-gradient(from 45deg,#cfdad4 0deg 90deg,#a8b6af 90deg 180deg,#cfdad4 180deg 270deg,#eef3f0 270deg 360deg);box-shadow:0 2px 0 #14231d;font:700 14px/1 inherit;color:#14231d}
.explore-help kbd::before{content:'';position:absolute;inset:3px 3px 7px;border:2px solid #14231d;border-radius:6px;background:#fff}
.explore-help kbd i{position:relative;z-index:1;display:block;font-style:normal;transform:translateY(-1.5px)}
.explore-help em{font-style:normal;opacity:.72;vertical-align:middle}
.explore-help span{color:var(--muted);font-size:11px}
.touch-pad{position:absolute;right:26px;bottom:110px;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:5px}
.touch-pad button{background:#fafbf8ef;border:1px solid #b4c6aa;border-radius:8px;font-size:18px;touch-action:none;user-select:none}
.touch-pad button:active{background:var(--primary);color:var(--paper)}
.touch-pad button:nth-child(1){grid-column:2}
.touch-pad button:nth-child(2){grid-row:2;grid-column:1}
.touch-pad button:nth-child(3){grid-row:2;grid-column:2}
.touch-pad button:nth-child(4){grid-row:2;grid-column:3}
.decision,.ending{margin:30px 0 0;max-width:370px}
.decision h2,.ending h2{font-size:23px;font-weight:500;letter-spacing:-.7px;line-height:1.2;margin:0 0 12px}
.decision p:not(.eyebrow),.ending p:not(.eyebrow){font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.decision .eyebrow{font-size:10px;color:var(--primary);margin-bottom:10px}
.decision-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.primary-button{border:0;background:var(--primary);color:var(--paper);padding:12px 17px;border-radius:7px;font-size:13px}
.primary-button span{margin-left:12px}
.primary-button:hover{background:#0c7155}
.decision-actions .text-button{font-size:12px}
.workspace-choices{width:100%;max-width:350px;margin-top:30px}
.workspace-choices button{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;border-top:1px solid var(--line);padding:17px 0;text-align:left}
.workspace-choices button strong{font-weight:500;font-size:16px;display:block}
.workspace-choices button small{font-size:12px;color:var(--muted);display:block;margin-top:5px}
.workspace-choices button>span:last-child{font-size:22px}
#experience[data-room=workspace] .story-intro{width:calc(100% + 30px)}
#experience[data-room=workspace] .mode-row{margin-top:30px}
#experience[data-room=workspace] .room-switcher{visibility:hidden}
#experience[data-mode=explore] .description{font-size:16px}
#experience[data-mode=explore] .story{opacity:.9}
@media(min-width:901px){
  #experience[data-mode=explore]{--rail-width:29%}
  #experience[data-mode=explore] h1{font-size:clamp(29px,2.8vw,44px);letter-spacing:-1.6px}
  #experience[data-mode=explore] .description{display:none}
  #experience[data-mode=explore] .story-intro{width:100%}
  #experience[data-mode=explore] .room-details{display:none}
}
.fallback{position:absolute;inset:12% 10%;padding:30px;display:flex;flex-direction:column;justify-content:center;background:#eef2e8;border-radius:12px}
.fallback h2{font-size:24px;font-weight:500}
.fallback p{font-size:15px;line-height:1.7;color:var(--muted)}
dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100svh - 50px);overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;padding:34px;box-shadow:0 20px 90px #143c2420}
dialog::backdrop{background:#10362328;backdrop-filter:blur(3px)}
dialog h2{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.8px;margin:0 0 18px}
dialog p{font-size:14px;line-height:1.7;color:var(--muted)}
.close-button{position:absolute;right:14px;top:12px;width:32px;height:32px;font-size:25px;border:0;background:none}
.member-button{display:flex;text-align:left;align-items:center;gap:13px;border:0;border-top:1px solid var(--line);padding:14px 0;background:none;width:100%}
.member-button .avatar{width:46px;height:46px}
.member-button strong{font-weight:500;font-size:14px}
.member-button small{display:block;font-size:12px;margin-top:4px;color:var(--muted)}
.member-button>span:last-child{margin-left:auto}
.info-tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}
.info-tags span{background:#eaf0e3;border-radius:5px;padding:5px 9px;font-size:12px}
dialog h3{font-size:13px;font-weight:550;margin-top:24px}
.t-text-swap {
  display: inline-block;
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition:
    transform var(--text-swap-dur) var(--text-swap-ease),
    filter    var(--text-swap-dur) var(--text-swap-ease),
    opacity   var(--text-swap-dur) var(--text-swap-ease);
  will-change: transform, filter, opacity;
}
.t-text-swap.is-exit {
  transform: translateY(calc(var(--text-swap-translate-y) * -1));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
}
.t-text-swap.is-enter-start {
  transform: translateY(var(--text-swap-translate-y));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
  transition: none;
}
@media (min-width:1700px){.editorial{padding-top:65px}.story{margin-top:50px}.scene-window{min-height:850px}}
@media (max-height:820px) and (min-width:901px){.site-header{height:85px}#experience{min-height:calc(100svh - 85px)}.editorial{padding-top:20px}.room-switcher{margin-bottom:26px}.story{margin-top:24px}.timeline{padding-top:28px}.mode-row{margin-top:22px}.scene-window{min-height:600px}.demo-note{margin-top:20px}}
@media (max-width:1100px) and (min-width:901px){:root{--rail-width:39%;--page-gutter:30px}h1{font-size:38px}.story-intro{width:100%}.scene-tools span{display:none}.scene-window{min-height:620px}.identity-arrow{opacity:1}.room-details{display:none}}
@media (max-width:900px){
  :root{--page-gutter:24px}
  .site-header{height:76px}.brand{font-size:21px}.brand svg{width:27px;height:27px}.brand-caption{display:none}
  .site-header nav{gap:17px}.site-header .text-button{font-size:13px}
  #experience{display:flex;flex-direction:column;min-height:calc(100svh - 76px);position:relative}
  .editorial{display:contents}
  .room-switcher{order:0;margin:8px 24px 23px}
  .story-intro{order:1;padding:0 24px;width:100%}
  .eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:1.35px}
  h1{font-size:clamp(36px,6.7vw,52px);letter-spacing:-1.5px;line-height:1.08}
  .description{font-size:15px;line-height:1.6;margin-top:16px}
  .description br{display:none}
  .scene-window{order:2;height:clamp(330px,65vw,530px);min-height:0;width:100%;margin:12px 0}
  #stage{inset:-12px 0 0}
  .scene-caption{bottom:0;left:24px;font-size:10px;gap:8px}
  .scene-number{width:23px;height:23px;font-size:10px}
  .scene-tools{bottom:0;right:21px}.scene-tools span{display:none}
  .story{order:3;width:auto;max-width:none;margin:20px 24px 0;padding-top:20px;border-top:1px solid var(--line)}
  .identity{max-width:none}.identity-arrow{opacity:1}.identity strong{font-size:15px}
  .dialogue{font-size:15px;min-height:0;max-width:100%;margin-top:12px}
  .artifact-status{font-size:11px;margin-top:9px}
  .mode-row{order:5;margin:25px 24px 0;gap:20px;justify-content:space-between}
  .timeline{order:6;margin:0 24px;padding-top:28px;width:auto;max-width:none}
  .timeline-top{margin-bottom:17px}.steps button{font-size:12px}
  .demo-note{order:7;margin:28px 24px;font-size:10px}
  .decision,.ending{order:4;margin:25px 24px 0;max-width:none}
  .decision h2,.ending h2{font-size:24px}
  .workspace-choices{order:3;max-width:none;width:auto;margin:22px 24px 0}
  #experience[data-room=workspace] .room-switcher{display:none}
  #experience[data-room=workspace] .story-intro{width:auto;margin-top:24px}
  .explore-help{bottom:48px;padding:8px 12px;max-width:calc(100% - 48px);left:24px;transform:none;text-align:left}
  .explore-help span{display:none}
  .touch-pad{right:22px;bottom:49px}
  dialog{padding:28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .t-text-swap { transition: none !important; }
  .loading{transition:none}
}

/* The game is the primary surface. The editorial walkthrough remains opt-in. */
body.game{overflow:hidden;background:#f7f8f2}
body.game .site-header{position:absolute;inset:0 0 auto;height:86px;pointer-events:none}
body.game .site-header a,body.game .site-header nav{pointer-events:auto}
body.game #experience{display:block;height:100svh;min-height:0;max-width:none}
body.game .editorial{display:none!important}
body.game .scene-window{position:absolute;inset:0;margin:0;width:100%;height:100%;min-height:0}
body.game #stage{inset:80px 0 80px;touch-action:none}
body.game .scene-caption{left:var(--page-gutter);bottom:32px}
body.game .scene-tools{bottom:29px}
body.game .scene-tools>span{display:none}
body.game .explore-help{bottom:31px;left:50%;padding:0;border:0;background:none;transform:translateX(-50%);text-align:center}
body.game .explore-help strong{font-size:12px;color:#446450}
body.game .explore-help span{font-size:11px}
body.game .touch-pad{bottom:88px;right:var(--page-gutter)}
#game-location{position:absolute;top:112px;left:var(--page-gutter);z-index:5;pointer-events:none}
#game-location .eyebrow{font-size:10px;margin-bottom:9px}
#game-room-name{font-size:clamp(24px,2.4vw,35px);font-weight:500;letter-spacing:-1.3px;line-height:1.15}
#game-intro{font-size:12px;color:var(--muted);margin:11px 0 0;max-width:260px;line-height:1.6}
#game-actions{position:absolute;right:var(--page-gutter);top:116px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:16px}
#game-actions button{border:0;background:none;padding:0;font-size:12px}
#game-actions #game-roster{font-weight:500}
#game-actions #met-count{margin-left:8px;font-size:11px;color:var(--muted)}
#game-actions #game-watch{color:var(--muted)}
#interact{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:10px;border:1px solid #cdd8c3;border-radius:10px;padding:10px 15px;background:#fafbf8;box-shadow:0 5px 20px #203c2310;font-size:13px;max-width:calc(100% - 40px)}
kbd{font:inherit;font-size:11px;padding:4px 6px;min-width:23px;line-height:1;border:1px solid #d0d9c6;border-radius:4px;background:#eef2e6;color:var(--muted)}
#npc-dialogue{position:fixed;z-index:12;bottom:28px;left:50%;transform:translateX(-50%);width:min(650px,calc(100vw - 40px));padding:23px 28px 20px;background:#fafbf8;border:1px solid #d3ddcb;border-radius:14px;box-shadow:0 10px 50px #1b422221}
.npc-heading{display:flex;align-items:center;gap:12px}
.npc-heading .avatar{width:60px;height:60px;background:var(--identity-color,var(--primary));box-shadow:0 0 0 3px #fafbf8,0 0 0 4px color-mix(in srgb,var(--identity-color,var(--primary)) 30%,transparent)}
.npc-heading strong{display:block;font-size:17px;font-weight:550}
.npc-heading small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
#npc-close{margin-left:auto;border:0;background:none;font-size:24px;padding:5px;width:34px;height:34px;align-self:flex-start}
#npc-line{font-size:16px;line-height:1.7;letter-spacing:-.12px;margin:19px 0 20px;color:#244f39;white-space:pre-line}
#npc-line.is-answering{animation:npc-answer-in .22s cubic-bezier(.22,1,.36,1)}
@keyframes npc-answer-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
#npc-choices{display:flex;gap:7px;flex-wrap:wrap}
#npc-choices button{font-size:12px;border:1px solid #d8e0ce;background:transparent;border-radius:6px;padding:9px 12px;transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .16s ease-out}
#npc-choices button.selected{background:#045c45;border-color:#045c45;color:#fff;transform:translateY(-1px)}
#npc-choices button:hover{background:#e2ebd8}
#npc-choices button.selected:hover{background:#045c45}
#room-curtain{position:fixed;inset:0;background:#fafbf8;opacity:0;pointer-events:none;z-index:30;transition:opacity .2s ease-out}
#room-curtain.on{opacity:1;pointer-events:auto}
#workday-status{position:absolute;left:var(--page-gutter);top:202px;width:285px;z-index:5}
.workday-kicker{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--primary);margin-bottom:10px}
.workday-dot{width:5px;height:5px;border-radius:50%;background:var(--primary)}
.workday-example{margin-left:auto;color:#7b8879;font-size:9px}
#workday-details{display:flex;align-items:baseline;gap:12px;border:0;background:none;padding:0;text-align:left}
#workday-title{font-size:15px;font-weight:500;line-height:1.4}
#workday-details>span{font-size:12px;color:var(--muted)}
#workday-detail{font-size:12px;line-height:1.65;color:var(--muted);margin:8px 0 0}
/* The dialogue box of a text game: one place, at the bottom, always the same
   shape. It used to anchor itself over whoever was speaking, which put it in
   the middle of the room and moved it every line. */
#world-line{position:fixed;z-index:6;left:50%;bottom:150px;transform:translate(-50%,0);width:min(440px,calc(100% - 40px));display:flex;align-items:flex-start;gap:0;padding:12px 16px;background:#faf8f2;border:1px solid #d1d9bc;border-radius:8px;box-shadow:0 3px 12px #090e000b;pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out}
#world-line[hidden]{display:none}
#world-line .avatar{display:none}
.world-line-body{min-width:0;flex:1}
#world-line strong{display:block;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--primary,#045c45);margin:0 0 5px}
#world-line p{font-size:13px;line-height:1.5;margin:0;color:#194c38}
/* The reviewer's offer is a choice inside the line, the way a text game asks. */
#world-line-choice{margin-top:8px;pointer-events:auto}
#world-line-join{padding:2px 0;border:0;border-bottom:1px solid #045c4560;border-radius:0;background:none;color:#045c45;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}
#world-line-join:hover,#world-line-join:focus-visible{border-bottom-color:#045c45;background:#ddfdc6;outline-offset:4px}
#bloom-notice{position:fixed;z-index:11;left:50%;bottom:52px;transform:translate(-50%,14px);display:flex;align-items:center;gap:11px;padding:11px 15px 11px 12px;background:#fafbf8f5;border:1px solid #d9e1cf;border-radius:10px;box-shadow:0 8px 30px #163b2518;opacity:0;transition:opacity .18s ease-out,transform .18s ease-out;pointer-events:none}
#bloom-notice.show{opacity:1;transform:translate(-50%,0)}
#bloom-notice>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f4ff7f;color:#045c45;font-size:9px;box-shadow:inset 0 0 0 1px #dfe6a5}
#bloom-notice strong,#bloom-notice small{display:block}
#bloom-notice strong{font-size:12px;font-weight:550}
#bloom-notice small{font-size:10px;color:var(--muted);margin-top:2px}

/* A live product surface follows the room's autonomous work. It is a floating
   layer, not another wall-mounted prop, and it refreshes with each phase. */
#task-view{--background:#ffffff;--card:#fafbf8;--popover:#fafbf8;--surface:#ffffff;--inverse:#045c45;--dismiss:#d1d9bc0d;--foreground:#090e00;--card-foreground:#090e00;--popover-foreground:#090e00;--inverse-foreground:#ddfdc6;--muted-foreground:#4f4f4f;--tertiary-foreground:#838383;--placeholder-foreground:#bbbbbb;--disabled-foreground:#cecece;--link-foreground:#027864;--primary:#045c45;--primary-foreground:#ffffff;--secondary:#d1d9bc33;--secondary-foreground:#090e00;--muted:#d1d9bc33;--accent:#d1d9bc33;--accent-foreground:#090e00;--brand-accent:#003b00;--brand-subtle:#ddfdc6;--brand-secondary:#f4ff7f;--brand-tertiary:#ffcce6;--brand-black:#090e00;--brand-white:#ffffff;--border:#0000001f;--input:#00000017;--ring:#000000de;--border-inverse:#ffffff26;--hover-overlay:#181d070d;--press-overlay:#181d0712;--primary-subtle:#045c451f;--destructive:#dc3e42;--destructive-subtle:#dc3e421f;--info:#3e63dd;--info-subtle:#3e63dd1f;--success:#12a594;--success-subtle:#12a5941f;--warning:#ef5f00;--warning-subtle:#ef5f001f;--palette-kylon-bg:#e6fbe5;--palette-kylon-fg:#045c45;--palette-purple-bg:#f4f0fe;--palette-purple-fg:#6550b9;--palette-pink-bg:#fee9f5;--palette-pink-fg:#c2298a;--palette-cyan-bg:#def7f9;--palette-cyan-fg:#107d98;--palette-orange-bg:#ffefd6;--palette-orange-fg:#cc4e00;--chart-1:#a4d928;--chart-2:#6550b9;--chart-3:#12a594;--chart-4:#cc4e00;--shadow-default:0 4px 16px 0 #0000000a;--shadow-active:0 4px 20px 0 #0000000f;--shadow-floating:0 4px 24px 0 #00000014;--shadow-overlay:0 4px 48px 0 #0000000f;--radius-xs:.125rem;--radius-sm:.25rem;--radius-6:.375rem;--radius:.5rem;--radius-10:.625rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-3xl:624.9375rem;--font-sans:"Geist",ui-sans-serif,system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--text-headline-sm:17px;--text-label-lg:16px;--text-label-md:14px;--text-label-sm:12px;--text-body-lg:16px;--text-body-md:14px;--text-body-sm:12px;--motion-duration-fast:160ms;--motion-duration-medium:220ms;--motion-duration-slow:320ms;--motion-ease-out-quint:cubic-bezier(.22,1,.36,1);position:fixed;z-index:7;top:96px;right:24px;width:min(920px,calc(100vw - 48px));max-height:calc(100svh - 132px);overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);color:var(--foreground);font-family:var(--font-sans);opacity:0;transform:translateY(10px) scale(.985);transition:opacity var(--motion-duration-medium) var(--motion-ease-out-quint),transform var(--motion-duration-medium) var(--motion-ease-out-quint)}
#task-view[data-shown="true"]{opacity:1;transform:none}

.task-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--border);background:var(--background)}
.task-view-header>div{display:grid;gap:3px;min-width:0}
#task-view-kicker{font-size:var(--text-label-sm);font-weight:600;line-height:16px;letter-spacing:.08em;color:var(--primary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#task-view-title{font-size:var(--text-label-lg);font-weight:600;letter-spacing:-.01em;line-height:normal}
#task-view-close{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius);background:var(--secondary);font-size:20px;line-height:1;color:var(--muted-foreground)}
#task-view-close:hover{background:var(--accent);color:var(--foreground)}
#task-view-body{padding:12px;background:var(--card);overflow-y:auto;min-height:0}
/* Show the room screenshot at the panel width; never shrink it from viewport height. */
.product-monitor{width:100%;margin:0;background:var(--background);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.product-screen{position:relative;border-radius:8px;overflow:hidden;background:var(--background);box-shadow:inset 0 0 0 1px #00000033}
#panel-shot,#panel-shot-ghost{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--background)}
#panel-shot-ghost{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity var(--motion-duration-medium) var(--motion-ease-out-quint)}
.monitor-chin{display:none}
.monitor-dot{width:6px;height:6px;border-radius:var(--radius-3xl);background:#f4ff7f80}
.monitor-stand{display:none}
/* Three fixed prompts under the screen. Clicking one swaps the picture to that
   answer; the panel opens on idle again, so nobody inherits someone else's. */
.panel-prompts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:12px 0 0}
.panel-prompts button{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:var(--text-label-sm);font-weight:500;line-height:16px;transition:background var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast)}
.panel-prompts button:hover{background:var(--accent)}
.panel-prompts button.on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
.monitor-neck{width:52px;height:14px;background:linear-gradient(180deg,#1b2a24,#16241f)}
.monitor-foot{width:150px;height:7px;border-radius:0 0 6px 6px;background:#16241f;box-shadow:0 6px 14px #16241f1f}
#task-view>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);background:var(--background);color:var(--muted-foreground);font-size:var(--text-body-sm);line-height:18px}
.task-view-live{display:flex;align-items:center;gap:6px;min-width:0}
.task-view-live>span{width:6px;height:6px;border-radius:var(--radius-3xl);background:var(--success);box-shadow:0 0 0 3px var(--success-subtle)}
.task-view-live b{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--foreground)}
#task-view[data-paused="true"] .task-view-live>span{background:var(--disabled-foreground);box-shadow:none}


@media(max-width:820px){
  #task-view{right:12px;width:min(640px,calc(100vw - 24px))}
}
@media(max-width:640px){
  #task-view{top:82px;right:12px;width:calc(100vw - 24px);max-height:47svh}
  .task-view-header{padding:10px 12px 9px}#task-view-title{font-size:12px}#task-view-body{padding:6px}#task-view>footer{padding:6px 10px;font-size:7px}

}
.work-record{border-top:1px solid var(--line);padding:13px 0}
.work-record strong{font-size:14px;font-weight:550}
.work-record p{font-size:12px;margin:5px 0 0}
.thread-record-link{border:0;background:none;color:var(--primary);font-size:12px;padding:8px 0 0;text-align:left}
#game-thread{color:var(--primary)}
#thread-count{font-size:12px;margin-left:7px;color:var(--muted)}
#info.thread-dialog[open]{display:flex;flex-direction:column;width:min(500px,calc(100vw - 40px));height:calc(100svh - 40px);max-height:none;margin:20px 20px 20px auto;padding:0;overflow:hidden}
#info.thread-dialog::backdrop{background:#10362318;backdrop-filter:none}
.thread-dialog #info-kicker{padding:27px 28px 0;margin:0;font-size:12px}
.thread-dialog #info-title{padding:0 28px;margin:10px 0 18px;font-size:27px;letter-spacing:-.75px}
.thread-dialog #info-body{display:flex;flex-direction:column;flex:1;min-height:0}
.thread-summary{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:0 28px 14px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.thread-example{font-size:12px;color:var(--muted);white-space:nowrap}
.thread-picker{display:flex;align-items:center;gap:10px;padding:12px 28px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.thread-picker select{min-width:0;flex:1;font:inherit;color:var(--ink);padding:7px 8px;background:var(--paper);border:1px solid var(--line);border-radius:5px}
.thread-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 28px;scrollbar-width:thin}
.thread-message{display:flex;gap:11px;margin:0 0 24px}
.thread-message>.avatar{width:32px;height:32px}
.thread-message-content{flex:1;min-width:0}
.thread-author{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.thread-author strong{font-size:16px;font-weight:550}
.thread-author small{font-size:12px;color:var(--muted)}
.thread-message p{font-size:16px;line-height:1.7;color:#355440;margin:6px 0 0}
.thread-message.context p{font-size:14px;color:var(--muted)}
.thread-message.decision .thread-message-content{background:#edf3e6;border:1px solid #d6e2c9;border-radius:7px;padding:10px 12px}
.thread-attachment{margin-top:10px;border:1px solid #d5dfcc;border-radius:6px;overflow:hidden}
.thread-attachment summary{padding:10px 12px;font-size:14px;cursor:pointer;background:#f0f4e9;color:var(--primary)}
.thread-attachment pre{font:13px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px;border-top:1px solid var(--line);color:#355440;background:var(--paper)}
.thread-reference{margin-top:10px;font-size:14px;color:var(--primary)}
.thread-question{padding:14px 28px 20px;border-top:1px solid var(--line);background:var(--paper)}
.thread-question>span{font-size:12px;color:var(--muted)}
.thread-question>div{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.thread-question button{padding:9px 11px;border:1px solid var(--line);background:#edf2e6;border-radius:6px;font-size:14px;color:var(--ink)}
.thread-question button:disabled{background:transparent;color:#82917b;cursor:default}
@media(max-width:900px){
  #info.thread-dialog[open]{margin:12px;width:calc(100vw - 24px);height:calc(100svh - 24px)}
  .thread-dialog #info-kicker{padding-left:20px;padding-right:20px}
  .thread-dialog #info-title{padding:0 20px;font-size:25px}
  .thread-summary,.thread-picker{padding-left:20px;padding-right:20px}
  .thread-summary{flex-wrap:wrap;gap:4px}
  .thread-messages{padding:18px 20px}
  .thread-question{padding:12px 20px 17px}
  .thread-message{gap:9px}
  .thread-message>.avatar{width:29px;height:29px}
}
@media(max-width:900px){
  body.game .site-header{height:76px}
  body.game #stage{inset:132px 0 165px}
  #game-location{top:89px;left:24px}
  #game-location .eyebrow{display:none}
  #game-room-name{font-size:23px;letter-spacing:-.8px}
  #game-intro{font-size:11px;margin-top:5px;max-width:240px}
  #game-actions{top:auto;bottom:33px;left:24px;right:auto;gap:10px;align-items:flex-start}
  body.game .scene-caption{display:none}
  body.game .scene-tools{bottom:123px;right:24px}
  body.game .touch-pad{bottom:25px;right:24px;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}
  body.game .touch-pad button{background:#fafbf8;border-color:#c4d1b8}
  body.game .explore-help{bottom:132px;left:24px;transform:none;text-align:left;max-width:70%}
  body.game .explore-help span{display:none}
  #interact{bottom:190px;font-size:12px;padding:10px 13px;max-width:calc(100vw - 32px)}
  #npc-dialogue{bottom:16px;width:calc(100vw - 24px);padding:18px 19px;max-height:65svh;overflow:auto}
  #npc-line{font-size:14px;margin:14px 0;line-height:1.6}
  #npc-choices{gap:7px}
  #npc-choices button{font-size:12px;padding:9px 10px}
  .npc-heading strong{font-size:16px}
  .npc-heading .avatar{width:52px;height:52px}
  #workday-status{top:auto;bottom:137px;left:24px;width:calc(100% - 48px);max-width:380px}
  .workday-kicker{margin-bottom:6px}
  #workday-title{font-size:13px}
  #workday-detail{display:none}
  body.game[data-living-room="true"] .explore-help{display:none}
  #world-line{bottom:237px;max-width:calc(100% - 36px);padding:10px 12px;gap:9px}
  #world-line .avatar{width:26px;height:26px}
  #world-line strong{font-size:10px}
  #world-line p{font-size:12px}
  #bloom-notice{bottom:82px;max-width:calc(100% - 36px);white-space:nowrap}
}

/* Spatial discussion labels remain usable alongside camera movement. */
#table-topic{position:fixed;z-index:5;transform:translateX(-50%);color:var(--ink);border:1px solid #ccd8c2;box-shadow:0 3px 12px #204b3610;text-align:left;background:#fafbf8f5}
#table-topic{padding:10px 15px;border-radius:8px;display:grid;gap:4px;min-width:180px}
.table-topic-kicker{font-size:10px;letter-spacing:1.4px;color:var(--muted)}
#table-topic strong{font-size:15px;font-weight:550}
#table-topic-detail{font-size:12px;color:var(--muted)}
#table-topic:hover{box-shadow:0 5px 18px #204b3625}
.table-review-lead{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.table-review-lead img{width:42px;height:42px;border-radius:50%}
.table-review-lead p{font-size:16px;margin:0}
.table-review-actions{display:grid;gap:10px;margin-top:24px}
.table-review-actions button{font:inherit;font-size:15px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#edf2e6;color:var(--ink)}
#table-approve{background:var(--primary);color:white}
#table-leave{border:0;background:none;color:var(--muted)}
@media(max-width:900px){
  #table-topic{left:18px!important;top:auto!important;bottom:175px;transform:none;padding:9px 12px;min-width:0;max-width:calc(100vw - 220px)}
    }

#info[data-view="table-review"]::backdrop{backdrop-filter:none;background:#10362320}

@media(max-width:900px){body:has(#table-topic:not([hidden])) #world-line{bottom:285px}body:has(#table-topic:not([hidden])) #interact{top:148px;bottom:auto}}

/* Quiet exploration: the scene is the default surface, controls are on demand. */
#room-context{font-size:14px;font-weight:450;color:var(--muted);margin-left:16px;padding-left:16px;border-left:1px solid var(--line)}
body.game #game-location,body.game #workday-status,body.game .scene-caption,body.game .scene-tools,body.game .explore-help{display:none!important}
body:not([data-movement-buttons="true"]) #touch-pad{display:none!important}
#room-menu-toggle{font-size:26px;line-height:1;border:0;background:transparent}
#room-menu{position:fixed;inset:76px 24px auto auto;margin:0;width:min(280px,calc(100vw - 48px));padding:16px;background:#fafbf8;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #204b3614}
#room-menu::backdrop{background:transparent}
.room-menu-help{font-size:13px;line-height:1.6;margin:0 8px 12px;color:var(--muted)}
#room-menu #game-actions{position:static;display:flex;align-items:stretch;gap:0;margin:0}
#room-menu button,#room-menu #game-actions button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;font-weight:450;border:0;border-radius:6px;background:none;padding:11px 8px;color:var(--ink)}
#room-menu button:hover{background:#edf2e6}
#met-count,#thread-count{display:none!important}
#table-topic{display:block;min-width:0;padding:8px 12px;border:0;box-shadow:none;background:#fafbf8e8;border-radius:6px}
#table-topic strong{font-size:14px;font-weight:450}
body.game #stage{inset:76px 0 28px}
@media(max-width:900px){
  #room-context{margin-left:10px;padding-left:10px;font-size:13px}
  #room-menu{top:66px;right:18px;width:min(280px,calc(100vw - 36px))}
  body.game #stage{inset:76px 0 28px}
  #table-topic{left:18px!important;bottom:26px;max-width:calc(100vw - 210px)}
    body.game #interact,body:has(#table-topic:not([hidden])) #interact{top:auto;bottom:78px}
  body.game #world-line,body.game   body[data-movement-buttons="true"] #table-topic,body[data-movement-buttons="true"]   body[data-movement-buttons="true"] #interact{bottom:195px}
  body[data-movement-buttons="true"] #world-line{bottom:248px}
}

body.game #interact{display:none!important}

.brand .brand-logo{display:block;width:134px;height:36px;flex-shrink:0}
@media(max-width:600px){.brand .brand-logo{width:112px;height:30px}}

/* Kylon Land art direction — a framed, tactile paper diorama. */
body.game{
  background:#e7ece2;
}
/* Embedded in a page, the world carries no chrome of its own: no frame around
   the canvas, no badge, no menu button. The page around it already says where
   you are, and the sign in the plaza is the way back. */
body.game .site-header{display:none!important}
body.game #stage{
  inset:0;
  overflow:hidden;
  background:#edf1e8;
}
/* The plank is a thing in the world now, standing on the ground with its own
   shadow. What is left here is just words: plain type in the corner with
   nothing drawn around them. A wooden card pasted over a flat world was the
   mismatch; text is quiet enough to sit anywhere. */
body.game #game-location{
  display:block!important;
  top:36px;
  left:max(var(--page-gutter),40px);
  width:min(320px,calc(100vw - 80px));
}
body.game #game-location .eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  font-size:10px;
  color:#4d6a58;
}
body.game #game-location .eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  background:#f4ff7f;
  border:2px solid #045c45;
  border-radius:50%;
}
body.game #game-room-name{
  font-size:clamp(22px,2vw,30px);
  font-weight:600;
  letter-spacing:-1px;
  color:#0d3b2c;
}
body.game #game-intro{
  margin-top:8px;
  max-width:300px;
  font-size:12px;
  line-height:1.55;
  color:#4d6a58;
}
body.game .explore-help{
  display:block!important;
  left:max(var(--page-gutter),40px);
  right:auto;
  bottom:36px;
  transform:none;
  text-align:left;
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
}
body.game .explore-help strong{
  color:#073f31;
}
#room-menu{
  border-radius:4px;
  box-shadow:7px 8px 0 #c2cec0;
}
#room-menu button{
  border-radius:3px;
}
.loading{
  background:#edf1e8;
}
.loading-mark{
  border-radius:2px;
  box-shadow:5px 6px 0 #b8c6b6;
}

@media(max-width:900px){
  body.game #stage{inset:0;border-radius:0}
  body.game #game-location{top:22px;left:24px;width:min(260px,calc(100vw - 48px))}
  body.game .explore-help{
    left:24px;
    right:auto;
    bottom:26px;
    max-width:calc(100% - 54px);
    transform:none;
    padding:0;
    text-align:left;
    box-shadow:none;
  }
  body.game .explore-help span{display:none}
}

/* The board opens the app that owns the room's records. Shaped like the work
   queues these apps actually use — a dark hero, a few figures, then records
   with hierarchy — rather than a spreadsheet of equal cells. */
#info.app-dialog[open]{display:flex;flex-direction:column;width:min(680px,calc(100vw - 40px));max-width:none;
  max-height:calc(100svh - 48px);padding:0;overflow:hidden;border-radius:18px}
#info.app-dialog #info-body{display:flex;min-height:0;flex:1}
.app-window{min-height:0;flex:1}
#info.app-dialog #info-kicker,#info.app-dialog #info-title{display:none}
#info.app-dialog #info-body{margin:0}
#info.app-dialog .close-button{top:16px;right:16px;z-index:2;color:#eff3e5;background:#ffffff1f;border:0;border-radius:999px}
#info.app-dialog .close-button:hover{background:#ffffff33}
#info.app-dialog .close-button:focus-visible{outline:2px solid #f4ff7f;outline-offset:2px}

.app-window{display:flex;flex-direction:column;background:#fafbf8;color:#1d2a20;font-size:13.5px}
.app-hero{flex-shrink:0;padding:20px 22px 18px;background:#0d3a2b;color:#eff3e5}
.app-hero-top{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.app-mark{width:22px;height:22px;flex-shrink:0;display:block}
.app-mark img{width:100%;height:100%;display:block;border-radius:5px}
.app-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#a9c6b4}
.app-hero h3{margin:0;font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.app-hero p{margin:7px 0 0;max-width:44ch;font-size:12.5px;line-height:1.5;color:#ffffff9c}
.app-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.app-pills span{padding:4px 12px;border-radius:999px;background:#ffffff14;color:#ffffffb0;font-size:11.5px}
.app-pills .on{background:#f4ff7f;color:#0d3a2b;font-weight:600}

.app-metrics{flex-shrink:0;display:flex;gap:30px;padding:15px 22px;border-bottom:1px solid #e6ebe0}
.app-metrics div{display:flex;flex-direction:column;gap:1px}
.app-metrics b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#12321f}
.app-metrics span{font-size:10.5px;color:#6c7d6f;text-transform:uppercase;letter-spacing:.09em}

.app-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}
.app-row{display:flex;align-items:center;gap:13px;padding:13px 22px;border-bottom:1px solid #eef1ea}
.app-row:last-child{border-bottom:0}
.app-row:hover{background:#f4f7f0}
.app-level{width:3px;align-self:stretch;border-radius:2px;background:#cfd9c6;flex-shrink:0}
.app-level.high{background:#045c45}
.app-level.mid{background:#8fae93}
.app-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.app-row-main strong{font-weight:500;font-size:14px;color:#12321f;letter-spacing:-.01em}
.app-row-key{font-size:11.5px;color:#7b8c7e;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;text-align:right}
.app-row-meta{font-size:11px;color:#7b8c7e}
.app-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:#e7ece2;color:#3f5545;font-size:11.5px;white-space:nowrap}
.app-chip.high{background:#ddfdc6;color:#045c45;font-weight:500}
.app-chip.done{background:#eef1ea;color:#8b9a8d}
.app-note{flex-shrink:0;margin:0;padding:13px 22px 16px;color:#7b8c7e;font-size:11.5px;border-top:1px solid #eef1ea}

@media(max-width:640px){
  .app-hero h3{font-size:20px}
  .app-metrics{gap:20px}
  .app-row-key{max-width:46vw}
}

/* Keep the dialogue at the viewport edge even in the compact embedded world. */
body.game #world-line{bottom:64px;top:auto;width:min(440px,calc(100% - 40px))}
@media(max-width:600px){body.game #world-line{bottom:56px;padding:10px 13px}}
body.game[data-movement-buttons="true"] #world-line{bottom:152px}

/* The header and footer stay reachable; short embeds scroll the full-size content. */
#task-view:not([hidden]){display:flex;flex-direction:column;top:24px;max-height:calc(100svh - 48px)}
.task-view-header,#task-view>footer{flex-shrink:0}
@media(max-width:640px){
  #task-view:not([hidden]){top:12px;max-height:calc(100svh - 24px)}
  #task-view>footer{font-size:10px}
  #task-view-title{font-size:14px}
  #task-view-body{padding:10px}
  .panel-prompts{flex-direction:column}
  .panel-prompts button{text-align:left;line-height:1.4}
}
/* Functional room / App / contextual App chat demo. */
#task-view-body{padding:0!important}#room-mockup{font-size:13px;background:#fff;color:#090e00}
.km-top{padding:12px 18px;display:flex;justify-content:space-between;align-items:center}.km-room{font-size:18px;font-weight:650}.km-members{font-size:11px;color:#777}
.km-tabs{display:flex;gap:18px;padding:0 18px;border-bottom:1px solid #e9ece4}.km-tabs button{border:0;background:none;border-bottom:2px solid transparent;padding:10px 0;color:#667060;font:inherit;cursor:pointer}.km-tabs button[aria-pressed=true]{color:#045c45;border-bottom-color:#045c45;font-weight:600}
.km-messages{min-height:180px;max-height:310px;overflow:auto;padding:20px 18px;display:flex;flex-direction:column;gap:20px}.km-message{display:flex;gap:10px}.km-avatar{display:grid;place-items:center;flex:0 0 30px;height:30px;background:#ddfdc6;border-radius:7px;color:#045c45;font-weight:650}.km-message strong{font-size:12px}.km-message p{margin:5px 0 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.km-record{margin-left:40px;padding:12px 14px;text-align:left;border:1px solid #d1d9bc;background:#fafbf8;border-radius:6px;color:#090e00;cursor:pointer}.km-record span,.km-record small{display:block;font-size:11px;color:#045c45}.km-record strong{display:block;font-size:13px;margin:6px 0}
.km-composer{position:relative;margin:0 18px 16px;border:1px solid #d1d9bc;border-radius:8px;padding:10px;background:#fff}.km-composer:focus-within{border-color:#045c45}.km-composer textarea{display:block;box-sizing:border-box;width:100%;min-height:55px;resize:vertical;border:0;outline:0;font:inherit;background:none;color:#090e00}.km-composer-actions{display:flex;align-items:center;gap:10px}.km-composer-actions span{font-size:10px;color:#838383}.km-at{border:0;background:none;color:#045c45;font-size:18px;cursor:pointer}.km-send{margin-left:auto;background:#045c45;color:white;border:0;border-radius:5px;padding:7px 14px;cursor:pointer}.km-mention-menu{position:absolute;bottom:100%;left:0;width:230px;background:white;border:1px solid #d1d9bc;border-radius:8px;box-shadow:0 6px 24px #090e0015;padding:5px;z-index:2}.km-mention-menu[hidden]{display:none}.km-mention-menu button{display:flex;justify-content:space-between;gap:16px;width:100%;padding:10px;border:0;background:white;text-align:left;font:inherit;cursor:pointer}.km-mention-menu button:hover{background:#ddfdc6}.km-mention-menu small{color:#838383}.km-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.km-app{padding:22px 18px;min-height:300px}.km-app-title{display:flex;justify-content:space-between;align-items:center}.km-app-title small{font-size:9px;color:#838383;letter-spacing:1px}.km-app-title h2{font-size:20px;margin:5px 0 20px}.km-app-title>span,.km-note{font-size:11px;color:#838383}.km-table-wrap{overflow:auto}.km-app table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.km-app th{font-size:11px;color:#838383;font-weight:500;background:#fafbf8}.km-app th,.km-app td{padding:12px 10px;border-bottom:1px solid #eee}.km-app td span{display:block;font-size:11px;margin-top:5px}.km-app select{background:#f3f5ef;border:0;border-radius:4px;padding:6px;font:inherit}.km-discuss{border:1px solid #d1d9bc;background:white;color:#045c45;border-radius:5px;padding:6px 10px;cursor:pointer}.km-context{background:#fafbf8;padding:12px 18px;border-bottom:1px solid #e9ece4}.km-context button{display:block;border:0;background:none;padding:0;color:#045c45;font-size:11px;cursor:pointer}.km-context strong{display:block;margin-top:7px}.km-context small{display:block;margin-top:5px;color:#838383;font-size:10px}
@media(max-width:640px){.km-messages{max-height:240px;min-height:130px;padding:15px 12px}.km-composer{margin:0 12px 12px}.km-tabs{gap:14px}.km-app{padding:16px 10px}.km-record{margin-left:0}}
#room-mockup{display:flex;flex-direction:column;height:min(570px,calc(100svh - 160px));min-height:260px}
.km-top,.km-tabs,.km-context,.km-composer{flex-shrink:0}.km-messages{flex:1;min-height:0;max-height:none}.km-app{flex:1;min-height:0;overflow:auto}
@media(max-width:640px){#room-mockup{height:calc(100svh - 142px)}.km-messages{min-height:0;max-height:none}}

.km-composer textarea{min-height:36px}.km-context{padding:8px 18px}.km-context small{margin-top:3px}.km-top{padding:10px 18px}.km-tabs button{padding:8px 0}
/* Kylon shell: room navigation, App canvas and independently closable right-hand discussion. */
#task-view{width:min(1440px,calc(100vw - 32px));right:16px}#task-view:not([hidden]){top:16px;max-height:calc(100svh - 32px)}.task-view-header{padding:9px 14px}#task-view-title{font-size:12px}#task-view-kicker{font-size:9px}#task-view>footer{padding:6px 14px;font-size:10px}
#room-mockup{height:calc(100svh - 126px);max-height:820px;min-height:260px;font-size:13px}.kx-shell{display:flex;flex:1;min-height:0;overflow:hidden;background:#fff}.kx-shell button,.kx-shell input,.kx-shell textarea,.kx-shell select{font:inherit}.kx-shell button{cursor:pointer;color:inherit}.kx-rail{width:48px;flex:0 0 48px;display:flex;flex-direction:column;align-items:center;gap:20px;padding:16px 0;border-right:1px solid #eee}.kx-brand{background:#045c45;color:#f4ff7f;border-radius:6px;padding:6px 8px;font-weight:700}.kx-rail button{border:0;background:none;padding:7px}.kx-me{margin-top:auto;border-radius:50%;background:#f1f3ea;padding:5px;font-size:10px}.kx-rooms{width:185px;flex:0 0 185px;border-right:1px solid #eee;padding:16px 10px}.kx-rooms header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 18px}.kx-room-filters{font-size:10px;color:#838383;padding:0 8px 15px}.kx-rooms button{display:flex;gap:8px;align-items:center;border:0;background:none;width:100%;text-align:left;padding:10px 8px;border-radius:6px;font-size:12px}.kx-rooms button.selected{background:#f3f5ef}.kx-rooms .kx-thread-link{font-size:10px;line-height:1.5;padding-left:21px}.kx-muted-room{padding:10px 8px;font-size:11px;color:#838383}.kx-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.kx-room-head{display:flex;gap:8px;padding:12px 15px;align-items:center;border-bottom:1px solid #eee;flex-shrink:0}.kx-room-head>strong{margin-right:10px}.kx-room-head button{border:0;background:none;padding:8px 9px;font-size:12px;white-space:nowrap}.kx-room-head button.on{background:#f3f5ef;border-radius:6px}.kx-head-members{margin-left:auto;display:flex;gap:5px;font-size:11px;color:#838383}.kx-chat-log,.kx-side-log{flex:1;min-height:0;overflow:auto;padding:24px 22px}.kx-message{display:flex;gap:10px;margin-bottom:24px}.kx-avatar{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e9eddf;font-size:10px}.kx-message header{display:flex;gap:8px;align-items:center}.kx-message strong{font-size:11px}.kx-message small{font-size:9px;color:#838383}.kx-message p{font-size:12px;line-height:1.7;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.kx-message mark{background:#e6fbe5;color:#045c45}.kx-app-card{margin-left:38px;display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #e5e8e0;border-radius:8px;background:#fafbf8;text-align:left}.kx-app-card small{display:block;font-size:10px;color:#838383;margin-top:6px}.kx-replies{margin:10px 0 0 38px;border:0;background:none;font-size:11px!important;color:#045c45!important}.kx-compose{position:relative;margin:10px 18px 16px;border:1px solid #dfe4d7;border-radius:12px;background:#fafbf8;padding:10px 12px;flex-shrink:0}.kx-compose textarea{width:100%;min-height:35px;display:block;resize:none;border:0;outline:none;background:none;font-size:12px}.kx-compose>div:last-child{display:flex;align-items:center;gap:9px}.kx-compose button{border:0;background:none;padding:3px 5px}.kx-compose span{font-size:9px;color:#838383}.kx-compose .kx-send{margin-left:auto;background:#045c45;color:#fff;border-radius:5px}.kx-mentions{position:absolute;bottom:100%;left:0;background:white;border:1px solid #dfe4d7;border-radius:8px;width:210px;padding:5px;box-shadow:0 8px 22px #00000014;z-index:3}.kx-mentions button{display:flex;justify-content:space-between;width:100%;padding:10px;font-size:12px}.kx-mentions small{color:#838383;font-size:9px}.kx-mentions[hidden]{display:none}.kx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.kx-app-toolbar{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;border-bottom:1px solid #eee;font-size:10px;color:#838383}.kx-app-toolbar button{display:flex;gap:7px;align-items:center;background:#f3f7f2;border:0;color:#045c45;border-radius:6px;padding:7px 10px;font-size:11px}.kx-app-content{flex:1;overflow:auto;padding:20px}.kx-app-content nav{display:flex;justify-content:center;gap:18px;margin:0 0 23px}.kx-app-content nav button{border:0;background:none;padding:10px 0;font-size:12px;border-bottom:2px solid transparent;color:#838383}.kx-app-content nav button.on{border-bottom-color:#090e00;color:#090e00}.kx-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kx-stats>div{border:1px solid #eee;border-radius:14px;padding:18px}.kx-stats span,.kx-stats small{display:block;color:#838383;font-size:11px}.kx-stats strong{display:block;font-size:23px;font-weight:500;color:#045c45;margin:9px 0}.kx-stats small{font-size:9px}.kx-chart{border:1px solid #eee;border-radius:14px;padding:18px;margin-top:18px}.kx-chart strong{font-size:13px}.kx-chart p{font-size:10px;color:#838383}.kx-chart svg{width:100%;display:block;margin-top:20px}.kx-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px;font-size:11px}.kx-filters select,.kx-filters input{border:1px solid #eee;border-radius:5px;background:#fafbf8;padding:7px;max-width:160px}.kx-filters>span{margin-left:auto;color:#838383}.kx-table-scroll{overflow:auto;border:1px solid #eee;border-radius:9px}.kx-table-scroll table{width:100%;border-collapse:collapse;white-space:nowrap}.kx-table-scroll th,.kx-table-scroll td{padding:13px 12px;text-align:left;border-bottom:1px solid #eee;font-size:11px}.kx-table-scroll th{font-size:9px;color:#838383;font-weight:500}.kx-table-scroll button{border:0;background:none;padding:0;text-align:left}.kx-record-link{font-weight:600!important}.kx-pill{background:#f4f5ec;border-radius:4px;padding:4px 6px;font-size:10px}.kx-icon{color:#838383!important}.kx-side{width:330px;flex:0 0 330px;display:flex;flex-direction:column;min-height:0;border-left:1px solid #e6e8e1;background:#fff}.kx-side>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 16px;border-bottom:1px solid #eee}.kx-side>header div{display:grid;grid-template-columns:24px 1fr;gap:5px;font-size:13px}.kx-side>header small{grid-column:2;font-size:10px;color:#838383}.kx-side>header button{border:0;background:none;color:#838383}.kx-side-log{padding:20px 15px}.kx-empty{padding:30px;color:#838383;font-size:12px}




.kx-main{position:relative}.kx-detail{position:absolute;inset:70px 20px 20px;background:white;border:1px solid #e3e7dc;border-radius:12px;box-shadow:0 14px 55px #090e001f;padding:20px;overflow:auto;z-index:2}.kx-detail header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kx-detail h3{font-size:17px;margin:0}.kx-detail header button{border:0;background:none}.kx-detail dl{display:grid;grid-template-columns:80px 1fr;gap:15px;font-size:12px;margin:26px 0}.kx-detail dt{color:#838383}.kx-detail dd{margin:0}.kx-detail p{font-size:11px;color:#838383}.kx-detail-discuss{display:flex;gap:8px;align-items:center;border:1px solid #d1d9bc;border-radius:6px;background:#fafbf8;padding:8px 12px;color:#045c45!important}
/* Measured against Kylon CRM in the authenticated browser, September 8. */
#room-mockup,.kx-shell{font-family:Geist,ui-sans-serif,system-ui,sans-serif;color:#090e00}
#task-view{border-radius:14px}.task-view-header{padding:7px 14px}.task-view-header>div{display:none}.task-view-header:before{content:'Kylon Land';font-size:12px;color:#838383;align-self:center}#task-view-close{width:24px;height:24px;font-size:18px;background:none}#task-view>footer{font-weight:400;font-size:10px}#task-view>footer .task-view-live{display:none}#task-view>footer{justify-content:flex-end}#room-mockup{height:calc(100svh - 103px);max-height:1000px}
.kx-rail{width:52px;flex-basis:52px;padding-top:18px;gap:27px}.kx-brand{display:block;width:26px;height:26px;padding:0;background:none;border-radius:5px}.kx-rail button svg{width:20px;height:20px}.kx-rooms{width:220px;flex-basis:220px}.kx-room-head{height:54px;padding:8px 18px;gap:10px}.kx-room-head>strong{font-size:17px}.kx-room-head button{font-size:14px;padding:7px 10px}.kx-app-toolbar{height:40px;padding:6px 16px}.kx-app-toolbar button{height:28px;padding:0 10px;font-size:12px;line-height:16px;font-weight:600;border-radius:8px;background:#045c4510}.kx-app-location{display:flex;gap:10px;align-items:center;font-size:12px;color:#999}
.kx-side{width:35%;flex-basis:35%;min-width:310px;max-width:550px}.kx-side>header{padding:16px 20px;min-height:83px;border-bottom:0}.kx-side>header div{grid-template-columns:48px 1fr;column-gap:12px;align-items:center}.kx-app-symbol{grid-row:1 / 3;width:46px;height:46px;background:#f6f7f2;border-radius:50%;display:grid;place-items:center;color:#045c45}.kx-app-symbol svg{width:25px;height:25px}.kx-side>header strong{font-size:17px;font-weight:600;line-height:24px}.kx-side>header small{font-size:11px;line-height:17px;color:#999}.kx-side>header>button{padding-top:5px}.kx-side-log{padding:20px 23px}.kx-message{gap:12px;margin-bottom:24px}.kx-avatar{width:30px;height:30px;flex-basis:30px;font-size:10px}.kx-message strong{font-size:12px;font-weight:600}.kx-message small{font-size:10px}.kx-message p{font-size:14px;line-height:24px;margin-top:7px}.kx-side-log .kx-message>div{min-width:0}.kx-side-log .kx-message p{padding:12px 14px;background:#fafbf8;border-radius:12px}.kx-chat-log .kx-message p{background:#f3f7f4;border-radius:8px;padding:10px 12px}
.kx-compose{border:.5px solid #045c454d;border-radius:16px;padding:8px;margin:8px 16px 12px;min-height:77px;background:#fafbf8}.kx-compose textarea{font-size:14px;line-height:24px;min-height:24px;height:24px;padding:0 8px;margin:0 0 10px}.kx-compose textarea::placeholder{color:#b4b4b4}.kx-compose>div:last-child{gap:10px;height:26px}.kx-tool{color:#666!important;display:grid;place-items:center;flex:0 0 20px}.kx-tool svg{width:17px;height:17px}.kx-mic{margin-left:auto}.kx-compose button[data-mention]{font-size:19px;color:#666;padding:0 3px}.kx-compose .kx-send{padding:4px;margin-left:0;background:none;color:#9da39b}.kx-compose:focus-within .kx-send{color:#045c45}
.kx-app-content{padding:24px 18px}.kx-app-content nav{gap:26px;margin-bottom:24px}.kx-app-content nav button{font-size:16px;line-height:24px;padding:8px 0;font-weight:500}.kx-filters{gap:10px;margin-bottom:14px;min-height:34px;font-size:13px}.kx-filters #kx-low{height:34px;border:0;border-radius:12px;background:#f6f7f2;font-weight:600;padding:0 12px;white-space:nowrap}.kx-filter-description{font-size:12px;color:#838383;margin:0!important;flex:1;min-width:180px}.kx-filters>span:last-child{font-size:11px}.kx-table-scroll{border-radius:12px}.kx-table-scroll th{height:41px;font-size:12px;font-weight:600;padding:0 16px;color:#999}.kx-table-scroll td{height:42px;font-size:16px;line-height:24px;padding:0 16px;font-weight:400;color:#666}.kx-table-scroll td:first-child{min-width:190px;color:#090e00}.kx-table-scroll th:first-child{min-width:190px}.kx-record-link{font-weight:600!important;font-size:14px!important}.kx-table-scroll tbody tr:hover{background:#f5f5f5}.kx-table-scroll .kx-icon{opacity:0}.kx-table-scroll tr:hover .kx-icon,.kx-icon:focus-visible{opacity:1}.kx-spark{display:flex;align-items:flex-end;gap:3px;height:22px;width:100px}.kx-spark i{display:block;width:12px;border-radius:1px;background:#60afa5}.kx-stats>div{padding:20px;border-radius:18px}.kx-stats span{font-size:15px}.kx-stats strong{font-size:21px}.kx-stats small{font-size:12px}.kx-chart strong{font-size:16px}.kx-chart p{font-size:13px}



/* Full-size workspace navigation and readable room typography. */
#room-mockup{font-size:14px}.kx-rail{width:64px;flex-basis:64px;gap:16px}.kx-rail button{width:48px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px}.kx-rail button.selected{background:#f3f5ef;color:#045c45}.kx-rail button small{font-size:10px;line-height:12px}.kx-rooms{width:280px;flex-basis:280px;padding:20px 12px}.kx-rooms header{font-size:17px}.kx-rooms button{font-size:14px;min-height:44px}.kx-rooms .kx-thread-link{font-size:13px}.kx-room-filters{font-size:12px}.kx-room-head .kx-head-members{display:flex;margin-left:auto;align-items:center;gap:6px;font-size:13px;color:#838383}.kx-chat-log{padding:28px 32px}.kx-chat-log .kx-message{max-width:820px}.kx-chat-log .kx-message p{font-size:16px;line-height:26px}.kx-message strong{font-size:14px}.kx-message small{font-size:12px}.kx-avatar{width:32px;height:32px;flex-basis:32px;font-size:12px}.kx-main>.kx-compose{margin:12px 32px 24px;min-height:104px}.kx-main>.kx-compose textarea{font-size:16px;line-height:26px;height:48px}.kx-directory{overflow:auto;padding:32px;flex:1}.kx-directory h2{font-size:22px;font-weight:600;margin:0 0 8px}.kx-subtitle{font-size:14px;color:#838383;margin:0 0 28px}.kx-feed-item{display:block;width:100%;max-width:850px;background:#fff;border:1px solid #e8eae4;border-radius:12px;padding:20px;margin-bottom:16px;text-align:left}.kx-feed-item:hover{background:#fafbf8}.kx-feed-item small{color:#838383;font-size:12px}.kx-feed-item h3{font-size:16px;margin:10px 0}.kx-feed-item p{font-size:14px;line-height:24px;color:#4f4f4f}.kx-feed-item>span{color:#045c45;font-size:13px}.kx-member-list{max-width:820px}.kx-member-list>button{display:flex;align-items:center;gap:14px;width:100%;background:#fff;border:0;border-bottom:1px solid #eee;padding:18px 0;text-align:left}.kx-member-list strong{font-size:14px}.kx-member-list small{display:block;color:#838383;font-size:12px;margin-top:5px}.kx-member-list>button>span:last-child{margin-left:auto;color:#838383;font-size:12px}.kx-person{margin-top:24px;padding:20px;background:#fafbf8;border:1px solid #e8eae4;border-radius:12px}.kx-person h3{font-size:17px}.kx-person p{font-size:14px;color:#838383}.kx-person button{border:0;border-radius:8px;background:#045c45;color:white;padding:10px 14px}.kx-shell button:focus-visible{outline:2px solid #045c45;outline-offset:2px}



/* Match reference rail: icon-only, two dividers, quiet rounded active state. */
.kx-rail{width:64px;flex-basis:64px;padding:20px 0 14px;gap:10px}.kx-brand{width:32px;height:32px;border-radius:8px;margin-bottom:20px}.kx-rail button{width:52px;height:46px;min-height:46px;padding:11px;border-radius:14px;position:relative;color:#575957}.kx-rail button svg{width:24px;height:24px;stroke-width:1.65}.kx-rail button.selected{background:#f5f6f0;color:#273426}.kx-rail-divider{width:32px;height:1px;background:#e7e8e4;flex:0 0 1px;margin:6px 0}.kx-feed-dot:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#045c45;right:10px;top:8px}.kx-nav-search{width:100%;max-width:820px;padding:12px 14px;border:1px solid #ddd;border-radius:8px;margin-bottom:24px;font:inherit}.kx-feed-item[hidden]{display:none}

/* One 1490 x 904 design canvas; the entire UI scales uniformly. */
#task-view{width:calc(100vw - 32px);max-width:none;right:16px;top:16px}#room-mockup{position:relative;display:block;overflow:hidden;width:100%;height:calc(100svh - 103px);min-height:0;max-height:none;background:#f6f7f3}.kx-shell{position:absolute;left:50%;top:50%;width:1490px;height:904px;min-height:904px;flex:none;transform:translate(-50%,-50%) scale(var(--mock-scale,1));transform-origin:center;box-sizing:border-box}.kx-shell *{box-sizing:border-box}
.kx-rail{display:flex;width:52px;flex-basis:52px;padding:20px 0 12px;gap:4px}.kx-brand{width:24px;height:24px;border-radius:5px;margin-bottom:16px}.kx-rail button{width:40px;height:40px;min-height:40px;padding:12px;border-radius:12px}.kx-rail button svg{width:16px;height:16px;stroke-width:2}.kx-rail-divider{width:24px;margin:4px 0}.kx-feed-dot:after{width:5px;height:5px;right:7px;top:8px}.kx-rooms{display:block;width:384px;flex-basis:384px;padding:20px 16px}.kx-rooms header{font-size:16px;padding:0 4px 24px}.kx-rooms button{font-size:14px;min-height:40px;padding:10px 8px}.kx-rooms .kx-thread-link{font-size:14px;min-height:36px}.kx-room-head{height:64px;padding:12px 20px;gap:12px}.kx-room-head>strong{font-size:16px}.kx-room-head button{font-size:14px;padding:8px}.kx-room-head .kx-head-members{display:flex}.kx-head-members span{display:inline}.kx-main{display:flex!important}.kx-side{width:520px;flex:0 0 520px;min-width:520px;max-width:520px}.kx-chat-log{padding:16px 40px}.kx-chat-log .kx-message{max-width:832px;margin:0 auto 24px}.kx-message strong{font-size:12px}.kx-message small{font-size:12px}.kx-chat-log .kx-message p{font-size:14px;line-height:22px;padding:12px;background:#f0f4f2}.kx-avatar{width:32px;height:32px;flex-basis:32px}.kx-main>.kx-compose{width:calc(100% - 80px);max-width:832px;margin:12px auto;min-height:77px;height:77px}.kx-main>.kx-compose textarea{font-size:14px;line-height:24px;height:24px}.kx-side .kx-compose{min-height:77px}.kx-app-content{padding:24px 18px}.kx-app-content nav{gap:26px}.kx-filter-description{display:inline}.kx-directory{padding:32px}.kx-side-log{padding:20px 23px}
.kx-shell.is-pinned>.kx-rooms{display:none}.kx-shell.is-pinned .kx-room-head{height:48px;border-bottom:1px solid #eee;padding:8px 16px;gap:8px}.kx-shell.is-pinned .kx-room-head>strong{font-size:16px;font-weight:400}.kx-shell.is-pinned .kx-room-head>button{font-size:12px}.kx-pinned-url{margin:auto;font-size:12px;color:#999}.kx-shell.is-pinned #kx-app-chat{display:flex;gap:7px;align-items:center;color:#045c45;background:#045c4510;border-radius:8px;height:28px;padding:0 10px}.kx-member-tabs{display:flex;gap:22px;border-bottom:1px solid #eee;margin-bottom:12px}.kx-member-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:#838383;font-size:14px}.kx-member-tabs button.on{border-bottom-color:#045c45;color:#045c45}.kx-member-list img.kx-avatar{width:40px;height:40px;flex-basis:40px;object-fit:cover}.kx-person{display:flex;gap:24px}.kx-person>img{width:120px;height:120px;object-fit:cover;border-radius:16px}.kx-person button{margin-right:8px}

.kx-shell.view-members>.kx-rooms{display:none}
.kx-draft-prompt{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:white;border:1px solid #e5e8e1;border-radius:10px;box-shadow:0 4px 16px #0000000a;padding:6px;z-index:4}.kx-draft-prompt[hidden]{display:none}.kx-compose .kx-draft-prompt button{font-size:13px;text-align:left;padding:10px;color:#045c45;width:100%}.kx-email-message>div{width:100%;min-width:0}.kx-mail{border:1px solid #e8eae5;border-radius:16px;overflow:hidden;background:#fff;margin-top:12px;color:#171c10}.kx-mail>header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fafbf8;border-bottom:1px solid #eee}.kx-mail>header strong{font-size:15px;line-height:22px;flex:1}.kx-mail>header>span{font-size:12px;color:#60afa5;white-space:nowrap}.kx-mail-history summary{cursor:pointer;padding:14px 18px;font-size:13px;color:#838383;list-style:none}.kx-mail-history>summary{border-bottom:1px solid #eee}.kx-mail-history details{border-bottom:1px solid #eee}.kx-mail-history details summary strong{font-size:13px;color:#171c10}.kx-mail-history small{display:block;margin-top:6px;font-size:11px}.kx-mail-history details p{font-size:13px!important;background:none!important;padding:0!important;line-height:20px!important;margin:8px 0!important}.kx-mail-history details>p{padding:0 18px 14px!important}.kx-mail-body{padding:18px}.kx-mail-body dl{display:grid;grid-template-columns:44px 1fr;gap:8px;font-size:12px;line-height:20px;margin:0 0 22px}.kx-mail-body dt{color:#838383}.kx-mail-body dd{margin:0;overflow-wrap:anywhere}.kx-mail-copy{white-space:pre-wrap;font-size:14px;line-height:24px}.kx-mail-body label{display:block;font-size:12px;color:#838383;margin-bottom:12px}.kx-mail-body input,.kx-mail-body textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dfe4d7;border-radius:6px;background:white;font-size:14px;line-height:22px;color:#171c10}.kx-mail-body textarea{min-height:280px;resize:vertical}.kx-mail>footer{padding:14px 18px;border-top:1px solid #eee;font-size:12px;color:#838383}.kx-mail>footer>div{display:flex;gap:8px;margin-top:12px}.kx-mail>footer button{border:1px solid #e5e8e1;background:#fafbf8;border-radius:7px;padding:8px 12px;font-size:12px}.kx-mail>footer button:last-child{background:#045c45;color:white}.kx-mail>footer button:disabled{opacity:.45;cursor:default}
/* Reference workspace sections: persistent list on the left, detail on the right. */
.kx-shell.view-members>.kx-rooms,.kx-shell.view-feed>.kx-rooms{display:flex;flex-direction:column;flex:0 0 390px;width:390px;padding:0;min-height:0}.kx-nav-list>header{height:64px;min-height:64px;padding:20px;display:flex;align-items:center;justify-content:space-between}.kx-nav-list>nav{display:flex;gap:6px;padding:0 20px 16px;flex-shrink:0}.kx-nav-list>nav button{width:auto;min-height:32px;padding:6px 12px;font-size:14px;border-radius:20px;color:#838383}.kx-nav-list>nav button.on{background:#f5f6f0;color:#090e00;font-weight:600}.kx-nav-scroll{overflow:auto;min-height:0;flex:1}.kx-nav-person{display:flex!important;gap:12px!important;padding:12px 20px!important;border-radius:0!important;min-height:64px!important}.kx-nav-person img,.kx-nav-feed img{width:40px;height:40px;object-fit:cover;border-radius:50%;flex:0 0 40px}.kx-nav-person strong{font-size:14px}.kx-nav-person small{display:block;font-size:14px;margin-top:2px;color:#4f4f4f}.kx-nav-person.selected,.kx-nav-feed.selected{background:#f5f6ef!important}.kx-empty-workspace{display:grid;place-items:center;flex:1}.kx-empty-workspace img{width:180px;height:180px;object-fit:contain}.kx-profile-page{width:100%;max-width:832px;margin:0 auto;padding:64px 40px;overflow:auto}.kx-profile-page>header{display:flex;align-items:center;gap:8px;margin-bottom:28px}.kx-profile-page>header>img{width:60px;height:60px;border-radius:50%;margin-right:8px}.kx-profile-page>header>strong{font-size:16px;flex:1}.kx-profile-page>header>button{display:flex;align-items:center;gap:6px;background:#fafbf8;border:1px solid #eee;border-radius:12px;padding:12px 16px;font-size:14px;color:#045c45}.kx-profile-page>nav{display:flex;gap:4px;margin-bottom:24px}.kx-profile-page>nav button{border:0;background:none;color:#838383;font-size:14px;padding:8px 14px;border-radius:20px}.kx-profile-page>nav button.on{background:#f5f6f0;color:#171c10;font-weight:600}.kx-profile-page>section{border:1px solid #eee;border-radius:12px;padding:16px;margin-bottom:16px}.kx-profile-page section>small{font-size:12px;color:#838383}.kx-profile-page dl{display:grid;grid-template-columns:144px 1fr;gap:10px;font-size:14px;margin:14px 0 0}.kx-profile-page dt{color:#838383}.kx-profile-page dd{margin:0}.kx-profile-page p{font-size:14px;line-height:24px}.kx-profile-hint{font-style:italic;color:#838383}.kx-profile-page h2{font-size:24px;margin:24px 0 16px}.kx-profile-page h3{font-size:20px;margin:22px 0 12px}.kx-profile-row{display:flex;align-items:center;gap:10px;padding:14px 0;background:none;border:0;width:100%;font-size:14px}.kx-profile-row>span{margin-left:auto;color:#838383;font-size:12px}.kx-call-state{padding:20px;border:1px solid #eee;background:#fafbf8;border-radius:12px}.kx-call-state[hidden]{display:none}.kx-nav-feed{display:flex!important;align-items:flex-start!important;gap:12px!important;position:relative;padding:16px 20px!important;border-radius:0!important;border-bottom:1px solid #f4f4f4!important}.kx-nav-feed>span{min-width:0;flex:1}.kx-nav-feed strong{font-size:14px;display:block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kx-nav-feed p{font-size:14px;line-height:20px;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666}.kx-nav-feed small,.kx-nav-feed time{color:#999;font-size:12px}.kx-nav-feed time{margin-left:auto;white-space:nowrap}.kx-nav-feed[hidden]{display:none!important}.kx-room-group>div{display:flex;align-items:center}.kx-room-group>div>button:first-child{width:20px;padding:0;flex:0 0 20px}.kx-room-group>div>button:last-child{display:flex;flex:1;min-width:0;justify-content:space-between}.kx-room-group strong{display:flex;gap:8px;align-items:center}.kx-room-group small{font-size:12px;color:#999}.kx-thread-nav{display:flex!important;font-size:14px!important;padding-left:32px!important;gap:10px!important;min-height:36px!important}.kx-thread-nav>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.kx-room-group{margin-bottom:16px}.kx-room-group .selected{background:none!important}.kx-shell.view-feed .kx-main>.kx-chat-log{padding:24px 48px}.kx-shell.view-feed .kx-main>.kx-compose{max-width:832px}
.kx-empty-workspace img{width:256px;height:256px}.kx-shell.view-feed>.kx-rooms{width:320px;flex-basis:320px}.kx-shell.view-feed .kx-nav-list>nav{gap:0;padding-left:20px;padding-right:8px}.kx-shell.view-feed .kx-nav-list>nav button{padding:6px 9px;font-size:13px}.kx-nav-feed strong{max-width:180px}
.kx-room-head>button[data-tab="app"]{display:flex;align-items:center;gap:7px}.kx-room-thread-title{position:relative;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #eee}.kx-room-thread-title small{font-size:12px;color:#838383}.kx-room-thread-title h2{font-size:18px;margin:8px 0;font-weight:600}.kx-room-thread-title button{position:absolute;right:0;top:10px;background:#fafbf8;border:1px solid #eee;border-radius:8px;padding:8px 12px;font-size:12px;color:#045c45}.kx-thread-nav.selected{background:#f5f6ef!important}.kx-room-group>div>button.selected{background:#f5f6ef!important}
.kx-tab-toolbar{display:flex;align-items:center;gap:12px;margin:28px 0 22px;font-size:14px}.kx-tab-toolbar>span{flex:1}.kx-tab-toolbar button{border:0;background:none;font-size:12px;padding:8px;white-space:nowrap}.kx-access-list>div{display:flex;align-items:center;gap:12px;padding:12px 0}.kx-access-list img{width:24px;height:24px;border-radius:50%}.kx-access-list strong{font-size:16px}.kx-access-list small{display:block;font-size:12px;color:#999;margin-top:3px}.kx-access-list select{margin-left:auto;border:0;background:white;color:#555;padding:8px;font-size:12px}.kx-skill-list>div{display:flex;gap:14px;padding:8px 0 20px}.kx-skill-list>div>svg{flex-shrink:0;margin-top:4px;color:#999}.kx-skill-list>div>span{flex:1}.kx-skill-list strong{font-size:16px}.kx-skill-list small{font-size:12px;color:#999;margin-left:10px}.kx-skill-list p{font-size:12px;margin:6px 0 0;line-height:20px;color:#555}.kx-skill-list button{border:0;background:none;align-self:flex-start}.kx-connection-title{font-size:12px;text-transform:uppercase;font-weight:500;margin:26px 4px 12px}.kx-connection-title span{margin-left:8px;color:#999}.kx-profile-page>.kx-connection-list{padding:0;overflow:hidden}.kx-connection-list>button{width:100%;display:flex;gap:14px;align-items:center;background:white;border:0;border-bottom:1px solid #eee;text-align:left;padding:16px}.kx-connection-list strong{font-size:16px}.kx-connection-list small{display:block;font-size:12px;color:#999;margin-top:7px}.kx-connection-list i{font-size:10px;color:#60afa5;margin-left:12px}.kx-service-icon{width:32px;height:32px;border-radius:8px;background:#f5f6ef;display:grid;place-items:center}.kx-debug-card h3{font-size:16px;margin:0 0 6px}.kx-debug-card p{font-size:12px;line-height:18px;color:#555}.kx-debug-card label{display:block;font-size:12px;margin-top:20px}.kx-debug-card code,.kx-debug-card input,.kx-debug-card select{display:block;width:100%;padding:10px 12px;border:1px solid #eee;border-radius:12px;margin-top:8px;background:white;font-size:13px;box-shadow:0 4px 12px #00000004}.kx-debug-actions{display:flex;justify-content:flex-end;gap:8px;margin:20px 0 8px}.kx-debug-card button,.kx-agent-notice button{border:1px solid #eee;border-radius:10px;background:white;padding:10px 12px;font-size:14px}.kx-debug-actions>button:last-child{background:#045c45;color:white}.kx-debug-card>header{display:flex;align-items:center;justify-content:space-between}.kx-memory-browser{display:grid;grid-template-columns:40% 60%;margin-top:16px;border:1px solid #eee;border-radius:12px;overflow:hidden}.kx-memory-browser nav{padding:12px;border-right:1px solid #eee}.kx-memory-browser nav button{display:block;width:100%;border:0;text-align:left;font-size:12px;padding:10px 4px;overflow-wrap:anywhere}.kx-memory-browser nav button.on{background:#f5f6ef}.kx-memory-browser>div{padding:16px;min-width:0}.kx-memory-browser strong{font-size:12px}.kx-memory-browser pre{white-space:pre-wrap;font-size:12px;line-height:20px;overflow-wrap:anywhere}.kx-agent-notice{padding:16px;background:#fafbf8;border:1px solid #eee;border-radius:12px;font-size:14px}
/* Feed distinguishes room entries from threads, with the same room identity badge. */
.kx-room-mark{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:white;background:#58bba6}.kx-room-mark.issues{background:#cb88e8}.kx-room-mark>svg{width:21px;height:21px}.kx-room-mark.small{width:20px;height:20px;flex-basis:20px}.kx-room-mark.small>svg{width:12px;height:12px}.kx-nav-feed>.kx-feed-avatar{position:relative;display:block;width:40px;height:40px;flex:0 0 40px;overflow:visible}.kx-feed-avatar>img{display:block;width:40px;height:40px;object-fit:cover;border-radius:50%}.kx-feed-room-badge{position:absolute;right:-3px;bottom:-3px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:white;border:2px solid white;box-sizing:content-box}.kx-feed-room-badge .kx-room-mark.small{width:23px;height:23px;flex-basis:23px}.kx-feed-copy{min-width:0;flex:1}.kx-room-name{display:flex;align-items:center;gap:7px}
/* Same discussion surface whether opened from Feed or a room's thread list. */
.kx-thread-header{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;height:88px;min-height:88px;flex-shrink:0}.kx-thread-symbol{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#f6f7f2;color:#045c45;border-radius:50%}.kx-thread-symbol svg{width:22px;height:22px}.kx-thread-header>div{min-width:0;flex:1;padding-top:2px}.kx-thread-header strong{font-size:18px;line-height:24px}.kx-thread-header p{display:flex;align-items:center;gap:8px;margin:7px 0 0;color:#999;font-size:12px;white-space:nowrap}.kx-thread-header p button{display:flex;align-items:center;gap:5px;background:none;border:0;color:#999;padding:0;font-size:12px}.kx-thread-header p .kx-room-mark{width:14px;height:14px;flex-basis:14px}.kx-thread-header p .kx-room-mark svg{width:9px;height:9px}.kx-thread-header nav{display:flex;gap:8px;padding-top:12px}.kx-thread-header nav button{border:0;background:none;color:#666;padding:5px}.kx-thread-header nav svg{width:18px;height:18px}.kx-thread-menu{position:absolute;right:20px;top:64px;z-index:5;background:white;border:1px solid #eee;border-radius:10px;padding:6px;box-shadow:0 6px 20px #0001}.kx-thread-menu[hidden]{display:none}.kx-thread-menu button{display:block;border:0;background:white;padding:10px;font-size:13px}.kx-main>.kx-thread-log,.kx-shell.view-feed .kx-main>.kx-thread-log{padding:22px max(32px,calc((100% - 832px)/2));position:relative}.kx-thread-log .kx-message{width:100%;max-width:832px;margin:0 0 12px}.kx-thread-log .kx-message>div{flex:1;min-width:0}.kx-thread-log .kx-message p{background:#fafbf8;border-radius:12px;padding:12px 14px;line-height:24px;font-size:14px}.kx-thread-log .kx-message header{margin:0 0 8px}.kx-thread-log .kx-message strong{font-size:14px;font-weight:500}.kx-thread-top{position:sticky;top:0;display:block;margin:-15px auto 0;z-index:1;width:34px;height:34px;border:1px solid #eee;border-radius:50%;background:#fafbf8;color:#333;font-size:20px}.kx-thread-attachment{margin:0 0 28px 44px;max-width:380px;border:1px solid #e8eae4;border-radius:16px;overflow:hidden;background:#fafbf8}.kx-thread-preview{border:0;background:#f5f7f1;padding:14px;text-align:left;width:100%;display:block}.kx-thread-preview>span{font-size:12px;font-weight:600}.kx-preview-metrics{display:flex;gap:12px;margin:12px 0}.kx-preview-metrics>span{flex:1;border:1px solid #eee;border-radius:6px;background:white;padding:10px;font-size:9px;color:#838383}.kx-preview-metrics b{display:block;color:#171c10;font-size:17px;margin-top:5px}.kx-thread-preview>svg{display:block;width:100%;height:90px}.kx-thread-attachment footer{display:flex;align-items:center;gap:10px;padding:12px}.kx-thread-attachment footer>svg{width:22px;height:22px;flex-shrink:0}.kx-thread-attachment footer>div{flex:1;min-width:0}.kx-thread-attachment footer strong{font-size:14px;font-weight:500}.kx-thread-attachment footer small{font-size:10px;border:1px solid #eee;padding:2px 4px;border-radius:4px;background:white;margin-left:4px}.kx-thread-attachment footer span{display:block;font-size:12px;color:#838383;margin-top:4px}.kx-thread-attachment footer button{border:0;background:#eff3ea;color:#045c45;border-radius:6px;padding:8px;font-size:13px;font-weight:600}
/* Reference: 16px room badge on a 40px feed avatar, with a thin white ring. */
.kx-feed-room-badge{right:-1px;bottom:-1px;width:18px;height:18px;border:1px solid #fff;box-sizing:border-box;background:#fff;overflow:hidden}.kx-feed-room-badge .kx-room-mark.small{width:16px;height:16px;flex-basis:16px}.kx-feed-room-badge .kx-room-mark.small>svg{width:10px;height:10px}
/* Feed typography: one aligned title/time row and compact supporting lines. */
.kx-nav-list .kx-nav-feed{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto;column-gap:12px!important;align-items:start!important;padding:12px 20px!important;min-height:72px!important;line-height:20px}.kx-nav-feed>.kx-feed-avatar{grid-column:1;grid-row:1;width:40px;height:40px;margin:2px 0 0}.kx-nav-feed>.kx-feed-copy{grid-column:2;grid-row:1;min-width:0;display:block}.kx-nav-feed .kx-feed-copy strong{font-size:14px;font-weight:600;line-height:20px;max-width:none;letter-spacing:0;margin:0;display:block}.kx-nav-feed .kx-feed-copy p{font-size:14px;font-weight:400;line-height:20px;letter-spacing:0;margin:3px 0 0;color:#666}.kx-nav-feed .kx-feed-copy small{display:block;font-size:12px;font-weight:400;line-height:18px;margin:3px 0 0;color:#999}.kx-nav-feed>time{grid-column:3;grid-row:1;align-self:start;font-size:12px;font-weight:400;line-height:20px;margin:0;padding-top:0;color:#999}.kx-nav-feed .kx-feed-copy{margin-right:-32px;padding-right:0}.kx-nav-feed .kx-feed-copy strong{padding-right:34px}.kx-nav-feed>time{background:inherit;position:relative}
/* Room timeline shares one centered content column with its composer. */
.kx-main>.kx-room-timeline{padding:24px max(32px,calc((100% - 832px)/2));}.kx-room-timeline .kx-room-entry{max-width:none;width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;margin:0 0 24px}.kx-room-entry>.kx-avatar{grid-column:1;margin:0}.kx-room-entry>div{grid-column:2;min-width:0}.kx-room-entry>div>header{height:24px;display:flex;align-items:center;gap:10px;margin-bottom:4px}.kx-room-entry>div>header strong{font-size:14px;font-weight:500}.kx-room-entry>div>header small{font-size:12px;color:#838383}.kx-room-timeline .kx-room-entry p{width:fit-content;max-width:100%;font-size:14px;line-height:24px;margin:0;padding:12px 14px;border-radius:12px;background:#fafbf8}.kx-room-timeline .kx-self-message p{background:#045c45;color:white}.kx-room-reply-preview{display:block;width:100%;max-width:100%;border:0;background:none;text-align:left;padding:10px 8px 0;margin:0;border-radius:8px}.kx-room-reply-preview:hover{background:#fafbf8}.kx-reply-preview-line{display:flex;gap:8px;align-items:center;height:25px;min-width:0;font-size:13px}.kx-reply-preview-line>img{width:18px;height:18px;object-fit:cover;border-radius:50%;flex:0 0 18px}.kx-reply-preview-line>strong{font-size:13px;font-weight:500;white-space:nowrap}.kx-reply-preview-line>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#838383;font-size:13px}.kx-reply-count{display:flex;align-items:center;gap:9px;margin-top:7px;font-size:14px;color:#045c45}.kx-day-divider{text-align:center;color:#999;font-size:12px;margin:0 0 28px}.kx-main:has(>.kx-room-timeline)>.kx-compose{width:calc(100% - 64px);max-width:832px;margin:12px auto;}

/* Feed without an open conversation: workspace composer. */
.kx-feed-start{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:0 48px 28px;width:100%}
.kx-feed-start h1{font-size:24px;line-height:32px;font-weight:600;margin:0 0 34px;letter-spacing:-.4px;color:#14190d}
.kx-feed-start .kx-compose{position:relative;inset:auto;flex:none;width:100%;max-width:704px;height:102px;min-height:102px;margin:0;padding:12px 16px;border:1px solid #d4dfd8;border-radius:16px;background:#fafbf8;box-shadow:0 2px 12px #163f2710}
.kx-feed-start .kx-compose textarea{height:44px;min-height:44px;font-size:14px;padding:0;resize:none}
.kx-feed-start .kx-compose>div:last-child{height:30px;gap:14px}
.kx-feed-start .kx-auto-room{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap}
.kx-feed-start .kx-auto-room select{border:0;background:transparent;color:#171c10;font:inherit;padding:0 4px;max-width:156px;outline:none}

/* Room replies keep the parent timeline visible beside the thread. */
.kx-shell.has-room-thread>.kx-rooms{width:42px!important;flex-basis:42px!important;overflow:hidden;opacity:.6;pointer-events:none}
.kx-shell.has-room-thread>.kx-rooms>*{min-width:320px}
.kx-shell.has-room-thread>.kx-main{flex:0 0 420px;width:420px;min-width:0;border-right:1px solid #eee}
.kx-room-thread-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;overflow:hidden}
.kx-room-thread-pane>.kx-thread-log{flex:1;min-height:0;overflow:auto;padding:24px 56px}
.kx-room-thread-pane>.kx-compose{flex-shrink:0;margin:16px 48px;width:calc(100% - 96px)}
.kx-shell.has-room-thread .kx-main>.kx-room-timeline{padding:24px}
.kx-shell.has-room-thread .kx-main>.kx-compose{margin:12px 16px;width:calc(100% - 32px)}
.kx-shell.has-room-thread .kx-room-head{gap:8px;padding:12px 16px}
.kx-shell.has-room-thread .kx-room-head>button[data-tab]{display:none}
.kx-shell.has-room-thread .kx-room-entry p{width:auto}
.kx-compose button[data-new-thread]{display:flex;align-items:center;gap:6px;white-space:nowrap;border-radius:16px;font-size:13px;padding:4px 6px}
.kx-compose button[data-new-thread].on{background:#f4f6ed;color:#045c45}
.kx-search-overlay{position:absolute;inset:0;background:#0007;z-index:200;display:flex;align-items:center;justify-content:center}
.kx-search-dialog{width:512px;height:608px;max-height:calc(100% - 64px);background:#fff;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #0001}
.kx-search-dialog>header{margin:12px;display:flex;align-items:center;gap:10px;border:1px solid #b8b8b8;border-radius:16px;padding:0 14px;min-height:48px}
.kx-search-dialog>header svg{width:18px;height:18px;color:#666}
.kx-search-dialog input{border:0;outline:none;background:none;flex:1;min-width:0;height:46px;font-size:16px;color:#171c10}
.kx-search-results{flex:1;overflow:auto;border-top:1px solid #eee;padding-bottom:24px}
.kx-search-results h3{font-size:12px;font-weight:500;color:#666;margin:24px 24px 10px}
.kx-search-results>button{display:flex;width:100%;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #f2f2f2;border-radius:0;min-height:72px;text-align:left}
.kx-search-results>button:hover,.kx-search-results>button:focus{background:#f2f3f0;outline:none}
.kx-search-results>button>img,.kx-search-results>button>.kx-room-mark{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover}
.kx-search-results>button>span:not(.kx-room-mark){flex:1;min-width:0}
.kx-search-results strong{display:block;font-size:14px;line-height:22px;font-weight:600}
.kx-search-results small{display:block;font-size:14px;line-height:22px;color:#666;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kx-search-results time{font-size:12px;color:#aaa;align-self:flex-start;margin-top:4px}
.kx-search-none{padding:24px;color:#888;text-align:center}
.kx-shell .kx-search-results>button{background:#fff;border:0;border-bottom:1px solid #f2f2f2;border-radius:0;box-shadow:none;color:#171c10}
.kx-shell .kx-search-results>button:hover,.kx-shell .kx-search-results>button:focus{background:#f2f3f0}

/* Author identity matches Kylon: self, other human, agent. */
.kx-shell .kx-message>div>header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;height:auto;min-height:24px}
.kx-shell .kx-message>div>header .kx-agent-role{font-size:14px;line-height:20px;font-weight:400;color:#969696}
.kx-shell .kx-message>div>header .kx-robot-badge{width:14px;height:14px;flex:0 0 14px;color:#666}
.kx-shell .kx-message>div>header small{font-size:12px;color:#aaa;font-weight:400}
.kx-shell .kx-message.kx-human-message>div>p{background:#eff5f3;color:#151b0d}
.kx-shell .kx-message.kx-agent-message>div>p{background:#fafbf8;color:#151b0d}
.kx-shell .kx-message.kx-self-message>div>p{background:#045c45;color:#fff}
.kx-shell.has-room-thread>.kx-rooms{position:relative;opacity:1;pointer-events:none}
.kx-shell.has-room-thread>.kx-rooms:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.08);z-index:2}
.kx-shell.has-room-thread>.kx-main{position:relative;box-shadow:-8px 0 20px #0000000b;z-index:3}

.kx-shell.has-room-thread>.kx-rooms{pointer-events:auto}
.kx-shell.has-room-thread>.kx-rooms:after{pointer-events:none}
.kx-shell.has-room-thread>.kx-rooms>.kx-return-list{position:absolute;inset:0;z-index:4;width:100%;min-width:0!important;height:100%;border:0;border-radius:0;background:transparent;cursor:pointer;padding:0}
.kx-shell.has-room-thread>.kx-rooms>.kx-return-list:hover{background:#00000004}
.kx-shell.has-room-thread>.kx-rooms>.kx-return-list:focus-visible{outline:2px solid #045c45;outline-offset:-2px}
/* Room header blends into the scrolling conversation. */
.kx-shell .kx-room-head{border-bottom:0;position:relative;z-index:5;background:#fff}
.kx-shell .kx-room-head:after{content:"";position:absolute;top:100%;left:0;right:0;height:48px;background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.9) 25%,rgba(255,255,255,0) 100%);pointer-events:none}
/* Room and thread share the same message-column geometry. */
.kx-shell .kx-main,.kx-shell .kx-room-thread-pane{--conversation-inset:max(32px,calc((100% - 832px)/2))}
.kx-shell .kx-main>.kx-room-timeline,.kx-shell .kx-main>.kx-thread-log,.kx-shell .kx-room-thread-pane>.kx-thread-log{padding-left:var(--conversation-inset);padding-right:var(--conversation-inset)}
.kx-shell .kx-room-timeline>.kx-message,.kx-shell .kx-thread-log>.kx-message{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;width:100%;max-width:none;margin-left:0;margin-right:0}
.kx-shell .kx-room-timeline>.kx-message>.kx-avatar,.kx-shell .kx-thread-log>.kx-message>.kx-avatar{grid-column:1;width:32px;height:32px;margin:0}
.kx-shell .kx-room-timeline>.kx-message>div,.kx-shell .kx-thread-log>.kx-message>div{grid-column:2;min-width:0;margin-left:0}
.kx-shell .kx-main:has(>.kx-room-timeline)>.kx-compose,.kx-shell .kx-main:has(>.kx-thread-log)>.kx-compose,.kx-shell .kx-room-thread-pane>.kx-compose{margin-left:var(--conversation-inset);margin-right:var(--conversation-inset);width:auto}
.kx-shell.has-room-thread .kx-main>.kx-room-timeline{padding-left:var(--conversation-inset);padding-right:var(--conversation-inset)}
.kx-shell.has-room-thread .kx-main>.kx-compose{margin-left:var(--conversation-inset);margin-right:var(--conversation-inset);width:auto}

.kx-shell .kx-issue-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kx-shell .kx-issue-stats>div{border:1px solid #ededed;border-radius:20px;padding:16px 20px;background:white;min-height:94px}
.kx-shell .kx-issue-stats span{font-size:14px;font-weight:600;color:#909090}.kx-shell .kx-issue-stats strong{font-size:16px;font-weight:400;margin:8px 0}.kx-shell .kx-issue-stats small{font-size:12px;color:#777}
.kx-graph-card{border:1px solid #ededed;border-radius:20px;padding:18px 16px;background:#fff;min-width:0}
.kx-graph-card h3{font-size:14px;line-height:22px;font-weight:600;margin:0;color:#171c10}.kx-graph-card>p{font-size:12px;color:#777;margin:0 0 18px;line-height:20px}
.kx-trend-plot{position:relative;height:218px;margin-top:12px}.kx-trend-plot>svg{width:100%;height:100%;overflow:visible}.kx-trend-plot text{font-size:11px;fill:#888}.kx-trend-plot rect:focus{outline:none;fill:#00000003}
.kx-graph-legend{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;color:#414735;margin-top:10px}.kx-graph-legend span{display:flex;align-items:center;gap:6px}.kx-graph-legend i,.kx-chart-tip i{display:inline-block;width:8px;height:8px;border-radius:2px}
.kx-graph-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.kx-chart-tip{position:absolute;top:8px;min-width:128px;border:1px solid #eee;border-radius:16px;background:#fff;padding:10px;box-shadow:0 8px 18px #0002;font-size:12px;pointer-events:none}.kx-chart-tip[hidden]{display:none}.kx-chart-tip strong{font-size:12px;font-weight:500;display:block;margin-bottom:6px}.kx-chart-tip span{display:flex;align-items:center;gap:8px;color:#888;line-height:20px}.kx-chart-tip b{margin-left:auto;font-weight:400;color:#171c10}
.kx-assignee-chart>div{display:flex;align-items:center;gap:10px;margin:12px 0}.kx-assignee-chart>div>span{width:106px;flex-shrink:0;text-align:right;font-size:12px;color:#888}.kx-shell .kx-assignee-chart button{flex:1;position:relative;height:22px;background:repeating-linear-gradient(to right,#eee 0,#eee 1px,transparent 1px,transparent 20%);border:0;padding:0;text-align:left}.kx-assignee-chart i{display:block;width:var(--bar);height:100%;background:#a3dc20;border-radius:4px}.kx-assignee-chart b{position:absolute;left:calc(var(--bar) + 5px);top:3px;font-size:11px;font-weight:400;opacity:0}.kx-assignee-chart button:hover b,.kx-assignee-chart button:focus b{opacity:1}.kx-bar-axis small{flex:1;text-align:right;color:#999;font-size:10px}.kx-donut{display:block;width:240px;height:220px;margin:0 auto}
.kx-shell.has-side .kx-issue-stats{grid-template-columns:repeat(2,1fr)}.kx-shell.has-side .kx-graph-grid{grid-template-columns:1fr}
.kx-shell.is-pinned .kx-room-head:after{display:none}

.kx-issue-filters{display:flex;align-items:center;gap:16px;margin:4px 0 16px}.kx-issue-filters>div{display:flex;background:#fafbf8;border-radius:10px;padding:3px;gap:2px}.kx-shell .kx-issue-filters button{border:0;background:none;padding:9px 12px;color:#888;border-radius:7px;font-size:14px}.kx-shell .kx-issue-filters button.on{background:#fff;color:#171c10;box-shadow:0 1px 5px #0002}.kx-issue-filters select{padding:8px 12px;border:1px solid #e3e3e3;border-radius:12px;background:white;font-size:14px}.kx-issue-filters>small{margin-left:auto;color:#999;font-size:12px}.kx-issue-table-wrap{border:1px solid #e6e6e6;border-radius:12px;overflow:auto}.kx-issue-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1200px}.kx-issue-table th,.kx-issue-table td{border-bottom:1px solid #eee;text-align:left;padding:10px 10px;font-size:14px;color:#777;white-space:nowrap;height:42px}.kx-issue-table th{height:40px;font-size:12px;font-weight:500;color:#909090}.kx-issue-table th:first-child{width:26%}.kx-issue-table th:nth-child(2){width:12%}.kx-issue-table th:nth-child(3){width:12%}.kx-issue-table th:nth-child(7),.kx-issue-table th:nth-child(8){width:12%}.kx-shell .kx-issue-table button{border:0;background:none;padding:0;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kx-issue-table th button{font-size:12px}.kx-issue-table td:first-child button{font-weight:600;color:#171c10;width:100%}.kx-issue-table tbody tr:hover{background:#fafbf8}.kx-issue-chip{display:inline-block;border-radius:6px;padding:4px 7px;font-size:12px;line-height:16px;font-weight:500}.kx-cell-person{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis}.kx-cell-person img{width:16px;height:16px;border-radius:50%;object-fit:cover}.kx-no-issues{height:258px;border:1px solid #e6e6e6;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px}.kx-no-issues p{color:#888;font-size:12px}

/* Personal connections, shared with the Members profile surface. */
.kx-rail .kx-connections-entry{margin-top:auto;flex-shrink:0}.kx-rail .kx-me{margin-top:8px}.kx-human-connections{padding-top:8px}.kx-connection-search{display:flex;align-items:center;gap:12px;border:1px solid #eceeeb;border-radius:13px;padding:12px 14px;box-shadow:0 5px 24px #14251204}.kx-connection-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px}.kx-connection-search>span{color:#959994;font-size:12px;white-space:nowrap}.kx-human-connections h3{font-size:12px;letter-spacing:.4px;color:#666;margin:32px 4px 10px}.kx-human-connections h3 span{color:#999;margin-left:6px}.kx-connection-list{border:1px solid #eceeeb;border-radius:16px;overflow:visible}.kx-connection-item{position:relative;display:flex;align-items:center;gap:15px;padding:16px 18px;border-bottom:1px solid #eceeeb;min-height:72px}.kx-connection-item:last-child{border-bottom:0}.kx-connection-item[hidden]{display:none}.kx-service-logo{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.kx-service-logo svg{width:32px;height:32px}.kx-service-logo.cal{background:#454545;border-radius:8px;color:white;font-size:16px;letter-spacing:-1px}.kx-service-logo.gmail{font-size:32px;font-weight:800;background:linear-gradient(90deg,#4285f4 20%,#ea4335 20%,#ea4335 55%,#fbbc04 70%,#34a853 80%);color:transparent;background-clip:text}.kx-service-logo.github{border-radius:50%;background:#151b0e;color:white}.kx-service-logo.github svg{width:23px;height:23px}.kx-connection-item>div:not(.kx-connection-menu){flex:1;min-width:0}.kx-connection-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}.kx-connection-name>span{color:#777;font-size:14px}.kx-connection-name i{width:8px;height:8px;border-radius:50%;background:#10a696}.kx-connection-name i.inactive{background:#999}.kx-connection-name i.disconnected{background:#e83b43}.kx-connection-name em{font-style:normal;color:#e83b43;font-size:12px}.kx-connection-item p{font-size:12px;color:#a0a39f;margin:6px 0 0}.kx-connection-item>button{border:0;background:transparent;color:#666;padding:8px;cursor:pointer}.kx-connection-menu{position:absolute;right:16px;top:48px;z-index:8;padding:16px;background:white;border:1px solid #eee;border-radius:12px;box-shadow:0 10px 35px #0002;font-size:13px}.kx-connection-menu button{margin-top:12px;border:0;border-radius:6px;padding:6px 10px;cursor:pointer}.kx-connections-empty{padding:32px;text-align:center;color:#999}

/* Compact browser chrome for the embedded Kylon workspace. */
.task-view-header{height:44px;box-sizing:border-box;padding:6px 12px;align-items:center;gap:18px;background:#f5f9ee;border-bottom:0}.task-view-header:before{content:none}.task-view-header>.task-view-accessible-title{display:none}.task-view-header .mock-browser-controls{display:flex;gap:8px;flex-shrink:0;align-items:center}.task-view-header .mock-dot,#task-view-close.mock-dot{width:12px;height:12px;min-width:12px;padding:0;border:0;border-radius:50%;cursor:pointer;background:#ff5f57}.task-view-header .mock-dot.yellow{background:#febc2e}.task-view-header .mock-dot.green{background:#28c840}.task-view-header .mock-dot:hover{filter:brightness(.92)}.mock-browser-navigation{display:flex;gap:8px}.mock-browser-navigation button{display:grid;place-items:center;width:24px;height:24px;padding:3px;background:none;border:0;color:#6c7966}.mock-browser-navigation button:disabled{opacity:.5}.task-view-header svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.task-view-header>.mock-browser-address{display:flex;align-items:center;gap:10px;min-width:0;flex:1;height:30px;padding:0 12px;border-radius:20px;background:#e6eddf;color:#43513e;font-size:13px;line-height:1}.mock-browser-address>span{flex:1}.mock-browser-address>svg:first-child{width:16px;height:16px}.mock-browser-menu{font-size:23px;line-height:1;color:#586451;padding:0 3px}@media(max-width:700px){.task-view-header{height:34px;padding:4px 9px;gap:12px}.task-view-header>.mock-browser-address{height:25px;font-size:11px}.task-view-header .mock-dot,#task-view-close.mock-dot{width:10px;height:10px;min-width:10px}.mock-browser-navigation{gap:3px}}

/* In-canvas filter menus retain the same scale as the app. */
.kx-issue-filters>.kx-filter-dropdown{position:relative;display:block;background:transparent;padding:0;border-radius:0}.kx-filter-dropdown .kx-filter-trigger{display:flex;align-items:center;gap:12px;height:34px;padding:0 14px;border:1px solid #dedfdb;border-radius:13px;background:#fff;color:#171d10;font-size:14px;cursor:pointer}.kx-filter-trigger svg{width:16px;height:16px}.kx-filter-dropdown .kx-filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:80;width:226px;padding:0 0 7px;background:#fafbf7;border:1px solid #dcdfd9;border-radius:18px;box-shadow:0 4px 7px #18211014;overflow:hidden}.kx-filter-menu[hidden]{display:none}.kx-filter-menu-heading{padding:14px 16px;border-bottom:1px solid #dcdfd9;font-size:15px;color:#171d10}.kx-filter-menu [role="listbox"]{display:block;padding:7px 0 0}.kx-filter-menu [role="option"]{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:0;background:transparent;padding:10px 16px;font-size:15px;text-align:left;line-height:1.4;color:#171d10;cursor:pointer}.kx-filter-menu [role="option"]:hover,.kx-filter-menu [role="option"]:focus-visible{background:#edf1e7;outline:none}.kx-filter-menu [role="option"]>span{color:#497857;font-size:12px}.kx-filter-trigger:focus-visible{outline:2px solid #a8bfae;outline-offset:2px}

.kx-service-logo.gmail,.kx-service-logo.github{background:none;color:inherit;border-radius:0}.kx-service-logo img{display:block;width:32px;height:32px;object-fit:contain}.kx-service-logo.cal{background:linear-gradient(#555 0 21%,#282828 21% 100%);box-shadow:inset 0 1px 1px #ffffff66;font-weight:600;letter-spacing:-1.5px}
/* Slimmer browser toolbar. */
.task-view-header{height:34px;padding:4px 11px;gap:14px}.task-view-header>.mock-browser-address{height:26px;font-size:12px;padding:0 10px;gap:8px}.task-view-header .mock-dot,#task-view-close.mock-dot{width:10px;height:10px;min-width:10px}.task-view-header .mock-browser-controls{gap:7px}.mock-browser-navigation{gap:5px}.mock-browser-navigation button{width:21px;height:21px}.task-view-header svg{width:16px;height:16px}.mock-browser-menu{font-size:20px}@media(max-width:700px){.task-view-header{height:28px;padding:3px 8px;gap:10px}.task-view-header>.mock-browser-address{height:22px;font-size:11px}.task-view-header .mock-dot,#task-view-close.mock-dot{width:8px;height:8px;min-width:8px}}

.kx-room-resources{margin-left:auto;display:flex;align-items:center;gap:8px}.kx-room-resources button{display:flex;align-items:center;gap:5px;color:#61665e;padding:7px;border:0;border-radius:10px;background:transparent;cursor:pointer}.kx-room-resources svg,.kx-resource-symbol svg{width:19px;height:19px}.kx-room-resources button.on{background:#f6f7f2}.kx-resource-page{overflow:auto;padding:30px max(32px,calc((100% - 832px)/2));flex:1}.kx-resource-page h3{font-size:14px;margin:0 0 20px}.kx-resource-card{position:relative;display:flex;align-items:center;gap:10px;padding:16px;border:1px solid #ebedE7;border-radius:16px;margin-bottom:8px;min-height:68px}.kx-resource-symbol{display:grid;place-items:center;background:#f5f7f0;border-radius:50%;width:32px;height:32px;flex-shrink:0}.kx-resource-card>div:not(.kx-resource-pop){flex:1}.kx-resource-card strong{font-size:14px}.kx-resource-card p{margin:5px 0 0;font-size:13px;color:#969a94}.kx-resource-card button{background:transparent;border:0;cursor:pointer;color:#888}.kx-resource-status{display:inline-block;margin-left:8px;color:#13ab9a;background:#e9f5f2;border-radius:14px;padding:3px 8px;font-size:12px}.kx-resource-status.paused{color:#ff680b;background:#fff0e9}.kx-resource-pop,.kx-room-options,.kx-role-menu{position:absolute;right:12px;top:45px;z-index:30;background:#fafbf7;border:1px solid #e3e5df;border-radius:10px;padding:12px;box-shadow:0 5px 15px #0001;font-size:13px}.kx-room-members-overlay{position:absolute;inset:0;background:#0007;z-index:150;display:grid;place-items:center}.kx-room-members-overlay>section{width:440px;max-height:80%;background:white;border-radius:16px;box-shadow:0 12px 24px #0002;display:flex;flex-direction:column;padding:20px 20px 0}.kx-room-members-overlay header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.kx-room-members-overlay h2{font-size:18px;margin:0}.kx-room-members-overlay button{border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.kx-add-room-member{padding:8px 0 16px}.kx-modal-member-list{overflow:auto;min-height:250px}.kx-modal-member-list article{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;font-size:14px}.kx-modal-member-list img{width:25px;height:25px;border-radius:50%}.kx-modal-member-list strong{font-weight:500;white-space:nowrap}.kx-modal-member-list small{font-size:11px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kx-modal-member-list [data-role],.kx-modal-member-list [data-add-person]{margin-left:auto;white-space:nowrap;color:#777;font-size:12px}.kx-modal-member-list svg{width:12px;height:12px;flex-shrink:0}.kx-room-members-overlay footer{padding:15px 0;border-top:1px solid #f4f5f1;color:#086b51;font-size:12px}.kx-role-menu{top:32px;display:grid;gap:10px}.kx-role-menu button{padding:4px 16px}.kx-resource-pop[hidden]{display:none}
/* Match rail icon dimensions; use the current member portrait. */
#room-mockup .kx-rail .kx-connections-entry{display:flex;padding:12px;color:#575957}
#room-mockup .kx-rail .kx-connections-entry>svg{width:16px;height:16px;min-width:16px;flex-shrink:0;stroke-width:2}
#room-mockup .kx-rail .kx-me{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:8px;margin-top:8px;background:transparent;border-radius:12px}
#room-mockup .kx-rail .kx-me img{display:block;width:24px;height:24px;border-radius:50%;object-fit:cover}
/* Keep fixed headers above their content; fade only the chat timeline. */
.kx-shell .kx-room-head{flex-shrink:0;min-height:54px}
.kx-shell .kx-room-head:after{display:none}
.kx-shell .kx-room-head:has(+ .kx-chat-log):after{display:block}
.kx-shell .kx-app-toolbar{flex-shrink:0;min-height:40px;position:relative;z-index:1;background:#fff}
.task-view-header{height:40px;min-height:40px;flex-shrink:0;align-items:center;padding:5px 11px}
@media(max-width:700px){.task-view-header{height:32px;min-height:32px;padding:4px 8px}}

/* Reference browser chrome: compact height, separated navigation, circular site control. */
.task-view-header{height:34px;min-height:34px;padding:3px 8px 3px 11px;gap:16px}
.task-view-header .mock-browser-controls{gap:8px;margin-right:20px}
.mock-browser-navigation{display:flex;align-items:center;gap:12px;color:#43513e}
.mock-browser-navigation>span{display:grid;place-items:center;width:20px;height:24px}
.mock-browser-navigation .is-muted{opacity:.45}
.task-view-header svg{width:16px;height:16px;stroke-width:1.9}
.task-view-header>.mock-browser-address{height:28px;padding:0 10px 0 4px;gap:8px;font-size:12px;background:#e5edde}
.mock-browser-address i{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;border-radius:50%;font-style:normal}
.mock-browser-site{background:#f5f9ee}.mock-browser-install{background:#bbedad}
.task-view-header .mock-browser-site svg{width:15px;height:15px}
@media(max-width:700px){.task-view-header{height:28px;min-height:28px;padding:2px 6px 2px 9px;gap:12px}.task-view-header .mock-browser-controls{margin-right:12px;gap:7px}.mock-browser-navigation{gap:8px}.task-view-header>.mock-browser-address{height:24px;font-size:11px}.mock-browser-address i{width:20px;height:20px}.task-view-header svg{width:14px;height:14px}}

/* Address pill: equal inset around the site circle and balanced text leading. */
.task-view-header>.mock-browser-address{box-sizing:border-box;border-radius:999px;padding:4px 10px 4px 4px;gap:8px;line-height:18px}
.mock-browser-address>span{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:18px}
.mock-browser-address i{box-sizing:border-box;width:20px;height:20px;border-radius:50%}
.task-view-header .mock-browser-site svg{width:14px;height:14px}
@media(max-width:700px){.task-view-header>.mock-browser-address{padding:3px 8px 3px 3px;gap:7px;line-height:16px}.mock-browser-address>span{line-height:16px}.mock-browser-address i{width:18px;height:18px}.task-view-header .mock-browser-site svg{width:13px;height:13px}}

/* Window controls lead directly into the address pill. */
.task-view-header .mock-browser-controls{margin-right:0}

/* More breathing room around the address and its label. */
.task-view-header{height:42px;min-height:42px;padding-top:5px;padding-bottom:5px}
.task-view-header>.mock-browser-address{height:32px;padding-top:6px;padding-bottom:6px}
@media(max-width:700px){.task-view-header{height:36px;min-height:36px;padding-top:4px;padding-bottom:4px}.task-view-header>.mock-browser-address{height:28px;padding-top:5px;padding-bottom:5px}}

.kx-crm-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}.kx-crm-heading h2{font-size:22px;margin:0 0 6px}.kx-crm-heading p{color:#858780;margin:0}.kx-crm-heading>span{color:#95988e;font-size:12px}.kx-crm-funnel{padding:18px 0 8px}.kx-crm-funnel button{display:grid;grid-template-columns:125px 1fr 36px;gap:20px;align-items:center;width:100%;padding:9px 0;background:none;border:0;text-align:left;color:#30392c;font:inherit;cursor:pointer}.kx-crm-funnel button>div{height:30px;background:#f5f7f1;border-radius:5px;overflow:hidden}.kx-crm-funnel i{display:block;height:100%;border-radius:5px}.kx-crm-funnel button:hover{background:#fafbf7}.kx-crm-roles{padding-top:22px}.kx-crm-roles>div{display:grid;grid-template-columns:135px 1fr 22px;gap:12px;align-items:center;margin:18px 0;color:#62695d}.kx-crm-roles>div>div{height:12px;background:#f4f6ee;border-radius:3px}.kx-crm-roles i{display:block;height:100%;background:#a9d83e;border-radius:3px}.kx-crm-next button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 0;gap:18px;border:0;border-bottom:1px solid #eff0ec;background:none;text-align:left;cursor:pointer}.kx-crm-next strong,.kx-crm-next small{display:block}.kx-crm-next strong{font-size:14px;color:#283025}.kx-crm-next small{font-size:12px;color:#90968a;margin-top:6px}.kx-crm-next button>span:last-child{font-size:12px;color:#167761;max-width:140px}.kx-crm-stages{display:flex;gap:6px;margin:0 0 16px}.kx-crm-stages button{border:0;border-radius:8px;background:#f7f8f3;padding:8px 13px;color:#71776c;cursor:pointer}.kx-crm-stages button.on{background:#e8f0d6;color:#315524}

.kx-mail{overflow:visible}.kx-mail>header{border-radius:16px 16px 0 0}.kx-mail>footer .kx-mail-actions{display:flex;align-items:center;gap:20px;margin:0}.kx-mail>footer{padding:14px 18px}.kx-mail-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.kx-mail>footer .kx-mail-actions button,.kx-mail-actions summary{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;padding:9px 12px;border:0;background:none;color:#151b0d;cursor:pointer;line-height:22px}.kx-mail-send-group{display:flex;align-items:center;border-radius:14px;background:#f5f7f0}.kx-mail>footer .kx-mail-send-group>button{color:#005d47;padding:9px 12px;border-radius:14px 0 0 14px}.kx-mail-send-group>.kx-mail-menu>summary{border-left:1px solid #dce0d7;padding:11px;color:#005d47}.kx-mail-menu{position:relative}.kx-mail-menu summary{list-style:none}.kx-mail-menu summary::-webkit-details-marker{display:none}.kx-mail-menu>div{position:absolute;top:calc(100% + 5px);left:0;min-width:180px;background:#f9faf6;border:1px solid #dfe3d9;border-radius:18px;padding:8px 4px;box-shadow:0 5px 10px #0002;z-index:30}.kx-mail-send-group .kx-mail-menu>div{left:-90px}.kx-mail>footer .kx-mail-menu>div>button{width:100%;font-weight:400;text-align:left;border-radius:9px;padding:10px 12px;white-space:nowrap}.kx-mail>footer .kx-mail-actions button:hover,.kx-mail-menu summary:hover{background:#edf0e7}.kx-mail>footer .kx-mail-actions button:disabled{opacity:.4;pointer-events:none}.kx-mail-actions .kx-mail-edit{padding:9px 2px}.kx-mail-more summary{letter-spacing:2px}.kx-mail>footer .kx-mail-schedule{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.kx-mail-schedule input{padding:8px;border:1px solid #dce0d7;border-radius:6px}.kx-mail-notice{display:block;margin-top:12px;color:#738071}.kx-mail-schedule small{color:#b54d3d}

.kx-mail-menu.opens-up>div{top:auto;bottom:calc(100% + 5px)}

.kx-shell.room-app-chat>.kx-rooms{position:relative;flex:0 0 40px;width:40px;overflow:hidden;padding:0;opacity:.42}.kx-shell.room-app-chat>.kx-rooms>*:not(.kx-return-list){min-width:320px;pointer-events:none}.kx-shell.room-app-chat>.kx-rooms .kx-return-list{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;border-radius:0;background:#f5f6ef80;padding:0;cursor:pointer}.kx-shell.room-app-chat>.kx-main{flex:1;min-width:0}.kx-shell.room-app-chat>.kx-side{flex:0 0 510px;width:510px;min-width:510px;max-width:510px}

/* Green edition of the supplied Industry Sales CRM layout. */
.kx-app-content.crm-host{padding:0;overflow:hidden}.kx-green-crm{height:100%;display:flex;background:#eef4ef;color:#172a23;position:relative}.crm-sidebar{width:174px;flex:0 0 174px;background:#f8fbf8d9;border-right:1px solid #dbe6df;display:flex;flex-direction:column;padding:22px 10px;gap:5px}.crm-brand{display:flex;align-items:center;gap:10px;padding:0 9px 24px;font-size:13px;font-weight:600}.crm-brand>b{display:grid;place-items:center;width:30px;height:34px;border:1px solid #a6d5bd;background:#d9eee1;color:#08724f;border-radius:10px}.crm-brand small{display:block;font-size:8px;letter-spacing:1.5px;font-weight:400;color:#8b9e91;margin-bottom:4px}.crm-nav-label{font-size:8px;letter-spacing:1.5px;color:#8d9c92;padding:12px 10px 7px}.crm-sidebar>button{display:flex;align-items:center;gap:9px;text-align:left;padding:11px 10px;border:0;border-radius:9px;background:none;color:#76897e;font-size:12px}.crm-sidebar>button.active{background:#daecdf;color:#12583c;box-shadow:inset 2px 0 #16875a}.crm-sidebar svg{width:15px;height:15px}.crm-demo-dot{margin-top:auto;padding:20px 8px 0;color:#82988a;font:9px monospace;letter-spacing:.5px}.crm-demo-dot:before{content:'●';color:#228d60;margin-right:6px}.crm-workspace{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 5% 0%,#d6e9dd88,transparent 65%),linear-gradient(90deg,#afc8b41c 1px,transparent 1px),linear-gradient(#afc8b41c 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}.crm-topbar{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#f9fcf980;border-bottom:1px solid #dce5df;font-size:13px}.crm-topbar small{font:9px monospace;color:#71877a;border:1px solid #d6e3d9;border-radius:20px;padding:5px 9px}.crm-topbar i{display:inline-block;width:5px;height:5px;background:#098258;border-radius:50%;margin-right:5px}.crm-page{padding:28px 24px;overflow:auto;flex:1;min-height:0}.crm-eyebrow{display:block;font-size:8px;letter-spacing:1.7px;color:#16885c;margin-bottom:12px}.crm-page .kx-crm-heading{gap:12px;margin-bottom:23px;align-items:flex-end}.crm-page .kx-crm-heading h2{font-size:25px;font-weight:500;letter-spacing:-.5px;margin-bottom:9px}.crm-page .kx-crm-heading p{font-size:12px;color:#738479;line-height:1.6}.crm-open{background:#ffffffbf;border:1px solid white;border-radius:22px;padding:10px 15px;color:#176e4b;font-size:11px;white-space:nowrap}.crm-page .kx-stats{gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.crm-page .kx-stats>div,.crm-page .kx-graph-card{border:1px solid #ffffffdc;background:#ffffffcf;border-radius:16px;box-shadow:0 8px 22px #24493208}.crm-page .kx-stats>div{padding:19px 16px}.crm-page .kx-stats span{font-size:8px;letter-spacing:1.3px;text-transform:uppercase;color:#8e9b91}.crm-page .kx-stats strong{font:28px/1.1 monospace;margin:15px 0 9px}.crm-page .kx-stats small{font-size:10px;color:#7e8e83}.crm-page .kx-graph-card{padding:22px;margin-top:0;margin-bottom:14px}.crm-page .kx-graph-card h3{font-size:14px;font-weight:500;color:#213d2d}.crm-page .kx-graph-card p{font-size:11px;color:#819086}.crm-page .kx-crm-funnel button{grid-template-columns:1fr 36px;gap:9px;padding:10px 0 12px}.crm-page .kx-crm-funnel button>span{font-size:12px}.crm-page .kx-crm-funnel button>strong{grid-column:2;grid-row:1;font:11px monospace;color:#6c8275;text-align:right}.crm-page .kx-crm-funnel button>div{grid-column:1 / -1;grid-row:2;height:6px;border-radius:10px;background:#e4eae5}.crm-page .kx-crm-funnel button i{background:linear-gradient(90deg,#118658,#73bc86)!important}.crm-page .kx-graph-grid{grid-template-columns:1.1fr 1fr;gap:14px}.crm-page .kx-crm-roles>div{grid-template-columns:105px 1fr 18px;font-size:11px}.crm-page .kx-crm-roles i{background:#38956b}.crm-page .kx-crm-roles>div>div{height:6px}.crm-page .kx-crm-next button{padding:15px 0}.crm-page .kx-crm-next strong{font-size:12px}.crm-page .kx-crm-next small{font-size:10px}.crm-page .kx-crm-next button>span:last-child{font-size:10px}.crm-page .kx-filters{justify-content:space-between;margin-bottom:18px}.crm-page .kx-filters>span{margin-left:0;font-size:11px}.crm-page .kx-filters input{background:#ffffffb0;border:1px solid #d6e3d9;border-radius:8px;padding:9px 12px;max-width:180px}.crm-page .kx-filters>button{border:1px solid #d6e3d9;background:white;border-radius:8px;padding:8px 12px;font-size:11px}.crm-page .kx-crm-stages{flex-wrap:wrap}.crm-page .kx-crm-stages button{background:#ffffff70;color:#6d8374;font-size:11px}.crm-page .kx-crm-stages button.on{background:#d3e9d9;color:#155b3a}.crm-page .kx-table-scroll{border:1px solid #fff;border-radius:13px;background:#ffffffc7}.crm-page .kx-table-scroll th{background:#e7eee8;color:#6b8072;font-size:10px;font-weight:500;padding:14px 12px}.crm-page .kx-table-scroll td{padding:14px 12px;border-color:#eaf0eb;font-size:12px}.crm-page .kx-table-scroll tr:hover td{background:#f4f9f3}.crm-page .kx-pill{background:#e2eee5;color:#427254;border-radius:20px;padding:4px 9px;font-size:10px}.kx-shell.has-side .crm-sidebar{width:146px;flex-basis:146px}.kx-shell.has-side .crm-page{padding:22px 16px}.kx-shell.has-side .crm-page .kx-stats{grid-template-columns:repeat(2,1fr)}.kx-shell.has-side .crm-page .kx-graph-grid{grid-template-columns:1fr}.kx-shell.has-side .crm-page .kx-crm-heading{align-items:flex-start;flex-wrap:wrap}

/* Refined CRM hierarchy and a dedicated pipeline board. */
.crm-sidebar{width:184px;flex-basis:184px;background:#f6faf6}.crm-brand{font-size:13px;padding-bottom:30px}.crm-sidebar>button{margin-bottom:3px}.crm-workspace{background:radial-gradient(ellipse at 20% 0%,#dcebdd99,transparent 60%),#edf3ee}.crm-topbar{height:48px;background:#f8fbf8a6}.crm-page{padding:30px 28px}.crm-page .kx-crm-heading h2{font-size:27px;line-height:1.25;max-width:560px;letter-spacing:-.7px;color:#203d2c}.crm-eyebrow{letter-spacing:1.5px;font-size:8px}.crm-page .kx-stats>div{padding:22px 19px;min-height:120px;box-shadow:0 5px 16px #25482d04}.crm-page .kx-stats>div:first-child{background:#145e42;border-color:#145e42}.crm-page .kx-stats>div:first-child span,.crm-page .kx-stats>div:first-child small{color:#bed9c7}.crm-page .kx-stats>div:first-child strong{color:#f5ffdf!important}.crm-page .kx-stats strong{font-size:32px;font-weight:400;letter-spacing:-1px}.crm-page:has(>.kx-stats){display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-content:start}.crm-page:has(>.kx-stats)>.kx-crm-heading,.crm-page:has(>.kx-stats)>.kx-stats{grid-column:1 / -1;margin-bottom:0}.crm-page:has(>.kx-stats)>.kx-graph-card{grid-column:1;grid-row:3}.crm-page:has(>.kx-stats)>.kx-graph-grid{display:contents}.crm-page:has(>.kx-stats)>.kx-graph-grid>.kx-graph-card:first-child{grid-column:2;grid-row:3}.crm-page:has(>.kx-stats)>.kx-graph-grid>.kx-graph-card:last-child{grid-column:1 / -1}.crm-page .kx-graph-card{padding:24px;margin:0;border-radius:17px;box-shadow:0 6px 22px #214d2e05}.crm-page .kx-graph-card h3{font-size:15px;font-weight:600;margin-bottom:7px}.crm-page .kx-graph-card p{line-height:1.65}.crm-page .kx-crm-funnel{padding-top:11px}.crm-page .kx-crm-funnel button{padding:9px 0 12px}.crm-page .kx-crm-funnel button>div{height:7px}.crm-page .kx-crm-roles{padding-top:5px}.crm-page .kx-crm-roles>div{grid-template-columns:1fr 22px;gap:10px;margin:19px 0}.crm-page .kx-crm-roles>div>div{grid-column:1 / -1;grid-row:2;height:7px}.crm-page .kx-crm-roles b{grid-column:2;grid-row:1;font:11px monospace}.crm-page .kx-crm-next button{padding:17px 0}.crm-page .kx-crm-next button:last-child{border-bottom:0}.crm-page .kx-crm-next strong{font-size:13px}.crm-board{display:flex;gap:14px;overflow:auto;align-items:flex-start;padding:2px 0 18px;min-height:450px}.crm-board-column{flex:1 0 190px;min-width:190px}.crm-board-column>header{display:flex;justify-content:space-between;align-items:center;padding:6px 3px 16px;font-size:12px;color:#425d4b}.crm-board-column>header>span{display:flex;align-items:center;gap:7px}.crm-board-column>header i{width:7px;height:7px;border-radius:50%}.crm-board-column>header b{font:10px monospace;padding:3px 6px;background:#dfe9e1;border-radius:6px;color:#6a8270}.crm-deal{display:block;width:100%;padding:17px;margin:0 0 11px;text-align:left;background:#ffffffde;border:1px solid #fff;border-radius:13px;box-shadow:0 4px 14px #24492f06;cursor:pointer}.crm-deal:hover{border-color:#9fc4ac;box-shadow:0 5px 18px #24492f10}.crm-deal-top{display:flex;gap:9px;align-items:center;margin-bottom:15px}.crm-deal-top>i{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d8e7dc;border-radius:8px;background:#eef5e8;color:#396c4a;font:10px monospace;font-style:normal}.crm-deal-top>small{font-size:10px;color:#7b9082}.crm-deal>strong{display:block;font-size:13px;font-weight:600;color:#234631;margin:0 0 7px}.crm-deal>p{font-size:11px;color:#85958a;line-height:1.6;min-height:34px;margin:0 0 13px}.crm-deal-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf2ed;padding-top:12px;font-size:10px;color:#73907e}.crm-deal-bottom b{font-size:14px;font-weight:400;color:#32744f}.crm-page .kx-table-scroll td{padding-top:16px;padding-bottom:16px}.crm-page .kx-record-link{color:#23563a!important;font-weight:600}.kx-shell.has-side .crm-page:has(>.kx-stats){grid-template-columns:1fr}.kx-shell.has-side .crm-page:has(>.kx-stats)>.kx-graph-card,.kx-shell.has-side .crm-page:has(>.kx-stats)>.kx-graph-grid>.kx-graph-card{grid-column:1;grid-row:auto}.kx-shell.has-side .crm-page .kx-crm-heading h2{font-size:23px}

/* A single quiet filter strip, with a consistent search control. */
.crm-page .kx-filters{justify-content:flex-start;align-items:center;gap:12px;margin:0 0 14px}.crm-page .kx-filters>span{font-size:12px;color:#7b8e81}.crm-page .kx-filters>span strong{font-weight:600;color:#365a43}.crm-page .kx-filters input{margin-left:auto;width:220px;max-width:220px;height:36px;background:#ffffffb8;border:1px solid #d9e5dc;border-radius:9px;padding:8px 12px;font-size:12px;outline:none;box-shadow:0 1px 2px #24492f03}.crm-page .kx-filters input:focus{border-color:#79ab8a;box-shadow:0 0 0 3px #28885710}.crm-page .kx-crm-stages{display:inline-flex;gap:2px;align-items:center;padding:4px;margin:0 0 20px;border:1px solid #dce7df;border-radius:11px;background:#e7eee8;flex-wrap:wrap}.crm-page .kx-crm-stages button{padding:8px 13px;min-height:32px;border:0;border-radius:7px;background:transparent;color:#718578;font-size:12px;line-height:16px;transition:background .15s,color .15s}.crm-page .kx-crm-stages button:hover{background:#f3f7f2;color:#325d40}.crm-page .kx-crm-stages button.on{background:#fff;color:#17633d;box-shadow:0 1px 4px #24492f12;font-weight:600}.crm-page .kx-crm-stages button:focus-visible{outline:2px solid #75a886;outline-offset:1px}

/* Room app discussions share one balanced overlay layout. */
.kx-shell.room-app-chat>.kx-side{flex:0 0 540px;width:540px;min-width:540px;max-width:540px;background:#fff;border-left:1px solid #eceee8}.kx-shell.room-app-chat>.kx-main{background:#fff;box-shadow:-5px 0 12px #26392208;z-index:1}.kx-shell.room-app-chat>.kx-side>header{min-height:88px;padding:18px 22px}.kx-shell.room-app-chat .kx-side-log{padding:20px 24px}.kx-shell.room-app-chat>.kx-side>.kx-compose{margin:14px 22px;width:calc(100% - 44px);border-radius:16px}.kx-shell.room-app-chat .kx-room-head{padding-left:20px;gap:10px}

/* Restored white CRM overview from the approved screenshot. */
.crm-simple{background:#fff}.crm-simple>.kx-crm-heading{margin:30px 0 24px}.crm-simple .kx-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.crm-simple .kx-stats>div{padding:20px;border:1px solid #e9ebe5;border-radius:20px;background:#fff;box-shadow:none}.crm-simple .kx-stats span{font-size:14px;font-weight:600;color:#92958f}.crm-simple .kx-stats strong{font-size:18px;font-weight:400;margin:12px 0 9px}.crm-simple .kx-stats small{font-size:12px}.crm-simple>.kx-graph-card{margin-bottom:18px}.crm-simple .kx-crm-funnel{padding:30px 0 8px}.crm-simple .kx-crm-funnel button{grid-template-columns:125px 1fr 36px;padding:9px 0}.crm-simple .kx-crm-funnel button>div{height:30px}.crm-simple .kx-graph-card{border-radius:20px}.crm-simple .kx-filters{gap:12px;margin-bottom:14px}.crm-simple .kx-filters>span{margin-left:0;font-size:12px}.crm-simple .kx-filters input{margin-left:auto;background:white;border:1px solid #e1e6dc;border-radius:9px;height:36px;padding:8px 12px}.crm-simple .kx-crm-stages{display:inline-flex;gap:2px;padding:4px;background:#f3f5ef;border:1px solid #e6eae1;border-radius:11px;margin-bottom:18px}.crm-simple .kx-crm-stages button{background:transparent;padding:8px 12px;border-radius:7px;font-size:12px}.crm-simple .kx-crm-stages button.on{background:#fff;color:#17633d;box-shadow:0 1px 4px #24492f12}.kx-shell.has-side .crm-simple .kx-stats{grid-template-columns:repeat(2,1fr)}

/* Keep badges inside their own columns, including in App Chat split view. */
.kx-issue-table{min-width:1450px;table-layout:fixed}
.kx-issue-table th:first-child{width:310px}
.kx-issue-table th:nth-child(2){width:130px}
.kx-issue-table th:nth-child(3){width:150px}
.kx-issue-table th:nth-child(4){width:100px}
.kx-issue-table th:nth-child(5){width:150px}
.kx-issue-table th:nth-child(6){width:120px}
.kx-issue-table th:nth-child(7),.kx-issue-table th:nth-child(8){width:180px}
.kx-issue-table th:nth-child(9){width:130px}
.kx-issue-table th,.kx-issue-table td{overflow:hidden;text-overflow:ellipsis;padding-left:12px;padding-right:12px}
.kx-issue-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}

.room-scene-hint{position:fixed;z-index:12;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #ffffff9c;border-radius:12px;background:#f8fff0b8;backdrop-filter:blur(9px);box-shadow:0 4px 18px #385f2510;color:#215a3e;font-size:13px;white-space:nowrap;cursor:pointer}.room-scene-hint[hidden]{display:none}.room-scene-hint i{width:7px;height:7px;border-radius:50%;background:#b9df66;box-shadow:0 0 12px #caf48c}.room-scene-hint b{font-weight:400;opacity:.6}.room-scene-hint:hover{background:#f8fff0e8;border-color:#b2cda0}.exit-hint{background:#f9fcf1a6;color:#526950;font-size:12px}

.kx-draft-prompt.is-inviting{border-color:#c5dbac;background:#fbfff6;animation:draft-invite 2.6s ease-in-out infinite;transform-origin:center bottom}.kx-draft-prompt.is-inviting button{color:#096548!important}.kx-side:has(.kx-draft-prompt.is-inviting) .kx-side-log{padding-bottom:70px}@keyframes draft-invite{0%,100%{transform:translateY(0);box-shadow:0 0 0 0 #b4de7420,0 3px 12px #497f2510}50%{transform:translateY(-3px);box-shadow:0 0 0 4px #b4de7416,0 2px 20px #aad76a40}}@media(prefers-reduced-motion:reduce){.kx-draft-prompt.is-inviting{animation:none;box-shadow:0 0 12px #aad76a30}}
/* Screenshot-to-fix conversation in Issue Tracker. */
.kx-issue-progress{display:flex;gap:10px;align-items:center;margin:0 0 24px;font-size:11px;color:#7c8780}.kx-issue-progress span{padding:5px 9px;border-radius:7px;background:#e9f5ed;color:#17634c}.kx-issue-capture{margin:0 0 24px 44px;border:1px solid #dfe7df;border-radius:12px;overflow:hidden;background:#fff;font-size:11px}.kx-issue-capture figcaption{padding:10px 12px;background:#f6f8f4;color:#7a847b}.kx-issue-capture>div{display:flex;align-items:center;gap:7px;padding:13px 12px}.kx-issue-capture span,.kx-issue-capture b{padding:6px 9px;border-radius:6px;background:#f1f4ef}.kx-issue-capture b{background:#e7efcc;color:#315938}.kx-issue-capture em{margin-left:auto;font-style:normal;border-bottom:2px solid #dfa278}.kx-issue-capture i{display:block;font-style:normal;padding:10px 12px;border-top:1px solid #eef0eb;color:#697369}.kx-issue-capture small{display:block;padding:10px 12px;color:#956743;background:#fffaf3}.kx-issue-next{margin:0 0 10px 44px;padding:12px 17px;border:0;border-radius:12px;background:#075c47;color:white;font-size:12px;cursor:pointer;box-shadow:0 4px 12px #075c4717}.kx-issue-next:hover{background:#08775a}.kx-issue-result{margin:0 0 24px 44px;padding:14px;border-radius:12px;background:#eff7ef;color:#286448;font-size:12px;line-height:1.9}.kx-issue-replay{margin-left:44px;border:1px solid #dfe6df;border-radius:10px;padding:9px 14px;background:white;color:#075c47;cursor:pointer}.kx-issue-demo-note{display:block;margin:8px 0 8px 44px;color:#9aA29a;font-size:10px}

/* Quiet in-scene navigation hints. */
.room-scene-hint{gap:6px;padding:6px 9px;border:1px solid #ffffff45;border-radius:7px;background:#f5f8ef75;backdrop-filter:blur(4px);box-shadow:none;color:#45634e;font-size:11px;line-height:1.3;font-weight:400}.room-scene-hint:hover{background:#f5f8efbf;border-color:#ffffff85}.room-scene-hint b{font-size:11px;opacity:.45}.exit-hint{font-size:11px;background:#f5f8ef75;color:#526950}

.kx-issue-playing{margin:8px 0 12px 44px;color:#829886;font-size:11px;letter-spacing:.02em}

/* Presentation control floats apart from the product conversation. */
.kx-issue-replay{display:block;width:max-content;margin:22px auto 16px;padding:10px 17px;border:1px solid #ffffffbd;border-radius:99px;background:#edf1e9eF;color:#4b6253;box-shadow:0 5px 18px #233d352b,0 1px 3px #233d3517;font-size:12px;backdrop-filter:blur(10px);transition:box-shadow .15s,transform .15s}.kx-issue-replay:hover{transform:translateY(-1px);box-shadow:0 7px 22px #233d3538}

.kx-agent-thinking{display:flex;align-items:center;gap:8px;padding:6px 0;color:#92958f;font-size:14px;line-height:1.5}.kx-agent-thinking span{display:inline-block;color:#72786f;font-size:18px;animation:kx-thinking-turn 2.4s linear infinite}@keyframes kx-thinking-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.kx-agent-thinking span{animation:none}}

.kx-message .kx-mention{color:#059447;background:transparent;font-weight:500}.kx-message .kx-mention.is-self{background:#e1f9df;border-radius:4px;padding:1px 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* Homepage return, separated from the in-world navigation. */
#back-to-landing{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 11px;border:1px solid #496c4b25;border-radius:8px;background:#f7faf35e;color:#45634e;text-decoration:none;font-size:12px;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s}#back-to-landing:hover{background:#f7faf3d9;border-color:#496c4b55}#back-to-landing:focus-visible{outline:2px solid #045c45;outline-offset:3px}#back-to-landing span{font-size:16px}

/* One quiet editorial header, with homepage navigation above the title. */
body.game #game-location{display:flex!important;flex-direction:column;align-items:flex-start;gap:0;top:32px;left:max(var(--page-gutter),32px);width:min(300px,calc(100vw - 64px))}
body.game #game-location[data-home="true"] .eyebrow{display:none}
body.game #game-location #back-to-landing{order:-2;margin:0 0 18px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#688071;font-size:12px;font-weight:500;letter-spacing:.01em;gap:6px;line-height:20px}
body.game #game-location #back-to-landing span{font-size:12px}
body.game #game-location #back-to-landing:hover{background:none;color:#045c45}
body.game #game-location #back-to-landing:hover .landing-home-label{text-decoration:underline;text-underline-offset:4px}
body.game #game-location #game-room-name{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.9px;font-weight:600;color:#183e30}
body.game #game-location #game-intro{margin:9px 0 0;max-width:270px;font-size:12px;line-height:1.6;color:#718274}
@media(max-width:600px){body.game #game-location{top:22px;left:22px;width:250px}body.game #game-location #back-to-landing{margin-bottom:12px}body.game #game-location #game-room-name{font-size:24px}}

html[data-landing-preview="true"] body.game #game-location,html[data-landing-preview="true"] body.game .explore-help{display:none!important}
html body .explore-help,html body.game .explore-help{display:none!important}

/* Quiet room navigation: one breadcrumb row above the scene introduction. */
body.game #game-location{display:grid!important;grid-template-columns:auto 1fr;column-gap:14px;row-gap:0;width:min(380px,calc(100vw - 64px));align-items:center}
body.game #game-location #back-to-landing{grid-column:1;grid-row:1;order:0;margin:0;padding:5px 0;color:#738679;font-size:11px;line-height:18px;white-space:nowrap;transition:color .2s}
body.game #game-location #back-to-landing span:first-child{font-size:15px;line-height:1;transition:transform .2s}
body.game #game-location #back-to-landing:hover span:first-child{transform:translateX(-2px)}
body.game #game-location .eyebrow{grid-column:2;grid-row:1;margin:0;padding:0 0 0 14px;border-left:1px solid #b9c6b9;display:flex;gap:0;font-size:11px;font-weight:500;line-height:16px;letter-spacing:.025em;text-transform:none;color:#496553;white-space:nowrap}
body.game #game-location .eyebrow::before{display:none}
body.game #game-location #game-room-name{grid-column:1 / -1;margin-top:17px;font-size:27px;letter-spacing:-.8px}
body.game #game-location #game-intro{grid-column:1 / -1;margin-top:8px;max-width:290px;color:#7a897b}
body.game #game-location[data-home="true"] #back-to-landing{grid-column:1 / -1;padding:0;line-height:20px}
body.game #game-location[data-home="true"] #game-room-name{margin-top:12px}
body.game #game-location[data-home="true"] #game-intro{margin-top:12px}
@media(max-width:600px){body.game #game-location{width:calc(100vw - 44px);column-gap:11px}body.game #game-location .eyebrow{padding-left:11px}body.game #game-location #game-room-name{font-size:24px}}


/* Keep room context compact and readable above the product demo. */
body.game #game-location[data-home="false"]{width:min(310px,calc(100vw - 44px));top:24px}
body.game #game-location[data-home="false"] #game-room-name{font-size:23px;line-height:1.2;margin-top:12px;letter-spacing:-.6px}
body.game #game-location[data-home="false"] #game-intro{font-size:11px;line-height:1.5;margin-top:8px;max-width:280px}
@media(max-width:600px){body.game #game-location[data-home="false"]{top:16px}body.game #game-location[data-home="false"] #game-room-name{font-size:21px}}


#npc-choices.agent-actions,#standalone-actions{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:7px;background:#ffffffeb;border:1px solid #d7dfd8;border-radius:999px;box-shadow:0 6px 20px #163e2414}
#npc-choices.agent-actions button,#standalone-actions button{border-radius:999px;padding:8px 20px;font-size:16px;line-height:1.2;font-weight:600;background:#fff;color:#045c45;border:1px solid #c5d5ce;white-space:nowrap}
#npc-choices.agent-actions button:first-child,#standalone-actions button:first-child{background:#045c45;color:#fff;border-color:#045c45}
#npc-choices.agent-actions button:hover,#standalone-actions button:hover{filter:brightness(.96)}
#standalone-actions{position:fixed;z-index:13;bottom:24px;left:50%;transform:translateX(-50%)}
#standalone-actions{padding:0;background:none;border:0;box-shadow:none;gap:12px}
#standalone-actions button{font-size:14px;height:40px;padding:8px 20px;background:#fff}
#standalone-actions[hidden]{display:none}
@media(max-width:420px){#npc-choices.agent-actions button,#standalone-actions button{padding:8px 13px;font-size:14px}}


html[data-mobile-hero] #game-location[data-home="true"],html[data-mobile-hero] #game-actions,html[data-mobile-hero] #standalone-actions{display:none!important}
html[data-mobile-hero] #npc-dialogue{left:16px;right:16px;bottom:22px;width:auto;transform:none;max-height:64vh;overflow:auto;padding:20px;border-radius:24px}
html[data-mobile-hero] #npc-dialogue #npc-line{font-size:16px;line-height:1.5}
html[data-mobile-hero] #game-location:not([data-home="true"]){top:70px;left:24px}
