@thesashadev/girl-agent 0.2.2 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;900&family=Onest:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--bone: #ECE7DA;--bone2: #E3DDCD;--ink: #0C0A06;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--muted: #6F6957;--line: #CDC6B1;--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(236, 231, 218, .86);--ga-bg-elev: var(--bone2);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(111, 105, 87, .65);--ga-accent: var(--accent);--ga-accent-2: var(--accent2);--ga-accent-3: var(--accent3);--ga-border: var(--line);--ga-border-strong: rgba(12, 10, 6, .22);--ga-success: var(--accent2);--ga-warn: var(--accent3);--ga-error: var(--accent);--ga-radius: 14px;--ga-radius-sm: 8px;--ga-shadow: 0 24px 60px -28px rgba(12, 10, 6, .35);--ga-shadow-soft: 0 8px 24px -10px rgba(12, 10, 6, .18);--ga-blur: 18px;--ga-spring-fast: cubic-bezier(.34, 1.56, .64, 1);--ga-spring: cubic-bezier(.22, 1, .36, 1);--font-display: "Unbounded", "Onest", system-ui, sans-serif;--font-ui: "Onest", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Code", Menlo, monospace;--font-serif: "Instrument Serif", Georgia, serif;--ga-font: var(--font-ui);--ga-font-mono: var(--font-mono)}[data-theme=dark]{--bone: #0C0A06;--bone2: #16130C;--ink: #ECE7DA;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--muted: #8C8472;--line: rgba(236, 231, 218, .14);--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(12, 10, 6, .74);--ga-bg-elev: var(--bone2);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(236, 231, 218, .42);--ga-border: var(--line);--ga-border-strong: rgba(236, 231, 218, .24)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--ga-bg);color:var(--ga-text);font-size:14px;line-height:1.55;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}h1{font-size:28px;line-height:1.2}h2{font-size:20px;line-height:1.25}h3{font-size:16px;line-height:1.3}code,pre,.mono,.terminal,.terminal-text{font-family:var(--font-mono)}em,.serif{font-family:var(--font-serif);font-style:italic}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bone)}[data-theme=dark] body:before{background:var(--bone)}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;outline:none;border:none}input,textarea,select{font-family:inherit;color:inherit;background:transparent}input:focus,textarea:focus,select:focus{outline:none}a{color:var(--ga-accent-2);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#e8412a47;color:var(--ga-text)}.app-shell{display:grid;grid-template-columns:264px 1fr;grid-template-rows:100vh;width:100vw;height:100vh;overflow:hidden}@media (max-width: 720px){.app-shell{grid-template-columns:1fr;grid-template-rows:56px 1fr}.sidebar{position:fixed;left:0;top:56px;height:calc(100vh - 56px);z-index:100;transform:translate(-100%);transition:transform .4s var(--ga-spring);width:280px}.sidebar[data-open=true]{transform:translate(0)}}.sidebar{display:flex;flex-direction:column;padding:18px 14px 14px;background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--ga-blur)) saturate(140%);border-right:1px solid var(--ga-border);overflow-y:auto;gap:14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--ga-border)}.sidebar-brand .logo{width:30px;height:30px;background:var(--accent);border-radius:8px;box-shadow:none}.sidebar-brand .name{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.sidebar-brand .ver{color:var(--ga-text-faint);font-size:11px;margin-left:auto}.profile-picker{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);cursor:pointer;transition:background .2s var(--ga-spring)}.profile-picker:hover{background:var(--bone2)}.profile-picker .pp-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:var(--bone);font-family:var(--font-display)}.profile-picker .pp-info{flex:1;min-width:0}.profile-picker .pp-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-picker .pp-meta{color:var(--ga-text-dim);font-size:11px;display:flex;align-items:center;gap:6px}.profile-picker .pp-dot{width:8px;height:8px;border-radius:50%;background:var(--ga-text-faint)}.profile-picker .pp-dot.running{background:var(--ga-success);box-shadow:0 0 8px var(--ga-success)}.profile-picker .pp-dot.error{background:var(--ga-error)}.profile-picker .pp-dot.paused{background:var(--ga-warn)}.profile-popover{position:absolute;top:60px;left:14px;right:14px;background:var(--bone);border:1px solid var(--line);border-radius:12px;z-index:200;padding:6px;box-shadow:var(--ga-shadow);max-height:60vh;overflow-y:auto}.profile-popover-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .18s var(--ga-spring)}.profile-popover-item:hover{background:var(--bone2)}.profile-popover-item.active{background:var(--bone2);box-shadow:inset 0 0 0 1px var(--accent)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;color:var(--ga-text-dim);cursor:pointer;transition:all .18s var(--ga-spring);font-weight:500;user-select:none}.nav-item:hover{background:var(--bone2);color:var(--ga-text)}.nav-item.active{background:var(--bone2);color:var(--ga-text);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .icon{width:18px;height:18px;opacity:.85}.nav-item .badge{margin-left:auto;background:var(--accent);color:var(--bone);font-size:10px;padding:2px 6px;border-radius:6px;font-family:var(--font-mono)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--ga-border);display:flex;flex-direction:column;gap:8px}.main{display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--ga-border);background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur));-webkit-backdrop-filter:blur(var(--ga-blur));z-index:5}.topbar .title{font-size:16px;font-weight:600}.topbar .crumb{color:var(--ga-text-dim);font-size:13px}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:8px}.content{flex:1;overflow-y:auto;padding:22px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.content::-webkit-scrollbar-track{background:transparent}.menu-button{display:none;background:transparent;color:var(--ga-text);width:36px;height:36px;border-radius:10px}@media (max-width: 720px){.menu-button{display:inline-flex;align-items:center;justify-content:center}.topbar{padding:10px 16px}}.card{background:var(--bone2);border:1px solid var(--line);border-radius:var(--ga-radius);padding:20px;box-shadow:none;transition:border-color .15s,box-shadow .15s,transform .15s var(--ga-spring)}.card.interactive:hover{border-color:var(--ink)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.card-header .h-title{font-size:15px;font-weight:600}.card-header .h-meta{color:var(--ga-text-dim);font-size:12px}.card-header .h-actions{margin-left:auto;display:flex;gap:8px}.card .desc{color:var(--ga-text-dim);font-size:13px}.section-title{display:flex;align-items:center;gap:10px;margin:24px 0 12px}.section-title h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ga-text-faint);margin:0}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 720px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row>label{font-size:12px;color:var(--ga-text-dim);display:flex;align-items:center;gap:6px}.form-row .hint{color:var(--ga-text-faint);font-size:11px}.input,.textarea,.select{width:100%;padding:9px 12px;border-radius:9px;background:var(--bone);border:1px solid var(--line);color:var(--ink);font-family:var(--font-ui);transition:border-color .2s,background .2s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);background:var(--bone)}.textarea{font-family:var(--ga-font-mono);resize:vertical;min-height:96px}.select{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ga-text-dim) 50%),linear-gradient(135deg,var(--ga-text-dim) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.range{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--ga-bg-elev);border-radius:3px;outline:none}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0c0a0640;border:2px solid var(--bone);transition:transform .15s}.range::-webkit-slider-thumb:hover{transform:scale(1.1);background:var(--accent3)}.range::-moz-range-thumb{width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid var(--bone)}.range{-webkit-appearance:none;appearance:none;height:4px;background:var(--line);border-radius:2px;outline:none}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.toggle input{display:none}.toggle .track{width:36px;height:20px;background:var(--ga-bg-elev);border-radius:10px;position:relative;transition:background .2s;border:1px solid var(--ga-border)}.toggle .knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ga-text-dim);transition:all .25s var(--ga-spring)}.toggle input:checked+.track{background:var(--accent);border-color:transparent}.toggle input:checked+.track .knob{left:18px;background:var(--bone)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:10px;background:var(--bone2);color:var(--ink);border:1px solid var(--line);font-weight:500;font-family:var(--font-ui);transition:background .18s var(--ga-spring),transform .15s var(--ga-spring),border-color .15s}.btn:hover{background:var(--line);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}.btn.primary:hover,.btn.accent{background:var(--accent);color:var(--bone);border-color:var(--accent)}.btn.accent:hover{background:var(--accent3);border-color:var(--accent3)}.btn.danger{color:var(--bone);background:var(--accent);border-color:var(--accent)}.btn.danger:hover{background:var(--accent3);border-color:var(--accent3)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bone2)}.btn.tiny{padding:4px 10px;font-size:12px}.btn.success{background:var(--accent2);color:var(--ink);border-color:var(--accent2)}.btn.success:hover{filter:brightness(.96)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);font-size:12px;color:var(--ga-text-dim)}.chip.success{color:var(--ga-success);border-color:#7ce9a04d}.chip.warn{color:var(--ga-warn);border-color:#ffd07a4d}.chip.error{color:var(--ga-error);border-color:#ff7a8c4d}.chip.accent{background:var(--accent);color:var(--bone);border-color:var(--accent)}.chip.success{background:var(--accent2);color:var(--ink);border-color:var(--accent2)}.logs-box{font-family:var(--ga-font-mono);font-size:12.5px;background:#0000004d;border-radius:var(--ga-radius);border:1px solid var(--ga-border);padding:14px 16px;height:60vh;overflow-y:auto;white-space:pre-wrap;line-height:1.55;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.log-line{display:flex;gap:10px;padding:1px 0}.log-line .ts{color:var(--ga-text-faint);white-space:nowrap;min-width:64px}.log-line .tag{font-weight:500;min-width:64px}.log-line.info .tag{color:var(--ga-accent-2)}.log-line.warn .tag{color:var(--ga-warn)}.log-line.error .tag{color:var(--ga-error)}.log-line.in .tag{color:var(--ga-accent-3)}.log-line.out .tag{color:var(--ga-accent)}.log-line .msg{color:var(--ga-text);flex:1;word-break:break-word}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 720px){.score-grid{grid-template-columns:repeat(2,1fr)}}.score-cell{background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:12px;padding:10px 12px}.score-cell .lbl{font-size:11px;color:var(--ga-text-dim);text-transform:uppercase;letter-spacing:.5px}.score-cell .val{font-size:22px;font-weight:600;margin-top:4px}.score-cell .bar{height:4px;background:var(--ga-border);border-radius:2px;overflow:hidden;margin-top:8px}.score-cell .bar>.fill{height:100%;background:var(--accent2);transition:width .4s var(--ga-spring)}.score-cell.negative .bar>.fill{background:var(--accent)}.setup-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.setup-card{width:100%;max-width:720px;max-height:92vh;overflow-y:auto;background:var(--ga-bg-glass);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--ga-border-strong);border-radius:24px;padding:32px;box-shadow:var(--ga-shadow);animation:setup-in .5s var(--ga-spring)}@keyframes setup-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.setup-stepper{display:flex;gap:6px;margin-bottom:24px}.setup-step{flex:1;height:3px;background:var(--ga-border);border-radius:2px;transition:background .4s var(--ga-spring)}.setup-step.done{background:var(--accent2)}.setup-step.active{background:var(--accent)}.setup-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.setup-subtitle{color:var(--muted);margin-bottom:24px;font-family:var(--font-ui)}.setup-card-title{font-family:var(--font-display);font-size:14px;font-weight:600}.memory-shell{display:grid;grid-template-columns:240px 1fr;gap:16px;min-height:70vh}@media (max-width: 720px){.memory-shell{grid-template-columns:1fr}}.memory-list{display:flex;flex-direction:column;gap:4px}.memory-item{padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .18s var(--ga-spring);display:flex;align-items:center;gap:8px}.memory-item:hover{background:#ffffff0a}.memory-item.active{background:#ff7ad629}.memory-item .name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-item .size{color:var(--ga-text-faint);font-size:11px}.editor{flex:1;min-height:60vh;background:#00000040;border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:16px 20px;font-family:var(--ga-font-mono);font-size:13px;color:var(--ga-text);resize:vertical}.chat-shell{display:flex;flex-direction:column;height:calc(100vh - 140px)}.chat-msgs{flex:1;overflow-y:auto;padding:8px 4px 16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:80%;padding:12px 16px;border-radius:18px;line-height:1.5}.chat-msg.user{align-self:flex-end;background:var(--ink);color:var(--bone);border-bottom-right-radius:6px}.chat-msg.assistant{align-self:flex-start;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-bottom-left-radius:6px}.chat-msg.tool{align-self:flex-start;background:#7ce9a014;border:1px solid rgba(124,233,160,.3);font-family:var(--ga-font-mono);font-size:12px;border-radius:12px}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:12px;background:var(--ga-bg-glass);backdrop-filter:blur(28px);border:1px solid var(--ga-border);border-radius:16px}.chat-input textarea{flex:1;min-height:40px;max-height:200px;background:transparent;border:0;resize:none;padding:8px;font-family:inherit;font-size:14px}.assistant-question{background:#7a8cff0f;border:1px solid rgba(122,140,255,.2);border-radius:12px;padding:12px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.question-option-btn{background:var(--ga-bg-glass);border:1px solid var(--ga-border);color:var(--ga-text);border-radius:10px;padding:8px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;min-width:100px}.question-option-btn:hover{border-color:var(--ga-accent, #E8412A);background:#e8412a14}.question-option-btn:disabled{opacity:.5;cursor:not-allowed}.qo-label{font-weight:600;font-size:13px}.qo-desc{font-size:11px;color:var(--ga-text-dim);margin-top:2px}.question-bar{padding:10px 12px;background:#7a8cff0f;border:1px solid rgba(122,140,255,.2);border-radius:12px 12px 0 0;border-bottom:none}.question-bar-text{font-size:12px;font-weight:600;margin-bottom:6px}.question-bar-options{display:flex;flex-wrap:wrap;gap:4px}.question-bar-btn{background:var(--ga-bg-glass);border:1px solid var(--ga-border);color:var(--ga-text);border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.question-bar-btn:hover{border-color:var(--ga-accent, #E8412A);background:#e8412a14}.addon-card{display:flex;flex-direction:column;background:var(--ga-bg-glass);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px;transition:transform .2s var(--ga-spring),border-color .2s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.addon-card:hover{border-color:var(--ga-border-strong);transform:translateY(-2px)}.addon-card .head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.addon-card .icon-wrap{width:40px;height:40px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bone);font-family:var(--font-display);flex-shrink:0}.addon-card .meta{font-size:12px;color:var(--ga-text-dim)}.addon-card h3{margin:0;font-size:14px}.addon-card p{font-size:13px;color:var(--ga-text-dim);margin:6px 0 12px;flex:1}.addon-card .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.addon-settings{margin-top:12px;padding-top:12px;border-top:1px solid var(--ga-border)}.gaa-drop-zone{border:2px dashed var(--ga-border-strong);border-radius:14px;padding:24px;text-align:center;cursor:pointer;margin-bottom:14px;transition:border-color .2s,background .2s;background:#ffffff05}.gaa-drop-zone:hover,.gaa-drop-zone.drag-over{border-color:var(--ga-accent, #E8412A);background:#e8412a0f}.gaa-drop-icon{font-size:28px;margin-bottom:6px}.gaa-drop-text{font-size:13px;color:var(--ga-text-dim)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px;color:var(--ga-text-dim)}.empty .em-title{font-size:17px;color:var(--ga-text);font-weight:500}.empty .em-icon{font-size:36px;opacity:.6}.spinner{width:18px;height:18px;border:2px solid var(--ga-border);border-top-color:var(--ga-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner-stack{position:fixed;bottom:16px;right:16px;z-index:500;display:flex;flex-direction:column;gap:8px;max-width:420px}.banner{background:#140824f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--ga-border-strong);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;animation:banner-in .3s var(--ga-spring);box-shadow:var(--ga-shadow)}.banner.success{border-color:#7ce9a066}.banner.error{border-color:#ff7a8c66}@keyframes banner-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.cmd-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:600;animation:cmd-fade-in .2s ease-out}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-modal{background:var(--ga-bg-glass, rgba(20, 8, 36, .95));border:1px solid var(--ga-border-strong);border-radius:16px;width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000080;animation:cmd-scale-in .2s var(--ga-spring);overflow:hidden}@keyframes cmd-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cmd-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ga-border)}.cmd-title{font-family:var(--font-mono, monospace);font-size:16px;font-weight:700;color:var(--ga-accent, #E8412A)}.cmd-close{background:none;border:none;color:var(--ga-text-dim);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.cmd-close:hover{background:#ffffff14}.cmd-body{padding:20px;overflow-y:auto;flex:1}.cmd-loading{display:flex;align-items:center;gap:12px;color:var(--ga-text-dim);font-size:14px;justify-content:center;padding:24px 0}.cmd-error{color:var(--ga-error, #ff7a8c);font-size:14px;padding:8px 0}.cmd-kv-list{display:flex;flex-direction:column;gap:6px}.cmd-kv-row{display:flex;gap:12px;font-size:13px;line-height:1.5;padding:6px 10px;border-radius:8px;background:#ffffff08}.cmd-kv-row:nth-child(odd){background:#ffffff0f}.cmd-key{font-weight:600;color:var(--ga-accent-2, #C4DC3C);min-width:110px;flex-shrink:0;font-family:var(--font-mono, monospace);font-size:12px}.cmd-val{color:var(--ga-text);word-break:break-word;font-family:var(--font-mono, monospace);font-size:12px}.cmd-plain{font-family:var(--font-mono, monospace);font-size:13px;line-height:1.6;color:var(--ga-text)}.cmd-line{padding:3px 0}.cmd-empty{color:var(--ga-text-dim);font-size:13px;text-align:center;padding:24px 0}.md-preview{background:#0000002e;border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px 22px;overflow-y:auto;line-height:1.65;font-size:14px}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4{margin:14px 0 6px}.md-preview h1{font-size:22px;border-bottom:1px solid var(--ga-border);padding-bottom:6px}.md-preview h2{font-size:18px}.md-preview h3{font-size:16px}.md-preview h4{font-size:14px;color:var(--ga-text-dim)}.md-preview p{margin:6px 0}.md-preview ul,.md-preview ol{margin:6px 0;padding-left:22px}.md-preview blockquote{border-left:3px solid var(--ga-accent);padding:4px 12px;margin:8px 0;background:#ff7ad60f;border-radius:0 8px 8px 0;color:var(--ga-text-dim)}.md-preview code{font-family:var(--ga-font-mono);font-size:12.5px;background:#ffffff0f;padding:1px 6px;border-radius:4px}.md-preview pre{background:#0006;border:1px solid var(--ga-border);border-radius:10px;padding:12px 14px;overflow-x:auto}.md-preview pre code{background:transparent;padding:0}.md-preview a{color:var(--ga-accent-2)}.md-preview hr{border:0;height:1px;background:var(--ga-border);margin:16px 0}.md-preview img{max-width:100%;border-radius:8px}.md-preview table{border-collapse:collapse;margin:8px 0;width:100%}.md-preview th,.md-preview td{border:1px solid var(--ga-border);padding:6px 10px;text-align:left}.md-preview th{background:#ffffff08}.md-preview del{color:var(--ga-text-faint)}.apply-pill{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 18px;background:#140824eb;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--ga-border-strong);border-radius:999px;box-shadow:var(--ga-shadow);animation:pill-in .3s var(--ga-spring)}@keyframes pill-in{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.apply-pill .text{font-size:13px;color:var(--ga-text-dim)}.apply-pill .text strong{color:var(--ga-text)}.setup-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bone);padding:20px;z-index:500;overflow-y:auto}.setup-card{width:100%;max-width:720px;background:var(--bone2);border:1px solid var(--line);border-radius:18px;padding:36px 32px;box-shadow:var(--ga-shadow-soft)}.setup-stepper{display:flex;gap:4px;margin-bottom:22px}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.provider-card{position:relative;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bone);cursor:pointer;transition:border-color .15s,background .15s,transform .12s var(--ga-spring);display:flex;flex-direction:column;gap:4px}.provider-card:hover:not(.disabled){border-color:var(--ink);transform:translateY(-1px)}.provider-card.active{border-color:var(--accent);background:var(--bone2);box-shadow:inset 0 0 0 1px var(--accent)}.provider-card.disabled{opacity:.48;cursor:not-allowed}.provider-card .p-name{font-weight:600;font-family:var(--font-display)}.provider-card .p-hint{font-size:12px;color:var(--muted)}.provider-card .p-rec{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--font-mono);background:var(--accent2);color:var(--ink);padding:2px 6px;border-radius:4px}.provider-card .p-tag{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--font-mono);background:var(--line);color:var(--muted);padding:2px 6px;border-radius:4px}.tz-dropdown{position:relative}.tz-input{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bone);border:1px solid var(--line);border-radius:9px;cursor:pointer}.tz-input:hover{border-color:var(--ink)}.tz-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:320px;overflow-y:auto;background:var(--bone);border:1px solid var(--line);border-radius:9px;z-index:100;box-shadow:var(--ga-shadow)}.tz-group-label{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-family:var(--font-mono);background:var(--bone2);border-top:1px solid var(--line)}.tz-list .tz-group-label:first-child{border-top:none}.tz-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.tz-item:hover,.tz-item.focused{background:var(--bone2)}.tz-item.selected{background:var(--bone2);box-shadow:inset 2px 0 0 var(--accent)}.tz-item .tz-city{font-weight:500}.tz-item .tz-gmt{font-family:var(--font-mono);color:var(--muted);font-size:11px}.tournament-shell{display:flex;flex-direction:column;gap:16px;padding:12px 0}.tournament-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tournament-name-card{padding:28px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bone);font-family:var(--font-display);font-size:22px;font-weight:600;text-align:center;cursor:pointer;transition:border-color .15s,transform .12s var(--ga-spring),background .15s}.tournament-name-card:hover{border-color:var(--accent);background:var(--bone2);transform:scale(1.02)}.tournament-skip{text-align:center;color:var(--muted);font-size:13px;cursor:pointer;padding:8px}.tournament-skip:hover{color:var(--ink)}.tournament-progress{display:flex;gap:4px}.tournament-progress .dot{flex:1;height:3px;background:var(--line);border-radius:2px}.tournament-progress .dot.done{background:var(--accent2)}.tournament-progress .dot.active{background:var(--accent)}.age-slider-wrap{display:flex;flex-direction:column;gap:8px}.age-slider-value{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1}.age-slider-value .age-unit{font-size:14px;font-weight:400;color:var(--muted);font-family:var(--font-ui)}.age-slider-bounds{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.code-input{width:100%;text-align:center;font-family:var(--font-mono);font-size:22px;letter-spacing:.4em;padding:14px;background:var(--bone);border:1px solid var(--line);border-radius:10px;color:var(--ink)}.code-input:focus{border-color:var(--accent);outline:none}
|
package/dist/webui/index.html
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
7
7
|
<meta name="theme-color" content="#0a0014" />
|
|
8
8
|
<title>girl-agent</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-CCEv0aHQ.js"></script>
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/index-EHFCI2nE.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;900&family=Onest:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--bone: #ECE7DA;--bone2: #E3DDCD;--ink: #0C0A06;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--muted: #6F6957;--line: #CDC6B1;--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(236, 231, 218, .86);--ga-bg-elev: var(--bone2);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(111, 105, 87, .65);--ga-accent: var(--accent);--ga-accent-2: var(--accent2);--ga-accent-3: var(--accent3);--ga-border: var(--line);--ga-border-strong: rgba(12, 10, 6, .22);--ga-success: var(--accent2);--ga-warn: var(--accent3);--ga-error: var(--accent);--ga-radius: 14px;--ga-radius-sm: 8px;--ga-shadow: 0 24px 60px -28px rgba(12, 10, 6, .35);--ga-shadow-soft: 0 8px 24px -10px rgba(12, 10, 6, .18);--ga-blur: 18px;--ga-spring-fast: cubic-bezier(.34, 1.56, .64, 1);--ga-spring: cubic-bezier(.22, 1, .36, 1);--font-display: "Unbounded", "Onest", system-ui, sans-serif;--font-ui: "Onest", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Code", Menlo, monospace;--font-serif: "Instrument Serif", Georgia, serif;--ga-font: var(--font-ui);--ga-font-mono: var(--font-mono)}[data-theme=dark]{--bone: #0C0A06;--bone2: #16130C;--ink: #ECE7DA;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--muted: #8C8472;--line: rgba(236, 231, 218, .14);--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(12, 10, 6, .74);--ga-bg-elev: var(--bone2);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(236, 231, 218, .42);--ga-border: var(--line);--ga-border-strong: rgba(236, 231, 218, .24)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--ga-bg);color:var(--ga-text);font-size:14px;line-height:1.55;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}h1{font-size:28px;line-height:1.2}h2{font-size:20px;line-height:1.25}h3{font-size:16px;line-height:1.3}code,pre,.mono,.terminal,.terminal-text{font-family:var(--font-mono)}em,.serif{font-family:var(--font-serif);font-style:italic}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bone)}[data-theme=dark] body:before{background:var(--bone)}button{font-family:inherit;font-size:inherit;cursor:pointer;outline:none;border:none}input,textarea,select{font-family:inherit;color:inherit;background:transparent}input:focus,textarea:focus,select:focus{outline:none}a{color:var(--ga-accent-2);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#e8412a47;color:var(--ga-text)}.app-shell{display:grid;grid-template-columns:264px 1fr;grid-template-rows:100vh;width:100vw;height:100vh;overflow:hidden}@media (max-width: 720px){.app-shell{grid-template-columns:1fr;grid-template-rows:56px 1fr}.sidebar{position:fixed;left:0;top:56px;height:calc(100vh - 56px);z-index:100;transform:translate(-100%);transition:transform .4s var(--ga-spring);width:280px}.sidebar[data-open=true]{transform:translate(0)}}.sidebar{display:flex;flex-direction:column;padding:18px 14px 14px;background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--ga-blur)) saturate(140%);border-right:1px solid var(--ga-border);overflow-y:auto;gap:14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--ga-border)}.sidebar-brand .logo{width:30px;height:30px;background:var(--accent);border-radius:8px;box-shadow:none}.sidebar-brand .name{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.sidebar-brand .ver{color:var(--ga-text-faint);font-size:11px;margin-left:auto}.profile-picker{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);cursor:pointer;transition:background .2s var(--ga-spring)}.profile-picker:hover{background:var(--bone2)}.profile-picker .pp-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:var(--bone);font-family:var(--font-display)}.profile-picker .pp-info{flex:1;min-width:0}.profile-picker .pp-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-picker .pp-meta{color:var(--ga-text-dim);font-size:11px;display:flex;align-items:center;gap:6px}.profile-picker .pp-dot{width:8px;height:8px;border-radius:50%;background:var(--ga-text-faint)}.profile-picker .pp-dot.running{background:var(--ga-success);box-shadow:0 0 8px var(--ga-success)}.profile-picker .pp-dot.error{background:var(--ga-error)}.profile-picker .pp-dot.paused{background:var(--ga-warn)}.profile-popover{position:absolute;top:60px;left:14px;right:14px;background:var(--bone);border:1px solid var(--line);border-radius:12px;z-index:200;padding:6px;box-shadow:var(--ga-shadow);max-height:60vh;overflow-y:auto}.profile-popover-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .18s var(--ga-spring)}.profile-popover-item:hover{background:var(--bone2)}.profile-popover-item.active{background:var(--bone2);box-shadow:inset 0 0 0 1px var(--accent)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;color:var(--ga-text-dim);cursor:pointer;transition:all .18s var(--ga-spring);font-weight:500;user-select:none}.nav-item:hover{background:var(--bone2);color:var(--ga-text)}.nav-item.active{background:var(--bone2);color:var(--ga-text);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .icon{width:18px;height:18px;opacity:.85}.nav-item .badge{margin-left:auto;background:var(--accent);color:var(--bone);font-size:10px;padding:2px 6px;border-radius:6px;font-family:var(--font-mono)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--ga-border);display:flex;flex-direction:column;gap:8px}.main{display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--ga-border);background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur));-webkit-backdrop-filter:blur(var(--ga-blur));z-index:5}.topbar .title{font-size:16px;font-weight:600}.topbar .crumb{color:var(--ga-text-dim);font-size:13px}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:8px}.content{flex:1;overflow-y:auto;padding:22px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.content::-webkit-scrollbar-track{background:transparent}.menu-button{display:none;background:transparent;color:var(--ga-text);width:36px;height:36px;border-radius:10px}@media (max-width: 720px){.menu-button{display:inline-flex;align-items:center;justify-content:center}.topbar{padding:10px 16px}}.card{background:var(--bone2);border:1px solid var(--line);border-radius:var(--ga-radius);padding:20px;box-shadow:none;transition:border-color .15s,box-shadow .15s,transform .15s var(--ga-spring)}.card.interactive:hover{border-color:var(--ink)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.card-header .h-title{font-size:15px;font-weight:600}.card-header .h-meta{color:var(--ga-text-dim);font-size:12px}.card-header .h-actions{margin-left:auto;display:flex;gap:8px}.card .desc{color:var(--ga-text-dim);font-size:13px}.section-title{display:flex;align-items:center;gap:10px;margin:24px 0 12px}.section-title h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ga-text-faint);margin:0}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 720px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row>label{font-size:12px;color:var(--ga-text-dim);display:flex;align-items:center;gap:6px}.form-row .hint{color:var(--ga-text-faint);font-size:11px}.input,.textarea,.select{width:100%;padding:9px 12px;border-radius:9px;background:var(--bone);border:1px solid var(--line);color:var(--ink);font-family:var(--font-ui);transition:border-color .2s,background .2s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);background:var(--bone)}.textarea{font-family:var(--ga-font-mono);resize:vertical;min-height:96px}.select{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ga-text-dim) 50%),linear-gradient(135deg,var(--ga-text-dim) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.range{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--ga-bg-elev);border-radius:3px;outline:none}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0c0a0640;border:2px solid var(--bone);transition:transform .15s}.range::-webkit-slider-thumb:hover{transform:scale(1.1);background:var(--accent3)}.range::-moz-range-thumb{width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid var(--bone)}.range{-webkit-appearance:none;appearance:none;height:4px;background:var(--line);border-radius:2px;outline:none}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.toggle input{display:none}.toggle .track{width:36px;height:20px;background:var(--ga-bg-elev);border-radius:10px;position:relative;transition:background .2s;border:1px solid var(--ga-border)}.toggle .knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ga-text-dim);transition:all .25s var(--ga-spring)}.toggle input:checked+.track{background:var(--accent);border-color:transparent}.toggle input:checked+.track .knob{left:18px;background:var(--bone)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:10px;background:var(--bone2);color:var(--ink);border:1px solid var(--line);font-weight:500;font-family:var(--font-ui);transition:background .18s var(--ga-spring),transform .15s var(--ga-spring),border-color .15s}.btn:hover{background:var(--line);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}.btn.primary:hover,.btn.accent{background:var(--accent);color:var(--bone);border-color:var(--accent)}.btn.accent:hover{background:var(--accent3);border-color:var(--accent3)}.btn.danger{color:var(--bone);background:var(--accent);border-color:var(--accent)}.btn.danger:hover{background:var(--accent3);border-color:var(--accent3)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bone2)}.btn.tiny{padding:4px 10px;font-size:12px}.btn.success{background:var(--accent2);color:var(--ink);border-color:var(--accent2)}.btn.success:hover{filter:brightness(.96)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);font-size:12px;color:var(--ga-text-dim)}.chip.success{color:var(--ga-success);border-color:#7ce9a04d}.chip.warn{color:var(--ga-warn);border-color:#ffd07a4d}.chip.error{color:var(--ga-error);border-color:#ff7a8c4d}.chip.accent{background:var(--accent);color:var(--bone);border-color:var(--accent)}.chip.success{background:var(--accent2);color:var(--ink);border-color:var(--accent2)}.logs-box{font-family:var(--ga-font-mono);font-size:12.5px;background:#0000004d;border-radius:var(--ga-radius);border:1px solid var(--ga-border);padding:14px 16px;height:60vh;overflow-y:auto;white-space:pre-wrap;line-height:1.55;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.log-line{display:flex;gap:10px;padding:1px 0}.log-line .ts{color:var(--ga-text-faint);white-space:nowrap;min-width:64px}.log-line .tag{font-weight:500;min-width:64px}.log-line.info .tag{color:var(--ga-accent-2)}.log-line.warn .tag{color:var(--ga-warn)}.log-line.error .tag{color:var(--ga-error)}.log-line.in .tag{color:var(--ga-accent-3)}.log-line.out .tag{color:var(--ga-accent)}.log-line .msg{color:var(--ga-text);flex:1;word-break:break-word}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 720px){.score-grid{grid-template-columns:repeat(2,1fr)}}.score-cell{background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:12px;padding:10px 12px}.score-cell .lbl{font-size:11px;color:var(--ga-text-dim);text-transform:uppercase;letter-spacing:.5px}.score-cell .val{font-size:22px;font-weight:600;margin-top:4px}.score-cell .bar{height:4px;background:var(--ga-border);border-radius:2px;overflow:hidden;margin-top:8px}.score-cell .bar>.fill{height:100%;background:var(--accent2);transition:width .4s var(--ga-spring)}.score-cell.negative .bar>.fill{background:var(--accent)}.setup-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.setup-card{width:100%;max-width:720px;max-height:92vh;overflow-y:auto;background:var(--ga-bg-glass);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--ga-border-strong);border-radius:24px;padding:32px;box-shadow:var(--ga-shadow);animation:setup-in .5s var(--ga-spring)}@keyframes setup-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.setup-stepper{display:flex;gap:6px;margin-bottom:24px}.setup-step{flex:1;height:3px;background:var(--ga-border);border-radius:2px;transition:background .4s var(--ga-spring)}.setup-step.done{background:var(--accent2)}.setup-step.active{background:var(--accent)}.setup-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.setup-subtitle{color:var(--muted);margin-bottom:24px;font-family:var(--font-ui)}.setup-card-title{font-family:var(--font-display);font-size:14px;font-weight:600}.memory-shell{display:grid;grid-template-columns:240px 1fr;gap:16px;min-height:70vh}@media (max-width: 720px){.memory-shell{grid-template-columns:1fr}}.memory-list{display:flex;flex-direction:column;gap:4px}.memory-item{padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .18s var(--ga-spring);display:flex;align-items:center;gap:8px}.memory-item:hover{background:#ffffff0a}.memory-item.active{background:#ff7ad629}.memory-item .name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-item .size{color:var(--ga-text-faint);font-size:11px}.editor{flex:1;min-height:60vh;background:#00000040;border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:16px 20px;font-family:var(--ga-font-mono);font-size:13px;color:var(--ga-text);resize:vertical}.chat-shell{display:flex;flex-direction:column;height:calc(100vh - 140px)}.chat-msgs{flex:1;overflow-y:auto;padding:8px 4px 16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:80%;padding:12px 16px;border-radius:18px;line-height:1.5}.chat-msg.user{align-self:flex-end;background:var(--ink);color:var(--bone);border-bottom-right-radius:6px}.chat-msg.assistant{align-self:flex-start;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-bottom-left-radius:6px}.chat-msg.tool{align-self:flex-start;background:#7ce9a014;border:1px solid rgba(124,233,160,.3);font-family:var(--ga-font-mono);font-size:12px;border-radius:12px}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:12px;background:var(--ga-bg-glass);backdrop-filter:blur(28px);border:1px solid var(--ga-border);border-radius:16px}.chat-input textarea{flex:1;min-height:40px;max-height:200px;background:transparent;border:0;resize:none;padding:8px;font-family:inherit;font-size:14px}.assistant-question{background:#7a8cff0f;border:1px solid rgba(122,140,255,.2);border-radius:12px;padding:12px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.question-option-btn{background:var(--ga-bg-glass);border:1px solid var(--ga-border);border-radius:10px;padding:8px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;min-width:100px}.question-option-btn:hover{border-color:var(--ga-accent, #E8412A);background:#e8412a14}.question-option-btn:disabled{opacity:.5;cursor:not-allowed}.qo-label{font-weight:600;font-size:13px}.qo-desc{font-size:11px;color:var(--ga-text-dim);margin-top:2px}.question-bar{padding:10px 12px;background:#7a8cff0f;border:1px solid rgba(122,140,255,.2);border-radius:12px 12px 0 0;border-bottom:none}.question-bar-text{font-size:12px;font-weight:600;margin-bottom:6px}.question-bar-options{display:flex;flex-wrap:wrap;gap:4px}.question-bar-btn{background:var(--ga-bg-glass);border:1px solid var(--ga-border);border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.question-bar-btn:hover{border-color:var(--ga-accent, #E8412A);background:#e8412a14}.addon-card{display:flex;flex-direction:column;background:var(--ga-bg-glass);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px;transition:transform .2s var(--ga-spring),border-color .2s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.addon-card:hover{border-color:var(--ga-border-strong);transform:translateY(-2px)}.addon-card .head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.addon-card .icon-wrap{width:40px;height:40px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bone);font-family:var(--font-display);flex-shrink:0}.addon-card .meta{font-size:12px;color:var(--ga-text-dim)}.addon-card h3{margin:0;font-size:14px}.addon-card p{font-size:13px;color:var(--ga-text-dim);margin:6px 0 12px;flex:1}.addon-card .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.addon-settings{margin-top:12px;padding-top:12px;border-top:1px solid var(--ga-border)}.gaa-drop-zone{border:2px dashed var(--ga-border-strong);border-radius:14px;padding:24px;text-align:center;cursor:pointer;margin-bottom:14px;transition:border-color .2s,background .2s;background:#ffffff05}.gaa-drop-zone:hover,.gaa-drop-zone.drag-over{border-color:var(--ga-accent, #E8412A);background:#e8412a0f}.gaa-drop-icon{font-size:28px;margin-bottom:6px}.gaa-drop-text{font-size:13px;color:var(--ga-text-dim)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px;color:var(--ga-text-dim)}.empty .em-title{font-size:17px;color:var(--ga-text);font-weight:500}.empty .em-icon{font-size:36px;opacity:.6}.spinner{width:18px;height:18px;border:2px solid var(--ga-border);border-top-color:var(--ga-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner-stack{position:fixed;bottom:16px;right:16px;z-index:500;display:flex;flex-direction:column;gap:8px;max-width:420px}.banner{background:#140824f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--ga-border-strong);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;animation:banner-in .3s var(--ga-spring);box-shadow:var(--ga-shadow)}.banner.success{border-color:#7ce9a066}.banner.error{border-color:#ff7a8c66}@keyframes banner-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.cmd-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:600;animation:cmd-fade-in .2s ease-out}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-modal{background:var(--ga-bg-glass, rgba(20, 8, 36, .95));border:1px solid var(--ga-border-strong);border-radius:16px;width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000080;animation:cmd-scale-in .2s var(--ga-spring);overflow:hidden}@keyframes cmd-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cmd-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ga-border)}.cmd-title{font-family:var(--font-mono, monospace);font-size:16px;font-weight:700;color:var(--ga-accent, #E8412A)}.cmd-close{background:none;border:none;color:var(--ga-text-dim);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.cmd-close:hover{background:#ffffff14}.cmd-body{padding:20px;overflow-y:auto;flex:1}.cmd-loading{display:flex;align-items:center;gap:12px;color:var(--ga-text-dim);font-size:14px;justify-content:center;padding:24px 0}.cmd-error{color:var(--ga-error, #ff7a8c);font-size:14px;padding:8px 0}.cmd-kv-list{display:flex;flex-direction:column;gap:6px}.cmd-kv-row{display:flex;gap:12px;font-size:13px;line-height:1.5;padding:6px 10px;border-radius:8px;background:#ffffff08}.cmd-kv-row:nth-child(odd){background:#ffffff0f}.cmd-key{font-weight:600;color:var(--ga-accent-2, #C4DC3C);min-width:110px;flex-shrink:0;font-family:var(--font-mono, monospace);font-size:12px}.cmd-val{color:var(--ga-text);word-break:break-word;font-family:var(--font-mono, monospace);font-size:12px}.cmd-plain{font-family:var(--font-mono, monospace);font-size:13px;line-height:1.6;color:var(--ga-text)}.cmd-line{padding:3px 0}.cmd-empty{color:var(--ga-text-dim);font-size:13px;text-align:center;padding:24px 0}.md-preview{background:#0000002e;border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px 22px;overflow-y:auto;line-height:1.65;font-size:14px}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4{margin:14px 0 6px}.md-preview h1{font-size:22px;border-bottom:1px solid var(--ga-border);padding-bottom:6px}.md-preview h2{font-size:18px}.md-preview h3{font-size:16px}.md-preview h4{font-size:14px;color:var(--ga-text-dim)}.md-preview p{margin:6px 0}.md-preview ul,.md-preview ol{margin:6px 0;padding-left:22px}.md-preview blockquote{border-left:3px solid var(--ga-accent);padding:4px 12px;margin:8px 0;background:#ff7ad60f;border-radius:0 8px 8px 0;color:var(--ga-text-dim)}.md-preview code{font-family:var(--ga-font-mono);font-size:12.5px;background:#ffffff0f;padding:1px 6px;border-radius:4px}.md-preview pre{background:#0006;border:1px solid var(--ga-border);border-radius:10px;padding:12px 14px;overflow-x:auto}.md-preview pre code{background:transparent;padding:0}.md-preview a{color:var(--ga-accent-2)}.md-preview hr{border:0;height:1px;background:var(--ga-border);margin:16px 0}.md-preview img{max-width:100%;border-radius:8px}.md-preview table{border-collapse:collapse;margin:8px 0;width:100%}.md-preview th,.md-preview td{border:1px solid var(--ga-border);padding:6px 10px;text-align:left}.md-preview th{background:#ffffff08}.md-preview del{color:var(--ga-text-faint)}.apply-pill{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 18px;background:#140824eb;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--ga-border-strong);border-radius:999px;box-shadow:var(--ga-shadow);animation:pill-in .3s var(--ga-spring)}@keyframes pill-in{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.apply-pill .text{font-size:13px;color:var(--ga-text-dim)}.apply-pill .text strong{color:var(--ga-text)}.setup-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bone);padding:20px;z-index:500;overflow-y:auto}.setup-card{width:100%;max-width:720px;background:var(--bone2);border:1px solid var(--line);border-radius:18px;padding:36px 32px;box-shadow:var(--ga-shadow-soft)}.setup-stepper{display:flex;gap:4px;margin-bottom:22px}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.provider-card{position:relative;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bone);cursor:pointer;transition:border-color .15s,background .15s,transform .12s var(--ga-spring);display:flex;flex-direction:column;gap:4px}.provider-card:hover:not(.disabled){border-color:var(--ink);transform:translateY(-1px)}.provider-card.active{border-color:var(--accent);background:var(--bone2);box-shadow:inset 0 0 0 1px var(--accent)}.provider-card.disabled{opacity:.48;cursor:not-allowed}.provider-card .p-name{font-weight:600;font-family:var(--font-display)}.provider-card .p-hint{font-size:12px;color:var(--muted)}.provider-card .p-rec{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--font-mono);background:var(--accent2);color:var(--ink);padding:2px 6px;border-radius:4px}.provider-card .p-tag{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--font-mono);background:var(--line);color:var(--muted);padding:2px 6px;border-radius:4px}.tz-dropdown{position:relative}.tz-input{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bone);border:1px solid var(--line);border-radius:9px;cursor:pointer}.tz-input:hover{border-color:var(--ink)}.tz-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:320px;overflow-y:auto;background:var(--bone);border:1px solid var(--line);border-radius:9px;z-index:100;box-shadow:var(--ga-shadow)}.tz-group-label{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-family:var(--font-mono);background:var(--bone2);border-top:1px solid var(--line)}.tz-list .tz-group-label:first-child{border-top:none}.tz-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.tz-item:hover,.tz-item.focused{background:var(--bone2)}.tz-item.selected{background:var(--bone2);box-shadow:inset 2px 0 0 var(--accent)}.tz-item .tz-city{font-weight:500}.tz-item .tz-gmt{font-family:var(--font-mono);color:var(--muted);font-size:11px}.tournament-shell{display:flex;flex-direction:column;gap:16px;padding:12px 0}.tournament-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tournament-name-card{padding:28px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bone);font-family:var(--font-display);font-size:22px;font-weight:600;text-align:center;cursor:pointer;transition:border-color .15s,transform .12s var(--ga-spring),background .15s}.tournament-name-card:hover{border-color:var(--accent);background:var(--bone2);transform:scale(1.02)}.tournament-skip{text-align:center;color:var(--muted);font-size:13px;cursor:pointer;padding:8px}.tournament-skip:hover{color:var(--ink)}.tournament-progress{display:flex;gap:4px}.tournament-progress .dot{flex:1;height:3px;background:var(--line);border-radius:2px}.tournament-progress .dot.done{background:var(--accent2)}.tournament-progress .dot.active{background:var(--accent)}.age-slider-wrap{display:flex;flex-direction:column;gap:8px}.age-slider-value{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1}.age-slider-value .age-unit{font-size:14px;font-weight:400;color:var(--muted);font-family:var(--font-ui)}.age-slider-bounds{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.code-input{width:100%;text-align:center;font-family:var(--font-mono);font-size:22px;letter-spacing:.4em;padding:14px;background:var(--bone);border:1px solid var(--line);border-radius:10px;color:var(--ink)}.code-input:focus{border-color:var(--accent);outline:none}
|