body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Georgia,serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;max-width:100vw;overflow-x:hidden}code{font-family:Courier New,monospace,source-code-pro,Menlo,Monaco,Consolas,monospace}.personality-dial{flex-direction:column;gap:8px;-webkit-user-select:none;user-select:none}.dial-label,.personality-dial{align-items:center;display:flex}.dial-label{color:#d4a574;font-family:Courier New,monospace;font-size:.85rem;font-weight:700;justify-content:center;letter-spacing:1px;min-height:2.5em;text-align:center;text-transform:uppercase}.dial-container{cursor:pointer;height:120px;position:relative;touch-action:none;width:120px}.dial-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));height:100%;width:100%}.dial-container:hover .dial-svg{filter:drop-shadow(0 6px 8px rgba(0,0,0,.4))}.dial-value{background:#2a1810;border:2px solid #d4a574;border-radius:4px;color:#ff6b35;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;min-width:50px;padding:4px 12px;text-align:center}@media (max-width:767px){.personality-dial{gap:4px}.dial-label{font-size:.6rem;letter-spacing:.3px;min-height:2em}.dial-container{height:80px;width:80px}.dial-value{border-width:1px;font-size:.75rem;min-width:35px;padding:2px 6px}}.personality-sliders{overflow-x:hidden;width:100%}.mixing-board{box-sizing:border-box;display:flex;gap:clamp(8px,1.5vw,32px);justify-content:center;max-width:100%;padding:16px;width:100%}.trait-group{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;max-width:20%;min-width:0}.main-trait-header{border-bottom:3px solid #d4a574;color:#d4a574;font-family:Courier New,monospace;font-size:clamp(.7rem,1vw,1.1rem);font-weight:700;letter-spacing:1px;overflow:hidden;padding-bottom:8px;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;width:100%}.subtraits-container{display:flex;gap:clamp(8px,1vw,24px);justify-content:center;width:100%}.slider-wrapper{flex:1 1;flex-direction:column;min-width:0}.slider-channel,.slider-wrapper{align-items:center;display:flex;gap:12px}.slider-channel{background:linear-gradient(135deg,#2a1810,#3d2817);border:2px solid #8b6f47;border-radius:8px;box-shadow:0 4px 8px #0000004d;box-sizing:border-box;flex-direction:column;padding:clamp(8px,1vw,16px);width:100%}.slider-value-display{background:#1a0f08;border:2px solid #d4a574;border-radius:4px;box-shadow:inset 0 2px 4px #0000004d;box-sizing:border-box;color:#ff6b35;font-family:Courier New,monospace;font-size:clamp(1rem,1.2vw,1.3rem);font-weight:700;max-width:70px;padding:6px 12px;text-align:center;width:100%}.slider-track-container{align-items:center;display:flex;gap:12px;height:300px;margin:8px 0;position:relative}.custom-slider-track{background:#070403;border:2px solid #070403;border-radius:4px;cursor:pointer;height:300px;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;width:8px}.custom-slider-fill{background:linear-gradient(0deg,#c50 0,#ff8c42);border-radius:2px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;transition:height .1s ease}.custom-slider-thumb{background-color:#a84525;background-image:repeating-linear-gradient(180deg,#140c08b3 0,#140c08b3 2px,#8b6f4799 0,#8b6f4799 3px);border:3px solid #8b6f47;border-radius:2px;box-shadow:0 4px 8px #00000080,inset 1px 1px 2px #3d281726,inset -1px -1px 2px #00000080;cursor:grab;height:48px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);transition:box-shadow .1s ease;width:32px}.custom-slider-thumb.dragging{background-color:#8b3820;box-shadow:0 2px 4px #0009,inset 1px 1px 1px #000000b3,inset -1px -1px 1px #3d28171a;cursor:grabbing}.custom-slider-track:hover .custom-slider-thumb:not(.dragging){background-color:#c55530;box-shadow:0 6px 12px #0009,inset 1px 1px 3px #3d281740,inset -1px -1px 3px #00000080}.slider-markers{color:#8b6f47;display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:clamp(.6rem,.7vw,.7rem);height:300px;justify-content:space-between}.marker{line-height:1}.slider-label{color:#d4a574;font-family:Courier New,monospace;font-size:clamp(.5rem,.9vw,.85rem);font-weight:700;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.5px;line-height:1.2;overflow:hidden;padding-top:4px;text-align:center;text-overflow:ellipsis;text-transform:uppercase;width:100%;word-break:break-word}@media (max-width:1200px){.trait-group{max-width:19%}.main-trait-header{letter-spacing:.5px}}@media (max-width:768px){.personality-sliders{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden;width:100%}.mixing-board{box-sizing:border-box;flex-direction:row;gap:2px;justify-content:space-evenly;max-width:100%;min-width:100%;padding:4px 2px;width:100%}.trait-group{flex:1 1;gap:3px;max-width:none;min-width:0;width:auto}.main-trait-header{border-bottom-width:1px;font-size:.45rem;letter-spacing:.2px;overflow:hidden;padding-bottom:2px;text-overflow:clip;white-space:nowrap}.subtraits-container{gap:1px;width:100%}.slider-wrapper{flex:1 1;gap:2px}.slider-channel{border-width:1px;min-width:0;padding:2px 1px}.slider-value-display{border-width:1px;font-size:.5rem;max-width:24px;min-width:20px;padding:1px 2px}.slider-track-container{gap:2px;height:140px;margin:2px 0}.custom-slider-track{border-width:1px;height:140px;width:3px}.custom-slider-thumb{border-width:1px;height:18px;width:12px}.slider-markers{font-size:.4rem;height:140px}.slider-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.45rem;letter-spacing:.1px;line-height:1.1;max-width:100%;overflow:hidden;padding-top:1px;white-space:normal;word-break:break-word}}.native-slider-container{align-items:center;display:flex;height:140px;justify-content:center;width:100%}.native-vertical-slider{appearance:slider-vertical;-webkit-appearance:slider-vertical;height:140px;margin:0;padding:0;width:8px;writing-mode:bt-lr}.native-vertical-slider::-webkit-slider-runnable-track{background:#070403;border:2px solid #070403;border-radius:4px;height:140px;width:8px}.native-vertical-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#a84525;border:1px solid #8b6f47;border-radius:2px;box-shadow:0 2px 4px #00000080;cursor:pointer;height:18px;width:12px}.native-vertical-slider::-webkit-slider-thumb:active{background-color:#8b3820}.native-vertical-slider::-moz-range-track{background:#070403;border:2px solid #070403;border-radius:4px;height:140px;width:8px}.native-vertical-slider::-moz-range-thumb{background-color:#a84525;border:1px solid #8b6f47;border-radius:2px;box-shadow:0 2px 4px #00000080;cursor:pointer;height:18px;width:12px}.native-vertical-slider::-moz-range-thumb:active{background-color:#8b3820}@media (max-width:768px){.native-slider-container{height:140px;touch-action:none}.slider-track-container{touch-action:none}}.model-selector{align-items:center;background:#0000;border:none;border-radius:0;display:flex;gap:16px;padding:0}.model-label{display:none}.model-toggle{display:flex;gap:8px}.model-button{background:#3d2817;border:2px solid #8b6f47;border-radius:6px;color:#d4a574;cursor:pointer;font-family:Courier New,monospace;font-size:.95rem;font-weight:700;letter-spacing:1px;min-width:60px;padding:10px 24px;text-transform:uppercase;transition:all .3s ease}.model-button:hover{background:#4d3827;border-color:#d4a574}.model-button.active{background:#ff6b35;border-color:#ff6b35;box-shadow:0 0 12px #ff6b3580;color:#1a0f08}.model-button:active{transform:scale(.98)}@media (max-width:767px){.model-selector{background:#0000;border:none;gap:4px;padding:0}.model-label{display:none}.model-toggle{gap:4px;width:100%}.model-button{border-width:1px;flex:1 1;font-size:.6rem;letter-spacing:.3px;padding:4px 8px}}.name-dialog-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.name-dialog{animation:slideIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;min-width:400px;padding:24px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.name-dialog h3{color:#333;font-size:18px;margin:0 0 20px}.name-dialog form{display:flex;flex-direction:column;gap:16px}.name-dialog input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.name-dialog input[type=text]:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.name-dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.name-dialog-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.name-dialog-buttons .cancel-button{background:#f5f5f5;color:#666}.name-dialog-buttons .cancel-button:hover{background:#e0e0e0}.name-dialog-buttons .save-button{background:#4a90e2;color:#fff}.name-dialog-buttons .save-button:hover:not(:disabled){background:#357abd}.name-dialog-buttons .save-button:disabled{background:#ccc;cursor:not-allowed}@media (max-width:600px){.name-dialog{max-width:90%;min-width:auto;padding:20px;width:90%}}.personality-panel{background:linear-gradient(135deg,#1a0f08,#2d1810);border:3px solid #d4a574;border-radius:12px;box-shadow:0 8px 16px #00000080;padding:24px;transition:padding .3s ease}h1{color:#ff6b35;font-family:Courier New,monospace;font-size:1rem;letter-spacing:4px;margin-bottom:8px;text-shadow:0 0 20px #ff6b3580;text-transform:uppercase}.panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;transition:margin-bottom .3s ease}.personality-panel:has(.panel-content.collapsed) .panel-header{margin-bottom:0;padding-bottom:16px}.header-title{align-items:center;cursor:pointer;display:flex;gap:12px;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.header-title:hover{opacity:.9}.header-controls{display:flex;flex-wrap:wrap;gap:12px}.panel-header h2{color:#d4a574;font-family:Courier New,monospace;font-size:1.5rem;letter-spacing:2px;margin:0;text-transform:uppercase}.reset-button,.toggle-view-button{background:#5a4a3a;border:2px solid #d4a574;border-radius:6px;color:#d4a574;cursor:pointer;font-family:Courier New,monospace;font-weight:700;padding:8px 16px;transition:all .3s ease}.toggle-view-button{background:#3d2817;border-color:#ff6b35;color:#ff6b35}.reset-button:hover,.toggle-view-button:hover{background:#6b5a4a;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.toggle-view-button:hover{background:#4d3827}.reset-button:active,.toggle-view-button:active{transform:translateY(0)}.collapse-indicator{color:#d4a574;display:inline-block;font-size:1rem;transition:transform .3s ease}.collapse-indicator.expanded{transform:rotate(0deg)}.collapse-indicator.collapsed{transform:rotate(-90deg)}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:24px;width:100%}.section-label{color:#d4a574;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.model-selector-section{align-items:center;display:flex;gap:12px}.panel-content{margin-top:0;max-height:5000px;opacity:1;overflow:visible;transition:max-height .4s ease,opacity .3s ease,margin-top .3s ease}.panel-content.collapsed{margin-top:-24px;max-height:0;opacity:0;overflow:hidden;pointer-events:none}.traits-grid{grid-gap:32px 24px;display:grid;gap:32px 24px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));justify-items:center}@media (min-width:768px){.traits-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width:767px){.traits-grid{gap:24px 16px;grid-template-columns:repeat(2,1fr)}.panel-header{align-items:center;flex-direction:column}.panel-header h2{font-size:1.2rem;text-align:center}}.personality-manager{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.personality-dropdown{background:#3d2817;border:2px solid #d4a574;border-radius:6px;color:#d4a574;cursor:pointer;flex:1 1;font-family:Courier New,monospace;font-size:14px;padding:8px 12px;transition:all .3s ease}.personality-dropdown:hover{background:#4d3827;border-color:#e4b584}.personality-dropdown:focus{box-shadow:0 0 0 3px #d4a5744d;outline:none}.icon-button,.personality-dropdown option{background:#3d2817;color:#d4a574}.icon-button{align-items:center;border:2px solid #d4a574;border-radius:6px;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.icon-button.new-button{font-size:24px;font-weight:700;line-height:1}.icon-button:hover{background:#4d3827;border-color:#e4b584;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.icon-button:active{transform:translateY(0)}.icon-button.save-button.unsaved{background:#ff6b35;border-color:#ff6b35;box-shadow:0 0 12px #ff6b3580;color:#1a0f08}.icon-button.save-button.unsaved:hover{background:#ff8555;border-color:#ff8555;box-shadow:0 4px 12px #ff6b3599}@media (max-width:900px){.controls-row{flex-direction:column;gap:16px}.model-selector-section,.personality-manager{width:100%}.header-title{justify-content:center;width:100%}}@media (max-width:767px){.personality-panel{border-width:2px;padding:6px 4px}.panel-header{gap:8px;margin-bottom:8px}.personality-panel:has(.panel-content.collapsed) .panel-header{margin-bottom:0}.panel-header h2{font-size:.9rem;letter-spacing:1px}.controls-row{gap:8px}.section-label{font-size:9px;letter-spacing:.3px}.personality-manager{gap:4px}.personality-dropdown{border-width:1px;flex:1 1;font-size:10px;min-width:0;padding:4px 6px}.icon-button{border-width:1px;flex-shrink:0;font-size:13px;height:28px;width:28px}.icon-button.new-button{font-size:16px}.model-selector-section{gap:4px}.reset-button,.toggle-view-button{border-width:1px;font-size:10px;padding:4px 8px}}.dial-wrapper{display:flex;justify-content:center;width:100%}.chat-interface{background:linear-gradient(135deg,#1a0f08,#2d1810);border:3px solid #d4a574;border-radius:12px;box-shadow:0 8px 16px #00000080;display:flex;flex:1 1;flex-direction:column;height:600px;max-height:70vh;min-height:0}.chat-header{border-bottom:2px solid #d4a574;justify-content:space-between;padding:16px 20px}.chat-header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.chat-header h3{color:#d4a574;font-family:Courier New,monospace;font-size:1.3rem;letter-spacing:2px;margin:0;text-transform:uppercase}.mini-bar-graph{align-items:flex-end;display:flex;gap:3px;height:28px;padding:2px 4px}.mini-bar{background:linear-gradient(0deg,#c50 0,#ff8c42);border-radius:2px;box-shadow:0 0 4px #4080ff66;min-height:2px;transition:height .3s ease;width:4px}.clear-button{background:#5a4a3a;border:2px solid #d4a574;border-radius:6px;color:#d4a574;cursor:pointer;font-family:Courier New,monospace;font-size:.85rem;font-weight:700;padding:6px 12px;transition:all .3s ease}.clear-button:hover{background:#6b5a4a;transform:translateY(-2px)}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#2a1810;border-radius:4px}.messages-container::-webkit-scrollbar-thumb{background:#d4a574;border-radius:4px}.empty-state{align-items:center;color:#8b6f47;display:flex;font-family:Courier New,monospace;height:100%;justify-content:center;padding:20px;text-align:center}.message{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:8px;max-width:80%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end}.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}.message-content strong{color:#f5d9b8;font-weight:700}.message-content em{color:#e8d4b8;font-style:italic}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{color:#d4a574;font-family:Courier New,monospace;margin:16px 0 8px}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child,.message-content h4:first-child,.message-content h5:first-child,.message-content h6:first-child{margin-top:0}.message-content ol,.message-content ul{margin:8px 0;padding-left:24px}.message-content li{margin:4px 0}.message-content code{background:#2a1810;border-radius:3px;color:#ff8555;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.message-content pre{background:#2a1810;border-radius:6px;margin:8px 0;overflow-x:auto;padding:12px}.message-content pre code{background:#0000;color:#e8d4b8;padding:0}.message-content blockquote{border-left:3px solid #d4a574;color:#c9b999;font-style:italic;margin:8px 0;padding-left:12px}.message-content hr{border:none;border-top:1px solid #8b6f47;margin:12px 0}.message-content a{color:#ff8555;text-decoration:underline}.message-content a:hover{color:#fa8}.message-assistant,.message-error{align-self:flex-start}.message-header{color:#d4a574;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:1px;opacity:.8;text-transform:uppercase}.message-content{background:#3d2817;border:1px solid #8b6f47;border-radius:8px;color:#e8d4b8;font-family:Georgia,serif;line-height:1.6;padding:12px 16px}.message-user .message-content{background:#4a3020;border-color:#d4a574}.message-error .message-content{background:#3d1715;border-color:#ff6b35;color:#ffb8a0}.message-content.loading{display:flex;gap:4px;padding:12px 20px}.loading-dot{animation:loadingBounce 1.4s ease-in-out infinite both;color:#ff6b35;font-size:1.5rem}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingBounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-10px)}}.input-form{background:#2a1810;border-top:2px solid #d4a574;display:flex;gap:12px;padding:16px 20px}.message-input{background:#3d2817;border:2px solid #8b6f47;border-radius:6px;color:#e8d4b8;flex:1 1;font-family:Georgia,serif;font-size:1rem;outline:none;padding:12px 16px;transition:border-color .3s ease}.message-input:focus{border-color:#d4a574}.message-input::placeholder{color:#8b6f47}.message-input:disabled{cursor:not-allowed;opacity:.5}.send-button{background:#ff6b35;border:none;border-radius:6px;color:#1a0f08;cursor:pointer;font-family:Courier New,monospace;font-size:1rem;font-weight:700;letter-spacing:1px;padding:12px 28px;text-transform:uppercase;transition:all .3s ease}.send-button:hover:not(:disabled){background:#ff8555;box-shadow:0 4px 8px #ff6b3566;transform:translateY(-2px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:#5a4a3a;color:#8b6f47;cursor:not-allowed}@media (max-width:767px){.chat-interface{border-radius:8px;border-width:2px;flex:1 1;height:100%;max-height:none;min-height:0}.chat-header{border-bottom-width:1px;flex-shrink:0;padding:8px 12px}.chat-header h3{font-size:.9rem;letter-spacing:1px}.mini-bar-graph{gap:2px;height:20px}.mini-bar{width:3px}.clear-button{border-width:1px;font-size:.7rem;padding:4px 8px}.messages-container{flex:1 1;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px}.message{max-width:90%}.message-header{font-size:.65rem}.message-content{font-size:.85rem;line-height:1.4;padding:8px 12px}.input-form{border-top-width:1px;flex-direction:row;flex-shrink:0;gap:8px;padding:8px 12px}.message-input{border-width:1px;font-size:.85rem;padding:8px 12px}.send-button{font-size:.8rem;padding:8px 16px;white-space:nowrap}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#0d0805,#1a0f08 50%,#0d0805);color:#e8d4b8;font-family:Georgia,serif;min-height:100vh}.App{display:flex;flex-direction:column;overflow:hidden}.app-header{background:linear-gradient(180deg,#2a1810,#1a0f08);border-bottom:4px solid #d4a574;box-shadow:0 4px 12px #00000080;padding:32px 24px;text-align:center}.app-header h1{color:#ff6b35;font-size:3rem;letter-spacing:4px;margin-bottom:8px;text-shadow:0 0 20px #ff6b3580}.app-header h1,.subtitle{font-family:Courier New,monospace;text-transform:uppercase}.subtitle{color:#d4a574;font-size:1rem;letter-spacing:2px}.app-main{display:flex;flex:1 1;flex-direction:column;gap:32px;margin:0 auto;max-width:1600px;min-height:0;overflow-y:auto;padding:32px 24px}.app-main,.controls-section{width:100%}.chat-section{display:flex;flex:1 1;flex-direction:column;gap:20px;margin:0 auto;max-width:1000px;min-height:0;width:100%}@media (max-width:767px){.App,body{height:100vh;overflow-x:hidden;overflow-y:hidden;width:100vw}.App{padding-bottom:max(env(safe-area-inset-bottom),20px);padding-top:max(env(safe-area-inset-top),30px)}.app-header{border-bottom-width:2px;flex-shrink:0;padding:12px 8px}.app-header h1{font-size:1.3rem;letter-spacing:2px;margin-bottom:4px}.subtitle{font-size:.6rem;letter-spacing:1px}.app-main{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:hidden;padding:8px;width:100%}.controls-section{flex-shrink:0}.chat-section{display:flex;flex:1 1;gap:0;min-height:0}}@media (min-width:1200px){.app-main{padding:40px 32px}}
/*# sourceMappingURL=main.ef391f14.css.map*/