*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}
:root{
  --forest:#1b3a2d;--forest-deep:#0f2118;--forest-2:#163325;
  --orange:#c96b1a;--orange-h:#b05c14;
  --cream:#f5f0e8;--tan:#e8dfc8;--dark:#0a1812;--ink:#0d1a12;
  --text:#2c1e0f;--muted:#6b5b45;
  --line:rgba(27,58,45,.1);--line-d:rgba(245,240,232,.1);
}
html,body{height:100%;overflow:hidden;max-width:100%}
body{font-family:Georgia,"Times New Roman",serif;color:var(--text);display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
input,select,textarea{font-size:16px}

/* ── NAV ── */
nav{background-color:#111210;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='62'%3E%3Cfilter id='rock'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.45 0.15' numOctaves='4' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.08 0 0 0 0 0.07 0 0 0 0 0.06 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='600' height='62' filter='url(%23rock)'/%3E%3C/svg%3E"),linear-gradient(180deg,#1c1a17 0%,#0f0e0c 60%,#0a0907 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:62px;position:sticky;top:0;z-index:1000;box-shadow:0 2px 14px rgba(0,0,0,.7);border-bottom:1px solid rgba(255,255,255,.05)}
.nav-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff}
.nav-brand img{height:34px;width:34px;border-radius:5px;flex-shrink:0;object-fit:cover}
.nav-brand span{font-size:1rem;letter-spacing:-.005em}
.nav-brand em{font-style:italic;color:var(--orange);font-weight:400}
.nav-links{display:flex;gap:16px;align-items:center}
.nav-links a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.85rem;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active{position:relative}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--orange)}
.nav-cta{background:var(--orange);color:#fff!important;padding:8px 16px;border-radius:6px;display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;font-size:.86rem}
.nav-cta .cta-sub{font-size:.62rem;opacity:.85;letter-spacing:.04em}
.nav-cta:hover{background:var(--orange-h)!important}
.nav-huck{background:#2d6e4e!important;color:#fff!important;padding:6px 14px 6px 12px;border-radius:99px;font-size:.84rem;display:inline-flex!important;align-items:center;gap:7px}
.nav-huck::before{content:'';width:7px;height:7px;background:#a8e063;border-radius:50%;box-shadow:0 0 0 0 rgba(168,224,99,.55);animation:hpulse 2.2s infinite}
.nav-huck:hover{background:#245a40!important}
@keyframes hpulse{0%,100%{box-shadow:0 0 0 0 rgba(168,224,99,.55)}50%{box-shadow:0 0 0 6px rgba(168,224,99,0)}}
.hamburger{display:none;background:none;border:0;color:#fff;font-size:1.4rem;padding:6px 8px;line-height:1;touch-action:manipulation;cursor:pointer}
.mobile-nav{display:none;position:fixed;top:62px;left:0;right:0;background:#0f0e0c;z-index:998;flex-direction:column;box-shadow:0 6px 20px rgba(0,0,0,.4);max-height:calc(100svh - 62px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobile-nav.open{display:flex}
.mobile-nav a{color:rgba(255,255,255,.92);text-decoration:none;padding:16px 28px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem;transition:background .15s}
.mobile-nav a:hover{background:rgba(255,255,255,.05);color:var(--orange)}
.mobile-nav a.nav-cta{background:var(--orange);text-align:center;justify-content:center;padding:14px 28px}
.mobile-nav a.nav-huck{background:#2d6e4e!important;border-radius:12px;margin:10px 24px;padding:12px 20px;justify-content:center;border-bottom:0}
@media(max-width:880px){.nav-links{display:none}.hamburger{display:block}}

/* ── SPLIT LAYOUT ── */
.split-page{flex:1;display:flex;overflow:hidden}

/* ── LEFT PANEL ── */
.huck-panel{
  width:340px;flex-shrink:0;
  background:var(--forest-deep);
  background-image:linear-gradient(160deg,#080f0a 0%,#0f2118 45%,#1b3a2d 100%);
  display:flex;flex-direction:column;
  padding:0;overflow:hidden;position:relative;
  border-right:1px solid rgba(245,240,232,.06);
}
/* topo lines */
.huck-panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='500' viewBox='0 0 700 500'%3E%3Cg fill='none' stroke='%23f5f0e8' stroke-width='.7'%3E%3Cpath d='M0,250 Q100,210 200,250 T400,250 T600,250 T700,250'/%3E%3Cpath d='M0,280 Q120,245 240,280 T480,280 T700,280'/%3E%3Cpath d='M0,220 Q80,183 200,220 T450,220 T700,220'/%3E%3Cpath d='M0,310 Q100,273 220,310 T460,310 T700,310'/%3E%3Cpath d='M0,190 Q90,155 200,190 T430,190 T700,190'/%3E%3Cpath d='M0,340 Q110,305 230,340 T470,340 T700,340'/%3E%3Cpath d='M0,160 Q95,125 210,160 T440,160 T700,160'/%3E%3Cpath d='M0,370 Q100,335 220,370 T460,370 T700,370'/%3E%3Cpath d='M0,130 Q105,97 220,130 T460,130 T700,130'/%3E%3C/g%3E%3C/svg%3E");
  background-size:700px 500px;background-repeat:no-repeat;background-position:center bottom;
}
/* grain */
.huck-panel::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23g)'/%3E%3C/svg%3E");
  opacity:.1;mix-blend-mode:overlay;
}

.panel-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:36px 28px 28px}

.panel-eyebrow{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(245,240,232,.38);margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.panel-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#a8e063;
  flex-shrink:0;box-shadow:0 0 0 0 rgba(168,224,99,.5);animation:hpulse 2.2s infinite;
}

.panel-name{margin:0;
  font-family:Georgia,serif;font-size:2.8rem;font-weight:400;
  line-height:.96;letter-spacing:-.025em;color:#fff;
  margin-bottom:6px;
}
.panel-name em{font-style:italic;color:var(--orange)}

.panel-role{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(245,240,232,.45);margin-bottom:0;
}

.panel-photo{
  flex:1;display:flex;align-items:flex-end;justify-content:center;
  margin:24px -28px 0;overflow:hidden;
  min-height:0;
}
.panel-photo img{
  width:100%;max-height:340px;
  object-fit:cover;object-position:50% 12%;
  display:block;
  mask-image:linear-gradient(180deg,#000 60%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);
}

.panel-topics{
  margin-top:20px;
  border-top:1px solid rgba(245,240,232,.08);
  padding-top:18px;
}
.panel-topics-label{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(245,240,232,.28);margin-bottom:10px;
}
.topic-list{display:flex;flex-wrap:wrap;gap:6px}
.topic-tag{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 11px;
  border:1px solid rgba(245,240,232,.14);
  border-radius:2px;
  color:rgba(245,240,232,.55);
  background:rgba(245,240,232,.04);
}

/* ── RIGHT PANEL (CHAT) ── */
.chat-panel{flex:1;display:flex;flex-direction:column;background:var(--cream);overflow:hidden}

/* chat header */
.chat-header{
  background:var(--forest-deep);
  background-image:linear-gradient(160deg,#0a1810 0%,#0f2118 60%,#1b3a2d 100%);
  border-bottom:1px solid rgba(245,240,232,.07);
  padding:13px 20px;
  display:flex;align-items:center;gap:12px;flex-shrink:0;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
}
.chat-header-avatar{
  width:38px;height:38px;border-radius:50%;
  object-fit:cover;object-position:50% 8%;
  border:2px solid rgba(245,240,232,.2);
  flex-shrink:0;
}
.chat-header-info{flex:1}
.chat-header-name{
  font-family:Georgia,serif;font-size:.96rem;
  color:#fff;font-weight:400;letter-spacing:-.005em;
}
.chat-header-sub{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(245,240,232,.38);margin-top:1px;
}
.limit-badge{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(245,240,232,.08);
  border:1px solid rgba(245,240,232,.14);
  color:rgba(245,240,232,.55);
  padding:4px 11px;border-radius:2px;white-space:nowrap;
}

/* messages */
.chat-body{
  flex:1;overflow-y:auto;
  padding:28px 24px;
  display:flex;flex-direction:column;gap:12px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.chat-body::-webkit-scrollbar{width:4px}
.chat-body::-webkit-scrollbar-track{background:transparent}
.chat-body::-webkit-scrollbar-thumb{background:rgba(27,58,45,.18);border-radius:2px}

.msg-row{display:flex;align-items:flex-end;gap:10px}
.msg-row.user{flex-direction:row-reverse}
.msg-row > div{display:flex;justify-content:flex-start;width:100%}
.msg-row.user > div{justify-content:flex-end}

.bubble{
  max-width:78%;width:fit-content;
  padding:12px 16px;
  font-size:.88rem;line-height:1.58;
  overflow-wrap:break-word;word-break:break-word;
}
.bubble.huck{
  background:#fff;color:var(--text);
  border:1px solid rgba(27,58,45,.09);
  border-radius:3px 12px 12px 12px;
  box-shadow:0 1px 4px rgba(27,58,45,.06);
}
.bubble.user{
  background:var(--forest);color:#fff;
  border-radius:12px 3px 12px 12px;
}

.typing-row{display:flex;align-items:flex-end}
.typing-bubble{
  background:#fff;border:1px solid rgba(27,58,45,.09);
  border-radius:3px 12px 12px 12px;
  padding:14px 18px;
  box-shadow:0 1px 4px rgba(27,58,45,.06);
  display:inline-flex;gap:5px;align-items:center;
}
.tdot{width:6px;height:6px;border-radius:50%;background:rgba(27,58,45,.3);animation:tbounce 1.2s infinite}
.tdot:nth-child(2){animation-delay:.18s}
.tdot:nth-child(3){animation-delay:.36s}
@keyframes tbounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

/* suggestion chips */
.chip-row{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 4px}
.chip{
  background:#fff;
  border:1px solid rgba(27,58,45,.14);
  border-radius:3px;
  padding:8px 14px;
  font-size:.78rem;color:var(--forest);
  font-family:Georgia,serif;
  cursor:pointer;transition:border-color .15s,color .15s,background .15s;
  line-height:1.3;
}
.chip:hover{border-color:var(--orange);color:var(--orange);background:#fffdf8}

/* input area */
.chat-input-area{
  background:#fff;
  border-top:1px solid rgba(27,58,45,.1);
  padding:14px 18px;
  display:flex;gap:10px;align-items:center;flex-shrink:0;
}
.chat-input{
  flex:1;
  background:var(--cream);
  border:1px solid rgba(27,58,45,.15);
  border-radius:3px;
  padding:11px 15px;
  font-size:16px;font-family:Georgia,serif;color:var(--text);
  outline:none;resize:none;
  transition:border-color .18s;
}
.chat-input:focus{border-color:var(--forest)}
.chat-input:disabled{color:var(--muted);cursor:not-allowed;background:#f0ece4}
.chat-input::placeholder{color:rgba(107,91,69,.5)}
.chat-send{
  background:var(--orange);border:none;border-radius:3px;
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background .15s,opacity .15s;
}
.chat-send:hover{background:var(--orange-h)}
.chat-send:disabled{opacity:.4;cursor:not-allowed}
.chat-send svg{width:16px;height:16px;fill:#fff}

/* limit banner */
.limit-banner{
  background:rgba(27,58,45,.06);
  border-top:1px solid rgba(27,58,45,.1);
  padding:11px 18px;text-align:center;
  font-size:.8rem;color:var(--muted);
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  letter-spacing:.04em;
  flex-shrink:0;display:none;
}
.limit-banner a{color:var(--orange)}

/* ── MOBILE ── */
@media(max-width:900px){
  html,body{overflow:auto}
  .split-page{flex-direction:column;overflow:visible}
  .huck-panel{width:100%;flex-direction:row;min-height:auto}
  .panel-inner{flex-direction:row;align-items:center;gap:18px;padding:18px 22px}
  .panel-eyebrow{display:none}
  .panel-photo{display:none}
  .panel-topics{display:none}
  .panel-name{margin:0;font-size:1.8rem;margin-bottom:2px}
  .panel-role{font-size:.58rem}
  .chat-panel{height:calc(100svh - 64px - 90px);min-height:260px}
  .chat-body{padding:18px 16px}
  .bubble{max-width:88%}
}

/* ── Left panel footer links ── */
.panel-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(245,240,232,.07);display:flex;flex-wrap:wrap;gap:6px 14px;font-family:ui-monospace,monospace;font-size:.56rem;letter-spacing:.05em;color:rgba(245,240,232,.28)}
.panel-footer a{color:rgba(245,240,232,.32);text-decoration:none;transition:color .15s}
.panel-footer a:hover{color:rgba(245,240,232,.75)}
@media(max-width:900px){.panel-footer{display:none}}
