Image-Text-to-Text
Transformers
Safetensors
gemma4
mergekit
Merge
roleplay
storytelling
conversational
Instructions to use Cyclone-Labs/Eon-Blossom-V2-31B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Cyclone-Labs/Eon-Blossom-V2-31B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Cyclone-Labs/Eon-Blossom-V2-31B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Cyclone-Labs/Eon-Blossom-V2-31B") model = AutoModelForMultimodalLM.from_pretrained("Cyclone-Labs/Eon-Blossom-V2-31B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Cyclone-Labs/Eon-Blossom-V2-31B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Cyclone-Labs/Eon-Blossom-V2-31B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Cyclone-Labs/Eon-Blossom-V2-31B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Cyclone-Labs/Eon-Blossom-V2-31B
- SGLang
How to use Cyclone-Labs/Eon-Blossom-V2-31B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Cyclone-Labs/Eon-Blossom-V2-31B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Cyclone-Labs/Eon-Blossom-V2-31B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Cyclone-Labs/Eon-Blossom-V2-31B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Cyclone-Labs/Eon-Blossom-V2-31B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Cyclone-Labs/Eon-Blossom-V2-31B with Docker Model Runner:
docker model run hf.co/Cyclone-Labs/Eon-Blossom-V2-31B
| base_model: | |
| - zerofata/G4-MeroMero-v2-31B | |
| - google/gemma-4-31B-it | |
| - LatitudeGames/Equinox-31B | |
| - ReadyArt/gemma-4-31B-it-scotoma-2 | |
| - Darkhn/Gemma-4-31B-Animus-V15.0 | |
| library_name: transformers | |
| tags: | |
| - mergekit | |
| - merge | |
| - roleplay | |
| - storytelling | |
| license: apache-2.0 | |
| <section class="card"> | |
| <figure class="hero"> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/6669a3a617b838fda45637b8/-pep4X4HpvPK2NUlnJ2wB.png" alt="Eon-Blossom-V2-31B artwork"> | |
| </figure> | |
| <div class="content"> | |
| <div class="depth depth-a" aria-hidden="true"></div> | |
| <div class="depth depth-b" aria-hidden="true"></div> | |
| <div class="depth depth-c" aria-hidden="true"></div> | |
| <div class="side side-left" aria-hidden="true"> | |
| <span></span> | |
| <span></span> | |
| <span></span> | |
| <span></span> | |
| </div> | |
| <div class="side side-right" aria-hidden="true"> | |
| <span></span> | |
| <span></span> | |
| <span></span> | |
| <span></span> | |
| </div> | |
| <header class="header"> | |
| <div class="header-line" aria-hidden="true"> | |
| <span></span> | |
| <i></i> | |
| <span></span> | |
| </div> | |
| <h1>Eon-Blossom-V2-31B</h1> | |
| <div class="title-rule" aria-hidden="true"> | |
| <span></span> | |
| <i></i> | |
| <span></span> | |
| </div> | |
| </header> | |
| <section class="panel panel-main"> | |
| <div class="panel-shell" aria-hidden="true"></div> | |
| <div class="panel-sheen" aria-hidden="true"></div> | |
| <div class="panel-header"> | |
| <div class="panel-mark" aria-hidden="true"> | |
| <span></span> | |
| <i></i> | |
| </div> | |
| <h2>Overview</h2> | |
| </div> | |
| <p class="text"> | |
| <strong>Eon-Blossom-V2-31B</strong> was created by combining | |
| <a href="https://huggingface.co/google/gemma-4-31B-it">gemma-4-31B-it</a>, | |
| <a href="https://huggingface.co/LatitudeGames/Equinox-31B">Equinox-31B</a>, | |
| <a href="https://huggingface.co/ReadyArt/gemma-4-31B-it-scotoma-2">gemma-4-31B-it-scotoma-2</a>, | |
| <a href="https://huggingface.co/zerofata/G4-MeroMero-v2-31B">G4-MeroMero-v2-31B</a>, | |
| and | |
| <a href="https://huggingface.co/Darkhn/Gemma-4-31B-Animus-V15.0">Gemma-4-31B-Animus-V15.0</a> | |
| using a custom merge method. | |
| </p> | |
| <details class="config"> | |
| <summary> | |
| <div class="config-title"> | |
| <span class="config-mark" aria-hidden="true"></span> | |
| <span>Merge Configuration</span> | |
| </div> | |
| <span class="config-eye" aria-hidden="true"> | |
| <b class="lid lid-top"></b> | |
| <b class="lid lid-bottom"></b> | |
| <i class="iris"></i> | |
| <em class="glint"></em> | |
| </span> | |
| </summary> | |
| <pre><code>base_model: google/gemma-4-31B-it | |
| models: | |
| - model: LatitudeGames/Equinox-31B | |
| - model: ReadyArt/gemma-4-31B-it-scotoma-2 | |
| - model: zerofata/G4-MeroMero-v2-31B | |
| - model: Darkhn/Gemma-4-31B-Animus-V15.0 | |
| merge_method: hasp | |
| chat_template: auto | |
| parameters: | |
| steps: 12 | |
| dtype: float32 | |
| out_dtype: bfloat16 | |
| tokenizer: | |
| source: union</code></pre> | |
| </details> | |
| </section> | |
| <section class="panel panel-use"> | |
| <div class="panel-shell" aria-hidden="true"></div> | |
| <div class="panel-sheen" aria-hidden="true"></div> | |
| <div class="panel-header"> | |
| <div class="panel-mark" aria-hidden="true"> | |
| <span></span> | |
| <i></i> | |
| </div> | |
| <h2>Intended Use</h2> | |
| </div> | |
| <div class="use-frame"> | |
| <div class="frame-line frame-top" aria-hidden="true"> | |
| <span class="frame-segment"></span> | |
| <span class="frame-mark"> | |
| <i></i> | |
| <b></b> | |
| <em></em> | |
| </span> | |
| <span class="frame-segment"></span> | |
| </div> | |
| <div class="frame-line frame-bottom" aria-hidden="true"> | |
| <span class="frame-segment"></span> | |
| <span class="frame-mark"> | |
| <i></i> | |
| <b></b> | |
| <em></em> | |
| </span> | |
| <span class="frame-segment"></span> | |
| </div> | |
| <div class="use-stack"> | |
| <article class="use-item"> | |
| <h3>Roleplay</h3> | |
| <p>Character-driven interaction, personas, dialogue, emotional scenes, and long-form roleplay.</p> | |
| </article> | |
| <article class="use-item"> | |
| <h3>Creative Writing</h3> | |
| <p>Fiction, dialogue, atmosphere, descriptive writing, stylistic drafting, and imaginative prose.</p> | |
| </article> | |
| <article class="use-item"> | |
| <h3>Storytelling</h3> | |
| <p>Long-form narratives, worldbuilding, continuity, evolving characters, and multi-character plots.</p> | |
| </article> | |
| <article class="use-item"> | |
| <h3>Interactive Fiction</h3> | |
| <p>Branching narratives, scenario play, character interaction, and continuously evolving stories.</p> | |
| </article> | |
| </div> | |
| </div> | |
| </section> | |
| <footer class="footer"> | |
| <div class="footer-line footer-line-left" aria-hidden="true"></div> | |
| <div class="footer-name">Cyclone Labs</div> | |
| <div class="footer-line footer-line-right" aria-hidden="true"></div> | |
| </footer> | |
| </div> | |
| </section> | |
| <style> | |
| .card, | |
| .card * { | |
| box-sizing: border-box; | |
| } | |
| .card { | |
| --line: rgba(189, 167, 203, 0.16); | |
| --text: #c7bccb; | |
| --text-soft: #a295a7; | |
| --head: #efe8f0; | |
| width: 100%; | |
| max-width: 1472px; | |
| margin: 48px auto; | |
| overflow: hidden; | |
| border: 1px solid rgba(171, 147, 184, 0.16); | |
| border-radius: 0; | |
| background: | |
| radial-gradient( | |
| ellipse at 50% 8%, | |
| rgba(140, 110, 160, 0.11), | |
| transparent 34% | |
| ), | |
| radial-gradient( | |
| ellipse at 15% 55%, | |
| rgba(80, 58, 97, 0.08), | |
| transparent 34% | |
| ), | |
| radial-gradient( | |
| ellipse at 85% 80%, | |
| rgba(84, 63, 102, 0.08), | |
| transparent 36% | |
| ), | |
| linear-gradient( | |
| 180deg, | |
| #050309 0%, | |
| #030205 46%, | |
| #020104 100% | |
| ); | |
| color: var(--text); | |
| font-family: | |
| "Palatino Linotype", | |
| "Book Antiqua", | |
| Palatino, | |
| Georgia, | |
| serif; | |
| } | |
| .hero { | |
| position: relative; | |
| z-index: 5; | |
| width: 100%; | |
| margin: 0; | |
| overflow: hidden; | |
| border-radius: 0; | |
| background: #010102; | |
| } | |
| .hero img { | |
| display: block; | |
| width: 100%; | |
| height: auto; | |
| margin: 0; | |
| border: 0; | |
| border-radius: 0; | |
| } | |
| .hero::after { | |
| content: ""; | |
| position: absolute; | |
| z-index: 2; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| height: 25%; | |
| pointer-events: none; | |
| background: | |
| linear-gradient( | |
| 180deg, | |
| transparent 0%, | |
| rgba(2, 1, 4, 0.12) 24%, | |
| rgba(2, 1, 4, 0.66) 76%, | |
| #030205 100% | |
| ); | |
| } | |
| .content { | |
| position: relative; | |
| padding: | |
| clamp(30px, 3.8vw, 56px) | |
| clamp(26px, 5vw, 76px) | |
| clamp(46px, 5vw, 76px); | |
| overflow: hidden; | |
| } | |
| .content::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 14px; | |
| pointer-events: none; | |
| border: | |
| 1px solid rgba(220, 206, 227, 0.03); | |
| border-radius: 0; | |
| } | |
| .depth { | |
| position: absolute; | |
| pointer-events: none; | |
| border-radius: 50%; | |
| } | |
| .depth-a { | |
| top: -210px; | |
| left: 16%; | |
| width: 68%; | |
| height: 520px; | |
| background: | |
| radial-gradient( | |
| ellipse at center, | |
| rgba(140, 108, 161, 0.08), | |
| transparent 70% | |
| ); | |
| } | |
| .depth-b { | |
| left: -240px; | |
| bottom: 130px; | |
| width: 560px; | |
| height: 560px; | |
| border: | |
| 1px solid rgba(151, 119, 170, 0.04); | |
| } | |
| .depth-c { | |
| right: -280px; | |
| top: 220px; | |
| width: 640px; | |
| height: 640px; | |
| border: | |
| 1px solid rgba(151, 119, 170, 0.035); | |
| } | |
| .side { | |
| position: absolute; | |
| top: 120px; | |
| bottom: 110px; | |
| width: 56px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: space-around; | |
| pointer-events: none; | |
| } | |
| .side-left { | |
| left: -9px; | |
| } | |
| .side-right { | |
| right: -9px; | |
| transform: | |
| scaleX(-1); | |
| } | |
| .side span { | |
| position: relative; | |
| width: 50px; | |
| height: 50px; | |
| opacity: 0.1; | |
| transform: | |
| rotate(14deg); | |
| } | |
| .side span::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 8px; | |
| border: | |
| 1px solid rgba(170, 147, 184, 0.26); | |
| border-radius: | |
| 50%; | |
| clip-path: | |
| polygon( | |
| 50% 0%, | |
| 68% 32%, | |
| 100% 50%, | |
| 68% 68%, | |
| 50% 100%, | |
| 32% 68%, | |
| 0% 50%, | |
| 32% 32% | |
| ); | |
| } | |
| .side span::after { | |
| content: ""; | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| width: 12px; | |
| height: 12px; | |
| transform: | |
| translate(-50%, -50%) | |
| rotate(45deg); | |
| border: | |
| 1px solid rgba(183, 161, 195, 0.32); | |
| background: | |
| #030205; | |
| } | |
| .side span:nth-child(2) { | |
| transform: | |
| translateX(8px) | |
| rotate(-12deg) | |
| scale(0.76); | |
| opacity: | |
| 0.07; | |
| } | |
| .side span:nth-child(3) { | |
| transform: | |
| translateX(-2px) | |
| rotate(19deg) | |
| scale(0.9); | |
| opacity: | |
| 0.085; | |
| } | |
| .side span:nth-child(4) { | |
| transform: | |
| translateX(10px) | |
| rotate(-7deg) | |
| scale(0.72); | |
| opacity: | |
| 0.06; | |
| } | |
| .header { | |
| position: relative; | |
| z-index: 2; | |
| text-align: center; | |
| padding: | |
| 6px 0 46px; | |
| } | |
| .header-line, | |
| .title-rule { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: | |
| min(700px, 78%); | |
| margin: | |
| 0 auto; | |
| } | |
| .header-line { | |
| margin-bottom: | |
| 22px; | |
| } | |
| .title-rule { | |
| margin-top: | |
| 18px; | |
| } | |
| .header-line span, | |
| .title-rule span { | |
| flex: 1; | |
| height: 1px; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| transparent, | |
| rgba(155, 126, 172, 0.14), | |
| rgba(205, 188, 214, 0.5) | |
| ); | |
| } | |
| .header-line span:last-child, | |
| .title-rule span:last-child { | |
| transform: | |
| scaleX(-1); | |
| } | |
| .header-line i, | |
| .title-rule i { | |
| width: 14px; | |
| height: 4px; | |
| margin: | |
| 0 12px; | |
| background: | |
| #030205; | |
| border: | |
| 1px solid rgba(185, 163, 198, 0.28); | |
| border-radius: 0; | |
| transform: | |
| skewX(-28deg); | |
| } | |
| .header h1 { | |
| position: relative; | |
| display: inline-block; | |
| margin: 0; | |
| padding: | |
| 8px 6px 10px; | |
| color: | |
| #f7f2f7; | |
| font-family: | |
| Baskerville, | |
| "Baskerville Old Face", | |
| Garamond, | |
| Georgia, | |
| serif; | |
| font-size: | |
| clamp(1.35rem, 2.7vw, 2.7rem); | |
| font-weight: | |
| 600; | |
| line-height: | |
| 1.04; | |
| letter-spacing: | |
| 0.045em; | |
| text-transform: | |
| uppercase; | |
| white-space: | |
| nowrap; | |
| } | |
| .header h1::before { | |
| content: ""; | |
| position: absolute; | |
| z-index: -1; | |
| top: 50%; | |
| left: 50%; | |
| width: 112%; | |
| height: 72px; | |
| transform: | |
| translate(-50%, -50%); | |
| border-radius: | |
| 50%; | |
| background: | |
| radial-gradient( | |
| ellipse at center, | |
| rgba(124, 94, 142, 0.12), | |
| rgba(30, 18, 38, 0.02) 56%, | |
| transparent 76% | |
| ); | |
| } | |
| @supports ((-webkit-background-clip: text) or (background-clip: text)) { | |
| .header h1 { | |
| background: | |
| linear-gradient( | |
| 180deg, | |
| #fcf9fc 0%, | |
| #ece3ee 24%, | |
| #cdbed2 49%, | |
| #9d879f 67%, | |
| #d9cddc 82%, | |
| #f7f2f7 100% | |
| ); | |
| -webkit-background-clip: | |
| text; | |
| background-clip: | |
| text; | |
| -webkit-text-fill-color: | |
| transparent; | |
| color: | |
| transparent; | |
| } | |
| } | |
| .panel { | |
| position: relative; | |
| z-index: 2; | |
| margin-bottom: | |
| 36px; | |
| overflow: | |
| hidden; | |
| border: | |
| 1px solid var(--line); | |
| border-radius: | |
| 0; | |
| background: | |
| radial-gradient( | |
| ellipse at 14% 0%, | |
| rgba(91, 63, 108, 0.1), | |
| transparent 40% | |
| ), | |
| linear-gradient( | |
| 180deg, | |
| rgba(10, 6, 14, 0.92), | |
| rgba(4, 2, 7, 0.98) | |
| ); | |
| box-shadow: | |
| inset 0 1px 0 rgba(255, 255, 255, 0.02), | |
| inset 0 -20px 40px rgba(0, 0, 0, 0.18), | |
| 0 12px 30px rgba(0, 0, 0, 0.22); | |
| } | |
| .panel-main, | |
| .panel-use { | |
| padding: | |
| clamp(28px, 3.8vw, 48px); | |
| border-radius: | |
| 0; | |
| } | |
| .panel-use { | |
| background: | |
| radial-gradient( | |
| ellipse at 50% 50%, | |
| rgba(20, 10, 28, 0.16), | |
| transparent 42% | |
| ), | |
| linear-gradient( | |
| 180deg, | |
| rgba(10, 6, 14, 0.94), | |
| rgba(4, 2, 7, 0.985) | |
| ); | |
| } | |
| .panel-shell { | |
| position: absolute; | |
| inset: | |
| 7px; | |
| border: | |
| 1px solid rgba(227, 217, 232, 0.03); | |
| border-radius: | |
| 0; | |
| pointer-events: | |
| none; | |
| } | |
| .panel-sheen { | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: | |
| none; | |
| background: | |
| linear-gradient( | |
| 135deg, | |
| rgba(255, 255, 255, 0.03), | |
| transparent 26% | |
| ), | |
| linear-gradient( | |
| 180deg, | |
| rgba(171, 143, 185, 0.04), | |
| transparent 30% | |
| ); | |
| } | |
| .panel-header { | |
| position: relative; | |
| z-index: 2; | |
| display: | |
| flex; | |
| align-items: | |
| center; | |
| gap: | |
| 14px; | |
| margin-bottom: | |
| 24px; | |
| } | |
| .panel-mark { | |
| position: relative; | |
| width: | |
| 20px; | |
| height: | |
| 28px; | |
| flex: | |
| 0 0 auto; | |
| } | |
| .panel-mark::before { | |
| content: ""; | |
| position: | |
| absolute; | |
| top: 0; | |
| left: 0; | |
| width: | |
| 2px; | |
| height: | |
| 28px; | |
| background: | |
| linear-gradient( | |
| 180deg, | |
| rgba(231, 219, 236, 0.58), | |
| rgba(122, 87, 138, 0.22) 58%, | |
| transparent | |
| ); | |
| } | |
| .panel-mark span { | |
| position: | |
| absolute; | |
| top: | |
| 7px; | |
| left: | |
| 7px; | |
| width: | |
| 14px; | |
| height: | |
| 1px; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| rgba(189, 166, 201, 0.48), | |
| transparent | |
| ); | |
| } | |
| .panel-mark i { | |
| position: | |
| absolute; | |
| top: | |
| 16px; | |
| left: | |
| 7px; | |
| width: | |
| 8px; | |
| height: | |
| 1px; | |
| background: | |
| rgba(127, 94, 143, 0.28); | |
| } | |
| .panel-header h2 { | |
| margin: | |
| 0; | |
| color: | |
| var(--head); | |
| font-family: | |
| Baskerville, | |
| "Baskerville Old Face", | |
| Garamond, | |
| Georgia, | |
| serif; | |
| font-size: | |
| clamp(1.2rem, 2vw, 1.82rem); | |
| font-weight: | |
| 600; | |
| line-height: | |
| 1; | |
| letter-spacing: | |
| 0.08em; | |
| text-transform: | |
| uppercase; | |
| } | |
| .text { | |
| position: | |
| relative; | |
| z-index: | |
| 2; | |
| margin: | |
| 0; | |
| color: | |
| var(--text); | |
| font-size: | |
| clamp(0.96rem, 1.08vw, 1.08rem); | |
| line-height: | |
| 1.78; | |
| } | |
| .text strong { | |
| color: | |
| #efe8f0; | |
| font-weight: | |
| 700; | |
| } | |
| .text a { | |
| color: | |
| #d3c6d6; | |
| text-decoration: | |
| none; | |
| border-bottom: | |
| 1px solid rgba(159, 128, 174, 0.28); | |
| transition: | |
| color 0.18s ease, | |
| border-color 0.18s ease; | |
| } | |
| .text a:hover { | |
| color: | |
| #fbf7fb; | |
| border-bottom-color: | |
| rgba(212, 194, 220, 0.56); | |
| } | |
| .config { | |
| position: | |
| relative; | |
| z-index: | |
| 2; | |
| width: | |
| min(820px, 100%); | |
| margin-top: | |
| 28px; | |
| overflow: | |
| hidden; | |
| border: | |
| 1px solid rgba(149, 118, 164, 0.18); | |
| border-radius: | |
| 0; | |
| background: | |
| linear-gradient( | |
| 180deg, | |
| rgba(7, 4, 10, 0.96), | |
| rgba(3, 2, 5, 0.99) | |
| ); | |
| box-shadow: | |
| inset 0 1px 0 rgba(255, 255, 255, 0.02); | |
| } | |
| .config summary { | |
| position: | |
| relative; | |
| display: | |
| flex; | |
| align-items: | |
| center; | |
| justify-content: | |
| space-between; | |
| min-height: | |
| 46px; | |
| padding: | |
| 9px 13px 9px 14px; | |
| list-style: | |
| none; | |
| cursor: | |
| pointer; | |
| border-left: | |
| 2px solid rgba(117, 83, 133, 0.68); | |
| border-radius: | |
| 0; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| rgba(64, 39, 75, 0.3), | |
| rgba(7, 4, 10, 0.98) 34%, | |
| rgba(3, 2, 5, 0.99) | |
| ); | |
| } | |
| .config summary::-webkit-details-marker { | |
| display: | |
| none; | |
| } | |
| .config summary::before { | |
| content: ""; | |
| position: | |
| absolute; | |
| top: | |
| 0; | |
| left: | |
| 0; | |
| width: | |
| 126px; | |
| height: | |
| 1px; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| rgba(198, 175, 210, 0.33), | |
| transparent | |
| ); | |
| } | |
| .config-title { | |
| display: | |
| flex; | |
| align-items: | |
| center; | |
| gap: | |
| 8px; | |
| color: | |
| #d8cedb; | |
| font-family: | |
| Baskerville, | |
| "Baskerville Old Face", | |
| Garamond, | |
| Georgia, | |
| serif; | |
| font-size: | |
| 0.84rem; | |
| font-weight: | |
| 600; | |
| letter-spacing: | |
| 0.065em; | |
| text-transform: | |
| uppercase; | |
| } | |
| .config-mark { | |
| width: | |
| 12px; | |
| height: | |
| 4px; | |
| transform: | |
| skewX(-28deg); | |
| border: | |
| 1px solid rgba(181, 158, 194, 0.28); | |
| border-radius: | |
| 0; | |
| background: | |
| #08040d; | |
| } | |
| .config-eye { | |
| position: | |
| relative; | |
| display: | |
| block; | |
| flex: | |
| 0 0 auto; | |
| width: | |
| 34px; | |
| height: | |
| 20px; | |
| margin-left: | |
| 14px; | |
| } | |
| .config-eye::before { | |
| content: ""; | |
| position: | |
| absolute; | |
| inset: | |
| 2px 0; | |
| border: | |
| 1px solid rgba(157, 127, 173, 0.25); | |
| border-radius: | |
| 999px; | |
| background: | |
| #020104; | |
| } | |
| .lid { | |
| position: | |
| absolute; | |
| z-index: | |
| 3; | |
| left: | |
| 1px; | |
| width: | |
| 32px; | |
| height: | |
| 10px; | |
| background: | |
| #07040c; | |
| transition: | |
| transform 0.24s ease; | |
| } | |
| .lid-top { | |
| top: | |
| 1px; | |
| transform: | |
| translateY(5px); | |
| border-bottom: | |
| 1px solid rgba(196, 172, 206, 0.48); | |
| border-radius: | |
| 50% 50% 18% 18%; | |
| } | |
| .lid-bottom { | |
| bottom: | |
| 1px; | |
| transform: | |
| translateY(-5px); | |
| border-top: | |
| 1px solid rgba(126, 92, 141, 0.46); | |
| border-radius: | |
| 18% 18% 50% 50%; | |
| } | |
| .iris { | |
| position: | |
| absolute; | |
| z-index: | |
| 1; | |
| top: | |
| 50%; | |
| left: | |
| 50%; | |
| width: | |
| 13px; | |
| height: | |
| 13px; | |
| transform: | |
| translate(-50%, -50%) | |
| scale(0.28); | |
| border: | |
| 1px solid rgba(182, 155, 194, 0.42); | |
| border-radius: | |
| 50%; | |
| background: | |
| radial-gradient( | |
| circle, | |
| #010102 0 32%, | |
| #34213e 34% 58%, | |
| #06030a 60% 100% | |
| ); | |
| opacity: | |
| 0; | |
| transition: | |
| transform 0.24s ease, | |
| opacity 0.18s ease; | |
| } | |
| .glint { | |
| position: | |
| absolute; | |
| z-index: | |
| 2; | |
| top: | |
| 50%; | |
| left: | |
| 50%; | |
| width: | |
| 3px; | |
| height: | |
| 3px; | |
| transform: | |
| translate(-50%, -50%); | |
| border-radius: | |
| 50%; | |
| background: | |
| rgba(234, 223, 238, 0.76); | |
| opacity: | |
| 0; | |
| transition: | |
| opacity 0.18s ease; | |
| } | |
| .config[open] .lid-top { | |
| transform: | |
| translateY(-6px) | |
| rotate(-5deg); | |
| } | |
| .config[open] .lid-bottom { | |
| transform: | |
| translateY(6px) | |
| rotate(5deg); | |
| } | |
| .config[open] .iris { | |
| transform: | |
| translate(-50%, -50%) | |
| scale(1); | |
| opacity: | |
| 1; | |
| } | |
| .config[open] .glint { | |
| opacity: | |
| 0.8; | |
| } | |
| .config pre { | |
| margin: | |
| 0; | |
| padding: | |
| 15px 17px 17px; | |
| overflow-x: | |
| auto; | |
| color: | |
| #b7acbb; | |
| font-family: | |
| Consolas, | |
| Monaco, | |
| "Lucida Console", | |
| monospace; | |
| font-size: | |
| clamp(0.74rem, 0.84vw, 0.83rem); | |
| line-height: | |
| 1.55; | |
| white-space: | |
| pre; | |
| border-top: | |
| 1px solid rgba(118, 84, 133, 0.12); | |
| border-left: | |
| 2px solid rgba(84, 56, 98, 0.22); | |
| border-radius: | |
| 0; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| #020104 0%, | |
| #060309 50%, | |
| #020104 100% | |
| ); | |
| } | |
| .config code { | |
| color: | |
| inherit; | |
| font-family: | |
| inherit; | |
| } | |
| .use-frame { | |
| position: | |
| relative; | |
| z-index: | |
| 2; | |
| width: | |
| min(980px, 100%); | |
| margin: | |
| 10px auto 0; | |
| padding: | |
| 40px 38px 36px; | |
| border-radius: | |
| 0; | |
| } | |
| .use-frame::before, | |
| .use-frame::after { | |
| content: ""; | |
| position: | |
| absolute; | |
| top: | |
| 16px; | |
| bottom: | |
| 16px; | |
| width: | |
| 1px; | |
| background: | |
| rgba(163, 138, 177, 0.24); | |
| pointer-events: | |
| none; | |
| } | |
| .use-frame::before { | |
| left: | |
| 0; | |
| } | |
| .use-frame::after { | |
| right: | |
| 0; | |
| } | |
| .frame-line { | |
| position: | |
| absolute; | |
| left: | |
| 0; | |
| right: | |
| 0; | |
| display: | |
| flex; | |
| align-items: | |
| center; | |
| gap: | |
| 16px; | |
| pointer-events: | |
| none; | |
| } | |
| .frame-top { | |
| top: | |
| 0; | |
| } | |
| .frame-bottom { | |
| bottom: | |
| 0; | |
| } | |
| .frame-segment { | |
| flex: | |
| 1; | |
| height: | |
| 1px; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| rgba(174, 151, 187, 0.24), | |
| rgba(208, 192, 216, 0.38), | |
| rgba(174, 151, 187, 0.24) | |
| ); | |
| } | |
| .frame-mark { | |
| position: | |
| relative; | |
| width: | |
| 28px; | |
| height: | |
| 18px; | |
| flex: | |
| 0 0 auto; | |
| } | |
| .frame-mark::before { | |
| content: ""; | |
| position: | |
| absolute; | |
| top: | |
| 50%; | |
| left: | |
| 50%; | |
| width: | |
| 16px; | |
| height: | |
| 16px; | |
| transform: | |
| translate(-50%, -50%) | |
| rotate(45deg); | |
| border: | |
| 1px solid rgba(189, 165, 201, 0.28); | |
| border-radius: | |
| 0; | |
| background: | |
| radial-gradient( | |
| circle, | |
| #020104 0 34%, | |
| rgba(48, 30, 59, 0.32) 36% 72%, | |
| #030105 74% 100% | |
| ); | |
| } | |
| .frame-mark i, | |
| .frame-mark b { | |
| position: | |
| absolute; | |
| top: | |
| 50%; | |
| width: | |
| 6px; | |
| height: | |
| 10px; | |
| margin-top: | |
| -5px; | |
| border: | |
| 1px solid rgba(152, 125, 165, 0.16); | |
| background: | |
| rgba(75, 48, 88, 0.08); | |
| } | |
| .frame-mark i { | |
| left: | |
| 2px; | |
| transform: | |
| rotate(-46deg); | |
| border-radius: | |
| 0; | |
| } | |
| .frame-mark b { | |
| right: | |
| 2px; | |
| transform: | |
| rotate(46deg); | |
| border-radius: | |
| 0; | |
| } | |
| .frame-mark em { | |
| position: | |
| absolute; | |
| top: | |
| 50%; | |
| left: | |
| 50%; | |
| width: | |
| 4px; | |
| height: | |
| 4px; | |
| margin: | |
| -2px 0 0 -2px; | |
| border-radius: | |
| 0; | |
| background: | |
| rgba(226, 214, 232, 0.64); | |
| opacity: | |
| 0.16; | |
| } | |
| .use-stack { | |
| position: | |
| relative; | |
| z-index: | |
| 2; | |
| } | |
| .use-item { | |
| position: | |
| relative; | |
| padding: | |
| 0 2px; | |
| border-radius: | |
| 0; | |
| } | |
| .use-item + .use-item { | |
| margin-top: | |
| 18px; | |
| padding-top: | |
| 18px; | |
| border-top: | |
| 1px solid rgba(158, 132, 172, 0.11); | |
| } | |
| .use-item h3 { | |
| margin: | |
| 0 0 8px; | |
| color: | |
| #e9e1eb; | |
| font-family: | |
| Baskerville, | |
| "Baskerville Old Face", | |
| Garamond, | |
| Georgia, | |
| serif; | |
| font-size: | |
| clamp(1.02rem, 1.2vw, 1.14rem); | |
| font-weight: | |
| 600; | |
| line-height: | |
| 1.2; | |
| letter-spacing: | |
| 0.022em; | |
| } | |
| .use-item p { | |
| margin: | |
| 0; | |
| color: | |
| var(--text-soft); | |
| font-size: | |
| clamp(0.92rem, 0.98vw, 0.98rem); | |
| line-height: | |
| 1.66; | |
| } | |
| .use-item:hover h3 { | |
| color: | |
| #f4eef5; | |
| } | |
| .footer { | |
| position: | |
| relative; | |
| z-index: | |
| 2; | |
| display: | |
| flex; | |
| align-items: | |
| center; | |
| justify-content: | |
| center; | |
| width: | |
| min(860px, 86%); | |
| min-height: | |
| 36px; | |
| margin: | |
| 42px auto 0; | |
| } | |
| .footer-name { | |
| flex: | |
| 0 0 auto; | |
| margin: | |
| 0 18px; | |
| color: | |
| rgba(196, 180, 205, 0.76); | |
| font-family: | |
| Baskerville, | |
| "Baskerville Old Face", | |
| Garamond, | |
| Georgia, | |
| serif; | |
| font-size: | |
| 0.74rem; | |
| font-weight: | |
| 600; | |
| letter-spacing: | |
| 0.26em; | |
| text-transform: | |
| uppercase; | |
| white-space: | |
| nowrap; | |
| } | |
| .footer-line { | |
| flex: | |
| 1; | |
| max-width: | |
| 280px; | |
| height: | |
| 1px; | |
| background: | |
| linear-gradient( | |
| 90deg, | |
| transparent, | |
| rgba(136, 104, 151, 0.28), | |
| rgba(200, 179, 210, 0.18) | |
| ); | |
| } | |
| .footer-line-right { | |
| transform: | |
| scaleX(-1); | |
| } | |
| @media (max-width: 760px) { | |
| .card { | |
| margin: | |
| 24px auto; | |
| } | |
| .content { | |
| padding: | |
| 26px 14px 40px; | |
| } | |
| .content::before { | |
| inset: | |
| 7px; | |
| } | |
| .side { | |
| display: | |
| none; | |
| } | |
| .header { | |
| padding: | |
| 4px 0 34px; | |
| } | |
| .header-line, | |
| .title-rule { | |
| width: | |
| 84%; | |
| } | |
| .header-line { | |
| margin-bottom: | |
| 16px; | |
| } | |
| .title-rule { | |
| margin-top: | |
| 14px; | |
| } | |
| .header h1 { | |
| font-size: | |
| clamp(1.08rem, 5vw, 1.56rem); | |
| letter-spacing: | |
| 0.016em; | |
| } | |
| .header h1::before { | |
| height: | |
| 46px; | |
| } | |
| .panel-main, | |
| .panel-use { | |
| padding: | |
| 24px 14px 26px; | |
| border-radius: | |
| 0; | |
| } | |
| .panel-shell { | |
| border-radius: | |
| 0; | |
| } | |
| .panel-header { | |
| gap: | |
| 10px; | |
| margin-bottom: | |
| 19px; | |
| } | |
| .panel-mark { | |
| width: | |
| 18px; | |
| height: | |
| 24px; | |
| } | |
| .panel-mark::before { | |
| height: | |
| 24px; | |
| } | |
| .panel-mark span { | |
| width: | |
| 12px; | |
| } | |
| .panel-mark i { | |
| width: | |
| 7px; | |
| } | |
| .panel-header h2 { | |
| font-size: | |
| 1.1rem; | |
| letter-spacing: | |
| 0.06em; | |
| } | |
| .text { | |
| font-size: | |
| 0.95rem; | |
| line-height: | |
| 1.68; | |
| } | |
| .config { | |
| width: | |
| 100%; | |
| margin-top: | |
| 22px; | |
| border-radius: | |
| 0; | |
| } | |
| .config summary { | |
| min-height: | |
| 42px; | |
| padding: | |
| 7px 10px 7px 11px; | |
| border-radius: | |
| 0; | |
| } | |
| .config-title { | |
| gap: | |
| 7px; | |
| font-size: | |
| 0.74rem; | |
| letter-spacing: | |
| 0.05em; | |
| } | |
| .config-eye { | |
| width: | |
| 31px; | |
| height: | |
| 18px; | |
| margin-left: | |
| 8px; | |
| } | |
| .lid { | |
| width: | |
| 29px; | |
| } | |
| .config pre { | |
| padding: | |
| 13px 11px 15px; | |
| font-size: | |
| 0.67rem; | |
| line-height: | |
| 1.5; | |
| border-radius: | |
| 0; | |
| } | |
| .use-frame { | |
| padding: | |
| 34px 16px 30px; | |
| border-radius: | |
| 0; | |
| } | |
| .frame-line { | |
| gap: | |
| 10px; | |
| } | |
| .use-item + .use-item { | |
| margin-top: | |
| 14px; | |
| padding-top: | |
| 14px; | |
| } | |
| .use-item h3 { | |
| font-size: | |
| 0.98rem; | |
| } | |
| .use-item p { | |
| font-size: | |
| 0.87rem; | |
| line-height: | |
| 1.54; | |
| } | |
| .footer { | |
| width: | |
| 96%; | |
| margin-top: | |
| 34px; | |
| } | |
| .footer-name { | |
| margin: | |
| 0 8px; | |
| font-size: | |
| 0.62rem; | |
| letter-spacing: | |
| 0.16em; | |
| } | |
| } | |
| </style> |