Spaces:
Running
Running
Download style.css from stable-ai/limix-studio: direct link, hf CLI and curl.
- Browser
- Download file 26.1 kB
-
https://huggingface.co/spaces/stable-ai/limix-studio/resolve/main/style.css
- Command line
-
hf download hf://spaces/stable-ai/limix-studio/style.css
-
curl -L -o style.css https://huggingface.co/spaces/stable-ai/limix-studio/resolve/main/style.css
26.1 kB
| /* LimiX Studio — deep immersive dark theme (DeepSeek-inspired) */ | |
| :root { | |
| --bg: #070b16; | |
| --bg2: #0a1020; | |
| --panel: rgba(255, 255, 255, .035); | |
| --panel2: rgba(255, 255, 255, .055); | |
| --line: rgba(255, 255, 255, .09); | |
| --line2: rgba(255, 255, 255, .14); | |
| --ink: #e9edf6; | |
| --ink2: #aab2c5; | |
| --mut: #6b7387; | |
| --blue: #6e8fe8; | |
| --blue-d: #4a6fd4; | |
| --blue-glow: rgba(110, 143, 232, .35); | |
| --ok: #2dd4a7; | |
| --warn: #f0b35c; | |
| --err: #ef6a6a; | |
| --ctx: rgba(110, 143, 232, .55); | |
| --qry: rgba(45, 212, 167, .55); | |
| --r: 16px; | |
| } | |
| * { box-sizing: border-box; margin: 0; padding: 0; } | |
| html { scroll-behavior: smooth; } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", "Microsoft YaHei", sans-serif; | |
| background: var(--bg); color: var(--ink); line-height: 1.65; | |
| -webkit-font-smoothing: antialiased; overflow-x: hidden; | |
| } | |
| .hidden { display: none ; } | |
| a { color: var(--blue); text-decoration: none; } | |
| ::selection { background: rgba(110, 143, 232, .3); } | |
| /* ---------- animated causal-network background ---------- */ | |
| #bg { | |
| position: fixed; inset: 0; z-index: 0; pointer-events: none; | |
| transition: opacity .8s ease; opacity: 1; | |
| } | |
| body.working #bg { opacity: .38; } | |
| main, .nav, .ft { position: relative; z-index: 1; } | |
| /* ---------- nav ---------- */ | |
| .nav { | |
| position: sticky; top: 0; z-index: 40; | |
| background: rgba(7, 11, 22, .72); backdrop-filter: blur(16px); | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .nav-in { max-width: 1240px; margin: 0 auto; padding: 0 24px; height: 54px; display: flex; align-items: center; justify-content: space-between; } | |
| .brand { display: flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 800; font-size: 17px; } | |
| .brand em { font-style: normal; font-weight: 500; color: var(--mut); } | |
| .bm { width: 22px; height: 22px; color: var(--blue); } | |
| img.bm { object-fit: contain; filter: brightness(1.55) saturate(1.1); } /* official mark lifted for dark bg */ | |
| /* ---------- inference progress ---------- */ | |
| .prog { margin-top: 14px; border: 1px solid var(--line); border-radius: 11px; padding: 12px 14px; background: var(--panel); } | |
| .prog-stage { font-size: 12.5px; font-weight: 600; color: var(--ink2); margin-bottom: 8px; } | |
| .prog-bar { height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; } | |
| #prog-fill { | |
| height: 100%; width: 0%; border-radius: 99px; | |
| background: linear-gradient(90deg, var(--blue-d), var(--blue) 60%, #3ec6b8); | |
| box-shadow: 0 0 12px rgba(110, 143, 232, .6); | |
| transition: width .18s ease-out; | |
| } | |
| .prog-meta { display: flex; justify-content: space-between; margin-top: 7px; font-size: 11px; color: var(--mut); font-variant-numeric: tabular-nums; } | |
| .nav-r { display: flex; align-items: center; gap: 18px; } | |
| .nav-r a { color: var(--ink2); font-size: 13.5px; font-weight: 600; } | |
| .nav-r a:hover { color: var(--blue); } | |
| .st { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--mut); } | |
| .st b { white-space: nowrap; } | |
| .st i { width: 8px; height: 8px; border-radius: 50%; background: var(--warn); animation: pl 1.2s infinite; box-shadow: 0 0 8px currentColor; } | |
| .st.ready i { background: var(--ok); animation: none; } | |
| .st.error i { background: var(--err); animation: none; } | |
| @keyframes pl { 50% { opacity: .3; } } | |
| /* ---------- landing scroll morph ---------- */ | |
| #landing { height: 150vh; position: relative; z-index: 1; } | |
| .lv-sticky { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; } | |
| .hero { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 24px; will-change: opacity, transform; } | |
| .finale { | |
| position: absolute; inset: 0; display: flex; flex-direction: column; | |
| align-items: center; justify-content: flex-end; padding: 0 24px 7vh; | |
| opacity: 0; pointer-events: none; will-change: opacity, transform; | |
| text-align: center; | |
| } | |
| .fin-tag { | |
| font-size: clamp(18px, 2.6vw, 26px); font-weight: 700; letter-spacing: 1px; | |
| color: var(--ink); text-shadow: 0 0 40px rgba(110, 143, 232, .35); | |
| } | |
| .cta2 { | |
| margin-top: 18px; padding: 12px 34px; border: 1.5px solid rgba(110, 143, 232, .5); | |
| border-radius: 14px; cursor: pointer; font-size: 15px; font-weight: 700; color: #fff; | |
| background: linear-gradient(135deg, var(--blue-d), #5a82e8); | |
| box-shadow: 0 8px 30px rgba(74, 111, 212, .4); transition: all .2s; | |
| } | |
| .cta2:hover { transform: translateY(-2px); box-shadow: 0 12px 38px rgba(74, 111, 212, .55); } | |
| .scroll-cue { margin-top: 44px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--mut); font-size: 12px; letter-spacing: 2px; } | |
| .scroll-cue i { width: 1px; height: 34px; background: linear-gradient(180deg, var(--blue), transparent); display: block; animation: cue 1.8s ease-in-out infinite; } | |
| @keyframes cue { 0% { transform: scaleY(.2); transform-origin: top; opacity: 0; } 45% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } } | |
| .finale .edu { margin-top: 5vh; width: min(860px, 100%); } | |
| .finale .edu-card { backdrop-filter: none; } /* avoid compositing jank during scroll morph */ | |
| /* history item delete button */ | |
| .he-del { | |
| border: none; background: none; color: var(--mut); cursor: pointer; | |
| font-size: 12px; padding: 2px 5px; flex-shrink: 0; opacity: 0; transition: opacity .13s; | |
| } | |
| .he:hover .he-del { opacity: 1; } | |
| .he-del:hover { color: var(--err); } | |
| /* ---------- hero ---------- */ | |
| .hero-in { text-align: center; max-width: 860px; } | |
| .kicker { | |
| display: inline-block; font-size: 12.5px; letter-spacing: 2.5px; font-weight: 600; | |
| color: var(--blue); border: 1px solid rgba(110, 143, 232, .35); border-radius: 99px; | |
| padding: 6px 18px; background: rgba(110, 143, 232, .07); | |
| text-shadow: 0 0 18px var(--blue-glow); | |
| max-width: 100%; text-align: center; | |
| } | |
| .hero h1 { | |
| margin-top: 26px; font-size: clamp(38px, 6.4vw, 66px); font-weight: 800; | |
| letter-spacing: 1px; line-height: 1.25; | |
| text-shadow: 0 0 60px rgba(110, 143, 232, .25); | |
| } | |
| .grad { | |
| background: linear-gradient(115deg, #9db8ff 0%, #6e8fe8 45%, #3ec6b8 100%); | |
| -webkit-background-clip: text; background-clip: text; color: transparent; | |
| } | |
| .sub { margin-top: 20px; color: var(--ink2); font-size: 16.5px; line-height: 2; } | |
| .cta-row { margin-top: 36px; display: flex; justify-content: center; } | |
| .drop { | |
| position: relative; overflow: hidden; | |
| display: flex; flex-direction: column; align-items: center; gap: 4px; | |
| padding: 26px 54px; cursor: pointer; border-radius: 20px; | |
| min-width: min(420px, 100%); /* zh/en keep the same box size */ | |
| border: 1.5px solid rgba(110, 143, 232, .4); | |
| background: linear-gradient(180deg, rgba(110, 143, 232, .13), rgba(110, 143, 232, .04)); | |
| box-shadow: 0 0 44px rgba(110, 143, 232, .14), inset 0 0 30px rgba(110, 143, 232, .05); | |
| transition: all .2s; | |
| animation: dropBreath 3.8s ease-in-out infinite; | |
| } | |
| .drop:hover, .drop.ov { | |
| border-color: var(--blue); transform: translateY(-2px); | |
| box-shadow: 0 0 60px rgba(110, 143, 232, .3), inset 0 0 34px rgba(110, 143, 232, .1); | |
| } | |
| .drop:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-color: var(--blue); } | |
| /* travelling sheen — signals "this is the entry point" without screaming */ | |
| .drop::after { | |
| content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; | |
| background: linear-gradient(112deg, transparent 34%, rgba(170, 196, 255, .16) 50%, transparent 66%); | |
| transform: translateX(-130%); | |
| animation: dropSheen 5.4s ease-in-out infinite; | |
| } | |
| @keyframes dropBreath { | |
| 0%, 100% { | |
| border-color: rgba(110, 143, 232, .38); | |
| box-shadow: 0 0 44px rgba(110, 143, 232, .14), inset 0 0 30px rgba(110, 143, 232, .05); | |
| } | |
| 50% { | |
| border-color: rgba(140, 170, 240, .78); | |
| box-shadow: 0 0 64px rgba(110, 143, 232, .34), inset 0 0 38px rgba(110, 143, 232, .11); | |
| } | |
| } | |
| @keyframes dropSheen { | |
| 0%, 52% { transform: translateX(-130%); } | |
| 88%, 100% { transform: translateX(130%); } | |
| } | |
| /* stronger pulse when the finale CTA sends the user back up here */ | |
| .drop.attn { animation: dropAttn 1.15s ease-in-out 2; } | |
| @keyframes dropAttn { | |
| 50% { | |
| border-color: #9db8ff; | |
| box-shadow: 0 0 78px rgba(110, 143, 232, .55), inset 0 0 46px rgba(110, 143, 232, .2); | |
| } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| .drop, .drop::after, .drop.attn { animation: none; } | |
| } | |
| .drop svg { width: 26px; height: 26px; color: var(--blue); } | |
| .drop span { font-size: 16px; font-weight: 700; margin-top: 6px; } | |
| .drop small { font-size: 12px; color: var(--mut); } | |
| .ex-row { margin-top: 24px; font-size: 13px; color: var(--mut); display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; align-items: center; } | |
| .ex { | |
| border: 1px solid var(--line2); background: var(--panel); border-radius: 99px; | |
| padding: 6px 15px; font-size: 13px; font-weight: 600; color: var(--ink2); cursor: pointer; transition: all .15s; | |
| } | |
| .ex:hover { border-color: var(--blue); color: var(--blue); background: rgba(110, 143, 232, .1); } | |
| /* ---------- education cards ---------- */ | |
| .edu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 58px; text-align: left; } | |
| .edu-card { | |
| border: 1px solid var(--line); border-radius: var(--r); padding: 20px 22px; | |
| background: var(--panel); backdrop-filter: blur(8px); transition: all .2s; | |
| } | |
| .edu-card:hover { border-color: rgba(110, 143, 232, .4); background: var(--panel2); transform: translateY(-3px); } | |
| .ei { font-size: 22px; } | |
| .edu-card h3 { font-size: 15px; font-weight: 700; margin: 8px 0 6px; } | |
| .edu-card p { font-size: 13px; color: var(--mut); line-height: 1.75; } | |
| /* ---------- workbench ---------- */ | |
| .work { max-width: 1240px; margin: 0 auto; padding: 26px 24px 80px; } | |
| .work-grid { display: grid; grid-template-columns: 372px 1fr; gap: 22px; align-items: start; } | |
| @media (max-width: 980px) { .work-grid { grid-template-columns: 1fr; } } | |
| .panel { | |
| border: 1px solid var(--line); border-radius: var(--r); | |
| background: rgba(10, 16, 32, .82); backdrop-filter: blur(14px); | |
| padding: 20px; position: sticky; top: 76px; | |
| } | |
| .p-title { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; color: var(--mut); margin-bottom: 10px; } | |
| .p-title.mt { margin-top: 22px; } | |
| /* chips */ | |
| .chip { | |
| display: flex; align-items: center; gap: 9px; padding: 9px 12px; | |
| border: 1px solid var(--line); border-radius: 11px; background: var(--panel); font-size: 13px; | |
| } | |
| .chip + .chip { margin-top: 8px; } | |
| .ci { font-size: 11px; font-weight: 700; color: var(--blue); background: rgba(110, 143, 232, .13); padding: 2px 9px; border-radius: 99px; flex-shrink: 0; } | |
| .ci.q { color: var(--ok); background: rgba(45, 212, 167, .12); } | |
| .cn { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | |
| .cm { color: var(--mut); font-size: 11.5px; margin-left: auto; white-space: nowrap; } | |
| .cx { border: none; background: none; color: var(--mut); cursor: pointer; font-size: 13px; padding: 2px 4px; flex-shrink: 0; } | |
| .cx:hover { color: var(--err); } | |
| .linklike { | |
| border: 1px dashed rgba(110, 143, 232, .4); background: none; color: var(--blue); | |
| font-size: 12.5px; font-weight: 600; border-radius: 10px; padding: 8px 12px; | |
| cursor: pointer; width: 100%; margin-top: 8px; transition: background .15s; | |
| } | |
| .linklike:hover { background: rgba(110, 143, 232, .1); } | |
| .note { margin-top: 10px; font-size: 12px; color: var(--mut); background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; line-height: 1.7; } | |
| .note b { color: var(--ink2); } | |
| /* preview */ | |
| .pv { margin-top: 12px; } | |
| .pv summary { font-size: 13px; font-weight: 600; cursor: pointer; user-select: none; color: var(--ink2); } | |
| .lg { font-size: 11px; font-weight: 500; color: var(--mut); margin-left: 8px; } | |
| .lg i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin: 0 4px 0 10px; vertical-align: -1px; } | |
| .lg i.a { background: var(--ctx); margin-left: 8px; } | |
| .lg i.b { background: var(--qry); } | |
| .ts { overflow: auto; border: 1px solid var(--line); border-radius: 10px; max-height: 240px; margin-top: 8px; } | |
| .ts.tall { max-height: 380px; } | |
| table { border-collapse: collapse; width: 100%; font-size: 12px; white-space: nowrap; } | |
| thead th { | |
| position: sticky; top: 0; background: #10182e; color: var(--mut); font-weight: 600; | |
| text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--line); z-index: 1; | |
| } | |
| tbody td { padding: 5px 10px; border-bottom: 1px solid rgba(255, 255, 255, .04); color: var(--ink2); font-variant-numeric: tabular-nums; } | |
| tbody tr.rctx td:first-child { box-shadow: inset 3px 0 0 var(--ctx); } | |
| tbody tr.rqry td:first-child { box-shadow: inset 3px 0 0 var(--qry); } | |
| td.imp { background: rgba(45, 212, 167, .13); color: var(--ok); font-weight: 600; } | |
| /* sliders / controls */ | |
| .split { margin-top: 14px; } | |
| .split label { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 600; color: var(--ink2); } | |
| .split output { color: var(--blue); font-weight: 700; } | |
| input[type=range] { width: 100%; margin-top: 6px; accent-color: var(--blue); } | |
| .sm { font-size: 11.5px; color: var(--mut); margin-top: 4px; line-height: 1.6; } | |
| .tsel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; } | |
| .tb { | |
| border: 1.5px solid var(--line); background: var(--panel); border-radius: 11px; | |
| padding: 10px 4px; cursor: pointer; font-size: 13px; font-weight: 700; color: var(--ink2); transition: all .13s; | |
| } | |
| .tb:hover { border-color: rgba(110, 143, 232, .5); } | |
| .tb.active { border-color: var(--blue); background: rgba(110, 143, 232, .14); color: var(--blue); box-shadow: 0 0 18px rgba(110, 143, 232, .12); } | |
| .tdesc { font-size: 11.5px; color: var(--mut); margin-top: 8px; } | |
| .badge { display: inline-block; font-size: 11.5px; font-weight: 700; color: var(--ok); background: rgba(45, 212, 167, .1); border: 1px solid rgba(45, 212, 167, .35); padding: 2px 10px; border-radius: 99px; margin-top: 8px; } | |
| /* advisory: the user's task choice cannot run on the chosen target column */ | |
| .twarn { | |
| margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; | |
| font-size: 11.5px; line-height: 1.5; color: var(--warn); | |
| background: rgba(240, 179, 92, .09); border: 1px solid rgba(240, 179, 92, .32); | |
| border-radius: 10px; padding: 7px 10px; | |
| } | |
| .twarn-fix { | |
| flex-shrink: 0; border: 1px solid rgba(240, 179, 92, .5); background: rgba(240, 179, 92, .12); | |
| color: var(--warn); border-radius: 8px; padding: 2px 9px; font-size: 11px; font-weight: 700; | |
| cursor: pointer; transition: all .15s; | |
| } | |
| .twarn-fix:hover { background: rgba(240, 179, 92, .22); } | |
| /* result card produced with settings other than the current panel state */ | |
| .rc-stale { | |
| font-size: 10.5px; font-weight: 700; color: var(--warn); white-space: nowrap; | |
| border: 1px solid rgba(240, 179, 92, .42); background: rgba(240, 179, 92, .1); | |
| border-radius: 99px; padding: 1px 8px; margin-left: 6px; flex-shrink: 0; | |
| } | |
| .frow { display: grid; grid-template-columns: 52px 1fr; gap: 8px; align-items: center; margin-top: 14px; } | |
| .frow label { font-size: 12.5px; font-weight: 600; color: var(--ink2); } | |
| .sel { padding: 8px 11px; font-size: 13px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--bg2); color: var(--ink); outline: none; } | |
| /* imputation has no target column: show why instead of an empty selector */ | |
| .tnote { | |
| margin-top: 10px; font-size: 11.5px; line-height: 1.55; color: var(--mut); | |
| border: 1px dashed var(--line2); border-radius: 10px; padding: 7px 10px; | |
| } | |
| .sel:focus { border-color: var(--blue); } | |
| .run { | |
| width: 100%; margin-top: 18px; padding: 12px; border: none; border-radius: 12px; | |
| background: linear-gradient(135deg, var(--blue-d), #5a82e8); color: #fff; | |
| font-size: 15px; font-weight: 700; cursor: pointer; | |
| box-shadow: 0 6px 24px rgba(74, 111, 212, .35); transition: all .15s; | |
| } | |
| .run:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 10px 30px rgba(74, 111, 212, .5); } | |
| .run:disabled { opacity: .4; cursor: not-allowed; box-shadow: none; } | |
| .rh { font-size: 11px; color: var(--mut); margin-top: 9px; text-align: center; } | |
| /* ---------- run history ---------- */ | |
| .h-empty { | |
| border: 1px dashed var(--line2); border-radius: var(--r); padding: 60px 30px; | |
| text-align: center; color: var(--ink2); | |
| } | |
| .he-icon { font-size: 26px; color: var(--blue); text-shadow: 0 0 24px var(--blue-glow); margin-bottom: 12px; } | |
| .he-sub { font-size: 13px; color: var(--mut); margin-top: 6px; } | |
| .run-card { | |
| border: 1px solid var(--line); border-radius: var(--r); | |
| background: rgba(10, 16, 32, .82); backdrop-filter: blur(14px); | |
| margin-bottom: 18px; overflow: hidden; | |
| animation: rise .45s ease both; | |
| } | |
| @keyframes rise { from { opacity: 0; transform: translateY(14px); } } | |
| .rc-head { display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-bottom: 1px solid var(--line); cursor: pointer; user-select: none; } | |
| .rc-head:hover { background: var(--panel); } | |
| .rc-no { | |
| font-size: 11px; font-weight: 800; color: var(--blue); background: rgba(110, 143, 232, .13); | |
| border-radius: 8px; padding: 3px 9px; flex-shrink: 0; | |
| } | |
| .rc-title { font-size: 14px; font-weight: 700; } | |
| .rc-meta { font-size: 11.5px; color: var(--mut); margin-left: auto; white-space: nowrap; } | |
| .rc-fold { color: var(--mut); font-size: 12px; transition: transform .2s; flex-shrink: 0; } | |
| .run-card.closed .rc-fold { transform: rotate(-90deg); } | |
| .rc-body { padding: 16px 18px; } | |
| .run-card.closed .rc-body { display: none; } | |
| .mrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 9px; } | |
| .mc { background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 10px 13px; } | |
| .mc .l { font-size: 11px; color: var(--mut); font-weight: 600; } | |
| .mc .v { font-size: 21px; font-weight: 800; color: var(--ink); margin-top: 1px; font-variant-numeric: tabular-nums; } | |
| .mc .v.hl { color: var(--blue); text-shadow: 0 0 18px var(--blue-glow); } | |
| .cgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; margin-top: 10px; } | |
| .cb { border: 1px solid var(--line); border-radius: 11px; padding: 12px 13px; background: var(--panel); } | |
| .cb h4 { font-size: 12.5px; font-weight: 700; color: var(--ink2); margin-bottom: 6px; } | |
| .cb svg { width: 100%; height: auto; display: block; } | |
| .cb p { font-size: 12px; color: var(--mut); } | |
| .cb { max-height: 380px; overflow: auto; } | |
| .cb-cell { display: flex; flex-direction: column; min-width: 0; } | |
| .cn-note { font-size: 11px; color: var(--mut); margin-top: 5px; line-height: 1.5; } | |
| /* ---------- collapsible result tables ---------- */ | |
| .tbl { | |
| margin-top: 14px; border: 1px solid var(--line); border-radius: 11px; | |
| background: var(--panel); overflow: hidden; | |
| } | |
| .tbl > summary { | |
| display: flex; align-items: center; gap: 8px; | |
| padding: 10px 14px; cursor: pointer; user-select: none; | |
| font-size: 13px; font-weight: 700; color: var(--ink2); | |
| list-style: none; | |
| } | |
| .tbl > summary::-webkit-details-marker { display: none; } | |
| .tbl > summary:hover { background: var(--panel2); } | |
| .tbl-arrow { | |
| flex-shrink: 0; width: 0; height: 0; | |
| border-left: 5px solid var(--mut); border-top: 4px solid transparent; border-bottom: 4px solid transparent; | |
| transition: transform .18s ease; | |
| } | |
| .tbl[open] > summary .tbl-arrow { transform: rotate(90deg); } | |
| .tbl-meta { margin-left: auto; font-size: 11.5px; font-weight: 500; color: var(--mut); font-variant-numeric: tabular-nums; } | |
| .tbl-head { | |
| display: flex; align-items: center; gap: 8px; padding: 10px 14px; | |
| font-size: 13px; font-weight: 700; color: var(--ink2); | |
| } | |
| .tbl .ph { padding: 0 14px; margin: 6px 0 8px; } | |
| .tbl .ts { max-height: 320px; margin: 0 14px 14px; } | |
| .tbl.open .ts { max-height: 260px; } | |
| td.rown, th.rown { color: var(--mut); font-weight: 600; text-align: right; width: 1%; white-space: nowrap; } | |
| /* ---------- column picker (bounded-width matrix inspection) ---------- */ | |
| .colpick { padding: 4px 14px 10px; } | |
| .cp-hint { font-size: 11.5px; color: var(--mut); margin-bottom: 8px; } | |
| .cp-chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 116px; overflow: auto; } | |
| .cp-chip { | |
| max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; | |
| border: 1px solid var(--line2); background: transparent; color: var(--ink2); | |
| border-radius: 99px; padding: 4px 11px; font-size: 12px; font-weight: 600; cursor: pointer; | |
| transition: all .13s; | |
| } | |
| .cp-chip:hover { border-color: var(--blue); color: var(--blue); } | |
| .cp-chip.on { background: rgba(110, 143, 232, .16); border-color: var(--blue); color: var(--blue); } | |
| /* layout safety: no child may ever widen the card or the page */ | |
| .run-card, .rc-body, .tbl, .cb-cell, .cgrid > * { min-width: 0; max-width: 100%; } | |
| .ts { width: 100%; } | |
| .ts table { width: max-content; min-width: 100%; } | |
| .hint { | |
| display: flex; gap: 9px; align-items: flex-start; margin-top: 12px; | |
| font-size: 12.5px; color: var(--ink2); | |
| border: 1px solid rgba(110, 143, 232, .28); border-radius: 11px; | |
| background: rgba(110, 143, 232, .07); padding: 10px 13px; line-height: 1.7; | |
| } | |
| .hint .hi { color: var(--blue); flex-shrink: 0; } | |
| .ph { display: flex; justify-content: space-between; align-items: center; margin: 14px 0 8px; } | |
| .ph h3 { font-size: 13px; font-weight: 700; color: var(--ink2); } | |
| .lk { border: 1px solid var(--line2); background: none; border-radius: 8px; padding: 4px 12px; font-size: 12px; font-weight: 600; color: var(--blue); cursor: pointer; } | |
| .lk:hover { background: rgba(110, 143, 232, .12); } | |
| /* ---------- footer / toast ---------- */ | |
| .ft { border-top: 1px solid var(--line); padding: 22px; text-align: center; font-size: 12.5px; color: var(--mut); background: rgba(7, 11, 22, .6); } | |
| .toast { | |
| position: fixed; left: 50%; bottom: 30px; transform: translateX(-50%); z-index: 90; max-width: 82vw; | |
| background: #1a2440; border: 1px solid var(--line2); color: var(--ink); | |
| font-size: 13.5px; padding: 11px 18px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .5); | |
| } | |
| .toast.error { background: #3a1620; border-color: rgba(239, 106, 106, .4); } | |
| /* ---------- lang toggle (DeepSeek-style) ---------- */ | |
| .lang-btn { | |
| display: inline-flex; align-items: center; gap: 6px; | |
| border: 1px solid var(--line2); background: var(--panel); color: var(--ink2); | |
| border-radius: 99px; padding: 5px 13px; font-size: 12.5px; font-weight: 700; | |
| cursor: pointer; transition: all .15s; | |
| min-width: 74px; justify-content: center; /* "EN" / "中文" — nav never shifts */ | |
| } | |
| .lang-btn:hover { border-color: var(--blue); color: var(--blue); } | |
| .lg-ic { width: 15px; height: 15px; } | |
| /* ---------- history panel ---------- */ | |
| .hist-wrap { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 4px; } | |
| .hist-note { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; color: var(--mut); line-height: 1.5; } | |
| .hist-restore { | |
| flex-shrink: 0; border: 1px solid var(--line2); background: var(--panel); color: var(--ink2); | |
| border-radius: 8px; padding: 2px 9px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all .15s; | |
| } | |
| .hist-restore:hover { border-color: var(--blue); color: var(--blue); } | |
| .hist-count { font-size: 11px; color: var(--mut); font-weight: 500; margin-left: 4px; } | |
| .hist-clear { | |
| float: right; border: none; background: none; color: var(--mut); | |
| font-size: 11px; cursor: pointer; padding: 1px 4px; | |
| } | |
| .hist-clear:hover { color: var(--err); } | |
| .he { | |
| display: flex; gap: 9px; align-items: center; padding: 8px 10px; margin-top: 6px; | |
| border: 1px solid var(--line); border-radius: 10px; background: var(--panel); | |
| cursor: pointer; transition: all .13s; | |
| } | |
| .he:hover { border-color: rgba(110, 143, 232, .45); background: var(--panel2); } | |
| .he-no { | |
| font-size: 10.5px; font-weight: 800; color: var(--blue); | |
| background: rgba(110, 143, 232, .13); border-radius: 7px; padding: 2px 7px; flex-shrink: 0; | |
| } | |
| .he-info { min-width: 0; } | |
| .he-info b { display: block; font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } | |
| .he-info small { display: block; font-size: 11px; color: var(--mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } | |
| .he-kv { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--ok); flex-shrink: 0; } | |
| /* ---------- recent (hero) ---------- */ | |
| .recent { margin-top: 26px; } | |
| .recent-t { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; color: var(--mut); margin-bottom: 10px; } | |
| #recent-list { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; } | |
| .rc-chip { | |
| display: inline-flex; align-items: center; gap: 7px; | |
| border: 1px solid var(--line2); background: var(--panel); border-radius: 99px; | |
| padding: 6px 14px; font-size: 12.5px; color: var(--ink2); cursor: pointer; transition: all .15s; | |
| } | |
| .rc-chip:hover { border-color: var(--blue); color: var(--blue); background: rgba(110, 143, 232, .1); } | |
| .rc-chip b { color: var(--blue); font-weight: 700; } | |
| @media (max-width: 640px) { | |
| .hero { padding: 0 18px; } | |
| .hero h1 { font-size: clamp(32px, 9vw, 44px); } | |
| .sub { font-size: 14.5px; } | |
| .kicker { font-size: 11px; letter-spacing: 1.6px; padding: 5px 14px; } | |
| .cta-row { margin-top: 26px; } | |
| .drop { padding: 20px 24px; min-width: 100%; } | |
| .drop span { font-size: 15px; } | |
| .drop small { font-size: 11.5px; } | |
| .ex-row { margin-top: 18px; } | |
| .scroll-cue { margin-top: 26px; } | |
| /* finale: bounded height so the wordmark never floats over the copy */ | |
| .finale { padding: 0 18px 4.5vh; } | |
| .fin-tag { font-size: 17px; letter-spacing: .5px; } | |
| .cta2 { margin-top: 12px; padding: 10px 24px; font-size: 14px; } | |
| .finale .edu { | |
| margin-top: 3vh; display: flex; gap: 10px; overflow-x: auto; | |
| scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: none; | |
| } | |
| .finale .edu::-webkit-scrollbar { display: none; } | |
| .finale .edu-card { min-width: 80%; scroll-snap-align: center; padding: 14px 16px; } | |
| .finale .edu-card p { font-size: 12.5px; } | |
| .edu { grid-template-columns: 1fr; margin-top: 40px; } | |
| .panel { position: static; } | |
| .cm { display: none; } | |
| } | |
| /* landscape phones / very short viewports: drop the cards entirely */ | |
| @media (max-height: 560px) and (max-width: 900px) { | |
| .finale .edu { display: none; } | |
| .fin-tag { font-size: 15px; } | |
| } | |