// Rôle : contient les styles spécifiques à la page d'accueil. @use "mixins"; .hero, .game-hero, .page-hero { position: relative; isolation: isolate; display: grid; min-height: 360px; align-items: end; gap: var(--space-6); overflow: hidden; border: 1px solid transparent; border-radius: var(--radius-xl); background: var(--gradient-nebula), radial-gradient(circle at 86% 18%, rgba(246, 196, 83, 0.1), transparent 28%), linear-gradient(135deg, rgba(16, 20, 38, 0.98), rgba(5, 7, 17, 0.96)); box-shadow: var(--shadow-md); padding: var(--space-10); } .hero::before, .game-hero::before, .page-hero::before { content: ""; position: absolute; inset: 0; z-index: 2; padding: 1px; border-radius: inherit; background: radial-gradient(circle at 100% 0%, rgba(246, 196, 83, 0.5), transparent 26%), linear-gradient(135deg, rgba(246, 196, 83, 0.38), rgba(139, 92, 246, 0.22) 48%, rgba(196, 181, 253, 0.3)); @include mixins.border-mask; pointer-events: none; } .hero::after, .game-hero::after, .page-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(135deg, rgba(5, 7, 17, 0.1), rgba(5, 7, 17, 0.52)), radial-gradient(circle at 82% 16%, rgba(246, 196, 83, 0.18), transparent 30%); } .hero > *, .game-hero > *, .page-hero > * { position: relative; z-index: 1; } .hero { grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); } .game-hero { grid-template-columns: 1fr auto; --game-hero-image: none; color: white; } .game-hero::after { left: 35%; opacity: 0.72; background: linear-gradient(90deg, rgba(5, 7, 17, 0.04), rgba(5, 7, 17, 0.2) 58%, rgba(5, 7, 17, 0.62) 100%), var(--game-hero-image); background-position: center, right center; background-repeat: no-repeat; background-size: cover, cover; mask-image: linear-gradient(90deg, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.06) 34%, rgba(0, 0, 0, 0.34) 58%, #000 88%); -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.06) 34%, rgba(0, 0, 0, 0.34) 58%, #000 88%); } .page-hero { min-height: 180px; grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding: var(--space-6); } .page-hero p:last-child { max-width: 720px; margin-bottom: 0; } h1, h2, p { margin-top: 0; } h1 { max-width: 820px; margin-bottom: 14px; font-size: clamp(2rem, 4vw, var(--font-size-4xl)); line-height: 1.05; } h2 { margin-bottom: 10px; font-size: var(--font-size-xl); } p, li, small, span { color: var(--color-text-secondary); } .eyebrow { margin-bottom: 10px; color: var(--color-accent-gold); font-size: var(--font-size-xs); font-weight: 800; letter-spacing: 0; text-transform: uppercase; } .actions, .card-actions, .toolbar { display: flex; flex-wrap: wrap; gap: 10px; } .toolbar-stack { align-items: flex-start; flex-direction: column; } .toolbar-stack > div { display: flex; flex-wrap: wrap; gap: 10px; } .hero-library-button { display: inline-flex; width: fit-content; margin-top: var(--space-4); } .library-link-button { align-items: center; gap: 8px; } .library-link-button .ui-icon { width: 16px; height: 16px; color: var(--color-accent-gold); } .hero-panel { padding: var(--space-5); border: 1px solid rgba(165, 180, 252, 0.14); border-radius: var(--radius-lg); background: rgba(16, 20, 38, 0.72); backdrop-filter: blur(18px); } .hero-panel span { display: block; background: var(--gradient-brand); background-clip: text; color: transparent; font-size: 56px; font-weight: 800; line-height: 1; } .home-visual { display: grid; align-self: center; justify-self: stretch; width: 100%; height: 100%; min-height: 320px; place-items: center; } .home-visual img { display: block; width: 100%; height: 100%; max-height: 520px; object-fit: cover; border-radius: var(--radius-lg); filter: drop-shadow(0 22px 36px rgba(0, 0, 0, 0.34)); } .library-page { display: grid; gap: var(--space-6); } .library-hero { min-height: 220px; } .library-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-5); } .library-summary article { display: flex; min-width: 0; gap: var(--space-3); padding: var(--space-4); border: 1px solid rgba(150, 165, 205, 0.12); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.28); } .library-summary h2, .library-summary p { margin: 0; } .library-summary h2 { margin-bottom: 5px; font-size: var(--font-size-md); } .library-summary-icon { display: grid; width: 34px; min-width: 34px; height: 34px; place-items: center; border: 1px solid rgba(196, 181, 253, 0.24); border-radius: var(--radius-md); background: linear-gradient(135deg, rgba(139, 92, 246, 0.92), rgba(99, 102, 241, 0.84)); box-shadow: var(--shadow-primary); color: white; } .library-summary-icon .module-icon-svg { width: 18px; height: 18px; background: currentColor; } .library-doc-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); align-items: start; gap: var(--space-5); } .library-doc-nav { position: sticky; top: 0; display: grid; max-height: calc(100vh - var(--space-10)); gap: var(--space-4); overflow: auto; padding: var(--space-4); scroll-margin-top: var(--space-5); } .library-toc-heading { display: grid; gap: 4px; min-width: 0; } .library-toc-heading h2, .library-toc-heading p { margin: 0; } .library-toc-heading h2 { color: var(--color-text-primary); font-size: var(--font-size-lg); } .library-toc-heading p { max-width: 620px; color: var(--color-text-secondary); font-size: var(--font-size-sm); } .library-doc-nav-groups { display: grid; gap: var(--space-4); } .library-doc-nav-group { display: grid; gap: 8px; } .library-doc-nav-group > a { color: var(--color-text-primary); font-size: var(--font-size-sm); font-weight: 800; text-decoration: none; } .library-doc-nav-group > a:hover, .library-doc-nav-group > a:focus-visible { color: var(--color-accent-gold); } .library-doc-nav-group.active > a { color: var(--color-accent-gold); } .library-doc-nav-group ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; } .library-doc-nav-group li { min-width: 0; } .library-doc-nav-group li a { display: grid; grid-template-columns: 28px minmax(0, 1fr); min-height: 36px; align-items: center; gap: 8px; padding: 4px 8px 4px 4px; border: 1px solid rgba(150, 165, 205, 0.1); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.22); color: var(--color-text-secondary); font-size: var(--font-size-sm); font-weight: 700; text-decoration: none; } .library-doc-nav-group li a:hover, .library-doc-nav-group li a:focus-visible { border-color: rgba(246, 196, 83, 0.36); background: rgba(246, 196, 83, 0.08); color: var(--color-text-primary); } .library-doc-nav-group .module-icon { width: 28px; height: 28px; border-radius: var(--radius-sm); } .library-doc-nav-group .module-icon-svg { width: 16px; height: 16px; } .library-tools { display: grid; gap: var(--space-6); justify-items: stretch; } .library-tool-category { display: grid; gap: var(--space-5); min-width: 0; scroll-margin-top: var(--space-8); } .library-tool-section { position: relative; display: grid; width: 100%; min-width: 0; gap: var(--space-4); overflow: hidden; padding: var(--space-5); border: 1px solid transparent; border-radius: var(--radius-lg); background: rgba(16, 20, 38, 0.42); box-shadow: var(--shadow-sm); scroll-margin-top: var(--space-8); @include mixins.gold-panel-frame; } .library-tool-section > * { position: relative; z-index: 1; } .library-category-hero { position: relative; isolation: isolate; display: block; overflow: hidden; padding: var(--space-6); border: 1px solid transparent; border-radius: var(--radius-lg); background: radial-gradient(circle at 92% 12%, rgba(246, 196, 83, 0.12), transparent 30%), var(--gradient-nebula), linear-gradient(135deg, rgba(16, 20, 38, 0.9), rgba(5, 7, 17, 0.88)); box-shadow: var(--shadow-sm); @include mixins.gold-panel-frame; } .library-category-hero > * { position: relative; z-index: 1; } .library-category-hero h2, .library-category-hero p { margin: 0; } .library-category-hero h2 { margin-bottom: var(--space-3); color: var(--color-text-primary); font-size: clamp(1.7rem, 3vw, var(--font-size-3xl)); line-height: 1.05; } .library-category-hero p:not(.eyebrow) { max-width: 760px; } .library-tool-intro { min-width: 0; } .library-tool-title-row { display: flex; min-width: 0; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); } .library-tool-title-row .module-icon { width: 36px; height: 36px; } .library-tool-title-row .module-icon-svg { width: 20px; height: 20px; } .library-tool-intro h2 { margin: 0; } .library-tool-intro p { margin: 0; } .library-tool-intro h2 { font-size: var(--font-size-xl); } .library-tool-intro p { max-width: 860px; } .library-example-layout { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); align-items: start; justify-content: stretch; gap: var(--space-4); } .library-example-layout:not(.has-legend) { grid-template-columns: minmax(0, 860px); justify-content: center; } .library-tool-docs { display: block; } .library-control-legend, .library-tool-feature-list { min-width: 0; border: 1px solid rgba(150, 165, 205, 0.12); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.28); } .library-control-legend { display: grid; align-content: start; gap: var(--space-3); padding: var(--space-3); border-color: rgba(246, 196, 83, 0.22); background: radial-gradient(circle at 100% 0%, rgba(246, 196, 83, 0.08), transparent 34%), rgba(5, 7, 17, 0.46); } .library-control-legend h3, .library-tool-feature-list h3 { margin: 0; color: var(--color-text-primary); font-size: var(--font-size-md); } .library-control-legend-group { display: grid; gap: var(--space-2); min-width: 0; padding: var(--space-2); border: 1px solid rgba(150, 165, 205, 0.1); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.28); } .library-control-legend-group.is-generic-single { padding: 0; border: 0; background: transparent; } .library-control-legend-group h4 { margin: 0; color: var(--color-accent-gold); font-size: var(--font-size-xs); font-weight: 900; text-transform: uppercase; } .library-control-legend-items { display: grid; gap: 6px; min-width: 0; } .library-control-legend-item { display: grid; grid-template-columns: minmax(34px, max-content) minmax(0, 1fr); align-items: center; gap: var(--space-2); min-width: 0; } .library-control-preview { display: inline-flex; width: fit-content; max-width: 100%; min-height: 34px; align-items: center; flex-wrap: wrap; gap: 6px; pointer-events: none; } .library-control-preview.notepad-toolbar-group { flex-wrap: nowrap; padding-right: 0; border-right: 0; } .library-control-preview-stack { display: inline-grid; gap: 6px; justify-items: start; } .library-control-preview-row { display: inline-flex; gap: 6px; } .library-control-preview .notepad-toolbar-button, .library-control-preview .drawing-control-button, .library-control-preview .notepad-color-toggle, .library-control-preview .drawing-width-toggle, .library-control-preview .module-scroll-button { cursor: default; } .library-control-preview .notepad-toolbar-button.is-wide { width: auto; min-width: 46px; padding: 0 9px; } .library-control-preview .notepad-color-toggle.active, .library-control-preview .drawing-width-toggle.active { border-color: rgba(246, 196, 83, 0.48); background: rgba(246, 196, 83, 0.1); color: var(--color-accent-gold); } .library-control-preview .module-scroll-button { min-height: 34px; } .library-control-legend-item strong { display: block; color: var(--color-text-primary); font-size: var(--font-size-sm); line-height: 1.2; } .library-control-legend-item p { margin: 3px 0 0; font-size: var(--font-size-xs); line-height: 1.35; } .library-tool-feature-list { display: grid; overflow: hidden; padding: 0; border-color: rgba(246, 196, 83, 0.18); border-radius: var(--radius-md); background: linear-gradient(135deg, rgba(16, 20, 38, 0.52), rgba(5, 7, 17, 0.36)), rgba(5, 7, 17, 0.3); } .library-tool-feature-list summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); cursor: pointer; list-style: none; } .library-tool-feature-list summary::-webkit-details-marker { display: none; } .library-tool-feature-list summary .ui-icon { width: 18px; height: 18px; flex: 0 0 auto; color: var(--color-text-secondary); transition: transform var(--duration-fast) var(--ease-standard); } .library-tool-feature-list[open] summary .ui-icon { transform: rotate(180deg); } .library-tool-feature-content { display: grid; gap: var(--space-4); padding: 0 var(--space-5) var(--space-5); } .library-tool-feature-list dl { display: grid; gap: var(--space-3); margin: 0; } .library-tool-feature-list dl > div { display: grid; grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr); gap: var(--space-3); padding: var(--space-3); border: 1px solid rgba(150, 165, 205, 0.12); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.28); } .library-tool-feature-list dt { color: var(--color-text-primary); font-size: var(--font-size-sm); font-weight: 800; } .library-tool-feature-list dd { margin: 0; color: var(--color-text-secondary); font-size: var(--font-size-sm); } .library-tool-feature-list dd p { margin: 0; } .library-tool-feature-list dd ul { display: grid; gap: 6px; margin: var(--space-2) 0 0; padding-left: 1.1rem; } .library-tool-feature-list dd li { color: var(--color-text-secondary); } .library-tool-import-format { display: grid; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid rgba(246, 196, 83, 0.16); } .library-tool-import-format h3, .library-tool-import-format p { margin: 0; } .library-tool-import-format pre { max-width: 100%; margin: 0; padding: var(--space-3); overflow: auto; border: 1px solid rgba(150, 165, 205, 0.12); border-radius: var(--radius-sm); background: rgba(2, 3, 9, 0.42); color: var(--color-text-primary); font-size: var(--font-size-sm); white-space: pre-wrap; } .library-tool-badge { display: inline-flex; width: fit-content; margin-bottom: var(--space-3); padding: 4px 9px; border: 1px solid rgba(246, 196, 83, 0.24); border-radius: var(--radius-pill); background: rgba(246, 196, 83, 0.08); color: var(--color-accent-gold); font-size: var(--font-size-xs); font-weight: 800; } .library-tool-example { width: min(100%, 860px); min-width: 0; justify-self: center; } .library-tool-example header > div { min-width: 0; } .library-tool-example header p { margin: 3px 0 0; color: var(--color-text-muted); font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; } .library-example-actions { display: flex; flex: 0 0 auto; gap: 8px; } .library-reset-button { display: inline-grid; width: 40px; min-width: 40px; min-height: 40px; flex: 0 0 40px; place-items: center; padding: 0; } .library-reset-button .ui-icon { width: 16px; height: 16px; } .library-tool-example .module-content { padding: var(--space-4); } .library-tool-example .image-annotation-stage, .library-tool-example .images-grid img { max-height: 260px; } .nebula-panel { position: relative; overflow: hidden; border: 1px solid transparent; border-radius: var(--radius-lg); background: rgba(16, 20, 38, 0.42); box-shadow: var(--shadow-sm); @include mixins.gold-panel-frame; } .nebula-panel > * { position: relative; z-index: 1; } .origin-section { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.65fr); gap: var(--space-6); margin-top: var(--space-6); padding: var(--space-6); } .origin-copy { min-width: 0; padding-right: var(--space-6); border-right: 2px solid rgba(246, 196, 83, 0.66); } .home-dialogue { position: relative; display: grid; gap: 8px; margin-top: var(--space-4); } .dialogue-line { width: fit-content; max-width: min(74ch, 86%); margin: 0; padding: 8px 11px; border: 1px solid rgba(165, 180, 252, 0.14); border-radius: 8px; color: var(--color-text-primary); font-size: var(--font-size-sm); line-height: 1.35; overflow-wrap: break-word; } .dialogue-line-user { justify-self: end; background: linear-gradient(135deg, rgba(124, 58, 237, 0.28), rgba(37, 99, 235, 0.18)); } .dialogue-line-app { justify-self: start; max-width: min(62ch, 68%); background: rgba(7, 10, 24, 0.48); } .dialogue-line i { color: var(--color-text-secondary); font-style: italic; } .dialogue-caption { display: block; margin-top: 4px; color: var(--color-text-muted); font-size: var(--font-size-xs); font-style: italic; text-align: right; } .about-page { display: grid; gap: var(--space-6); } .about-story-section { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); gap: var(--space-6); align-items: start; padding: var(--space-6); } .about-section-heading { position: sticky; top: var(--space-5); } .about-section-heading h2 { margin-bottom: 0; } .about-story-list { display: grid; gap: 0; } .about-story-item { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid rgba(165, 180, 252, 0.1); } .about-story-item:first-child { padding-top: 0; } .about-story-item:last-child { border-bottom: 0; } .about-story-item > span { color: var(--color-accent-gold); font-size: var(--font-size-xs); font-weight: 900; letter-spacing: 0.08em; line-height: 1.8; } .about-story-item h3 { margin: 0 0 6px; color: var(--color-text-primary); font-size: var(--font-size-lg); } .about-story-item > div > p { max-width: 108ch; margin: 0; color: var(--color-text-secondary); line-height: 1.62; } .about-tools-section { display: grid; gap: var(--space-4); padding: var(--space-6); } .about-contribute-section { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); gap: var(--space-6); scroll-margin-top: var(--space-6); padding: var(--space-6); } .about-contribute-content { display: grid; gap: var(--space-4); } .about-contribute-content > p { max-width: 112ch; margin: 0; color: var(--color-text-secondary); line-height: 1.62; } .about-contribute-content pre, .about-prompt-box { margin: 0; border: 1px solid rgba(165, 180, 252, 0.12); border-radius: var(--radius-md); background: rgba(5, 7, 17, 0.28); } .about-contribute-content pre { overflow: auto; padding: var(--space-4); white-space: pre-wrap; overflow-wrap: anywhere; } .about-contribute-content code { color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size: var(--font-size-sm); line-height: 1.55; white-space: inherit; } .about-prompt-box { padding: var(--space-4); } .about-prompt-box h3 { margin: 0 0 8px; color: var(--color-accent-gold); font-size: var(--font-size-md); } .about-prompt-box p { margin: 0 0 var(--space-3); color: var(--color-text-secondary); line-height: 1.58; } .about-prompt-box pre { border-color: rgba(246, 196, 83, 0.16); background: rgba(5, 7, 17, 0.34); } .about-tools-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); } .about-tool-item { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid rgba(165, 180, 252, 0.1); } .about-tool-item:nth-last-child(-n + 2) { border-bottom: 0; } .about-tool-item .module-icon { width: 34px; height: 34px; flex: 0 0 34px; border-radius: var(--radius-md); } .about-tool-item .module-icon-svg { width: 18px; height: 18px; } .about-tool-item h3 { margin: 0 0 4px; color: var(--color-text-primary); font-size: var(--font-size-base); } .about-tool-item p { margin: 0; font-size: var(--font-size-sm); line-height: 1.5; } .about-storage-reminders { display: grid; gap: 12px; margin-top: var(--space-4); padding-left: 44px; } .about-storage-reminders .eyebrow { margin: 0; color: var(--color-accent-gold); } .about-reminders-list { display: grid; gap: 0; margin: 0; padding: 2px 0 2px var(--space-5); list-style: none; border-left: 1px solid rgba(246, 196, 83, 0.22); } .about-reminder-item { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 0; border-bottom: 1px solid rgba(165, 180, 252, 0.1); } .about-reminder-item:first-child { padding-top: 0; } .about-reminder-item:last-child { padding-bottom: 0; border-bottom: 0; } .about-reminder-item .module-icon { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid rgba(246, 196, 83, 0.26); border-radius: var(--radius-md); background: rgba(246, 196, 83, 0.1); } .about-reminder-item h4 { margin: 0 0 6px; color: var(--color-text-primary); font-size: var(--font-size-base); } .about-reminder-item p { max-width: none; margin: 0; color: var(--color-text-secondary); font-size: var(--font-size-sm); line-height: 1.48; } .home-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-self: start; } .hero-stats { align-self: center; justify-self: end; width: min(420px, 100%); } .home-stats article { min-height: 118px; padding: var(--space-4); border: 1px solid rgba(165, 180, 252, 0.14); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(246, 196, 83, 0.08), transparent 52%), rgba(7, 10, 24, 0.52); } .home-stats strong { display: block; margin-bottom: 10px; background: var(--gradient-brand); background-clip: text; color: transparent; font-size: 44px; font-weight: 900; line-height: 0.95; } .home-stats span { display: block; color: var(--color-text-secondary); font-size: var(--font-size-sm); font-weight: 700; line-height: 1.35; } .home-legal { display: grid; gap: 6px; margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid rgba(150, 165, 205, 0.14); color: var(--color-text-muted); font-size: var(--font-size-xs); line-height: 1.45; } .home-legal p { max-width: 920px; margin: 0; }