:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}.spotlight{position:fixed;top:0;left:0;width:100vw}}@media(max-width:768px){.layout{flex-direction:column;height:auto;overflow:visible}.sidebar{width:100%;max-width:none;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.main{width:100%;height:calc(100vh - 60px);overflow:hidden}.chat-window{height:calc(100vh - 140px)}}@media(max-width:768px){html,body{margin:0;padding:0;width:100%;height:auto;overflow-x:hidden;overflow-y:auto}.app{min-height:100vh}.layout{width:100%;max-width:none;margin:0;padding:1.5rem 1rem}.hero-card,.sidebar-header{transform:scale(1.05);transform-origin:center}.primary-button{font-size:1rem;padding-inline:2.5rem;padding-block:.9rem}.chat-area{width:100%;height:auto;max-height:none;overflow:visible}.chat-shell{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-window{flex:1;overflow-y:auto;padding:1rem 1rem .5rem;-webkit-overflow-scrolling:touch}.input-row{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.07);position:static;flex-shrink:0}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;color-scheme:dark;background-color:#050509;color:#f5f5f5}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}.app{height:100vh;width:100vw;display:flex;background:radial-gradient(circle at top left,#2a2a33,#0a0a0f);color:#f4ede2;overflow:hidden}.layout{flex:1;display:flex;width:100%;height:100%;overflow:hidden}.sidebar{width:300px;box-sizing:border-box;height:100vh;padding:1.25rem;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#2a2a33,#0a0a0f);display:flex;flex-direction:column;gap:1rem;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.app-logo{width:40px;height:40px;border-radius:.9rem;background:#050509;border:1px solid #F6E7D2;display:flex;align-items:center;justify-content:center}.sidebar-title-main{font-size:.95rem;font-weight:600}.sidebar-title-sub{font-size:.75rem;color:#aaaaca}.sidebar-tabs{display:flex;gap:.25rem;background:#0003;padding:.25rem;border-radius:.75rem}.sidebar-tab{flex:1;padding:.5rem .75rem;border:none;background:transparent;color:#b8b8d8;font-size:.85rem;font-weight:500;cursor:pointer;border-radius:.5rem;transition:all .15s ease}.sidebar-tab:hover{color:#f6e7d2}.sidebar-tab.active{background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;font-weight:600}.new-chat-button{width:100%;padding:.95rem 1rem;border-radius:.9rem;border:none;font-size:1rem;font-weight:600;cursor:pointer;text-align:center;background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;box-shadow:0 8px 20px #c4505059;transition:.2s ease}.new-chat-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #c4505080}.conversation-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem}.conversation-list::-webkit-scrollbar{width:6px}.conversation-list::-webkit-scrollbar-track{background:#1d1d1d}.conversation-list::-webkit-scrollbar-thumb{background:#c45050;border-radius:3px}.conversation-list-item{border-radius:.9rem;background:linear-gradient(135deg,#c4505033,#f6e7d21a);border:1px solid rgba(196,80,80,.25);color:#f4ede2;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.18s ease;font-size:.85rem;min-height:auto}.conversation-list-item:hover{background:linear-gradient(135deg,#c450504d,#f6e7d226)}.conversation-list-item.active{background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;font-weight:700;box-shadow:0 8px 20px #c4505066}.conversation-title{border:none;background:transparent;color:inherit;font-size:.95rem;font-weight:600;cursor:pointer;padding:0;display:flex;align-items:center;gap:.35rem;flex:1}.conversation-title-text{flex:1;white-space:normal;word-wrap:break-word;line-height:1.3}.conversation-delete{padding:.1rem .4rem;border:none;background:transparent;cursor:pointer;font-size:1rem;opacity:.75;flex-shrink:0}.bookmarks-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem}.bookmarks-empty{text-align:center;padding:2rem 1rem;color:#888}.bookmarks-empty p{margin:.5rem 0}.bookmarks-hint{font-size:.8rem;color:#666}.bookmark-item{border-radius:.75rem;background:#c450501a;border:1px solid rgba(196,80,80,.2);overflow:hidden;transition:all .2s ease}.bookmark-item.expanded{background:#c4505026;border-color:#c4505059}.bookmark-header{padding:.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;cursor:pointer}.bookmark-header:hover{background:#ffffff0d}.bookmark-question{font-size:.85rem;color:#f6e7d2;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bookmark-item.expanded .bookmark-question{-webkit-line-clamp:unset}.bookmark-delete{padding:.1rem .4rem;border:none;background:transparent;cursor:pointer;font-size:.9rem;opacity:.6;color:#f6e7d2;flex-shrink:0}.bookmark-delete:hover{opacity:1;color:#c45050}.bookmark-answer{padding:.75rem;padding-top:0;border-top:1px solid rgba(255,255,255,.1);margin-top:.5rem}.bookmark-answer-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#c45050;margin-bottom:.5rem;font-weight:600}.bookmark-answer-text{font-size:.8rem;color:#b8b8d8;line-height:1.5;white-space:pre-wrap;max-height:200px;overflow-y:auto}.bookmark-meta{font-size:.7rem;color:#666;margin-top:.75rem}.chat-area{flex:1;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.app-header{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.app-title{display:flex;align-items:center;gap:.6rem}.pill{background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;padding:.25rem .75rem;border-radius:.5rem;font-size:.8rem;font-weight:700}.app-title h1{margin:0;font-size:1.5rem}.logout-button{margin-left:auto;display:flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:.6rem;border:1px solid rgba(196,80,80,.4);background:transparent;color:#c45050;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.logout-button:hover{background:#c4505026;border-color:#c45050}.app-subtitle{margin:0;font-size:.9rem;color:#b8b8d8}.chat-shell{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-window{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem 1rem .5rem;min-height:0}.chat-window::-webkit-scrollbar{width:8px}.chat-window::-webkit-scrollbar-track{background:#1d1d1d}.chat-window::-webkit-scrollbar-thumb{background:#c45050;border-radius:4px}.message-row{display:flex;margin-bottom:1rem}.message-row.assistant{justify-content:flex-start}.message-row.user{justify-content:flex-end}.message-row.assistant .message-bubble{max-width:78%;border-radius:.9rem;padding:.75rem 1rem;background:#2a2a33d9;border:1px solid rgba(244,237,226,.15);color:#f4ede2;box-shadow:0 0 12px #c4505026}.message-row.user .message-bubble{background:linear-gradient(135deg,#c45050,#b83a3f);border:none;color:#f6e7d2;font-weight:600;box-shadow:0 0 20px #c4505066;padding:.75rem 1rem;border-radius:.9rem;max-width:78%}.message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.message-role{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.pin-button{padding:.2rem .4rem;border:none;background:transparent;cursor:pointer;opacity:.5;color:inherit;border-radius:.25rem;transition:all .15s ease;display:flex;align-items:center}.pin-button:hover{opacity:1;background:#c4505033;color:#c45050}.message-row.assistant .message-bubble:hover .pin-button{opacity:.7}.message-text{font-size:.9rem;white-space:pre-wrap;word-wrap:break-word}.message-text h1,.message-text h2,.message-text h3{margin:.75rem 0 .5rem;font-weight:600;color:#f6e7d2}.message-text h1{font-size:1.25rem}.message-text h2{font-size:1.1rem}.message-text h3{font-size:1rem}.message-text p{margin:.5rem 0}.message-text ul,.message-text ol{margin:.5rem 0;padding-left:1.5rem}.message-text li{margin:.25rem 0}.message-text code{background:#0000004d;padding:.15rem .4rem;border-radius:.25rem;font-family:SF Mono,Monaco,monospace;font-size:.85em;color:#f6e7d2}.message-text pre{background:#0006;padding:.75rem 1rem;border-radius:.5rem;overflow-x:auto;margin:.75rem 0;border:1px solid rgba(255,255,255,.1)}.message-text pre code{background:none;padding:0}.message-text strong{font-weight:600;color:#f6e7d2}.message-text a{color:#c45050;text-decoration:underline}.message-text blockquote{border-left:3px solid #C45050;margin:.75rem 0;padding-left:1rem;color:#b8b8d8}.typing .message-text{opacity:.8}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 0}.typing-indicator .dot{width:8px;height:8px;background:#c45050;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-indicator .dot:nth-child(1){animation-delay:-.32s}.typing-indicator .dot:nth-child(2){animation-delay:-.16s}.typing-indicator .dot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.error-banner{padding:.5rem .75rem;border-radius:.6rem;background:#3b0f1a;border:1px solid #ff5c7a;font-size:.8rem;color:#ffd8e1;margin:0 1rem .5rem;flex-shrink:0}.phi-scrub-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.6rem;background:linear-gradient(135deg,#228b2226,#2e7d321a);border:1px solid rgba(76,175,80,.4);font-size:.8rem;color:#a5d6a7;margin:0 1rem .5rem;flex-shrink:0;animation:slideInFade .3s ease-out}.phi-scrub-banner svg{color:#4caf50;flex-shrink:0}.phi-scrub-banner strong{color:#81c784}@keyframes slideInFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.input-row{display:flex;align-items:flex-end;gap:.5rem;padding:1rem;border-top:1px solid rgba(255,255,255,.07);background:transparent;flex-shrink:0}.input-box{flex:1;resize:vertical;min-height:52px;max-height:120px;border-radius:.75rem;border:1px solid #343452;background:#05050fe6;color:#f5f5ff;padding:.6rem .75rem;font-size:.9rem}.input-box:focus{outline:none;border-color:#c45050;box-shadow:0 0 0 1px #c4505066}.send-button{border-radius:.9rem;border:none;padding:.55rem 1.1rem;background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px #c4505059;transition:.18s ease}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #c4505080}.send-button:disabled{opacity:.65;cursor:default;transform:none}.clear-button{border-radius:.9rem;border:1px solid rgba(255,255,255,.2);padding:.55rem 1.1rem;background:transparent;color:#f4ede2;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;transition:.18s ease}.clear-button:hover:not(:disabled){background:#ffffff1a}.clear-button:disabled{opacity:.5;cursor:default}.export-button{border-radius:.9rem;border:1px solid rgba(196,80,80,.4);padding:.55rem 1.1rem;background:transparent;color:#c45050;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;transition:.18s ease}.export-button:hover:not(:disabled){background:#c4505026;border-color:#c45050}.export-button:disabled{opacity:.5;cursor:default}.empty-state{margin:auto;text-align:center;display:flex;flex-direction:column;gap:.75rem}.puzzle-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.puzzle-piece{position:absolute;opacity:.06;animation:float-puzzle 25s ease-in-out infinite}.puzzle-piece svg{width:100%;height:100%}.puzzle-1{top:15%;left:2%;width:40px;animation-delay:0s}.puzzle-2{top:35%;right:3%;width:35px;animation-delay:-4s;transform:rotate(45deg)}.puzzle-3{top:65%;left:1%;width:30px;animation-delay:-8s;transform:rotate(-30deg)}.puzzle-4{top:80%;right:2%;width:45px;animation-delay:-12s;transform:rotate(90deg)}.puzzle-5{top:50%;right:1%;width:25px;animation-delay:-6s;transform:rotate(180deg)}.puzzle-6{top:5%;right:5%;width:20px;animation-delay:-10s;transform:rotate(-60deg)}@keyframes float-puzzle{0%,to{transform:translateY(0) rotate(0);opacity:.04}25%{transform:translateY(-12px) rotate(3deg);opacity:.08}50%{transform:translateY(-6px) rotate(-2deg);opacity:.06}75%{transform:translateY(-18px) rotate(2deg);opacity:.1}}@media(max-width:900px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);flex-direction:row;padding:.75rem;gap:.5rem;overflow-x:auto;overflow-y:hidden}.sidebar-header{flex-shrink:0;white-space:nowrap}.new-chat-button{flex-shrink:0;min-width:140px}.conversation-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;height:auto}.conversation-list-item{min-width:160px;flex-shrink:0}.chat-area{height:calc(100vh - 80px);width:100%}.app-header{padding:.75rem}.app-title h1{font-size:1.2rem}.app-subtitle{font-size:.8rem}.message-row.assistant .message-bubble,.message-row.user .message-bubble{max-width:90%}.input-box{min-height:44px;font-size:16px}.input-row{padding:.75rem}}.document-panel{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden}.document-upload-area{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px dashed rgba(196,80,80,.3);border-radius:.75rem;background:#0003;transition:all .2s ease}.document-upload-area:hover{border-color:#c4505080;background:#c450500d}.upload-button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;font-weight:600;font-size:.85rem;border-radius:.6rem;cursor:pointer;transition:all .2s ease}.upload-button:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c4505066}.upload-button.disabled{opacity:.6;cursor:not-allowed}.upload-hint{font-size:.75rem;color:#888}.upload-progress{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#c450501a;border:1px solid rgba(196,80,80,.3);border-radius:.5rem;font-size:.8rem;color:#c45050}.upload-progress .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.document-error{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#b4282826;border:1px solid rgba(255,80,80,.4);border-radius:.5rem;font-size:.8rem;color:#f88}.document-error button{background:transparent;border:none;color:#f88;cursor:pointer;font-size:.75rem;text-decoration:underline}.document-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.document-list::-webkit-scrollbar{width:6px}.document-list::-webkit-scrollbar-track{background:transparent}.document-list::-webkit-scrollbar-thumb{background:#c450504d;border-radius:3px}.documents-loading,.documents-empty{text-align:center;padding:1.5rem 1rem;color:#888;font-size:.85rem}.documents-empty p:first-child{margin-bottom:.5rem}.documents-hint{font-size:.75rem;color:#666;line-height:1.4}.document-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#2a2a3399;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;transition:all .15s ease}.document-item:hover{background:#2a2a33cc;border-color:#c450504d}.document-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#c4505026;border-radius:.4rem;font-size:.65rem;font-weight:700;color:#c45050;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{font-size:.8rem;font-weight:500;color:#f4ede2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{font-size:.7rem;color:#888;margin-top:.15rem}.document-delete{padding:.35rem;background:transparent;border:none;color:#666;cursor:pointer;border-radius:.3rem;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.document-delete:hover{background:#ff505026;color:#f66}.upload-buttons-row{display:flex;gap:.5rem}.url-button{background:transparent;border:1px solid rgba(196,80,80,.5);color:#c45050}.url-button:hover:not(.disabled){background:#c4505026;border-color:#c45050}.url-input-form{display:flex;gap:.5rem}.url-input{flex:1;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;background:#0000004d;color:#f4ede2;font-size:.8rem}.url-input:focus{outline:none;border-color:#c45050}.url-input::placeholder{color:#666}.url-submit-button{padding:.5rem .75rem;background:linear-gradient(135deg,#c45050,#b83a3f);color:#f6e7d2;font-weight:600;font-size:.8rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.url-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c4505066}.url-submit-button:disabled{opacity:.5;cursor:not-allowed}.doc-subtabs{display:flex;gap:.25rem;background:#0003;padding:.25rem;border-radius:.5rem;margin-bottom:.75rem}.doc-subtab{flex:1;padding:.4rem .5rem;border:none;background:transparent;color:#888;font-size:.75rem;font-weight:500;cursor:pointer;border-radius:.35rem;transition:all .15s ease}.doc-subtab.active{background:#c4505033;color:#c45050}.doc-subtab:hover:not(.active){color:#aaa}.category-selector,.category-filter{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.category-selector label,.category-filter label{font-size:.75rem;color:#888}.category-selector select,.category-filter select{flex:1;padding:.4rem .5rem;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;color:#f4ede2;font-size:.8rem;cursor:pointer}.category-selector select:focus,.category-filter select:focus{outline:none;border-color:#c45050}.add-category-form{display:flex;gap:.35rem;margin-bottom:.75rem}.add-category-form input{flex:1;padding:.4rem .5rem;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;color:#f4ede2;font-size:.8rem}.add-category-form input:focus{outline:none;border-color:#c45050}.add-category-form button{padding:.4rem .6rem;border:none;border-radius:.4rem;font-size:.75rem;cursor:pointer;transition:all .15s ease}.add-category-form button[type=submit]{background:#c45050;color:#f6e7d2}.add-category-form button[type=button]{background:#ffffff1a;color:#888}.doc-category-tag{display:inline-block;padding:.1rem .4rem;background:#c4505026;color:#c45050;font-size:.65rem;border-radius:.25rem;margin-right:.4rem}.era-converter{display:flex;flex-direction:column;gap:1rem}.era-info{text-align:center;padding:.5rem}.era-info h3{font-size:.95rem;color:#f4ede2;margin-bottom:.35rem}.era-info p{font-size:.75rem;color:#888;line-height:1.4}.era-upload-button{width:100%;justify-content:center;padding:1rem;gap:.75rem}.era-csv-info{background:#0003;border-radius:.5rem;padding:.75rem}.era-csv-info h4{font-size:.8rem;color:#f4ede2;margin-bottom:.5rem}.era-csv-info ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.era-csv-info li{font-size:.7rem;color:#888;padding:.15rem 0}.era-csv-info li:before{content:"•";color:#c45050;margin-right:.35rem}html,body,#root{height:100%!important;width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}.app,.layout,.chat-area,.chat-shell{overflow:hidden!important;min-height:0!important;min-width:0!important}.chat-window{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important}*{box-sizing:border-box;min-width:0}.message-text,.conversation-title-text,.input-box{word-break:break-word;overflow-wrap:anywhere}@media(max-width:100000px){html,body{overflow:hidden!important;height:100%!important}}.login-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#2a2a33,#0a0a0f);padding:1rem}.login-card{background:#1a1a1fcc;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;padding:2.5rem;max-width:400px;width:100%;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 40px #c450501a}.login-logo{margin-bottom:1.5rem}.login-title{color:#f6e7d2;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.login-subtitle{color:#b8b8d8;font-size:.9rem;margin:0 0 2rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-input{width:100%;padding:.875rem 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.15);background:#05050fe6;color:#f5f5ff;font-size:1rem;text-align:center;letter-spacing:.1em}.login-input:focus{outline:none;border-color:#c45050;box-shadow:0 0 0 2px #c450504d}.login-input::placeholder{letter-spacing:normal;color:#666}.login-error{color:#ff5c7a;font-size:.85rem;padding:.5rem;background:#ff5c7a1a;border-radius:.5rem}.login-button{width:100%;padding:.875rem 1rem;border-radius:.75rem;border:none;background:linear-gradient(135deg,#c45050,#d46a6a);color:#f6e7d2;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 20px #c4505059}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #c4505080}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-hint{color:#666;font-size:.8rem;margin-top:1.5rem}.login-gate .puzzle-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.login-gate .puzzle-piece{position:absolute;opacity:.08;animation:float-puzzle-login 20s ease-in-out infinite}.login-gate .puzzle-piece svg{width:100%;height:100%}.login-gate .puzzle-1{top:10%;left:5%;width:50px;animation-delay:0s}.login-gate .puzzle-2{top:20%;right:8%;width:40px;animation-delay:-3s;transform:rotate(45deg)}.login-gate .puzzle-3{top:60%;left:3%;width:45px;animation-delay:-7s;transform:rotate(-20deg)}.login-gate .puzzle-4{top:75%;right:5%;width:55px;animation-delay:-10s;transform:rotate(90deg)}.login-gate .puzzle-5{top:40%;right:3%;width:35px;animation-delay:-5s;transform:rotate(180deg)}.login-gate .puzzle-6{top:85%;left:10%;width:30px;animation-delay:-12s;transform:rotate(-45deg)}@keyframes float-puzzle-login{0%,to{transform:translateY(0) rotate(0);opacity:.06}25%{transform:translateY(-15px) rotate(5deg);opacity:.1}50%{transform:translateY(-8px) rotate(-3deg);opacity:.08}75%{transform:translateY(-20px) rotate(3deg);opacity:.12}}.login-card{position:relative;z-index:1}
