/* v1.0.2 • A readable public race journal, without changing any approved race art. */
.race-grid{grid-template-columns:144px minmax(0,1fr) 334px;gap:15px}
.right-panel{min-width:0;display:flex;flex-direction:column;gap:13px}
.right-panel>section{margin:0}
.right-panel .log-panel{padding:17px 14px 13px;border-radius:20px;background:linear-gradient(130deg,#fffaf0,#fff0d9);box-shadow:inset 0 0 0 1px #e4c79f,0 5px 0 #d7ae7966,0 12px 22px #74472517}
.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.journal-heading .eyebrow{font-size:9px;letter-spacing:2px;color:#9d7049}
.journal-heading h2{font-size:25px;line-height:1.4;margin:2px 0;color:#65432d;font-weight:900}
.journal-expand{border:1px solid #bc976f;border-radius:11px;background:linear-gradient(#fffaf0,#f0d9b9);color:#704c30;padding:9px 10px;white-space:nowrap;font-family:inherit;font-weight:700;font-size:12px;cursor:pointer;box-shadow:0 2px 0 #cba575;min-height:38px}
.journal-subline{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:#896348;margin:6px 0 13px}
#journalStatus::before{content:'●';color:#529874;font-size:8px;padding-right:5px}
.journal-tools{margin:0 0 10px}
.journal-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px;border-radius:12px;background:#e7ceb354}
.journal-filters button{border:0;background:transparent;font-family:inherit;color:#8a674b;font-size:12px;font-weight:800;min-height:34px;cursor:pointer;border-radius:9px;padding:6px 0}
.journal-filters button[aria-pressed="true"]{color:#fff8ee;background:linear-gradient(135deg,#98734f,#72513c);box-shadow:0 2px 4px #55391a26}
.journal-select{display:flex!important;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#967759;margin:9px 0 0!important}
.journal-select select{min-width:0;width:auto;flex:0 1 175px;min-height:33px;height:33px;padding:3px 27px 3px 9px;margin:0!important;font-size:12px;border-radius:9px;background:#fffaf1;border:1px solid #dcc19d;color:#704f37}
#eventLog{height:clamp(440px,61vh,740px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbae8a #eddfcb80;padding:0 5px 4px 0;border-radius:9px;scroll-behavior:auto}
.journal-divider{display:flex;align-items:center;justify-content:space-between;color:#745137;font-size:12px;font-weight:900;margin:9px 2px 10px;padding:5px 0;border-bottom:1px solid #d6b68b}
.journal-divider>span{font-size:10px;font-weight:500;letter-spacing:1px;color:#957354}
.journal-card{position:relative;margin:0 0 11px;border:1px solid #e4ccac;border-left:4px solid var(--event-color,#c3914d);border-radius:13px;background:#fffdf7;padding:11px 12px 12px;box-shadow:0 3px 5px #7956360a;color:#78573f;overflow-wrap:anywhere}
.journal-card.is-latest{background:linear-gradient(120deg,#fff9e5,#fffdf9);border-top-color:#d7b776;box-shadow:0 0 0 1px #e4cda275,0 4px 9px #936a3212}
.journal-card.is-latest::before{content:'最新';position:absolute;top:-1px;right:9px;transform:translateY(-40%);background:#84603f;color:#fff6e2;padding:1px 6px;border-radius:5px;font-size:9px;line-height:1.5}
.journal-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#9b7a58;font-size:10px;line-height:1.8;margin:0 0 4px}
.journal-icon{font-size:10px;color:#805c3a;line-height:1.4;display:inline-grid;place-items:center;width:19px;height:19px;background:#f5e6ce;border:1px solid #e2cba7;border-radius:6px;font-weight:800}
.journal-kind{font-weight:800;color:#85593b}
.journal-leg{margin-left:auto;font-size:10px}
.journal-meta time{color:#a48f74;font-size:9px;font-variant-numeric:tabular-nums}
.journal-actor{font-size:11px;color:#916f52;margin:3px 0 1px}
.journal-card h4{font-size:16px;line-height:1.5;font-weight:900;margin:3px 0 5px;color:#593d2b}
.journal-card p{font-size:12px;line-height:1.75;margin:3px 0;color:#805f44}
.journal-route{display:flex;align-items:center;gap:10px;margin:9px 0;background:linear-gradient(120deg,#f6ead6,#fcf3e4);border-radius:10px;padding:8px 10px}
.journal-route>span,.journal-route>strong{flex:1;text-align:center;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;color:#664832;line-height:1.4}
.journal-route>strong{color:#9f5b3a}
.journal-route i{font-style:normal;font-size:19px;color:#b3916e}
.journal-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.journal-tag{display:inline-block;border:1px solid #cfb996;border-radius:6px;padding:3px 6px;font-size:10px;line-height:1.5;background:#f8eddd;color:#8a6141}
.journal-tag.spectator{background:#f2ede0;color:#54764d;border-color:#c1ccac}
.journal-tag.finish{background:#fbe7c3;border-color:#e0b575;color:#9a5626;font-weight:800}
.journal-tag.muted{background:#f2efea;border-color:#d8cbbd;color:#88745f}
.journal-card.score{border-left-color:#c29449;background:linear-gradient(130deg,#fff8e2,#fff6ee)}
.journal-score-grid{display:grid;gap:3px;margin-top:8px}
.journal-score{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.6;padding:5px 7px;background:#fbf0df;border-radius:7px;font-size:12px}
.journal-score>span{overflow-wrap:anywhere;min-width:0}
.journal-score>b{white-space:nowrap;font-variant-numeric:tabular-nums}
.journal-score.self{background:#f4dfb5;font-weight:800;box-shadow:inset 0 0 0 1px #d2ac65}
.journal-score .plus{color:#487251}
.journal-score .minus{color:#ac5461}
.journal-breakdown{margin:10px 0 0;border-top:1px dashed #dcc398;padding-top:7px}
.journal-breakdown>summary{cursor:pointer;font-size:11px;color:#8f6745;min-height:24px;line-height:1.7}
.journal-breakdown>div{font-size:12px;padding:7px 0;border-bottom:1px solid #e2cba34d}
.journal-breakdown p{font-size:11px;margin:0}
.journal-empty{padding:26px 16px;text-align:center;color:#977352;font-size:12px}
.journal-empty>span{display:block;font-size:29px;opacity:.6}
.journal-empty>b{display:block;margin:8px 0;font-size:14px}
.journal-empty p{line-height:1.8}
.journal-new,.journal-more{border:1px solid #c6a076;font-family:inherit;cursor:pointer;border-radius:9px;min-height:36px;font-size:12px;padding:7px 10px;width:100%;color:#755139;background:#fff4db}
.journal-new{margin:0 0 8px;background:#7b5b40;color:#fff7e4;box-shadow:0 4px 8px #7954311f}
.journal-more{margin:5px 0}
.journal-footnote{font-size:10px;line-height:1.65;margin:9px 2px 0;color:#9c7a55}
.journal-peek{width:100%;display:flex;align-items:center;gap:9px;background:linear-gradient(130deg,#fffaed,#f2e3c7);border:1px solid #d7bb88;box-shadow:0 3px 0 #cba77e25;border-radius:11px;padding:10px 12px;margin-top:9px;font-family:inherit;color:#785339;cursor:pointer;text-align:left}
.journal-peek>span{font-size:10px;font-weight:800;white-space:nowrap;border-right:1px solid #d4b692;padding-right:9px}
.journal-peek>b{font-size:12px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.journal-peek>em{font-size:11px;white-space:nowrap;font-style:normal;color:#985e3d}
.journal-peek.has-score{border-color:#bc9155;background:linear-gradient(130deg,#fff4d8,#f0d19d)}
.right-panel .rankings{padding:11px 13px;background:linear-gradient(125deg,#fff7e6,#f3e4cd)}
.rank-compact{margin:0}
.rank-compact>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;cursor:pointer;color:#89613f;list-style:none;font-weight:700;min-height:24px}
.rank-compact>summary::-webkit-details-marker{display:none}
.rank-compact>summary::after{content:'＋';font-size:16px;font-weight:500}
.rank-compact[open]>summary::after{content:'−'}
#rankSummary{font-size:11px;font-weight:500;color:#967556}
.rank-compact>p{font-size:10px;color:#a48869;padding-top:6px}
#ranking{margin-top:9px}
#ranking .rank-row{min-height:40px;padding:5px 1px}
#ranking .rank-row .camel-art{width:37px;height:29px}
#ranking .rank-row>small{font-size:10px}
.right-panel .predictions{padding:13px 14px}
.predictions h3{font-size:13px;margin-bottom:8px}
.journal-private-note{display:block;margin:9px 0 0;font-size:10px;color:#9a7457}
#journalDialog{width:840px;max-width:min(920px,96vw);max-height:92dvh;padding:23px 25px 16px;overflow:hidden;border-radius:23px}
#journalDialog[open]{display:flex;flex-direction:column;gap:0}
#journalDialog .journal-heading h2{font-size:27px;margin:4px 0}
#journalDialog .journal-heading p{font-size:11px;color:#9a7a56}
#journalDialog .journal-heading{margin-bottom:13px;flex-shrink:0}
#journalDialog .journal-tools{display:flex;align-items:center;gap:20px;flex-shrink:0;margin-bottom:12px}
#journalDialog .journal-filters{flex:1;max-width:420px}
#journalDialog .journal-select{margin:0!important;flex:0 1 225px}
#journalModalLog{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 8px 8px 0;scrollbar-width:thin;scrollbar-color:#cbae8a #eddfcb80;max-height:70vh}
#journalModalLog .journal-card{padding:16px 20px;border-left-width:5px}
#journalModalLog .journal-meta{font-size:12px}
#journalModalLog .journal-leg{font-size:12px}
#journalModalLog .journal-meta time{font-size:11px}
#journalModalLog .journal-card h4{font-size:22px}
#journalModalLog .journal-card p{font-size:15px}
#journalModalLog .journal-actor{font-size:13px}
#journalModalLog .journal-route{max-width:410px}
#journalModalLog .journal-route>span,#journalModalLog .journal-route>strong{font-size:23px}
#journalModalLog .journal-tag{font-size:12px}
#journalModalLog .journal-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
#journalModalLog .journal-score{font-size:14px}
#journalModalLog .journal-breakdown summary{font-size:13px}
#journalModalLog .journal-breakdown>div{font-size:15px}
#journalModalLog .journal-breakdown p{font-size:13px}
#journalModalLog .journal-divider{font-size:14px}
#journalDialogTitle:focus{outline:0}
.journal-filters button:focus-visible,.journal-expand:focus-visible,.journal-peek:focus-visible,.journal-more:focus-visible,.journal-new:focus-visible,.rank-compact>summary:focus-visible{outline:3px solid #b87557;outline-offset:2px}
@media(min-width:1550px){.race-grid{grid-template-columns:150px minmax(0,1fr) 356px}.right-panel .log-panel{padding:19px 17px 13px}.journal-card h4{font-size:17px}.journal-card p{font-size:13px}}
@media(min-width:851px) and (max-width:1200px){
 .race-grid{grid-template-columns:minmax(0,1fr) 304px;gap:13px}.players-panel{grid-column:1/-1;padding:9px 13px;display:flex;align-items:center;gap:10px}.players-panel .wood-label,.players-panel .mini-rule{display:none}.players-panel #players{display:flex;gap:8px;flex:1;min-width:0;overflow:auto}.players-panel .player-chip{min-width:126px;flex-shrink:0;margin:0}.players-panel #myWallet{margin:0;min-width:85px}.right-panel .log-panel{padding:14px 11px}.journal-heading h2{font-size:23px}#eventLog{height:570px}.journal-card{padding:10px}.journal-card p{font-size:12px}
}
@media(max-width:850px){
 .race-grid{display:flex;flex-direction:column;gap:12px}.players-panel{width:100%;max-width:none;display:block;padding:10px}.players-panel .wood-label,.players-panel .mini-rule,.players-panel #myWallet{display:none}.players-panel #players{display:flex;gap:8px;overflow:auto}.players-panel .player-chip{min-width:130px;flex-shrink:0;margin:0}.race-center{width:100%;min-width:0}.right-panel{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px}.right-panel .log-panel{grid-column:1/-1;grid-row:1}#eventLog{height:460px}.journal-card h4{font-size:17px}.journal-card p{font-size:14px}.journal-leg{font-size:11px}.journal-meta{font-size:11px}.journal-meta time{font-size:10px}.journal-heading h2{font-size:25px}.journal-filters button{font-size:13px;min-height:39px}.journal-expand{min-height:42px}.journal-select select{height:38px;min-height:38px;font-size:13px}.journal-tools{margin-bottom:10px}.journal-peek>span{font-size:10px}.journal-peek>b{font-size:12px}.journal-peek>em{font-size:10px}
}
@media(max-width:480px){
 .right-panel{grid-template-columns:1fr}.right-panel .log-panel{padding:16px 13px}.right-panel .predictions,.right-panel .rankings{grid-column:1}.journal-card{padding:12px 10px}.journal-card h4{font-size:16px}.journal-card p{font-size:13px}.journal-route>span,.journal-route>strong{font-size:19px}.journal-tags .journal-tag{font-size:11px}.journal-score{font-size:12px}#eventLog{height:470px}.journal-peek{gap:6px;padding:9px}.journal-peek>span{font-size:9px;padding-right:6px}.journal-peek>b{font-size:11px}.journal-peek>em{font-size:10px}.journal-meta{gap:4px}.journal-heading h2{font-size:24px}
 #journalDialog{width:96vw;padding:17px 13px 12px;max-height:94dvh}#journalDialog .journal-heading h2{font-size:24px}#journalDialog .journal-tools{display:block}#journalDialog .journal-select{margin:8px 0 0!important}#journalModalLog{max-height:calc(94dvh - 219px);padding-right:3px}#journalModalLog .journal-card{padding:13px 12px}#journalModalLog .journal-card h4{font-size:19px}#journalModalLog .journal-card p{font-size:14px}#journalModalLog .journal-route>span,#journalModalLog .journal-route>strong{font-size:22px}#journalModalLog .journal-score-grid{grid-template-columns:1fr}#journalModalLog .journal-score{font-size:14px}#journalModalLog .journal-meta{gap:4px}#journalModalLog .journal-leg{font-size:11px}
}
@media(max-height:520px){#journalDialog{max-height:96dvh;padding:12px 18px}#journalDialog .journal-heading{margin-bottom:7px}#journalDialog .journal-heading h2{font-size:20px}#journalDialog .journal-tools{display:flex;gap:10px;margin-bottom:6px}#journalModalLog{max-height:calc(96dvh - 145px)}}
