/* 에스원 파랑을 중심으로 청록·보라 빛이 흐르는 AI 구슬. */
#chat-fab {display:block;left:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:58px;height:58px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:0 5px 22px #00479d40;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;}
#chat-fab:hover,#chat-fab.on{background:transparent;box-shadow:0 5px 30px #32bedc75;}
#chat-fab:focus-visible{outline:3px solid #00479d;outline-offset:5px;}
.aurora-orb{transition:transform .18s ease-out;transform:perspective(160px) rotateX(calc(var(--orb-y,0) * -12deg)) rotateY(calc(var(--orb-x,0) * 12deg));position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 22%,#d7fcff 0,#68dbe8 19%,#3d77d5 50%,#243f91 78%,#121f58 100%);box-shadow:inset -4px -5px 10px #10265799,inset 2px 3px 6px #efffffbb;}
.aurora-flow{position:absolute;inset:-35%;background:conic-gradient(from 45deg,transparent 10%,#48e2ca 26%,#5087eb 40%,transparent 52%,#bf8bff 70%,#4adcf0 84%,transparent);filter:blur(7px);mix-blend-mode:screen;animation:aurora-turn 5s linear infinite;opacity:.8;}
.aurora-shine{translate:calc(var(--orb-x,0) * 5px) calc(var(--orb-y,0) * 5px);transition:translate .12s ease-out;position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 32% 20%,#fff 0,#ffffff95 8%,#fff0 30%),radial-gradient(ellipse at 68% 86%,#8efbe996 0,#fff0 35%);box-shadow:inset 0 0 0 1px #c7f7ff80;}
.aurora-label{position:relative;color:#fff;font-size:17px;font-weight:700;text-shadow:0 1px 6px #17327d;letter-spacing:1px;}
.chat-guide{position:fixed;left:88px;bottom:calc(26px + env(safe-area-inset-bottom));display:flex;align-items:center;z-index:60;background:#fff;border:1px solid #b9cce5;border-radius:12px;box-shadow:0 5px 20px #20334c1c;animation:guide-arrive .6s ease-out both;max-width:calc(100vw - 102px);}
.chat-guide[hidden]{display:none;}.chat-guide:before{content:'';position:absolute;left:-6px;top:calc(50% - 6px);width:10px;height:10px;background:#fff;border-left:1px solid #b9cce5;border-bottom:1px solid #b9cce5;transform:rotate(45deg);}
.chat-guide button{position:relative;background:transparent;border:0;cursor:pointer;color:#20334c;font:inherit;}
#chat-guide-open{padding:12px 8px 12px 14px;font-size:12px;font-weight:600;line-height:1.5;text-align:left;}
#chat-guide-open small{display:block;margin-top:3px;font-size:10px;font-weight:400;color:#586b81;}
#chat-guide-close{padding:8px 10px 8px 4px;font-size:18px;color:#586b81;}
#chat-panel{bottom:calc(90px + env(safe-area-inset-bottom));}
#chat-fab:before{content:'';position:absolute;inset:-5px;border:1px solid #53cceaa8;border-radius:50%;pointer-events:none;animation:aurora-breathe 3s ease-in-out infinite;}
#chat-fab:hover .aurora-flow,#chat-fab.on .aurora-flow{animation-duration:2.5s;opacity:1;}
#chat-fab.orb-pressed .aurora-orb{transform:scale(.9);}
#chat-fab.orb-dragging{cursor:grabbing;box-shadow:0 8px 32px #3889e099;}
#chat-fab.orb-dragging .aurora-orb{transform:scale(1.1);}
#chat-fab.orb-settle .aurora-orb{animation:orb-settle .38s ease-out;}
.chat-guide.guide-left:before{left:auto;right:-6px;transform:rotate(225deg);}
@keyframes aurora-breathe{0%,100%{transform:scale(.98);opacity:.3;}50%{transform:scale(1.1);opacity:.8;}}
@keyframes orb-settle{0%{transform:scale(1.1);}55%{transform:scale(.94);}100%{transform:scale(1);}}
@keyframes aurora-turn{to{transform:rotate(360deg);}}
@keyframes guide-arrive{0%{opacity:0;transform:translateX(-10px) scale(.96);}70%{opacity:1;transform:translateX(3px) scale(1);}100%{opacity:1;transform:translateX(0);}}
.people-panel{margin-top:14px}.people-panel h3{display:flex;align-items:center;gap:8px}.people-panel .hint{margin:0 0 12px;line-height:1.6}
.person-editor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid #d7e0eb;}
.person-editor:first-child{padding-top:0}.person-editor:last-child{border-bottom:0;padding-bottom:0}.person-photo{min-width:0}.person-photo img{display:block;width:100%;height:138px;object-fit:contain;border:1px solid #d7e0eb;border-radius:6px;background:#f7f9fc;}
.card-placeholder{height:138px;display:grid;place-items:center;border:1px dashed #aebed1;border-radius:6px;background:#f7f9fc;color:#586b81;font-size:12px;}
.person-photo-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;min-width:0}.person-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#465970}.person-fields input,.person-fields textarea{width:100%;min-width:0}.person-memo{grid-column:1/-1}.person-remove{justify-self:start;grid-column:1/-1}.report-responsibility{margin-top:16px;padding:10px 12px;background:#f3f7fc;border-left:3px solid #00479d;font-size:12px;line-height:1.7;}
.initial-password{max-width:420px;margin:12vh auto;padding:24px;color:#20334c;background:#fff;border:1px solid #d7e0eb;border-radius:12px}.initial-password h1{font-size:22px}.initial-password p{line-height:1.6}.initial-password label{display:flex;flex-direction:column;gap:6px;margin:14px 0}.initial-password input{width:100%;height:42px}.initial-password button{margin:4px 6px 0 0}#initial-password-error{color:#a52121}
@media(max-width:767px){
 #chat-fab{display:block;width:50px;height:50px;left:12px;bottom:calc(80px + env(safe-area-inset-bottom));}
 .chat-guide{left:74px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 86px);}
 #chat-guide-open{padding:9px 4px 9px 11px;font-size:11px;}#chat-guide-close{padding:8px;}
 #chat-panel{bottom:calc(144px + env(safe-area-inset-bottom));max-height:calc(100dvh - 200px);}
 .person-editor{grid-template-columns:1fr;gap:14px}.person-photo img,.card-placeholder{height:160px}.person-fields{gap:10px}.person-photo-actions .btn{min-height:36px}.people-panel>.in{padding:12px}.initial-password{margin:8vh 14px;}
}
@media(prefers-reduced-motion:reduce){.aurora-flow,.chat-guide,#chat-fab:before,#chat-fab.orb-settle .aurora-orb{animation:none!important;}.aurora-orb,.aurora-shine{transition:none;transform:none!important;translate:none;}}
@media print{#chat-fab,.chat-guide,#chat-panel{display:none!important;}}
