/* Framvia Juridik premium concept – isolated from legacy prototype. */
:root{
 --fj-gold:#c5a56a;--fj-gold-strong:#e5c891;--fj-gold-dim:#806c48;
 --fj-black:#090b0b;--fj-panel:#111414;--fj-panel-2:#171918;
 --fj-ivory:#f5f1e8;--fj-soft:#a6a399;--fj-border:rgba(202,175,124,.18)
}
body.fj-premium-active{background:var(--fj-black);color:var(--fj-ivory);overflow-x:hidden}
body.fj-premium-active .app-shell{display:none}
#fj-premium-root{min-height:100dvh;background:var(--fj-black);color:var(--fj-ivory);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#fj-premium-root *{box-sizing:border-box}
#fj-premium-root button,#fj-premium-root textarea{font:inherit}
#fj-premium-root button{cursor:pointer}
#fj-premium-root :focus-visible{outline:2px solid var(--fj-gold-strong);outline-offset:4px}
.fj-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}
.fj-gold{color:var(--fj-gold)}
.fj-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.fj-brand{display:flex;align-items:center;gap:12px;color:var(--fj-ivory);text-decoration:none}
.fj-brand-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(228,198,139,.48);border-radius:5px;color:var(--fj-gold-strong);font-family:Georgia,serif;font-size:22px;font-weight:400}
.fj-brand-text{display:flex;flex-direction:column;gap:1px}
.fj-brand-text strong{font-size:15px;letter-spacing:.145em;text-transform:uppercase;font-weight:650}
.fj-brand-text small{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--fj-gold)}
.fj-entrance{min-height:100dvh;position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;background:#090a0b}
.fj-entrance::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,rgba(222,193,137,.11),transparent 38%),linear-gradient(90deg,#080a0c 0%,#17191b 21%,#252525 50%,#17191b 79%,#080a0c 100%);z-index:-3}
.fj-entrance::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(ellipse at 50% 50%,transparent 22%,rgba(0,0,0,.48) 100%);opacity:.9}
.fj-entrance-top{z-index:8;display:flex;justify-content:space-between;align-items:center;padding:clamp(21px,3vw,44px) clamp(24px,5.5vw,96px)}
.fj-entrance-meta{font-size:10px;letter-spacing:.26em;color:rgba(237,224,195,.62);text-transform:uppercase}
.fj-entrance-stage{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:0 20px 4px;min-height:420px;perspective:1100px}
.fj-building{width:min(100%,1080px);height:min(59vh,550px);min-height:345px;position:relative;filter:drop-shadow(0 35px 60px rgba(0,0,0,.8));transform:translateY(12px)}
.fj-building::before{content:"";position:absolute;inset:-9% -11% -5%;background:repeating-linear-gradient(0deg,transparent 0 43px,rgba(220,210,184,.045) 44px 45px),linear-gradient(90deg,#111416,#42433f 14%,#242725 29%,#353631 51%,#242725 73%,#42433f 87%,#111416);border:1px solid rgba(221,207,163,.13);box-shadow:inset 0 0 65px rgba(0,0,0,.4)}
.fj-pediment{position:absolute;left:4%;right:4%;top:-13%;height:23%;z-index:5;background:linear-gradient(180deg,#59574c,#343630 40%,#1c1f1e 90%);clip-path:polygon(0 65%,50% 0,100% 65%,100% 100%,0 100%);border-bottom:3px solid #766d53}
.fj-pediment::after{content:"";position:absolute;left:4%;right:4%;bottom:7px;height:2px;background:linear-gradient(90deg,transparent,#b39b6d,transparent)}
.fj-architrave{position:absolute;left:0;right:0;top:7%;height:11%;z-index:5;background:linear-gradient(180deg,#646052 0%,#45433d 16%,#282b29 60%,#191d1c 100%);box-shadow:0 6px 9px #060708,0 1px 0 #958361 inset;display:grid;place-items:center;color:#c7b58e;font-family:Georgia,serif;font-size:clamp(10px,1.45vw,16px);letter-spacing:.4em;text-shadow:0 1px 2px #000}
.fj-column{position:absolute;top:14%;bottom:-4%;width:9%;z-index:4;background:linear-gradient(90deg,#121514,#51534d 17%,#8c8978 29%,#514f44 48%,#31332e 75%,#101413 100%);box-shadow:inset 7px 0 8px rgba(0,0,0,.3),7px 0 16px rgba(0,0,0,.6);border-left:2px solid rgba(211,188,137,.2);border-right:3px solid rgba(9,10,10,.6)}
.fj-column::before,.fj-column::after{content:"";position:absolute;left:-12%;right:-12%;height:7%;background:linear-gradient(180deg,#b0a890,#5b5c52 40%,#1b1d1c 100%);box-shadow:0 4px 8px #101213}
.fj-column::before{top:0}.fj-column::after{bottom:0;transform:rotate(180deg)}
.fj-col-a{left:5%}.fj-col-b{left:21%}.fj-col-c{right:21%}.fj-col-d{right:5%}
.fj-door-frame{position:absolute;z-index:3;left:35%;right:35%;top:22%;bottom:-1%;padding:clamp(6px,1vw,12px);background:linear-gradient(90deg,#a28b62,#252322 12%,#0d0f0e 50%,#252322 88%,#a28b62);border:2px solid #766848;box-shadow:0 2px 28px rgba(0,0,0,.85),0 0 0 11px rgba(13,14,14,.5)}
.fj-door-inner{position:relative;width:100%;height:100%;background:radial-gradient(ellipse at 50% 95%,#b19756 0%,#211d17 35%,#050606 80%);display:flex;overflow:hidden;perspective:1300px}
.fj-door{width:50%;height:100%;position:relative;background:linear-gradient(90deg,#15120f,#4d3a25 47%,#1f1913);border:1px solid #998056;box-shadow:inset 0 0 0 4px rgba(8,9,8,.9),inset 0 0 0 7px rgba(177,139,75,.34);transform-style:preserve-3d;transition:transform 2.7s cubic-bezier(.17,.78,.22,1);z-index:3}
.fj-door::before{content:"";position:absolute;inset:12% 15%;border:2px solid rgba(208,169,100,.54);box-shadow:inset 0 0 0 4px rgba(10,9,7,.5),0 0 0 4px rgba(9,8,6,.4)}
.fj-door::after{content:"";position:absolute;inset:43% 15% 13%;border:2px solid rgba(188,158,100,.24)}
.fj-door-left{transform-origin:left center;border-right:2px solid #d8ba79}
.fj-door-right{transform-origin:right center;border-left:2px solid #d8ba79;background:linear-gradient(90deg,#292015 0%,#53402a 54%,#15120f)}
.fj-door-left .fj-handle,.fj-door-right .fj-handle{position:absolute;top:50%;width:7px;height:38px;background:linear-gradient(90deg,#8a6730,#f4d596,#8a6730);border-radius:6px;box-shadow:0 0 9px rgba(0,0,0,.9)}
.fj-door-left .fj-handle{right:8%}.fj-door-right .fj-handle{left:8%}
.fj-entrance.fj-open .fj-door-left{transform:rotateY(-107deg)}
.fj-entrance.fj-open .fj-door-right{transform:rotateY(107deg)}
.fj-floor{z-index:1;position:absolute;bottom:0;left:-15%;width:130%;height:19%;background:repeating-linear-gradient(90deg,transparent 0 110px,rgba(196,180,143,.08) 112px 114px),linear-gradient(180deg,#31322e,#131718 55%,#080b0d);transform:perspective(270px) rotateX(52deg);transform-origin:bottom center;border-top:2px solid rgba(173,164,137,.4)}
.fj-stage-label{position:absolute;z-index:6;top:10%;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;color:var(--fj-gold-strong);letter-spacing:.39em;font-size:9px;text-transform:uppercase}
.fj-entrance-content{z-index:7;text-align:center;padding:12px 24px clamp(28px,5vh,65px);width:min(680px,100%);margin:auto}
.fj-kicker{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--fj-gold);margin:0 0 12px}
.fj-entrance-content h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(37px,5.2vw,70px);line-height:1.08;font-weight:400;letter-spacing:-.035em;color:#f8f5ee;margin:0}
.fj-entrance-content h1 em{font-style:normal;color:var(--fj-gold-strong)}
.fj-entrance-content p{font-size:13px;letter-spacing:.025em;color:#a9a69f;margin:14px 0 21px}
.fj-auth-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.fj-entrance.fj-ready .fj-auth-actions{opacity:1;transform:none}
.fj-gbutton,.fj-textbutton{min-height:48px;border-radius:6px;padding:11px 19px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;gap:12px}
.fj-gbutton{border:1px solid #bda16b;background:linear-gradient(180deg,#e4cc98,#bba16b);color:#191b18;box-shadow:0 7px 25px rgba(161,121,56,.16)}
.fj-gbutton:disabled{opacity:.56;cursor:not-allowed}
.fj-textbutton{border:1px solid rgba(208,183,131,.35);background:rgba(11,12,12,.8);color:#f6ead3}
.fj-textbutton:hover{background:rgba(181,153,98,.11)}
.fj-auth-note{font-size:11px!important;color:#b2aea4!important;margin-top:12px!important}
.fj-skip-intro{position:absolute;z-index:9;right:clamp(24px,5.5vw,96px);bottom:28px;border:0;background:transparent;color:#bba879;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.fj-stage-caption{position:absolute;bottom:19px;left:clamp(24px,5.5vw,96px);font-size:10px;letter-spacing:.16em;color:#777870;z-index:8;text-transform:uppercase}
.fj-chat{min-height:100dvh;display:flex;background:#0c0e0e;color:#eeeae1}
.fj-chat[hidden],.fj-entrance[hidden],#fj-premium-root[hidden]{display:none!important}
.fj-rail{width:282px;background:#101312;border-right:1px solid var(--fj-border);display:flex;flex-direction:column;height:100dvh;position:sticky;top:0;flex:none;z-index:12}
.fj-rail-top{padding:29px 20px 23px;border-bottom:1px solid var(--fj-border)}
.fj-rail-top .fj-brand{margin-bottom:26px}
.fj-new-chat{width:100%;display:flex;gap:13px;align-items:center;justify-content:center;height:44px;border-radius:7px;border:1px solid #86724c;background:linear-gradient(180deg,#312a1e,#231f18);color:#f2dfb8;font-size:13px;font-weight:600}
.fj-new-chat:hover{background:#383025}
.fj-chat-list-wrap{flex:1;min-height:0;padding:25px 12px;overflow:auto}
.fj-list-label{font-size:10px;letter-spacing:.19em;color:#817d70;text-transform:uppercase;padding:0 11px 13px;font-weight:700}
.fj-chat-list{display:flex;flex-direction:column;gap:4px}
.fj-chat-history-item{display:flex;align-items:center;gap:7px;width:100%;border:0;border-radius:7px;padding:11px 12px;text-align:left;background:transparent;color:#bfbcb2;font-size:12px;overflow:hidden}
.fj-chat-history-item:hover,.fj-chat-history-item[aria-current="true"]{background:#23251f;color:#f2e2bf}
.fj-chat-history-item span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fj-empty-history{color:#777c76;font-size:12px;padding:9px 11px;line-height:1.7}
.fj-rail-footer{border-top:1px solid var(--fj-border);padding:16px 18px 21px}
.fj-rail-footer button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 8px;border:0;background:none;color:#b7ab8d;font-size:12px;text-align:left}
.fj-rail-caption{font-size:10px;color:#817f76;line-height:1.5;margin:8px}
.fj-workspace{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh}
.fj-chat-header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(232,211,167,.09);padding:0 clamp(22px,3.5vw,54px);gap:14px}
.fj-header-title{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:630;letter-spacing:.025em}
.fj-header-title .fj-small-gold{font-family:Georgia,serif;font-size:22px;color:var(--fj-gold)}
.fj-label-preview{font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(206,170,111,.27);padding:7px 10px;border-radius:30px;color:#c2aa7d}
.fj-thread{width:min(900px,100%);flex:1;margin:0 auto;padding:clamp(28px,4vw,62px) clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:20px}
.fj-empty-thread{margin:auto 0;text-align:center;display:grid;justify-items:center;gap:10px}
.fj-orb{font-family:Georgia,serif;font-size:40px;color:var(--fj-gold);width:69px;height:69px;border:1px solid var(--fj-border);background:radial-gradient(circle at 45% 25%,#323027,#121514 72%);border-radius:50%;display:grid;place-items:center;margin-bottom:20px}
.fj-empty-thread h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.04em;font-size:clamp(34px,4.1vw,58px);line-height:1.12;margin:0;color:#f4ead8}
.fj-empty-thread h2 span{color:var(--fj-gold)}
.fj-empty-thread p{font-size:13px;color:#928f87;margin:4px 0 18px}
.fj-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:670px}
.fj-suggestion{border:1px solid rgba(222,195,142,.22);padding:11px 14px;border-radius:6px;background:#171a19;color:#c3bba8;font-size:12px;text-align:left}
.fj-suggestion:hover{border-color:rgba(227,196,135,.5);background:#24241e}
.fj-messages{width:100%;display:flex;flex-direction:column;gap:23px}
.fj-msg{width:min(720px,100%);display:flex;flex-direction:column;gap:7px}
.fj-msg.fj-user{align-self:flex-end;max-width:75%}
.fj-msg-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#94876f}
.fj-msg-content{padding:15px 18px;border:1px solid var(--fj-border);border-radius:10px;color:#e9e3d7;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;background:#151917}
.fj-user .fj-msg-content{background:#26241e;border-color:rgba(208,178,119,.28)}
.fj-msg.fj-system .fj-msg-content{background:transparent;border-left:2px solid var(--fj-gold);border-right:0;border-top:0;border-bottom:0;border-radius:0;color:#a7a399;padding:8px 16px}
.fj-composer-wrap{width:min(900px,100%);padding:0 clamp(20px,4vw,40px) 25px;margin:0 auto}
.fj-composer{border:1px solid rgba(215,179,112,.31);background:linear-gradient(155deg,#191b19,#111412);border-radius:13px;box-shadow:0 14px 45px rgba(0,0,0,.22);padding:15px 16px}
.fj-composer textarea{display:block;width:100%;resize:vertical;min-height:68px;max-height:175px;border:0;outline:0;background:transparent;color:#eee8dc;font-size:14px;line-height:1.55;padding:3px 1px}
.fj-composer textarea::placeholder{color:#777c76}
.fj-composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:8px}
.fj-composer-mode{color:#b8a67f;font-size:11px;display:flex;align-items:center;gap:9px}
.fj-send{width:39px;height:39px;border-radius:8px;border:0;display:grid;place-items:center;background:var(--fj-gold);color:#1d1a14}
.fj-send:hover{background:var(--fj-gold-strong)}
.fj-composer-hint{text-align:center;font-size:10px;letter-spacing:.01em;color:#777970;margin-top:12px}
.fj-mobile-menu{display:none;background:transparent;border:1px solid var(--fj-border);border-radius:6px;color:var(--fj-gold);width:38px;height:38px}
.fj-mobile-dimmer{display:none}
.fj-legacy-return{position:fixed;bottom:17px;right:19px;z-index:90;border:1px solid #bda16b;background:#141615;color:#e8cd9b;border-radius:8px;padding:13px 17px;font-weight:600;font-size:13px;box-shadow:0 8px 22px rgba(0,0,0,.3)}
body.fj-premium-active .fj-legacy-return{display:none}
@media(max-width:800px){
 .fj-rail{position:fixed;inset:0 auto 0 0;transform:translateX(-105%);transition:transform .22s ease;width:min(290px,82vw)}
 .fj-rail.fj-rail-open{transform:translateX(0)}
 .fj-mobile-dimmer.fj-open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:11}
 .fj-mobile-menu{display:grid;place-items:center}
 .fj-chat-header{height:65px;padding:0 18px}
 .fj-stage-label{top:16%}
 .fj-building{width:110%;max-width:none;height:42vh;min-height:295px}
 .fj-door-frame{left:31%;right:31%}
 .fj-entrance-top{padding:22px}
 .fj-entrance-meta{font-size:9px}
 .fj-chat-list-wrap{padding-top:15px}
}
@media(max-width:540px){
 .fj-entrance-stage{min-height:310px;padding:0}
 .fj-building{height:33vh;min-height:250px;width:118%}
 .fj-column{width:10%}
 .fj-col-b{left:19%}.fj-col-c{right:19%}
 .fj-entrance-content{padding-bottom:67px}
 .fj-entrance-content h1{font-size:38px}
 .fj-entrance-content p{font-size:12px}
 .fj-entrance-meta{display:none}
 .fj-auth-actions{gap:9px}
 .fj-gbutton,.fj-textbutton{min-height:44px;padding:9px 13px;font-size:12px}
 .fj-skip-intro{bottom:14px;right:20px}
 .fj-stage-caption{bottom:14px;left:20px;font-size:8px}
 .fj-label-preview{font-size:9px;letter-spacing:0}
 .fj-header-title{gap:8px}
 .fj-thread{padding:27px 18px}
 .fj-empty-thread h2{font-size:38px}
 .fj-msg.fj-user{max-width:95%}
 .fj-composer-wrap{padding:0 12px 16px}
 .fj-composer{padding:12px}
 .fj-composer-hint{line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
 .fj-door,.fj-auth-actions,.fj-rail{transition:none!important;animation:none!important}
 .fj-entrance-stage *{animation:none!important}
}

/* Final refined gold UI controls */
#fj-chat-search{height:41px;width:calc(100% - 22px);margin:0 11px 10px;padding:0 11px;border:1px solid rgba(210,184,131,.19);border-radius:7px;outline:0;background:#191c1b;color:#eee3cf;font-size:12px}
#fj-chat-search::placeholder{color:#85867d}
#fj-chat-search:focus{border-color:var(--fj-gold)}
.fj-clear-chat{background:none;border:1px solid rgba(199,162,101,.28);border-radius:6px;color:#ae9770;font-size:11px;padding:8px 10px}
.fj-clear-chat[hidden]{display:none}
.fj-compose-status:empty{display:none}
.fj-compose-status{margin:8px 1px 0;color:#e1bd80;font-size:12px}
.fj-skip-intro[hidden]{display:none}

/* Never let long session titles force a horizontal scrollbar on narrow phones. */
#fj-premium-root{max-width:100vw;overflow-x:clip}
.fj-chat-header{min-width:0}
.fj-header-title{min-width:0;flex:1}
#fj-current-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.fj-chat-header>div:last-child{flex-shrink:0}
@media(max-width:540px){
 .fj-chat-header .fj-label-preview{display:none}
 .fj-chat-header{gap:9px}
 .fj-chat-header .fj-clear-chat{white-space:nowrap;font-size:10px;padding:7px}
 .fj-header-title{gap:6px;font-size:12px}
}
