html.assistant-open, .assistant-open body {overflow:hidden}
.project-assistant {position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--ink);color:var(--white);overflow:hidden}
.project-assistant::backdrop {background:var(--ink)}
.project-assistant[open] {display:flex;flex-direction:column}
.assistant-header {height:92px;flex:none;padding:14px 3vw;border-bottom:1px solid #42453d;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#171917}
.assistant-brand,.assistant-header-actions {display:flex;align-items:center;gap:24px}
.assistant-brand .brand-logo {width:112px}
.assistant-brand h2 {font:650 14px/1.4 var(--body);letter-spacing:0}
.assistant-online {font-size:10px;letter-spacing:.02em;color:#bdc1b5;margin-top:5px;display:flex;align-items:center;gap:6px}
.assistant-online i {width:5px;height:5px;border-radius:50%;background:var(--orange)}
.assistant-header select {background:#242721;border:1px solid #51544b;border-radius:0;color:#fafaf6;padding:10px;min-height:44px;max-width:180px;font-size:12px}
.assistant-header button {background:var(--orange);color:var(--ink);border:0;padding:12px 20px;min-height:44px;font-weight:750;font-size:12px}
.assistant-layout {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);flex:1;min-height:0}
.assistant-stage {position:relative;overflow:hidden;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.assistant-scenes,.assistant-scenes img {position:absolute;inset:0;width:100%;height:100%}
.assistant-scenes {z-index:-2;background:#33382e}
.assistant-scenes img {object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .65s,transform 1.2s}
.assistant-scenes img.is-active {opacity:1;transform:scale(1)}
.assistant-stage:after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0a1009a6,#10160ea6 25%,#121810f5 94%);z-index:-1}
.assistant-stage-copy .eyebrow {color:#f4b186}
.assistant-scene-title {font:600 clamp(42px,5.2vw,78px)/1.02 var(--display);max-width:11ch;text-wrap:balance}
.scene-title-enter {animation:scene-title .6s both}
@keyframes scene-title {from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.live-brief {margin-top:32px;background:#131a14b8;backdrop-filter:blur(12px);padding:20px 24px;border-top:1px solid #f3eee647;max-height:47%;display:flex;flex-direction:column}
.brief-header {display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em;font-weight:750;flex:none}
.brief-header>span:last-child {color:var(--orange)}
.live-brief dl {overflow:auto;overscroll-behavior:contain;margin:15px 0 0;scrollbar-width:thin;scrollbar-color:#757c6a transparent}
.brief-empty {font-size:12px;color:#c7cabb;line-height:1.7}
.brief-row {border-top:1px solid #ffffff1f;display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:10px 0;font-size:11px;line-height:1.6}
.brief-row dt {color:#b9bdaf}.brief-row dd {margin:0;overflow-wrap:anywhere}
.entry-signature {position:absolute;inset:0;z-index:3;background:#171917;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;pointer-events:none;opacity:0;visibility:hidden}
.entry-signature img {width:clamp(180px,24vw,340px)}
.entry-signature span {font-size:10px;letter-spacing:.22em}
.entry-motion .entry-signature {animation:entry-signature 1.45s both}
@keyframes entry-signature {0%,45%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;transform:translateY(-10px)}}
.assistant-conversation {min-width:0;min-height:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;padding:0 clamp(22px,3vw,50px)}
.chat-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #c7c9be;flex:none;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.chat-toolbar button {border:0;background:none;font-size:11px;text-transform:none;font-weight:600;min-height:40px;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}
.chat-log {flex:1;min-height:90px;overflow:auto;overscroll-behavior:contain;padding:25px 8px 20px 0;scrollbar-width:thin;scrollbar-color:#bbc0af transparent;outline-offset:-3px}
.chat-message {display:flex;gap:10px;align-items:flex-start;margin-bottom:17px;animation:scene-title .24s both}
.chat-avatar {width:35px;height:35px;display:flex;align-items:center;justify-content:center;background:#20251c;flex:none;border-radius:50%;padding:4px}
.chat-avatar img {width:28px;height:auto}
.chat-bubble {font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-width:84%;padding:12px 16px;background:#fffefa;border:1px solid #dedfd5;border-radius:0 12px 12px 12px}
.chat-message.user {justify-content:flex-end}.chat-message.user .chat-bubble {background:#273222;color:#fffef8;border:0;border-radius:12px 0 12px 12px}
.assistant-bottom {flex:none;padding-bottom:14px;min-height:0}
.quick-replies {display:flex;flex-wrap:wrap;gap:7px;max-height:155px;overflow:auto;padding:3px 3px 12px;scrollbar-width:thin}
.quick-replies:empty {display:none}
.quick-reply {min-height:42px;padding:9px 12px;border:1px solid #929982;background:transparent;text-align:start;border-radius:3px;font-size:11px;font-weight:700;line-height:1.5;transition:background .15s,color .15s;max-width:100%;overflow-wrap:anywhere}
.quick-reply:hover,.quick-reply[aria-pressed=true] {background:#263421;color:#fff;border-color:#263421}
.quick-reply.is-suggested {border-color:#a44713;box-shadow:inset 0 -2px #c45e21}
.quick-reply[aria-pressed=true]:before {content:'✓ ';color:#f5a36e}
.chat-composer {display:flex;align-items:stretch;border:1px solid #858b7c;background:#fffefa;gap:10px;padding:8px}
.chat-composer textarea {border:0;background:transparent;resize:none;flex:1;width:0;font-size:14px;line-height:1.6;padding:6px;max-height:100px;scrollbar-width:thin;color:#171917}
.chat-composer textarea:focus-visible {outline:0}
.chat-composer:focus-within {outline:2px solid #9c4917;outline-offset:2px}
.chat-composer button {border:0;background:var(--orange);color:var(--ink);min-width:48px;min-height:48px;padding:8px 12px;align-self:center}
.chat-composer button span:first-child {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.chat-composer button span:last-child {font-size:26px}
.assistant-status {color:#93410e;font-size:11px;line-height:1.5;max-height:50px;overflow:auto}
.assistant-status:not(:empty) {padding-top:8px}
.conversation-controls {display:flex;gap:12px;align-items:center;min-height:40px;font-size:11px}
.conversation-controls button,.review-actions button {border:0;background:none;padding:8px 0;min-height:38px;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.conversation-controls [data-skip] {margin-inline-start:auto;color:#505745}
.conversation-controls [data-next] {margin-inline-start:auto;font-weight:800;padding-inline:12px;background:#dce0d2;text-decoration:none}
.conversation-controls button:disabled {opacity:.4}
.assistant-progress {display:flex;align-items:center;gap:14px;font-size:9px;color:#535949}
.assistant-progress progress {appearance:none;border:0;background:#d1d5c7;height:2px;flex:1;width:0;color:#a74e17}
.assistant-progress progress::-webkit-progress-bar {background:#d1d5c7}.assistant-progress progress::-webkit-progress-value {background:#a74e17}.assistant-progress progress::-moz-progress-bar {background:#a74e17}
.assistant-disclosure {font-size:9px;line-height:1.6;color:#59604f;margin-top:9px;max-width:none}
.assistant-disclosure a {text-decoration:underline;text-underline-offset:2px}
.view-website {display:block;margin:7px auto 0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:10px;min-height:30px;color:#424937}
.photo-panel {font-size:11px;padding-bottom:12px}.photo-picker {display:inline-flex;align-items:center;padding:12px 18px;background:#d8dfcc;border:1px dashed #657254;font-weight:700;cursor:pointer;position:relative;min-height:44px}
.photo-picker input {position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.photo-picker:focus-within {outline:2px solid #a44713;outline-offset:4px}
.photo-panel p {margin-top:7px}.photo-panel img {max-height:120px;margin-top:8px;object-fit:contain}.photo-panel button {font-size:11px}
.review-panel {font-size:11px;line-height:1.6}.review-panel pre {font:400 11px/1.7 var(--body);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:24dvh;border-block:1px solid #bcc3af;padding:12px 0;scrollbar-width:thin}
.review-panel .button {width:100%;white-space:normal;justify-content:center;text-align:center;font-size:12px;min-height:48px}
.review-actions {display:flex;justify-content:space-between;gap:12px}.photo-reminder {margin-bottom:12px;color:#764216}
.project-assistant[data-step=review] .chat-log {display:none}
.project-assistant[data-step=review] .assistant-bottom {flex:1;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-top:16px}
.project-assistant[data-step=review] .review-panel {display:flex;flex-direction:column;flex:1;min-height:230px}
.project-assistant[data-step=review] .review-panel pre {flex:1;min-height:65px;max-height:none}
.project-assistant[data-step=review] .review-panel>*:not(pre),.project-assistant[data-step=review] .assistant-bottom>*:not(.review-panel) {flex-shrink:0}
.typing-indicator {display:flex;gap:4px;margin:0 0 20px 45px;padding:12px}.typing-indicator span {width:5px;height:5px;background:#536149;border-radius:50%;animation:typing .75s infinite alternate}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}
@keyframes typing {to{opacity:.25;transform:translateY(-3px)}}
.assistant-launch {position:fixed;bottom:22px;right:24px;z-index:29;display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 18px 10px 10px;border:1px solid #ffffff35;background:#f0efe9;color:#171917;box-shadow:0 4px 30px #0003;font-size:11px;font-weight:800}
.launch-symbol {display:grid;place-items:center;background:#263321;color:#f2b489;width:30px;height:30px;font-size:20px}
.project-assistant[dir=rtl] {font-family:'Segoe UI',Tahoma,Arial,sans-serif}.project-assistant[dir=rtl] .assistant-scene-title {font-family:inherit;line-height:1.25;font-size:clamp(36px,4vw,62px)}
.project-assistant[dir=rtl] .chat-log {padding:25px 0 20px 8px}.project-assistant[dir=rtl] .chat-bubble {border-radius:12px 0 12px 12px}.project-assistant[dir=rtl] .chat-message.user .chat-bubble {border-radius:0 12px 12px 12px}
@media(min-width:761px) and (max-height:760px) {.assistant-header{height:75px}.assistant-bottom{padding-bottom:5px}.chat-toolbar{padding-block:3px}.quick-replies{max-height:106px}.chat-log{padding-top:15px;min-height:75px}.view-website{display:none}.assistant-stage{padding:30px}.assistant-disclosure{font-size:8px}.review-panel pre{max-height:20dvh}}
@media(max-width:760px) {
  .entry-motion:after {content:'';position:absolute;inset:75px 0 0;background:#171917 url('../img/ak-logo.png') center / 58% auto no-repeat;z-index:5;pointer-events:none;animation:entry-signature 1.1s both}
  .project-assistant {height:var(--assistant-height,100dvh)}
  .assistant-header{height:auto;min-height:75px;padding:10px 15px;gap:8px;align-items:center}
  .assistant-brand{gap:9px}.assistant-brand .brand-logo{width:64px}.assistant-brand h2{font-size:11px}.assistant-online{font-size:8px;max-width:100px;line-height:1.4}
  .assistant-header-actions{gap:6px}.assistant-header select{max-width:69px;padding:8px 3px;font-size:10px}.assistant-header button{padding:8px 10px;font-size:10px;max-width:104px;line-height:1.4}
  .assistant-layout{display:flex}.assistant-stage{display:none}.assistant-conversation{width:100%;padding-inline:16px}
  .chat-toolbar{padding:3px 0;font-size:9px}.chat-toolbar button{font-size:10px;min-height:36px}
  .chat-log{padding-block:18px 10px;min-height:65px}.chat-message{margin-bottom:12px;gap:7px}.chat-bubble{font-size:13px;padding:10px 12px;max-width:88%}.chat-avatar{width:27px;height:27px;padding:3px}
  .assistant-bottom{padding-bottom:max(6px,env(safe-area-inset-bottom))}.quick-replies{gap:6px;max-height:175px;padding-bottom:9px}.quick-reply{font-size:11px;padding:8px 10px;min-height:44px}
  .chat-composer{padding:5px}.chat-composer textarea{font-size:16px;line-height:1.4}.chat-composer button{min-height:44px;min-width:44px}
  .assistant-disclosure{font-size:9px;line-height:1.45;margin-top:6px}.conversation-controls{min-height:36px}.conversation-controls button{min-height:36px}
  .view-website{font-size:9px;min-height:28px;margin-top:3px}.assistant-progress{font-size:8px}
  .assistant-launch{right:12px;bottom:12px;font-size:10px;padding:7px 11px 7px 7px;min-height:46px}
  .review-panel pre{max-height:22dvh}.photo-panel img{max-height:90px}
}
@media(max-width:370px){.assistant-brand h2{display:none}.assistant-brand .brand-logo{width:58px}.assistant-brand{display:block}.assistant-online{margin-top:3px;font-size:7px}.assistant-header-actions{gap:5px}.assistant-conversation{padding-inline:12px}.quick-replies{max-height:142px}}
@media(max-height:580px) and (max-width:760px){.assistant-header{min-height:58px;padding-block:6px}.chat-toolbar,.assistant-disclosure,.view-website{display:none}.quick-replies{max-height:85px}.chat-log{min-height:45px}.review-panel pre{max-height:18dvh}.chat-composer textarea{height:40px}.photo-panel img{max-height:50px}.photo-panel p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.entry-motion .entry-signature,.entry-motion:after{display:none}.project-assistant *{animation:none!important;transition:none!important}}
