.fiche-local-banner {display: flex; justify-content: space-between; gap: 15px; padding: 10px 30px; background: #1c332c; color: #bdd2c4; font-size: 11px; letter-spacing: .03em;}
.fiche-local-banner>span:first-child {font-weight: 800; letter-spacing: .14em; display: flex; align-items: center; gap: 8px;}
.fiche-local-banner i {width: 6px; height: 6px; border-radius: 50%; background: #95c9a6;}
.fiche-hero {position: relative; display: grid; grid-template-columns: 1.1fr .9fr; min-height: 340px; overflow: hidden; border: 1px solid #334138; border-radius: 18px; background: radial-gradient(ellipse at 84% 20%,#344439 0%,#1d3029 45%,#16271f 100%); padding: 38px 44px; margin: 26px 0 42px;}
.fiche-overline {color: #ccba89; font-size: 10px; font-weight: 800; letter-spacing: .17em;}
.fiche-hero h2 {font-family: Georgia,serif; font-size: 43px; font-weight: 400; line-height: 1.16; letter-spacing: -1.1px; color: #f5f0e1; margin: 19px 0 15px;}
.fiche-hero h2 em {color: #d4b878;}
.fiche-hero-copy>p {color: #bac8bf; line-height: 1.7; max-width: 360px; font-size: 13px; margin-bottom: 22px;}
.fiche-hero-stats {display: flex; gap: 24px; color: #acbdb1; font-size: 11px;}
.fiche-hero-stats b {font-size: 20px; color: #eee9d8; margin-right: 6px;}
.fiche-hero-art {position: relative; align-self: center; width: 270px; height: 260px; justify-self: center; transform: rotate(5deg);}
.paper-back {position: absolute; inset: 8px -9px -6px 4px; background: #dbd0b7; border-radius: 5px; transform: rotate(-11deg); box-shadow: 0 12px 30px #0004;}
.paper-front {position: absolute; inset: 0; background: repeating-linear-gradient(to bottom,#f6f0e2 0,#f6f0e2 23px,#ced6d5 24px,#f6f0e2 25px); padding: 24px 26px; color: #233e35; border-radius: 5px; box-shadow: 0 10px 30px #0004; border-left: 3px solid #bf6b55;}
.paper-front>span {font-size: 8px; letter-spacing: .17em; font-weight: 800;}
.paper-front h3 {font: italic 28px/1.2 Georgia,serif; margin: 14px 0 3px;}
.paper-front svg {height: 95px; width: 180px;}
.paper-front p {font-size: 9px; font-weight: 700; margin: 3px 0;}
.fiche-library-head {display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 20px;}
.fiche-library-head h2 {font-size: 20px; margin: 0;}
.fiche-library-head h2 span {font-size: 10px; padding: 5px 8px; border: 1px solid #56655d; border-radius: 5px; margin-left: 12px; color: #b9ccbf; vertical-align: middle;}
.fiche-saved {font-size: 10px; color: #929da9;}
.fiche-controls {display: flex; gap: 12px; margin-bottom: 15px;}
.fiche-search {display: flex; align-items: center; flex: 1; gap: 10px; background: #17212e; border: 1px solid #354355; border-radius: 9px; padding: 0 14px;}
.fiche-search>span {font-size: 26px; color: #a3b0bb;}
.fiche-search input {background: none; border: 0; width: 100%; padding: 14px 0; color: #f5f2ea; outline: none; font: inherit; font-size: 13px;}
.fiche-search:focus-within {outline: 2px solid #c8ae76;}
.fiche-chapter {max-width: 350px; flex: 0 1 350px;}
.fiche-chapter select {width: 100%; height: 100%; background: #17212e; border: 1px solid #354355; border-radius: 9px; padding: 12px; color: #d6dde6; font-size: 12px;}
.fiche-tabs {display: flex; gap: 5px; flex-wrap: wrap; border-bottom: 1px solid #2c3847; padding-bottom: 12px;}
.fiche-tabs :is(button,a:where([data-view])) {padding: 9px 14px; border-radius: 6px; font-size: 12px; background: transparent; color: #98a6b6; border: 1px solid transparent;}
.fiche-tabs :is(button,a:where([data-view])).selected {background: #293b32; border-color: #435c4d; color: #d8e8dc;}
.fiche-results-label {display: flex; justify-content: space-between; gap: 15px; color: #96a2b1; font-size: 11px; margin: 20px 0 15px;}
.fiche-results-label b {color: #e9e6dc;}
.bristol-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px;}
.bristol-card {background: #f4efe3; color: #263b34; border-radius: 7px; box-shadow: 0 4px 12px #0002; overflow: hidden; border-top: 3px solid #b5684d; transition: transform .18s,box-shadow .18s;}
.bristol-card.level-2 {border-top-color: #638197;}
.bristol-card.level-3 {border-top-color: #a68a4d;}
.bristol-card:hover {transform: translateY(-3px); box-shadow: 0 10px 20px #0004;}
.bristol-card-top {display: flex; align-items: center; justify-content: space-between; padding: 12px 17px 5px; font-size: 8px; letter-spacing: .12em; font-weight: 800;}
.bristol-card-top em {font-style: normal; font-weight: 500; color: #6a786f;}
.bristol-card .fiche-star {border: 0; background: transparent; color: #8d6740; font-size: 24px; line-height: 1; padding: 5px; margin: -4px -4px 0 0; min-height: 32px;}
.bristol-card .fiche-star[aria-pressed=true] {color: #9d6e19;}
.bristol-card-body {display: flex; flex-direction: column; align-items: stretch; width: 100%; text-align: left; border: 0; background: repeating-linear-gradient(to bottom,transparent 0,transparent 24px,#b8c3be42 25px,transparent 26px); padding: 0 20px 18px; color: inherit; border-radius: 0; min-height: 265px; cursor: pointer;}
.bristol-number {font-family: Georgia,serif; font-style: italic; color: #a18c73; font-size: 22px; margin: 6px 0 9px;}
.bristol-card h3 {font-family: Georgia,serif; font-size: 21px; font-weight: 400; line-height: 1.22; margin: 0 0 12px; color: #263b34; min-height: 52px;}
.bristol-card-body>p {font-size: 11px; line-height: 1.6; color: #66746a; margin: 0 0 12px; min-height: 35px;}
.card-rule {width: 28px; height: 2px; background: #b56e54; margin-bottom: 12px;}
.card-takeaway {font-size: 11px; line-height: 1.65; color: #415549; margin-bottom: 21px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.bristol-card-bottom {margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: 9px; color: #758174; gap: 6px;}
.bristol-card-bottom strong {font-size: 10px; color: #385c48; font-weight: 700;}
.bristol-card-body:hover {background-color: #ece5d54d; border-color: transparent;}
.fiche-editorial {margin-top: 30px; padding: 17px; border: 1px solid #303e4c; border-radius: 9px; color: #9aa8b8; font-size: 12px; line-height: 1.7;}
.fiche-editorial summary {cursor: pointer; color: #c8d2dc;}
.fiche-editorial a {color: #c6ae7e;}
.fiche-empty {padding: 55px 15px; text-align: center;}
.fiche-empty>span {font-size: 42px; color: #cfb780;}
.fiche-empty h2 {font-size: 20px;}
.fiche-empty p {color: #a0acb9;}
.sr-only {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0);}
#fiche-dialog {padding: 0; background: #18232b; width: min(860px,calc(100% - 40px)); max-width: 860px; max-height: 92dvh; border: 1px solid #4c5a55; border-radius: 14px; color: #dce3de; box-shadow: 0 30px 90px #0009;}
#fiche-dialog::backdrop {background: #071019d9; backdrop-filter: blur(5px);}
.fiche-reader-toolbar {padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px;}
.fiche-reader-toolbar :is(button,a:where([data-view])) {font-size: 11px; background: none; border: 0; color: #c4d1cc; padding: 8px;}
.fiche-reader-toolbar>span {font-size: 9px; letter-spacing: .08em; text-transform: uppercase; text-align: center; max-width: 55%; line-height: 1.6;}
.bristol-sheet {background: repeating-linear-gradient(to bottom,#f8f3e7 0,#f8f3e7 31px,#c6d2cd70 32px,#f8f3e7 33px); margin: 0 24px; border-radius: 4px; padding: 32px 44px 20px; color: #263d33; position: relative; border-top: 5px solid #b8684c; box-shadow: 0 8px 18px #0003;}
.bristol-sheet:before {content: ''; position: absolute; left: 25px; top: 0; bottom: 0; width: 1px; background: #c8756352;}
.sheet-meta {display: flex; justify-content: space-between; gap: 15px; font-size: 8px; letter-spacing: .12em; line-height: 1.7; color: #728074;}
.sheet-meta b {display: block; font-weight: 400;}
.sheet-title {display: flex; gap: 20px; margin: 29px 0 20px; align-items: flex-start;}
.sheet-index {font: italic 35px Georgia,serif; color: #aa8f6a; line-height: 1;}
.sheet-title h2 {font: 400 32px/1.16 Georgia,serif; margin: 0 0 10px; color: #244532; letter-spacing: -.5px;}
.sheet-title p {margin: 0; font-size: 12px; line-height: 1.6; color: #6e7a6d;}
.sheet-section-label {font-size: 9px; font-weight: 800; letter-spacing: .14em; color: #59775e; margin: 23px 0 11px;}
.sheet-facts {padding: 0; margin: 0; list-style: none; display: grid; gap: 9px;}
.sheet-facts li {display: flex; gap: 13px; align-items: baseline;}
.sheet-facts li>span {font: italic 18px Georgia,serif; color: #a48968; min-width: 15px;}
.sheet-facts p {font-size: 13px; line-height: 1.9; margin: 0; color: #344c3a;}
.sheet-trap {margin: 22px 0; padding: 15px 18px; background: #ebdbbb9c; border-left: 3px solid #be7753; border-radius: 0 5px 5px 0;}
.sheet-trap>span,.sheet-recall>span {font-size: 8px; font-weight: 800; letter-spacing: .14em; color: #8d5a35;}
.sheet-trap p {font-size: 12px; line-height: 1.7; margin: 6px 0 0; color: #634d35;}
.sheet-recall {padding: 19px 20px; border: 1px dashed #809b854f; border-radius: 7px; background: #e1eadb91; margin: 20px 0;}
.sheet-recall>span {color: #5b7959;}
.sheet-recall h3 {font: 400 18px/1.4 Georgia,serif; margin: 10px 0 13px; color: #264d34;}
.sheet-recall summary {cursor: pointer; display: flex; justify-content: space-between; font-size: 11px; color: #4d704e; font-weight: 700;}
.sheet-recall details p {margin: 14px 0 0; font-size: 12px; line-height: 1.8; color: #35563a;}
.sheet-sources {font-size: 10px; color: #7d867a; margin: 17px 0;}
.sheet-sources summary {cursor: pointer;}
.sheet-sources a {color: #617c68;}
.sheet-sources ul {padding-left: 15px; line-height: 1.8;}
.sheet-signature {display: flex; justify-content: space-between; border-top: 1px solid #b6c2b2; padding-top: 14px; font-size: 8px; letter-spacing: .05em; color: #7d8b7c;}
.bristol-diagram {display: block; width: 100%; max-width: 420px; height: 155px; margin: 15px auto; background: #f8f3e7aa;}
.bristol-diagram text {font-family: system-ui; font-size: 10px; fill: #755e40; letter-spacing: 1px;}
.bristol-diagram .diagram-main {font-family: Georgia; font-size: 26px; fill: #a45e42; letter-spacing: 2px;}
.diagram-chain {display: flex; align-items: center; justify-content: center; gap: 18px; padding: 17px; margin: 15px 0 0; background: #edead9bd; border-radius: 5px;}
.diagram-chain>span {display: flex; flex-direction: column; text-align: center; gap: 7px;}
.diagram-chain b {font: 24px Georgia,serif; color: #476a4e;}
.diagram-chain small {font-size: 10px; color: #64765e;}
.diagram-chain i {color: #958157; font-style: normal;}
.diagram-chain.rei {gap: 45px;}
.diagram-caption {text-align: center; font-size: 9px; color: #82907a; margin: 10px 0;}
.formula {padding: 20px; background: #ece9d9ad; text-align: center; margin: 20px 0;}
.formula>span {display: block; font-size: 9px; letter-spacing: .12em; color: #738269;}
.formula strong {display: block; font: 18px Georgia,serif; letter-spacing: 0; color: #425b38; margin: 8px;}
.formula i {display: block; height: 1px; background: #abbb9e; margin: 14px auto; max-width: 340px;}
.fiche-reader-actions {display: flex; justify-content: center; gap: 9px; padding: 20px 24px 12px; flex-wrap: wrap;}
.fiche-reader-actions :is(button,a:where([data-view])) {font-size: 11px; padding: 10px 14px;}
.fiche-reader-paging {display: flex; align-items: center; justify-content: space-between; padding: 5px 24px 20px; font-size: 10px; color: #8eaa9b;}
.fiche-reader-paging :is(button,a:where([data-view])) {border: 0; background: transparent; color: #bdcfc2; padding: 10px; font-size: 11px;}
.fiche-reader-paging :is(button,a:where([data-view])):disabled {opacity: .35;}
.fiche-local-banner+header {margin-top: 0;}
.fiche-reader-actions :is(button,a:where([data-view])):focus-visible,.bristol-card :is(button,a:where([data-view])):focus-visible,.fiche-tabs :is(button,a:where([data-view])):focus-visible {outline: 2px solid #be8f40; outline-offset: -3px;}
@media (min-width:1500px) {.bristol-grid {grid-template-columns: repeat(4,minmax(0,1fr));}}
@media (max-width:1050px) {.bristol-grid {grid-template-columns: repeat(2,minmax(0,1fr));}.fiche-hero {padding: 32px 26px;}.fiche-hero h2 {font-size: 36px;}.fiche-hero-art {width: 210px; height: 235px;}.paper-front {padding: 20px;}.paper-front svg {width: 150px; height: 85px;}}
@media (max-width:600px) {.fiche-local-banner {padding: 8px 16px; font-size: 8px;}.fiche-local-banner>span:last-child {display: none;}.fiche-hero {grid-template-columns: 1fr; padding: 27px 24px; min-height: 0; margin: 20px 0 30px;}.fiche-hero-art {display: none;}.fiche-hero h2 {font-size: 34px;}.fiche-controls {flex-direction: column;}.fiche-chapter {flex: auto; max-width: none;}.fiche-library-head {align-items: start;}.fiche-saved {display: none;}.fiche-results-label>span:last-child {display: none;}.bristol-grid {gap: 13px; grid-template-columns: 1fr;}.bristol-card-body {min-height: 220px;}.bristol-card h3 {min-height: 0;}.bristol-card-body>p {min-height: 0;}.fiche-tabs :is(button,a:where([data-view])) {font-size: 11px; padding: 9px 10px;}#fiche-dialog {width: calc(100% - 16px); max-height: 96dvh;}.bristol-sheet {margin: 0 9px; padding: 24px 24px 16px;}.bristol-sheet:before {left: 12px;}.sheet-title {gap: 12px; margin: 22px 0;}.sheet-title h2 {font-size: 26px;}.sheet-index {font-size: 28px;}.sheet-meta {font-size: 7px;}.sheet-facts p {font-size: 12px;}.sheet-signature {gap: 15px; font-size: 7px;}.fiche-reader-toolbar {padding: 10px 12px;}.fiche-reader-toolbar>span {font-size: 8px; max-width: 42%;}.bristol-diagram {height: 135px;}.fiche-reader-actions {padding: 15px 9px 5px; gap: 6px;}.fiche-reader-actions :is(button,a:where([data-view])) {font-size: 10px; padding: 10px;}.fiche-reader-paging {padding: 5px 9px 12px;}}
@media print {body>* {display: none !important;}body>#fiche-dialog {display: block !important; position: static !important; width: auto !important; max-width: none !important; max-height: none !important; overflow: visible !important; border: 0; background: white; box-shadow: none;}#fiche-dialog::backdrop {display: none;}.fiche-reader-toolbar,.fiche-reader-actions,.fiche-reader-paging,.sheet-sources {display: none !important;}.bristol-sheet {margin: 0; padding: 22mm 16mm; box-shadow: none; border: 1px solid #ccc; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact;}.sheet-recall details>p {display: block !important;}.sheet-recall summary {display: none;}.sheet-title h2 {font-size: 26px;}.sheet-facts p {font-size: 11px;}.sheet-signature {font-size: 8px;}@page {size: A4; margin: 10mm;}}
.bristol-sheet {background-color: #f8f3e7; color-scheme: light;}
.sheet-facts li {border: 0; padding: 0; background: none;}
.sheet-facts li:before,.sheet-sources li:before {content: none !important; display: none;}
.sheet-sources li {border: 0; padding: 2px 0;}
.fiche-hero-copy {min-width: 0; position: relative; z-index: 1;}
.fiche-hero-art {min-width: 0;}
.fiche-hero-stats {flex-wrap: wrap;}
.fiche-chapter select {white-space: nowrap; text-overflow: ellipsis;}
@media (min-width:601px) and (max-width:980px) {.fiche-hero {grid-template-columns: 1fr;}.fiche-hero-art {display: none;}.fiche-hero-copy>p {max-width: 440px;}.fiche-controls {flex-wrap: wrap;}.fiche-search {min-width: 180px;}.fiche-chapter {flex: 1 1 230px;}.fiche-library-head {align-items: flex-start;}.fiche-saved {display: none;}}
.sheet-reperes {margin: 20px 0; padding: 17px 19px; background: #f4eddb; border: 1px solid #d0c9b3; border-radius: 5px;}
.sheet-reperes h3 {font-family: inherit; font-size: 9px; letter-spacing: .12em; color: #6a755a; margin: 0 0 12px;}
.sheet-reperes dl {margin: 0;}
.sheet-reperes dl>div {display: grid; grid-template-columns: minmax(70px,1fr) 3fr; gap: 16px; padding: 9px 0; border-top: 1px solid #d4d0bf;}
.sheet-reperes dt {font-size: 11px; font-weight: 700; color: #426344;}
.sheet-reperes dd {font-size: 11px; line-height: 1.6; color: #4d6147; margin: 0;}
.sheet-reperes>p {font-size: 10px; color: #879078; line-height: 1.7; margin: 10px 0 0;}
.fiche-create {font-size: 11px; padding: 11px 14px; white-space: nowrap;}
.personal-toolbar {display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 20px 0 25px;}
.personal-toolbar>:is(button,a:where([data-view])):first-child {background: none; border: 0; padding-left: 0; font-size: 12px;}
.personal-toolbar>span {font-size: 11px; color: #9fb6a6;}
.personal-toolbar>span.failed {color: #e6ae8d;}
.personal-toolbar .btn-gold {font-size: 12px;}
.personal-workspace {display: grid; grid-template-columns: minmax(280px,.9fr) minmax(360px,1.1fr); gap: 26px; align-items: start;}
.personal-form {background: #172029; border: 1px solid #34423e; border-radius: 12px; padding: 24px;}
.personal-form section+section {border-top: 1px solid #34423e; margin-top: 26px; padding-top: 24px;}
.personal-step {display: block; font-size: 9px; letter-spacing: .13em; font-weight: 800; color: #c1ad80; margin-bottom: 19px;}
.personal-field,.personal-point label {display: flex; flex-direction: column; gap: 8px; margin: 0 0 17px;}
.personal-field>span,.personal-point label>span {font-size: 11px; color: #b7c3cc; font-weight: 600;}
.personal-field input,.personal-field textarea,.personal-point textarea,.personal-field select {width: 100%; min-width: 0; font: 12px/1.7 inherit; font-family: inherit; font-size: 12px; line-height: 1.7; color: #f4f1e8; background: #10181f; border: 1px solid #394843; border-radius: 7px; padding: 11px; resize: vertical;}
.personal-field textarea:focus,.personal-field input:focus,.personal-point textarea:focus {outline: 2px solid #bca36e; outline-offset: 1px;}
.personal-field-row {display: grid; grid-template-columns: 1fr 155px; gap: 13px;}
.personal-hint {font-size: 10px; line-height: 1.7; color: #8fa293; margin: 12px 0;}
.personal-point {display: flex; gap: 9px; align-items: center;}
.personal-point label {flex: 1;}
.personal-point>:is(button,a:where([data-view])) {border: 0; background: none; color: #8a9c90; padding: 8px; min-width: 30px;}
.personal-form [data-personal-add] {font-size: 11px; background: none; padding: 9px 11px;}
.personal-form>.btn-gold {width: 100%; font-size: 12px;}
.personal-preview {position: sticky; top: 20px;}
.personal-preview-label {display: flex; justify-content: space-between; gap: 12px; font-size: 9px; color: #99ad9a; letter-spacing: .1em; margin-bottom: 14px;}
.personal-preview-label>span:last-child {font-size: 8px; color: #80907e; letter-spacing: 0;}
.personal-preview .bristol-sheet {margin: 0; padding: 25px 28px 20px;}
.personal-preview .bristol-sheet:before {left: 14px;}
.personal-preview .sheet-title h2 {font-size: 26px; overflow-wrap: anywhere;}
.personal-preview .sheet-facts p {font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere;}
.personal-preview .sheet-index {font-size: 28px;}
.personal-error {font-size: 12px; color: #e6ae8d;}
.bristol-sheet p,.bristol-sheet h2,.bristol-sheet h3 {overflow-wrap: anywhere;}
.sheet-facts p,.sheet-trap p,.sheet-recall details p {white-space: pre-wrap;}
.bristol-card h3 {overflow-wrap: anywhere;}
@media (max-width:1100px) {.personal-workspace {grid-template-columns: 1fr;}.personal-preview {position: static;}.personal-preview .bristol-sheet {max-width: 720px; margin: auto;}.personal-toolbar {flex-wrap: wrap;}.personal-toolbar>span {order: 3; width: 100%;}}
@media (max-width:600px) {.personal-form {padding: 18px;}.personal-field-row {grid-template-columns: 1fr;}.personal-toolbar .btn-gold {font-size: 11px; padding: 10px;}.personal-preview .bristol-sheet {padding: 22px;}.fiche-library-head {flex-wrap: wrap;}.fiche-create {font-size: 10px;}.personal-preview-label {font-size: 8px;}}
@media print {.sheet-facts li,.sheet-trap,.sheet-recall,.sheet-reperes {break-inside: avoid;}.bristol-sheet {break-inside: auto;}.sheet-title {break-after: avoid;}.sheet-facts li {padding-bottom: 3mm;}}
.sheet-meta>span:last-child {text-align: right; max-width: 55%; overflow-wrap: anywhere;}
.personal-sheet-reference {margin: 20px 0; color: #7b846d;}
.personal-sheet-reference>span {font-size: 8px; letter-spacing: .1em; font-weight: 700;}
.personal-sheet-reference p {font-size: 10px; line-height: 1.6; white-space: pre-wrap; color: #748067; margin: 7px 0 0;}
.personal-preview .sheet-sources {display: none;}
