|
|
| @import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700;900&family=Spectral:ital,wght@0,400;0,600;1,400&family=JetBrains+Mono:wght@500&display=swap'); |
|
|
| |
| .gradio-container { position: relative; } |
| .gradio-container::before { |
| content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; |
| background: |
| url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='130'%3E%3Cpolygon points='46,10 80,122 12,122' fill='%23040a09'/%3E%3C/svg%3E") repeat-x left bottom, |
| url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='96'%3E%3Cpolygon points='36,8 62,90 10,90' fill='%23081411'/%3E%3C/svg%3E") repeat-x 34px bottom, |
| radial-gradient(1200px 700px at 78% -8%, rgba(58,140,98,.20), transparent 60%), |
| radial-gradient(900px 600px at 8% 108%, rgba(28,86,72,.28), transparent 60%), |
| radial-gradient(1400px 900px at 50% 120%, rgba(0,0,0,.45), transparent 55%), |
| linear-gradient(168deg, #0c1512 0%, #0a120f 45%, #060c0b 100%); |
| background-size: 92px 130px, 72px 96px, auto, auto, auto, auto; } |
| .gradio-container::after { |
| content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity:.5; |
| background-image: |
| radial-gradient(rgba(190,255,210,.55) 1px, transparent 1.8px), |
| radial-gradient(rgba(160,230,255,.40) 1px, transparent 1.8px); |
| background-size: 120px 120px, 200px 180px; background-position: 0 0, 60px 90px; |
| animation: fireflies 26s linear infinite; } |
| @keyframes fireflies { from { background-position: 0 0, 60px 90px; } |
| to { background-position: 80px 260px, -120px -200px; } } |
|
|
| |
| .hero-wrap { margin:0 0 8px; border-radius:14px; border:1px solid rgba(150,210,180,.14); |
| background:rgba(8,16,14,.55); overflow:hidden; } |
| .hero-wrap summary { list-style:none; cursor:pointer; padding:10px 16px; display:flex; |
| align-items:center; justify-content:space-between; gap:12px; |
| font-family:'Cinzel Decorative',serif; font-size:15px; color:#d8f0e0; user-select:none; } |
| .hero-wrap summary::-webkit-details-marker { display:none; } |
| .hero-wrap summary .hero-toggle { font-family:'Spectral',serif; font-size:11px; opacity:.65; |
| letter-spacing:.4px; text-transform:uppercase; } |
| .hero-wrap:not([open]) summary { margin:0; } |
| .hero { text-align:center; padding: 4px 16px 12px; } |
| .hero h1 { font-family:'Cinzel Decorative', serif !important; font-weight:900; |
| font-size: clamp(30px, 5vw, 52px); letter-spacing:1px; margin:0; line-height:1.05; |
| background: linear-gradient(180deg, #f4e7b8 0%, #c9e7c2 55%, #7fc79a 100%); |
| -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; |
| text-shadow: 0 0 36px rgba(170,255,200,.18); } |
| .hero p { font-family:'Spectral', serif; font-style:italic; opacity:.86; margin:6px auto 0; |
| max-width: 720px; font-size: 15px; } |
|
|
| |
| .trail { display:flex; align-items:center; justify-content:space-between; gap:2px; margin: 4px 0 12px; } |
| .trail .node { display:flex; flex-direction:column; align-items:center; gap:4px; flex:0 0 auto; } |
| .trail .orb { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:18px; |
| border:1px solid rgba(150,210,180,.35); background:rgba(255,255,255,.05); transition:all .4s ease; } |
| .trail .lbl { font-size:9.5px; letter-spacing:.6px; text-transform:uppercase; opacity:.55; } |
| .trail .seg { flex:1 1 auto; height:2px; border-radius:2px; background:rgba(150,210,180,.18); } |
| .trail .seg.done { background:linear-gradient(90deg,#7fe0a8,#3f9d76); } |
| .trail .node.done .orb { background:rgba(127,224,168,.16); border-color:#7fe0a8; |
| box-shadow:0 0 12px rgba(127,224,168,.4); } |
| .trail .node.done .lbl { opacity:.85; } |
| .trail .node.current .orb { border-color:#ffe08a; |
| box-shadow:0 0 0 3px rgba(255,224,138,.18),0 0 22px rgba(255,224,138,.55); |
| animation: pulse 2.4s ease-in-out infinite; } |
| .trail .node.current .lbl { opacity:1; color:#ffe9ad; } |
| .trail .node.locked .orb { opacity:.4; filter:grayscale(.6); } |
| @keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} } |
|
|
| |
| .atmo { position:relative; overflow:hidden; border-radius:16px; padding:18px 20px; margin-bottom:12px; |
| color:var(--fg); background:linear-gradient(160deg, var(--bg1), var(--bg2)); |
| border:1px solid rgba(255,255,255,.07); |
| transition:background 1.2s ease,color 1.2s ease; box-shadow:inset 0 0 70px rgba(0,0,0,.30); } |
| .atmo h3 { margin:2px 0; font-family:'Cinzel Decorative',serif; font-weight:700; font-size:19px; color:var(--fg); } |
| .atmo .lvl-no { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; opacity:.72; } |
| .atmo .atmo-blurb { margin:8px 0 0; opacity:.94; font-family:'Spectral',serif; font-style:italic; line-height:1.45; } |
| .atmo code { background:rgba(255,255,255,.18); padding:1px 6px; border-radius:6px; |
| font-family:'JetBrains Mono',monospace; } |
| .atmo.level-1 { --bg1:#bdeccb; --bg2:#6fbf8f; --fg:#16331f; } |
| .atmo.level-2 { --bg1:#7fc79e; --bg2:#388f6c; --fg:#0c2a1a; } |
| .atmo.level-3 { --bg1:#3f8472; --bg2:#205645; --fg:#e9f6ed; } |
| .atmo.level-4 { --bg1:#274e49; --bg2:#123433; --fg:#dcefe9; } |
| .atmo.level-5 { --bg1:#161f30; --bg2:#080c18; --fg:#cdd6ee; } |
| .atmo-spores { position:absolute; inset:0; pointer-events:none; opacity:.40; |
| background-image:radial-gradient(rgba(255,255,255,.6) 1px, transparent 1.6px); background-size:40px 40px; |
| animation:drift 18s linear infinite; } |
| @keyframes drift { from{background-position:0 0} to{background-position:42px 140px} } |
| .atmo.flash-block { animation:shake .45s ease; } |
| .hud-wrap.flash-block .atmo { animation:shake .45s ease; } |
| @keyframes shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-6px)} 40%{transform:translateX(6px)} |
| 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} } |
| .atmo.flash-win { animation:glow 1.4s ease; } |
| .hud-wrap.flash-win .atmo { animation:glow 1.4s ease; } |
| @keyframes glow { 0%{box-shadow:inset 0 0 70px rgba(0,0,0,.30)} |
| 50%{box-shadow:0 0 48px 12px rgba(255,214,102,.85),inset 0 0 70px rgba(0,0,0,.30)} |
| 100%{box-shadow:inset 0 0 70px rgba(0,0,0,.30)} } |
|
|
| |
| .shields { margin: 0 0 12px; } |
| .shields .cap { font-size:11px; letter-spacing:2px; text-transform:uppercase; opacity:.55; margin-bottom:6px; } |
| .shields .row { display:flex; flex-direction:column; gap:6px; } |
| .chip { display:flex; align-items:center; gap:8px; font-size:13px; padding:7px 11px; border-radius:10px; |
| border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.035); } |
| .chip.on { border-color:rgba(127,224,168,.5); background:rgba(127,224,168,.10); |
| box-shadow:0 0 14px rgba(127,224,168,.18); } |
| .chip.on .dot { background:#7fe0a8; box-shadow:0 0 8px #7fe0a8; } |
| .chip .dot { width:8px; height:8px; border-radius:50%; background:#5a6b63; flex:0 0 auto; } |
| .chip.off { opacity:.5; } |
| .chip .nm { font-weight:600; } .chip .ds { opacity:.7; font-size:11.5px; } |
|
|
| |
| .meter { border-radius:12px; padding:12px 14px; background:rgba(255,255,255,.04); |
| border:1px solid rgba(255,255,255,.09); } |
| .meter .top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; } |
| .meter .top .t { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; opacity:.6; } |
| .meter .top .v { font-family:'JetBrains Mono',monospace; font-size:15px; } |
| .meter .top .v b { color:#ffe08a; } |
| .meter .bar { height:9px; border-radius:99px; background:rgba(0,0,0,.35); overflow:hidden; } |
| .meter .fill { height:100%; border-radius:99px; transition:width .5s ease; |
| background:linear-gradient(90deg,#7fe0a8,#ffe08a); } |
| .meter .fill.over { background:linear-gradient(90deg,#ffb061,#ff6b6b); } |
| .meter .sub { font-size:11px; opacity:.6; margin-top:6px; } |
|
|
| |
| .portrait { text-align:center; margin: 2px 0 14px; position:relative; } |
| .portrait .frame { position:relative; width:128px; height:128px; margin:0 auto; border-radius:50%; |
| display:grid; place-items:center; overflow:hidden; transition: all .6s ease; |
| background: radial-gradient(circle at 50% 36%, var(--p2), var(--p1) 76%); |
| border:2px solid var(--pborder); box-shadow: 0 0 28px var(--pglow), inset 0 0 32px rgba(0,0,0,.45); } |
| .portrait .creature { font-size:62px; line-height:1; position:relative; z-index:2; |
| filter: drop-shadow(0 3px 8px rgba(0,0,0,.5)); animation: floaty 4.5s ease-in-out infinite; } |
| @keyframes floaty { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-7px) rotate(1deg)} } |
| .portrait .aura { position:absolute; inset:-18%; border-radius:50%; pointer-events:none; z-index:1; |
| background: radial-gradient(circle, var(--pglow), transparent 64%); animation: breathe 5s ease-in-out infinite; } |
| @keyframes breathe { 0%,100%{opacity:.35; transform:scale(.95)} 50%{opacity:.7; transform:scale(1.08)} } |
| .portrait .rings { position:absolute; inset:0; border-radius:50%; pointer-events:none; |
| box-shadow: inset 0 0 0 6px rgba(255,255,255,.05), inset 0 0 0 13px rgba(255,255,255,.03); } |
| .portrait .p-name { margin-top:8px; font-family:'Cinzel Decorative',serif; font-size:14px; letter-spacing:.5px; |
| color: var(--pborder); text-shadow: 0 0 14px var(--pglow); } |
| .p-lvl1 .frame { --p1:#2c6b45; --p2:#9be8b6; --pborder:#cdeccb; --pglow:rgba(150,240,180,.55); } |
| .p-lvl2 .frame { --p1:#1f5238; --p2:#6fc79a; --pborder:#aee0c2; --pglow:rgba(110,200,150,.5); } |
| .p-lvl3 .frame { --p1:#123a30; --p2:#3f8472; --pborder:#8fd8c4; --pglow:rgba(80,185,150,.5); } |
| .p-lvl4 .frame { --p1:#0c2624; --p2:#2b524c; --pborder:#a6dbd2; --pglow:rgba(95,165,155,.45); } |
| .p-lvl5 .frame { --p1:#070b16; --p2:#2a2150; --pborder:#c2b3ff; --pglow:rgba(150,120,255,.55); } |
| .portrait.mood-block .frame { border-color:#ff7a7a; |
| box-shadow:0 0 34px rgba(255,90,90,.7), inset 0 0 30px rgba(0,0,0,.5); animation: pshake .5s ease; } |
| @keyframes pshake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-7px)} 75%{transform:translateX(7px)} } |
| .portrait.mood-block .creature { animation: floaty 4.5s ease-in-out infinite, angry .5s ease; } |
| @keyframes angry { 0%,100%{filter:none} 50%{filter:hue-rotate(-35deg) brightness(1.25)} } |
| .portrait.mood-win .frame { border-color:#ffe08a; |
| box-shadow:0 0 48px 8px rgba(255,214,102,.85), inset 0 0 30px rgba(0,0,0,.4); animation: pwin 1.3s ease; } |
| @keyframes pwin { 0%{transform:scale(1)} 40%{transform:scale(1.12)} 100%{transform:scale(1)} } |
|
|
| |
| .atmo::after { content:""; position:absolute; inset:0; border-radius:16px; pointer-events:none; opacity:0; |
| background: repeating-linear-gradient(0deg, rgba(0,0,0,.20) 0 1px, transparent 1px 3px); |
| mix-blend-mode:overlay; transition:opacity 1.2s ease; } |
| .atmo.level-3::after { opacity:.22; } |
| .atmo.level-4::after { opacity:.4; } |
| .atmo.level-5::after { opacity:.62; animation: scanflick 3.2s steps(2) infinite; } |
| @keyframes scanflick { 0%,100%{opacity:.5} 50%{opacity:.78} } |
| .atmo.level-4 h3, .atmo.level-5 h3 { position:relative; |
| text-shadow: 1.4px 0 rgba(255,40,80,.55), -1.4px 0 rgba(40,200,255,.55); } |
| .atmo.level-5 h3 { animation: glitchtext 3s infinite; } |
| @keyframes glitchtext { 0%,90%,100%{transform:translate(0)} 92%{transform:translate(-2px,1px)} |
| 94%{transform:translate(2px,-1px)} 96%{transform:translate(-1px,0)} } |
| .p-lvl5 .frame { border-style:double; } |
| .p-lvl5 .creature { animation: floaty 4.5s ease-in-out infinite, pglitch 4.4s steps(2) infinite; } |
| @keyframes pglitch { 0%,88%,100%{filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))} |
| 90%{filter:drop-shadow(2px 0 rgba(255,0,80,.6)) drop-shadow(-2px 0 rgba(0,200,255,.6))} } |
| .p-lvl5 .p-name { animation: chipflick 5s steps(3) infinite; } |
| @keyframes chipflick { 0%,96%,100%{opacity:1} 97%{opacity:.55} 98%{opacity:.85} } |
|
|
| |
| .gradio-container .tabitem { animation: tabfade .38s ease; } |
| @keyframes tabfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } } |
|
|
| |
| #dojo-confetti { position:fixed; inset:0; pointer-events:none; z-index:9999; overflow:hidden; } |
| .confetti-bit { position:absolute; top:-12px; width:8px; height:12px; opacity:.9; |
| animation: confall var(--dur,2.8s) ease-in forwards; } |
| @keyframes confall { |
| 0% { transform:translateY(0) rotate(0deg); opacity:1; } |
| 100% { transform:translateY(110vh) rotate(720deg); opacity:0; } } |
|
|
| |
| footer, .gradio-footer { display:none !important; } |
| .gradio-container { min-height:100vh; max-width:100% !important; width:100% !important; |
| padding:8px clamp(10px,2.5vw,28px) 28px !important; } |
| .gradio-container .tabs { border:none !important; background:transparent !important; } |
| .gradio-container .tab-nav { gap:6px; border-bottom:1px solid rgba(150,210,180,.14) !important; |
| padding-bottom:6px; margin-bottom:10px; } |
| .gradio-container .tab-nav button { font-family:'Cinzel Decorative',serif !important; font-size:13px !important; |
| letter-spacing:.4px; border-radius:10px 10px 0 0 !important; border:1px solid transparent !important; |
| background:rgba(255,255,255,.03) !important; color:rgba(230,245,235,.82) !important; } |
| .gradio-container .tab-nav button.selected { border-color:rgba(127,224,168,.45) !important; |
| background:rgba(127,224,168,.10) !important; color:#e8fff0 !important; |
| box-shadow:0 -2px 18px rgba(127,224,168,.12); } |
| .game-row { align-items:stretch !important; gap:clamp(10px,2vw,22px) !important; } |
|
|
| |
| .guardian-chat { min-height:min(62vh, 520px); border-radius:18px !important; |
| border:1px solid rgba(150,210,180,.16) !important; |
| background:linear-gradient(180deg, rgba(8,16,14,.72), rgba(4,10,9,.88)) !important; |
| box-shadow:inset 0 0 40px rgba(0,0,0,.35), 0 10px 30px rgba(0,0,0,.25) !important; } |
| .guardian-chat .message-wrap, .guardian-chat .message-row { padding:4px 10px !important; } |
| .guardian-chat .message { font-family:'Spectral',serif !important; font-size:15px !important; |
| line-height:1.5 !important; border-radius:14px !important; padding:12px 14px !important; |
| border:1px solid rgba(255,255,255,.08) !important; max-width:92% !important; } |
| .guardian-chat .user, .guardian-chat .message.user, .guardian-chat [data-testid="user"] .message { |
| margin-left:auto !important; background:linear-gradient(135deg, rgba(56,120,92,.55), rgba(28,74,58,.75)) !important; |
| border-color:rgba(127,224,168,.35) !important; color:#e8fff0 !important; } |
| .guardian-chat .bot, .guardian-chat .message.bot, .guardian-chat [data-testid="bot"] .message { |
| margin-right:auto !important; background:linear-gradient(135deg, rgba(22,34,48,.75), rgba(12,20,30,.9)) !important; |
| border-color:rgba(180,200,255,.18) !important; color:#dde8f0 !important; } |
| .guardian-chat .avatar-container { display:none !important; } |
| .stirring { display:flex; align-items:flex-start; gap:10px; opacity:.9; font-family:'Spectral',serif; |
| animation: stir 1.4s ease-in-out infinite; } |
| .stirring .spinner { width:16px; height:16px; margin-top:3px; flex:0 0 auto; border-radius:50%; |
| border:2px solid rgba(127,224,168,.25); border-top-color:#7fe0a8; animation: spin .9s linear infinite; } |
| @keyframes spin { to { transform:rotate(360deg); } } |
| .stirring .cold-hint { display:block; margin-top:6px; font-size:12px; opacity:.72; font-style:normal; |
| letter-spacing:.2px; } |
| @keyframes stir { 0%,100%{opacity:.45} 50%{opacity:.95} } |
| .gradio-container .message-row.bot-row .message:has(.sysblock), |
| .sysblock { font-family:'Spectral',serif; border-style:dashed !important; |
| background:rgba(255,200,120,.08) !important; border-color:rgba(255,200,120,.35) !important; } |
|
|
| |
| #send-btn, #guess-btn { font-weight:600; letter-spacing:.3px; } |
| #send-btn { background:linear-gradient(180deg,#5ecf96,#2f8f66) !important; border:none !important; } |
| #guess-btn { background:linear-gradient(180deg,#4a5568,#2d3748) !important; |
| border:1px solid rgba(255,255,255,.12) !important; } |
| .gradio-container input, .gradio-container textarea { |
| background:rgba(255,255,255,.05) !important; border:1px solid rgba(150,210,180,.22) !important; |
| border-radius:12px !important; color:#e8f2ec !important; } |
| .gradio-container input:focus, .gradio-container textarea:focus { |
| border-color:rgba(127,224,168,.55) !important; box-shadow:0 0 0 2px rgba(127,224,168,.15) !important; } |
| .win-banner { font-family:'Spectral',serif; } |
|
|
| |
| .hud-wrap.level-shift .trail, .hud-wrap.level-shift .atmo, .hud-wrap.level-shift .portrait { |
| animation: levelshift 1.1s ease; } |
| @keyframes levelshift { |
| 0% { transform:translateY(10px); opacity:.35; filter:blur(1.5px); } |
| 100% { transform:translateY(0); opacity:1; filter:none; } } |
| .status-chip { display:inline-block; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; |
| padding:4px 10px; border-radius:999px; margin-bottom:10px; } |
| .status-chip.live { color:#b8f5d0; background:rgba(127,224,168,.12); border:1px solid rgba(127,224,168,.4); } |
| .status-chip.demo { color:#ffd9a8; background:rgba(255,200,120,.10); border:1px solid rgba(255,200,120,.35); } |
| #send-btn:disabled, #cs-send-btn:disabled { opacity:.45 !important; cursor:not-allowed !important; } |
|
|
| |
| @media (max-width: 860px) { |
| .trail .orb { width:30px; height:30px; font-size:14px; } |
| .trail .lbl { font-size:8px; } |
| .guardian-chat { min-height:48vh; } |
| .hero h1 { font-size: clamp(24px, 8vw, 36px); } |
| .hero p { font-size:13px; } |
| } |
|
|
| #game-result { min-height:24px; } |
| #game-result .scorecard { animation: scorepop .55s ease; } |
| @keyframes scorepop { 0% { transform:scale(.88); opacity:.2; } 100% { transform:scale(1); opacity:1; } } |
| .gradio-container .dataframe { border-radius:12px !important; overflow:hidden; |
| border:1px solid rgba(150,210,180,.16) !important; } |
|
|
| |
| .scorecard { max-width:330px; margin:10px auto; border-radius:18px; padding:20px; text-align:center; |
| color:#f3f7f3; background:linear-gradient(158deg, var(--sc1), var(--sc2)); |
| border:1px solid rgba(255,255,255,.16); box-shadow:0 12px 42px rgba(0,0,0,.5); font-family:'Spectral',serif; } |
| .scorecard .sc-emoji { font-size:46px; line-height:1; } |
| .scorecard .sc-name { font-family:'Cinzel Decorative',serif; font-size:20px; margin:4px 0 10px; } |
| .scorecard .sc-badge { display:inline-block; font-size:11px; letter-spacing:1.5px; padding:4px 12px; |
| border-radius:999px; background:rgba(255,224,138,.18); border:1px solid rgba(255,224,138,.5); color:#ffe9ad; } |
| .scorecard .sc-stats { display:flex; justify-content:center; gap:22px; margin:14px 0 4px; font-size:16px; } |
| .scorecard .sc-stats b { color:#ffe08a; } |
| .scorecard .sc-foot { font-size:11px; opacity:.7; margin-top:8px; } |
| .sc-lvl1 { --sc1:#2c6b45; --sc2:#16331f; } .sc-lvl2 { --sc1:#1f5238; --sc2:#0c2a1a; } |
| .sc-lvl3 { --sc1:#1c4a3e; --sc2:#0d2722; } .sc-lvl4 { --sc1:#1d3c39; --sc2:#0c1f1e; } |
| .sc-lvl5 { --sc1:#241d44; --sc2:#0a0e1c; } |
|
|
| @media (prefers-reduced-motion: reduce) { |
| .gradio-container::after, .atmo-spores, .atmo.flash-block, .atmo.flash-win, |
| .trail .node.current .orb, .portrait .creature, .portrait .aura, |
| .portrait.mood-block .frame, .portrait.mood-win .frame, |
| .atmo.level-5::after, .atmo.level-5 h3, .p-lvl5 .creature, .p-lvl5 .p-name, |
| .stirring .spinner, .hud-wrap.level-shift .trail, .hud-wrap.level-shift .atmo, |
| .hud-wrap.level-shift .portrait, .gradio-container .tabitem, |
| .confetti-bit, #game-result .scorecard { animation:none !important; } } |
|
|
| body { margin:0; background:#060c0b; color:#e2efe8; font-family:'Spectral',serif; } |
| #app { min-height:100vh; padding:8px clamp(10px,2.5vw,28px) 28px; } |
| .tabs { display:flex; gap:6px; border-bottom:1px solid rgba(150,210,180,.14); padding-bottom:6px; margin-bottom:10px; } |
| .tab-btn { font-family:'Cinzel Decorative',serif; font-size:13px; padding:8px 14px; border-radius:10px 10px 0 0; |
| border:1px solid transparent; background:rgba(255,255,255,.03); color:rgba(230,245,235,.82); cursor:pointer; } |
| .tab-btn.active { border-color:rgba(127,224,168,.45); background:rgba(127,224,168,.10); color:#e8fff0; } |
| .tab-panel { display:none; } .tab-panel.active { display:block; } |
| .game-row { display:grid; grid-template-columns:minmax(260px,2fr) minmax(300px,3fr); gap:clamp(10px,2vw,22px); } |
| @media (max-width:860px){ .game-row{ grid-template-columns:1fr; } } |
| .chat-log { min-height:min(62vh,520px); max-height:62vh; overflow-y:auto; border-radius:18px; |
| border:1px solid rgba(150,210,180,.16); background:linear-gradient(180deg,rgba(8,16,14,.72),rgba(4,10,9,.88)); |
| padding:10px; box-shadow:inset 0 0 40px rgba(0,0,0,.35); } |
| .chat-msg { margin:8px 0; padding:12px 14px; border-radius:14px; max-width:92%; line-height:1.5; font-size:15px; } |
| .chat-msg.user { margin-left:auto; background:linear-gradient(135deg,rgba(56,120,92,.55),rgba(28,74,58,.75)); |
| border:1px solid rgba(127,224,168,.35); } |
| .chat-msg.bot { margin-right:auto; background:linear-gradient(135deg,rgba(22,34,48,.75),rgba(12,20,30,.9)); |
| border:1px solid rgba(180,200,255,.18); } |
| .input-row { display:flex; gap:8px; margin-top:10px; } |
| .input-row input, .input-row textarea { flex:1; padding:10px 12px; border-radius:12px; |
| background:rgba(255,255,255,.05); border:1px solid rgba(150,210,180,.22); color:#e8f2ec; } |
| .btn { padding:10px 16px; border-radius:12px; border:none; cursor:pointer; font-weight:600; } |
| .btn-primary { background:linear-gradient(180deg,#5ecf96,#2f8f66); color:#f3fff7; } |
| .btn-secondary { background:linear-gradient(180deg,#4a5568,#2d3748); color:#dcefe4; border:1px solid rgba(255,255,255,.12); } |
| .btn-sm { font-size:12px; padding:6px 10px; } |
| .model-row { margin:10px 0; display:flex; gap:14px; flex-wrap:wrap; } |
| .model-row label { display:flex; align-items:center; gap:6px; cursor:pointer; } |
| #result-area { min-height:24px; margin-top:10px; } |
| .demo-banner { background:rgba(255,200,120,.12); border:1px solid rgba(255,200,120,.35); padding:10px 14px; |
| border-radius:12px; margin-bottom:10px; font-size:14px; } |
| .lb-table { width:100%; border-collapse:collapse; border-radius:12px; overflow:hidden; } |
| .lb-table th, .lb-table td { padding:10px 12px; border-bottom:1px solid rgba(150,210,180,.12); text-align:left; } |
| .lb-table th { font-size:11px; letter-spacing:1px; text-transform:uppercase; opacity:.7; } |
|
|