/* OBS-002 additions. The shell, hero, vitals, tabs and stage are shared with OBS-001. */
.earnings-page .monitor-hero h1{font-size:clamp(3.6rem,7.2vw,8rem)}
.earnings-page .monitor-hero__summary{max-width:50rem}
.earnings-page .monitor-stage>*{min-width:0;max-width:100%}

.earnings-verdict{display:grid;grid-template-columns:minmax(16rem,.44fr) minmax(0,1fr);margin-bottom:2.5rem;border-block:1px solid var(--hair);background:color-mix(in srgb,var(--reading) 64%,transparent)}
.earnings-verdict__portrait{position:relative;min-height:35rem;overflow:hidden;border-right:1px solid var(--hair)}
.earnings-verdict__portrait img{display:block;width:100%;height:100%;min-height:35rem;object-fit:cover;object-position:50% 20%;filter:saturate(.84) contrast(.98)}
.earnings-verdict__portrait::after{content:"TOK-64 / 司曆・刻綺";position:absolute;left:1rem;bottom:1rem;padding:.4rem .55rem;background:color-mix(in srgb,var(--void) 76%,transparent);font:600 var(--fs-label)/1.4 var(--mono);letter-spacing:.12em}
.earnings-verdict__copy{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,4rem)}
.earnings-verdict__copy>span{color:var(--acc);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.16em}
.earnings-verdict blockquote{min-width:0;margin:clamp(2rem,5vw,5rem) 0;font:400 clamp(1.45rem,3vw,3rem)/1.5 var(--mincho);letter-spacing:-.02em;overflow-wrap:anywhere}
.earnings-verdict__metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair)}
.earnings-verdict__metrics div{min-width:0;padding:1rem;border-right:1px solid var(--hair)}
.earnings-verdict__metrics div:last-child{border-right:0}
.earnings-verdict__metrics span{display:block;color:var(--faint);font:var(--fs-label)/1.5 var(--mono);letter-spacing:.08em}
.earnings-verdict__metrics b{display:block;margin-top:.35rem;font:400 clamp(1.2rem,2.3vw,2rem)/1.25 var(--mincho);overflow-wrap:anywhere}
.earnings-lineage{margin-top:1rem;border-top:1px solid var(--hair)}
.earnings-lineage summary{padding:1rem 0;color:var(--faint);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.1em;cursor:pointer}
.earnings-lineage__body{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding-bottom:1rem}
.earnings-lineage__body img{width:7rem;height:9rem;object-fit:cover;object-position:50% 20%;border:1px solid var(--hair)}
.earnings-lineage dl{margin:0}.earnings-lineage dl div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--hair2)}
.earnings-lineage dt,.earnings-lineage dd{min-width:0;margin:0;font:var(--fs-label)/1.55 var(--mono);overflow-wrap:anywhere}.earnings-lineage dt{color:var(--faint)}.earnings-lineage a{color:var(--acc);text-underline-offset:.25em}

.earnings-table-wrap{max-width:100%;overflow-x:auto;border-block:1px solid var(--hair);scrollbar-width:thin}
.earnings-table{width:100%;min-width:49rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.earnings-table th,.earnings-table td{padding:1rem .85rem;border-bottom:1px solid var(--hair2);text-align:right;white-space:nowrap}
.earnings-table th:first-child,.earnings-table td:first-child{text-align:left}
.earnings-table th{color:var(--faint);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.08em}.earnings-table td{font:400 1rem/1.5 var(--mono)}
.earnings-table tbody tr:last-child td{border-bottom:0}.earnings-table tbody tr.is-forecast{background:color-mix(in srgb,var(--acc) 7%,transparent)}
.earnings-table__period b{font-weight:600}.earnings-table__period small{display:block;color:var(--acc);font:var(--fs-label)/1.4 var(--mono);letter-spacing:.08em}
.earnings-trend{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:10rem;margin-top:1rem;border-bottom:1px solid var(--hair)}
.earnings-trend i{display:block;width:min(2.4rem,48%);height:var(--h);margin:0 auto;background:linear-gradient(to top,var(--acc),color-mix(in srgb,var(--acc) 18%,transparent));border-top:1px solid var(--acc)}

.segment-ledger{border-top:1px solid var(--hair)}
.segment-leaf{display:grid;grid-template-columns:3rem minmax(12rem,.48fr) minmax(9rem,.25fr) minmax(9rem,.25fr) minmax(16rem,1fr);gap:1rem;align-items:start;padding:1.4rem 0;border-bottom:1px solid var(--hair)}
.segment-leaf__no{color:var(--faint);font:var(--fs-label)/1.5 var(--mono)}.segment-leaf h3{margin:0;font:400 1.35rem/1.45 var(--mincho)}.segment-leaf dl{margin:0}
.segment-leaf dt{color:var(--faint);font:var(--fs-label)/1.4 var(--mono);letter-spacing:.08em}.segment-leaf dd{margin:.3rem 0 0;font:600 .95rem/1.5 var(--mono)}.segment-leaf dd.is-negative{color:var(--seal)}
.segment-leaf p{min-width:0;margin:0;color:var(--dim);font-size:var(--fs-small);line-height:1.85;overflow-wrap:anywhere}
.segment-summary{max-width:62rem;margin:2rem 0 0;padding:1.5rem 0 1.5rem clamp(1.2rem,3vw,3rem);border-left:1px solid var(--acc);font:400 var(--fs-lede)/1.9 var(--mincho)}

.ai-leaf{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.36fr);border-block:1px solid var(--hair)}
.ai-leaf__statement{padding:clamp(1.5rem,4vw,4rem) clamp(1.5rem,5vw,5rem) clamp(1.5rem,4vw,4rem) 0}.ai-leaf__judgment{padding:clamp(1.5rem,4vw,4rem);border-left:1px solid var(--hair);background:color-mix(in srgb,var(--acc) 5%,transparent)}
.ai-leaf__statement>span,.ai-leaf__judgment>span{color:var(--faint);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.14em}.ai-leaf__statement p{margin:2rem 0 0;font:400 clamp(1.2rem,2.3vw,2rem)/1.75 var(--mincho)}.ai-leaf__judgment p{margin:2rem 0 0;color:var(--dim);line-height:1.9}
.ai-pages{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.ai-pages button{display:inline-grid;place-items:center;min-width:3rem;height:2.2rem;border:1px solid var(--hair);background:transparent;color:var(--faint);font:var(--fs-label)/1 var(--mono);cursor:pointer}.ai-pages button:hover{border-color:var(--acc);color:var(--acc)}

.pdf-observer{border-block:1px solid var(--hair);background:color-mix(in srgb,var(--reading) 62%,transparent)}
.pdf-observer__toolbar{display:grid;grid-template-columns:3.5rem minmax(9rem,.4fr) minmax(11rem,.5fr) 3.5rem minmax(9rem,.38fr);align-items:center;border-bottom:1px solid var(--hair)}
.pdf-observer__toolbar button,.pdf-observer__toolbar select,.pdf-observer__toolbar a{min-width:0;height:3.5rem;border:0;border-right:1px solid var(--hair);border-radius:0;background:transparent;color:var(--ink);font:600 var(--fs-label)/1.3 var(--mono);letter-spacing:.08em}
.pdf-observer__toolbar button{cursor:pointer;font-size:1.1rem}.pdf-observer__toolbar button:hover{background:color-mix(in srgb,var(--acc) 7%,transparent);color:var(--acc)}
.pdf-observer__counter{padding:0 1rem;color:var(--acc);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.14em}.pdf-observer__toolbar select{padding:0 .8rem}.pdf-observer__toolbar a{display:grid;place-items:center;border-right:0;text-decoration:none}.pdf-observer__toolbar a:hover{color:var(--acc)}
.pdf-observer__page{position:relative;display:grid;place-items:start center;width:100%;min-height:36rem;padding:clamp(.6rem,2vw,1.5rem);background:#d5d9d6}
.pdf-observer__page a{display:block;width:100%;text-decoration:none}
.pdf-observer__page img{display:block;width:100%;height:auto;margin:0 auto;background:#fff;box-shadow:0 14px 42px rgba(15,24,21,.14)}
.pdf-observer__notes{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hair)}
.pdf-note{min-width:0;padding:clamp(1.3rem,3vw,2.5rem)}.pdf-note+ .pdf-note{border-left:1px solid var(--hair)}
.pdf-note span{color:var(--faint);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.12em}.pdf-note p{margin:1.2rem 0 0;line-height:1.9;overflow-wrap:anywhere}.pdf-note--kokki{background:color-mix(in srgb,var(--acc) 5%,transparent)}.pdf-note--kokki p{font-family:var(--mincho);font-size:var(--fs-lede)}
.pdf-observer__visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.4fr);border-top:1px solid var(--hair)}.pdf-observer__visual img{display:block;width:100%;height:auto}.pdf-observer__visual figcaption{padding:1.5rem;border-left:1px solid var(--hair)}
.pdf-observer__strip{display:flex;gap:0;max-width:100%;overflow-x:auto;border-top:1px solid var(--hair);scrollbar-width:thin}.pdf-observer__strip button{flex:0 0 3.4rem;height:3rem;border:0;border-right:1px solid var(--hair);background:transparent;color:var(--faint);font:var(--fs-label)/1 var(--mono);cursor:pointer}.pdf-observer__strip button[aria-pressed="true"]{color:var(--ink);background:color-mix(in srgb,var(--acc) 10%,transparent);box-shadow:inset 0 -2px var(--acc)}

.source-leaves{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--hair)}.source-leaf{display:flex;min-width:0;flex-direction:column;gap:2rem;padding:1.5rem;text-decoration:none}.source-leaf+ .source-leaf{border-left:1px solid var(--hair)}.source-leaf span{color:var(--acc);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.12em}.source-leaf strong{min-width:0;font:400 1.25rem/1.65 var(--mincho);overflow-wrap:anywhere}.source-leaf small{margin-top:auto;color:var(--faint);font:var(--fs-label)/1.5 var(--mono)}.source-leaf:hover{background:color-mix(in srgb,var(--acc) 6%,transparent)}
.earnings-disclosure{margin:1.5rem 0 0;color:var(--faint);font-size:var(--fs-small);line-height:1.85}

@media(max-width:1180px){.segment-leaf{grid-template-columns:3rem minmax(10rem,.65fr) minmax(8rem,.3fr) minmax(8rem,.3fr);grid-template-areas:"no name rev profit" ". note note note"}.segment-leaf__no{grid-area:no}.segment-leaf h3{grid-area:name}.segment-leaf dl:nth-of-type(1){grid-area:rev}.segment-leaf dl:nth-of-type(2){grid-area:profit}.segment-leaf p{grid-area:note;padding-top:.35rem}}
@media(max-width:900px){.earnings-verdict{grid-template-columns:minmax(13rem,.38fr) minmax(0,1fr)}.earnings-verdict__portrait,.earnings-verdict__portrait img{min-height:30rem}.ai-leaf{grid-template-columns:1fr}.ai-leaf__judgment{border-left:0;border-top:1px solid var(--hair)}.pdf-observer__toolbar{grid-template-columns:3.2rem minmax(7rem,.45fr) minmax(9rem,.55fr) 3.2rem}.pdf-observer__toolbar a{grid-column:1/-1;border-top:1px solid var(--hair)}.pdf-observer__page{min-height:31rem}}
@media(max-width:680px){.earnings-verdict{grid-template-columns:1fr}.earnings-verdict__portrait{min-height:27rem;border-right:0;border-bottom:1px solid var(--hair)}.earnings-verdict__portrait img{min-height:27rem;max-height:34rem}.earnings-verdict__metrics{grid-template-columns:1fr}.earnings-verdict__metrics div{border-right:0;border-bottom:1px solid var(--hair)}.earnings-lineage__body{grid-template-columns:6rem minmax(0,1fr)}.earnings-lineage__body img{width:6rem;height:8rem}.earnings-lineage dl div{grid-template-columns:1fr;gap:.1rem}.segment-leaf{grid-template-columns:2rem minmax(0,1fr) minmax(7rem,.48fr);grid-template-areas:"no name name" ". rev profit" ". note note"}.source-leaves,.pdf-observer__notes{grid-template-columns:1fr}.source-leaf+ .source-leaf,.pdf-note+ .pdf-note{border-left:0;border-top:1px solid var(--hair)}.pdf-observer__page{min-height:27rem}.pdf-observer__toolbar{grid-template-columns:3rem minmax(5.5rem,.4fr) minmax(7rem,.6fr) 3rem}.pdf-observer__counter{padding:.4rem}.pdf-observer__visual{grid-template-columns:1fr}.pdf-observer__visual figcaption{border-left:0;border-top:1px solid var(--hair)}}
@media(max-width:420px){.segment-leaf{grid-template-columns:2rem minmax(0,1fr);grid-template-areas:"no name" ". rev" ". profit" ". note"}}
