/* White care-label stock, shown at 5 CSS pixels per illustrative millimetre. */
:root { --canvas: #fff; --paper: #fff; --label-body-height: 440px; }
.hero::before { content: none; background-image: none; }
.paper { width: 190px; height: 500px; padding: 12px; background: #fff; color: #111; font-family: Arial, "Yu Gothic", Meiryo, sans-serif; }
.paper::before { content: none; }
.papers { min-height: 538px; }
.papers[data-layout=stack] .paper { left: calc(50% - 106px); transform: translate(calc(var(--offset) * 8px), calc(var(--offset) * 4px)) rotate(calc(var(--offset) * 1.5deg - 1deg)); }
.paper-head { height: 24px; margin: 0 0 12px; padding: 0 0 9px; border-bottom: 1px dashed #111; align-items: flex-start; font-family: Georgia, "Times New Roman", serif; }
.paper-head .factory-identifier { font-size: 11px; font-weight: 700; }
.paper-head .page-fraction { font-size: 11px; font-weight: 700; }
.paper-body { height: var(--label-body-height); overflow: hidden; font-size: 12px; line-height: 1.4; display: flex; flex-direction: column; gap: 13px; }
.label-section { flex: none; margin: 0; overflow-wrap: anywhere; }
.label-logo { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 5px 0 10px; border-bottom: 1px solid #111; font-size: 23px; line-height: 1; font-family: var(--ui); letter-spacing: -.035em; }
.label-logo svg { width: 19px; height: 23px; }
.label-logo b { font-weight: 900; }
.fire-warning { color: #f00; text-align: center; font-family: Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 1.3; padding: 10px 0 12px; }
.label-identifiers { display: grid; gap: 4px; font-size: 10px; margin-bottom: 12px; }
.label-identifiers > div { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; }
.label-identifiers b { font-size: 11px; font-weight: 400; }
.care-symbols { display: grid; gap: 7px; }
.symbol-row > span { display: block; font-size: 6px; font-weight: 700; letter-spacing: .07em; margin-bottom: 3px; }
.symbol-row img { display: block; width: 156px; object-fit: contain; }
.symbol-row:first-child img { height: 27px; }
.symbol-row:last-child img { height: 33px; }
.country-origin { font-size: 11px; }
.animal-origin { font-size: 11px; }
.parts-table { width: 100%; border-collapse: collapse; font: inherit; }
.parts-table caption { text-align: left; font-weight: 700; border-top: 1px solid #aaa; padding: 7px 0 6px; font-size: 10px; line-height: 1.4; }
.parts-table th { width: 34px; padding: 2px 5px 4px 0; vertical-align: top; text-align: left; font-size: 12px; white-space: nowrap; }
.parts-table td { padding: 2px 0 4px; vertical-align: top; }
.extra-care { padding-top: 8px; border-top: 1px solid #aaa; font-size: 11px; }
.label-final { margin-top: auto; padding-top: 4px; }
.label-qr { display: grid; justify-items: center; gap: 5px; }
.label-qr img { width: 106px; height: 106px; display: block; }
.label-qr span { font-size: 6px; letter-spacing: .06em; }
.label-marks { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; }
.label-marks .triman { width: 113px; height: 50px; object-fit: contain; }
.label-marks .eac { width: 30px; height: 30px; object-fit: contain; }
.measure-probe { position: absolute; left: -9999px; top: 0; width: 166px; height: auto; visibility: hidden; font-family: Arial, "Yu Gothic", Meiryo, sans-serif; pointer-events: none; }
.sample-dictionary { line-height: 1.5; }
.panel-caption { white-space: normal; }
.table-header { letter-spacing: 0; }
.workbench-caption { max-width: none; }
@media (max-width: 1150px) { .mat-stage { grid-template-columns: minmax(0, 1fr) 142px; } }
@media (max-width: 1050px) {
  .mat-stage { grid-template-columns: 1fr; }
  .control-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
  .panel-group + .panel-group { padding: 0; margin: 0; border: 0; }
  .panel-group:first-child { grid-column: 1 / -1; }
  .panel-group:last-child { display: block; }
  .language-set { grid-template-columns: repeat(5, 1fr); }
  .sample-dictionary { display: block; margin-top: 7px; }
  .papers { min-height: 538px; }
  .control-panel { padding: 14px 12px; }
}
@media (max-width: 700px) {
  .papers { min-height: 538px; }
  .table-header { align-items: flex-start; }
  .table-header > span:first-child { max-width: 175px; }
  .dimensions { font-size: 13px; }
  .panel-caption { font-size: 9px; }
}
