@media print{
    .app-header{
        display:none !important;
    }
    .app-body{
        top:0 !important;
    }
    .s-button{
        display:none !important;
    }
}
@keyframes slideout {
    0%   { transform:translateX(0%); }
    10%  { transform:translateX(1%); }
    20%  { transform:translateX(2%); }
    30%  { transform:translateX(4%); }
    40%  { transform:translateX(8%); }
    50%  { transform:translateX(15%); }
    60%  { transform:translateX(20%); }
    70%  { transform:translateX(30%); }
    80%  { transform:translateX(40%); }
    90%  { transform:translateX(50%); }
    100% { transform:translateX(100%); }
}
@keyframes slidein {
    0%   { transform:translateX(0%); }
    10%  { transform:translateX(-1%); }
    20%  { transform:translateX(-2%); }
    30%  { transform:translateX(-4%); }
    40%  { transform:translateX(-8%); }
    50%  { transform:translateX(-15%); }
    60%  { transform:translateX(-20%); }
    70%  { transform:translateX(-30%); }
    80%  { transform:translateX(-40%); }
    90%  { transform:translateX(-50%); }
    100% { transform:translateX(-100%); }
}
* { box-sizing: border-box; }
@Media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.001s !important;
        transition-duration: 0.001s !important;
    }
}
body {
    font-size:14px;
    margin: 0;
    overflow:hidden;
    color:#333;
    background:#fff;
}
h1 {
  font-size: 2rem;
  margin: 0.67em 0;
}
h2 {
  font-size: 1.5rem;
}
h3 {
  font-size: 1.17rem;
}
h4 {
  font-size: 1.00rem;
}
h5 {
  font-size: 0.83rem;
}
h6 {
  font-size: 0.67rem;
}

h2, h3, h4, h5, h6{
  line-height: 1;
}
p {
  line-height: 1.5; 
}
pre { 
  white-space: pre-wrap;
}
nav ul {
  list-style: none;
}
img {
  border-style: none;
  vertical-align: bottom;
  display: block;
  max-width: 100%;
  height: auto;
}
:root {
  line-sizing: normal;
}
:root {
  text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
}

body{
    font-family:"Hiragino Kaku Gothic Pro",Osaka, Meiryo, "MS PGothic", sans-serif;
}
.column1{
    & div,
    & table {padding:0px 4px 4px 0px};
    width: 100%;
    display: flex;
    display: -ms-flexbox;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
}
.column2,.column3,.column4,column5{
    & div,table {padding:0px 4px 4px 0px};
    width: 100%;
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
.column5 > table{
    width: 20%;
    padding: 10px;
}
.column5 > table > div,table{
    position: relative;
    overflow: hidden
}
.column4 > table{
    width: 25%;
    padding: 10px;
}
.column3 > table{
    width: 33.33333%;
    padding: 10px;
}
.column2 > table{
    width: 50%;
    padding: 10px;
}
@media screen and (max-width: 960px) {
    .column5 > table{
	width: 25%;
    }
    .column4 > table{
        width: 33.33333%;
    }
    .column3 > table{
	width: 50%;
    }
    .column2 > table{
	width: 100%;
    }
}
@media screen and (max-width: 480px) {
    .column5 > table{
	width: 33.33333%;
    }
    .column4 > table{
	width: 50%;
    }
    .column3 > table{
	width: 100%;
    }
}
.s-srcpi {
   color:#666;
   opacity:0.8;
   filter: blur(4px);
   cursor:pointer;
}
@media all and (-ms-high-contrast: none){
    .s-srcpi  {
       color:#ddd;
       font-weight:100;
       background:#FFF !important;
       opacity:0.5;
       text-shadow: 0px 0px 9px #000;
       cursor:pointer;
    }
}

.s-cl-ll1000001{background-color:#9933FF;}
.s-cl-ll1000002{background-color:#32CD32;}
.s-cl-ll1000003{background-color:#FF1493;}
.s-cl-ll1000004{background-color:#FFE4B5;}
.s-cl-ll1000005{background-color:#00FFFF;}
.s-cl-ll1000006{background-color:#9999FF;}
.s-cl-ll1000007{background-color:#A0522D;}
.s-cl-ll1000008{background-color:#CCCCCC;}
.s-cl-ll1000009{background-color:#FFA500;}
.s-cl-ll1000010{background-color:#FFE4B5;}
.s-cl-ll1000011{background-color:#66ff66;}
/* NAR additions from v4b/css/cls.css. These are data colors, not UI themes. */
.s-cl-ll1002001{background-color:#32CD32;}
.s-cl-ll1002002{background-color:#00FFFF;}
.s-cl-ll1002003{background-color:#FFE4B5;}
.s-cl-sl2002001{background-color:#FFE4B5;}
.s-cl-sl2002002{background-color:#66ff66;}
.s-cl-sl2002003{background-color:#32CD32;}
.s-cl-sl2002004{background-color:#32CD32;}
.s-cl-sl2002005{background-color:#00FFFF;}
.s-cl-sl2002006{background-color:#00FFFF;}
.s-cl-sl2002007{background-color:#00FFFF;}
.s-cl-sl2002008{background-color:#FFE4B5;}
.s-cl-sl2002009{background-color:#FFE4B5;}
.s-cl-sl2002010{background-color:#FFE4B5;}
.s-cl-cl3002001{background-color:#BA945B;}
.s-cl-cl3002002{background-color:#00CCFF;}
.s-cl-sl2000001{background-color:#9933FF;}
.s-cl-sl2000002{background-color:#9933FF;}
.s-cl-sl2000003{background-color:#9933FF;}
.s-cl-sl2000004{background-color:#32CD32;}
.s-cl-sl2000005{background-color:#32CD32;}
.s-cl-sl2000006{background-color:#32CD32;}
.s-cl-sl2000007{background-color:#32CD32;}
.s-cl-sl2000008{background-color:#FF1493;}
.s-cl-sl2000009{background-color:#FF1493;}
.s-cl-sl2000010{background-color:#FF1493;}
.s-cl-sl2000011{background-color:#FF1493;}
.s-cl-sl2000012{background-color:#FF1493;}
.s-cl-sl2000013{background-color:#FF1493;}
.s-cl-sl2000041{background-color:#FF1493;}
.s-cl-sl2000014{background-color:#FFE4B5;}
.s-cl-sl2000037{background-color:#FFE4B5;}
.s-cl-sl2000016{background-color:#00FFFF;}
.s-cl-sl2000017{background-color:#00FFFF;}
.s-cl-sl2000018{background-color:#00FFFF;}
.s-cl-sl2000019{background-color:#00FFFF;}
.s-cl-sl2000020{background-color:#00FFFF;}
.s-cl-sl2000021{background-color:#00FFFF;}
.s-cl-sl2000022{background-color:#00FFFF;}
.s-cl-sl2000023{background-color:#00FFFF;}
.s-cl-sl2000024{background-color:#00FFFF;}
.s-cl-sl2000025{background-color:#9999FF;}
.s-cl-sl2000026{background-color:#9999FF;}
.s-cl-sl2000027{background-color:#9999FF;}
.s-cl-sl2000028{background-color:#A0522D;}
.s-cl-sl2000029{background-color:#A0522D;}
.s-cl-sl2000030{background-color:#CCCCCC;}
.s-cl-sl2000031{background-color:#CCCCCC;}
.s-cl-sl2000032{background-color:#CCCCCC;}
.s-cl-sl2000033{background-color:#CCCCCC;}
.s-cl-sl2000034{background-color:#CCCCCC;}
.s-cl-sl2000036{background-color:#CCCCCC;}
.s-cl-sl2000035{background-color:#FFA500;}
.s-cl-sl2000039{background-color:#FFE4B5;}
.s-cl-sl2000015{background-color:#FFE4B5;}
.s-cl-sl2000040{background-color:#FFE4B5;}
.s-cl-sl2000038{background-color:#66ff66;}
.s-cl-sl2000042{background-color:#66ff66;}
.s-cl-sl2000043{background-color:#66ff66;}
.s-cl-sl2000044{background-color:#66ff66;}
.s-cl-sl2000045{background-color:#66ff66;}
.s-cl-sl2000046{background-color:#66ff66;}
.s-cl-cl3000001{background-color:#ddffdd;}
.s-cl-cl3000002{background-color:#ddffdd;}
.s-cl-cl3000003{background-color:#BA945B;}
.s-cl-cl3000004{background-color:#BA945B;}
.s-cl-cl3000005{background-color:#BA945B;}
.s-cl-cl3000006{background-color:#BA945B;}
.s-cl-cl3000007{background-color:#00CCFF;}
.s-cl-cl3000008{background-color:#00CCFF;}
.s-cl-cl3000009{background-color:#00CCFF;}
.s-cl-cl3000010{background-color:#00CCFF;}
.s-cl-prA{background-color:#FFCC00;}
.s-cl-prB{background-color:#FFCC00;}
.s-cl-prC{background-color:#FFCC00;}
.s-cl-prD{background-color:transparent;}
.s-cl-prE{background-color:transparent;}
.s-cl-prX{background-color:transparent;}
.s-cl-pr {background-color:transparent;}
.s-cl-phA{background-color:transparent;}
.s-cl-phB{background-color:transparent;}
.s-cl-phC{background-color:transparent;}
.s-cl-phD{background-color:#FFCC00;}
.s-cl-phE{background-color:#FFCC00;}
.s-cl-phX{background-color:#FFCC00;}
.s-cl-ph {background-color:transparent;}
.s-cl-rr0{background-color:#ffffff;color:#D30}
.s-cl-rr1{background-color:#ffefef;}
.s-cl-rr2{background-color:#dfefff;}
.s-cl-rr3{background-color:#efffef;}
.s-cl-pt1{color:#D30;font-weight:bold;}
.s-cl-pt2{color:#36D;font-weight:bold;}
.s-cl-pt3{color:#386;font-weight:bold;}
.s-cl-pt0{color:#332;}
.s-cl-tk0{color:green;}
.s-cl-tk1{color:brown;}
.s-cl-tk2{color:#333;}
div.s-btn {
    cursor:pointer;
    color:#666;
    background-image: -webkit-linear-gradient(#efefef 0%, #e6e6e6 100%);
    background-image:         linear-gradient(#efefef 0%, #e6e6e6 100%);
    border-right: solid 1px #a2a2a2;
    border-bottom: solid 1px #a2a2a2;
}
div.s-btn:active:hover,
div.s-btn.s-pressed{
    background-image: -webkit-linear-gradient(#d9d9d9 0%, #efefef 100%);
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
    background-color: #e0e0e0;
}
.s-cl-rr1.s-btn{
    background-image: -webkit-linear-gradient(#ffefef 0%, #e9d9d9 100%);
    background-image:         linear-gradient(#ffefef 0%, #e9d9d9 100%);
}
.s-cl-rr2.s-btn{
    background-image: -webkit-linear-gradient(#eaeff9 0%, #d4d9e9 100%);
    background-image:         linear-gradient(#eaeff9 0%, #d4d9e9 100%);
}
.s-cl-rr3.s-btn{
    background-image: -webkit-linear-gradient(#efffef 0%, #d9e9d9 100%);
    background-image:         linear-gradient(#efffef 0%, #d9e9d9 100%);
}
.s-cl-rr1.s-btn:active:hover,
.s-cl-rr1.s-btn.s-pressed{
    background-image: -webkit-linear-gradient(#efdfdf 0%, #d9c9c9 100%);
    background-image:         linear-gradient(#efdfdf 0%, #d9c9c9 100%);
}
.s-cl-rr2.s-btn:active:hover,
.s-cl-rr2.s-btn.s-pressed{
    background-image: -webkit-linear-gradient(#dadfe9 0%, #c4c9d9 100%);
    background-image:         linear-gradient(#dadfe9 0%, #c4c9d9 100%);
}
.s-cl-rr3.s-btn:active:hover,
.s-cl-rr3.s-btn.s-pressed{
    background-image: -webkit-linear-gradient(#dfefdf 0%, #c9d9c9 100%);
    background-image:         linear-gradient(#dfefdf 0%, #c9d9c9 100%);
}

.s-cl-wn0{ background:#FFF;          color:#000;}
.s-cl-wn1{ background:#FFF;          color:#000;}
.s-cl-wn2{ background-color:#000;    color:#FFF;}
.s-cl-wn3{ background-color:#F00;    color:#FFF;}
.s-cl-wn4{ background-color:#3366FF; color:#FFF;}
.s-cl-wn5{ background-color:#FFFF33; color:#000;}
.s-cl-wn6{ background-color:#339966; color:#FFF;}
.s-cl-wn7{ background-color:#FF9900; color:#000;}
.s-cl-wn8{ background-color:#FF99CC; color:#000;}
.s-cl-warning{ background-color:#ffdbdb;}
.s-cl-caution{ background-color:#ffffdd;}
.s-cl-hiv0{ border-left:solid 3px transparent !important;}
.s-cl-hiv9{ border-left:solid 3px #FF8c00 !important;}
.s-bg-hiv0{ background-color:transparent;color:#000;}
.s-bg-hiv1{ background-color:#ffcc00;color:#000;}
.s-bg-hiv2{ background-color:#0000aa;color:#FFF;}
.s-bg-hiv3{ background-color:#aa0000;color:#FFF;}
.s-cl-rank1{ color:#b21; }
.s-cl-rank2{ color:#23a; }
.s-cl-rank3{ color:#261; }
.s-cl-iv0{ background-color:#FFCC00 !important;}
.s-cl-iv9{ background-color:#FF8c00 !important;}
.s-cl-atp15{ background-color:#ffcc00;}
.s-cl-atp30{ background-color:#ffcc00;}
.s-cl-rt1{ background-color:#3399FF;}
.s-cl-rt2{ background-color:#FF6699;}
.s-cl-hs0{ background-color:#c6e2ff;}
.s-cl-hs1{ background-color:#e2ffc6;}
.s-cl-hs2{ background-color:#e6e6e6;}

.s-cl-sdt-1{ background-color:#BA945B;}
.s-cl-sdt-2{ background-color:#66ff66;}
.s-cl-s14-1{ background-color:#00ccFF;}
.s-cl-s14-2{ background-color:#FF6699;}
.s-cl-ct-jp{ background-color:#ddFFdd;}
.s-cl-ct-us{ background-color:#BA945B;}
.s-cl-ct-eu{ background-color:#00ccFF;}
.s-cl-tr0{ color:#008000;}
.s-cl-tr1{ color:#A52A2A;}
.s-cl-tr2{ color:#000000;}

.s-fs-micro{font-size:11px;}
.s-fs-small{font-size:12px;}
.s-fs-normal{font-size:14px;}
.s-fs-medium{font-size:14px;}
.s-fs-large {font-size:16px;}
.s-fs-xlarge{font-size:17px;}
.s-fs11{font-size:11px;}
.s-fs10{font-size:10px;}
.s-fs12{font-size:12px;}
.s-fs13{font-size:13px;}
.s-fs14{font-size:14px;}
.s-fs15{font-size:15px;}
.s-fs16{font-size:16px;}
.s-fs17{font-size:17px;}
.s-fs18{font-size:18px;}
.s-fs19{font-size:19px;}
.s-fs20{font-size:20px;}
.s-fs21{font-size:21px;}
.s-fs22{font-size:22px;}
.s-fs23{font-size:23px;}
.s-fs24{font-size:24px;}
.s-f13{font-size:13px !important;}

.s-b{font-weight:bold;}
.s-n{font-weight:normal !important;}
.s-transparent{ opacity:0; }
.s-red      { color:#D30; }
.s-blue     { color:#36D; }
.s-darkblue { color:#238; }
.s-white    { color:#FFF; }
.s-green    { color:#085; }
.s-gray     { color:#aa9; }
.s-gray1     { color:#887; }
.s-gray2     { color:#665; }
.s-gray3     { color:#332; }
.s-gray4     { color:#222; }
.s-red1     { color:#f87; }
.s-red2     { color:#d65; }
.s-red3     { color:#c32; }
.s-blue1    { color:#88f; }
.s-blue2    { color:#66f; }
.s-blue3    { color:#33f; }
.s-green1   { color:#8f8; }
.s-green2   { color:#6f6; }
.s-green3   { color:#3f3; }

.s-micro    { font-size:11px;}
.s-small    { font-size:90%;line-height:100%;}
.s-normal   { font-size:100%;line-height:100%;}
.s-llarge   { font-size:110%;line-height:100%;}
.s-medium   { font-size:130%;line-height:100%;}
.s-large    { font-size:150%;line-height:100%;}
.s-x2       { font-size:200%;vertical-align:middle;line-height:100%;}
.s-x3       { font-size:250%;margin-top:3px;line-height:95%;}
.s-nosp     { margin:0 !important;padding:0 !important; }
.s-nowrap   { white-space: nowrap; }


div.spacer-w1{ clear: both; height:auto; width:1px; }
div.spacer-w2{ clear: both; height:auto; width:2px; }
div.spacer-w3{ clear: both; height:auto; width:3px; }
div.spacer-w4{ clear: both; height:auto; width:4px; }
div.spacer-w5{ clear: both; height:auto; width:5px; }
div.spacer-w6{ clear: both; height:auto; width:6px; }
div.spacer-w7{ clear: both; height:auto; width:7px; }
div.spacer-w8{ clear: both; height:auto; width:8px; }
div.spacer-w9{ clear: both; height:auto; width:9px; }
div.spacer-h1{ clear: both; width:auto; height:1px; }
div.spacer-h2{ clear: both; width:auto; height:2px; }
div.spacer-h3{ clear: both; width:auto; height:3px; }
div.spacer-h4{ clear: both; width:auto; height:4px; }
div.spacer-h5{ clear: both; width:auto; height:5px; }
div.spacer-h6{ clear: both; width:auto; height:6px; }
div.spacer-h7{ clear: both; width:auto; height:7px; }
div.spacer-h8{ clear: both; width:auto; height:8px; }
div.spacer-h9{ clear: both; width:auto; height:9px; }


.s-ta-l     { text-align:left; }
.s-ta-c     { text-align:center; }
.s-ta-r     { text-align:right; }
.s-va-t     { vertical-align:top !important; }
.s-va-m     { vertical-align:middle !important; }
.s-va-b     { vertical-align:bottom !important; }
.s-lh-50    { line-height:50%; }
.s-lh-60    { line-height:60%; }
.s-lh-70    { line-height:70%; }
.s-lh-80    { line-height:80%; }
.s-lh-90    { line-height:90%; }
.s-lh-95    { line-height:95%; }
.s-lh-100   { line-height:100%; }
.s-lh-105   { line-height:105%; }
.s-lh-110   { line-height:110%; }
.s-lh-120   { line-height:120%; }
.s-lh-130   { line-height:130%; }
.s-lh-140   { line-height:140%; }
.s-lh-150   { line-height:150%; }
.s-lh-160   { line-height:160%; }
.s-lh-170   { line-height:170%; }
.s-lh-180   { line-height:180%; }
.s-lh-190   { line-height:190%; }
.s-lh-200   { line-height:200%; }
.s-lh-normal{ line-height:100%; }
.s-lh-littlebig{ line-height:100%; }
.s-lh-it2l  { line-height:133%; }
.s-lh-it3l  { line-height:100%; }
.s-lh-small { line-height:70%; }
.s-lh-medium{ line-height:150%; }
.s-lh-large { line-height:200%; }
.s-lh-big   { line-height:320%; }
.s-float-r  { float:right; }
.s-float-l  { float:left; }
.s-cl-dirt  { color:#741; }
.s-cl-turf  { color:#474; }
.s-cl-c0    { color:#000; }
.s-cl-c3    { color:#333; }
.s-cl-c6    { color:#666; }
.s-cl-c9    { color:#999; }
.s-cl-ca    { color:#AAA; }
.s-cl-cc    { color:#CCC; }
.s-cl-cf    { color:#FFF; }
.s-bg-white { background-color:#FFF;}
.s-bg-blue { background-color:#47d;}
.s-bg-gray { background-color:#ccc;}
.s-bg-red { background-color:#f77;}
.s-bg-highlight { background-color:$base-highlight-color;}
.s-bg-gray1     { background:#887; }
.s-bg-gray2     { background:#665; }
.s-bg-gray3     { background:#332; }
.s-bg-red1     { background:#f87; }
.s-bg-red2     { background:#d65; }
.s-bg-red3     { background:#c32; }
.s-bg-blue1    { background:#88f; }
.s-bg-blue2    { background:#66f; }
.s-bg-blue3    { background:#33f; }
.s-bg-green1   { background:#8f8; }
.s-bg-green2   { background:#6f6; }
.s-bg-green3   { background:#3f3; }
.s-bg-transparent {background-color:transparent;}
.s-betinput   { background-color:#e9f3e9; color:#333;}

.d-ib   { display:inline-block;}
.s-grid2line,
.s-grid3line{ display:inline-block; }
.s-grid2line div,
.s-grid2line div div{
    display:inline-block;
    margin:0;
    padding:0;
    line-height:124%;
    vertical-align:middle;
}
/* Upper-level card changes only; table-column selectors stay instantaneous. */
@keyframes app-tab-slide-left-out{to{transform:translateX(-100%)}}
@keyframes app-tab-slide-left-in{from{transform:translateX(100%)}}
@keyframes app-tab-slide-right-out{to{transform:translateX(100%)}}
@keyframes app-tab-slide-right-in{from{transform:translateX(-100%)}}
html[data-app-tab-slide]::view-transition-old(root){animation:none;opacity:0}
html[data-app-tab-slide]::view-transition-new(root){animation:none}
html[data-app-tab-slide]::view-transition{pointer-events:none}
html[data-app-tab-slide]::view-transition-group(app-tab-content),
html[data-app-tab-slide]::view-transition-image-pair(app-tab-content){overflow:hidden}
html[data-app-tab-slide="forward"]::view-transition-old(app-tab-content){animation:250ms ease-in-out both app-tab-slide-left-out}
html[data-app-tab-slide="forward"]::view-transition-new(app-tab-content){animation:250ms ease-in-out both app-tab-slide-left-in}
html[data-app-tab-slide="back"]::view-transition-old(app-tab-content){animation:250ms ease-in-out both app-tab-slide-right-out}
html[data-app-tab-slide="back"]::view-transition-new(app-tab-content){animation:250ms ease-in-out both app-tab-slide-right-in}
html[data-app-home-slide-enabled] .app-home-screen > :first-child{view-transition-name:app-home-content}
html[data-app-home-slide]::view-transition-old(root){animation:none;opacity:0}
html[data-app-home-slide]::view-transition-new(root){animation:none}
html[data-app-home-slide]::view-transition{pointer-events:none}
html[data-app-home-slide]::view-transition-group(app-home-content),
html[data-app-home-slide]::view-transition-image-pair(app-home-content){overflow:hidden}
html[data-app-home-slide="forward"]::view-transition-old(app-home-content){animation:250ms ease-in-out both app-tab-slide-left-out}
html[data-app-home-slide="forward"]::view-transition-new(app-home-content){animation:250ms ease-in-out both app-tab-slide-left-in}
html[data-app-home-slide="back"]::view-transition-old(app-home-content){animation:250ms ease-in-out both app-tab-slide-right-out}
html[data-app-home-slide="back"]::view-transition-new(app-home-content){animation:250ms ease-in-out both app-tab-slide-right-in}
.s-wno-box{
    display:inline-flex;
    align-items:center;
    flex-flow:column;
    border:1px solid #333;
    width:1.5em;
    line-height:.9em;
    margin-top:-1px;
}
.s-wno-num{
    padding-top:3px;
    letter-spacing:-1px;
    transform:scaleX(.8);
}
.s-condclass-x60{
    display:inline-block;
    transform:scaleX(.6);
    margin-left:-.3rem;
    width:1.5rem;
    text-shadow:1px 0 0 #333;
    overflow:visible;
    letter-spacing:1px;
}
.app-history-movie{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    color:inherit;
    text-decoration:none;
}
.app-history-movie > span{ display:flex; flex-direction:column; align-items:center; }
.d-if   { display:inline-flex;}
.d-b-l  { display:block;float:left;}
.d-b-r  { display:block;float:right;}
.d-b-c  { display:block;float:center;}

.s-width-max{ width:100% !important;}
.s-no-padding{ margin:0px;padding:0px;}
.s-border-solid{ border:1px solid #CCC;}
/*
.tplgrid{
    cursor:move;
}
.tpllabel{
    cursor:move;
}
*/

.slow-spin {
  -webkit-animation: fa-spin 15s infinite linear;
  animation: fa-spin 15s infinite linear;
}
.fast-spin {
  -webkit-animation: fa-spin 0.5s infinite linear;
  animation: fa-spin 0.5s infinite linear;
}
.s-common-sticky{
       position: -webkit-sticky;
       position: sticky;
       top:0;
       z-index:1;
}
.s-cpos-sticky{ font-weight:bold; color:#FF0000}
.s-cpos-hover {
    color: #b6f;
    font-weight:bold;
    text-shadow: 1px 1px 0px #83f; 
}

.s-grade-icon{
    border-radius: 4px;
    display: inline-block;
    width: 2rem;
    text-align: center;
    align-self:center;
    font-weight:bold;
    margin-top:-1px;
    font-size: 12px;
    line-height: 14px;
    vertical-align: top;
    letter-spacing:-2px;
    padding-top:1px;
    overflow: hidden;
    color:#eee;
    text-decoration: none;
}
.s-cl-gA{
    background:#c21;
}
.s-cl-gB{
    background:#23c;
}
.s-cl-gC{
    text-indent:-1px;
    background:#2a1;
}
.s-cl-gD{
  background: #F33;
  color: #FFF;
}
td .s-grade-icon{
    line-height: 12px;
    font-size: 11px;
    opacity: 0.7;
}

ruby rt{
    color:#333;
    font-size:80%;
}

div.s-emboss-menu,
div.s-emboss{
    font-weight:bold;
    text-shadow: 2px 2px 1px rgba(255, 255, 255, 0.66);
}
div.s-emboss{
    color: rgba(152, 152, 152, 0.33);
    font-size:1.8em;
}
div.s-emboss-menu > .s-th-square{vertical-align:top}
div.s-emboss-menu{
    font-size:1.8em;
    line-height:1.2em;
    height:1.2em;
    position: relative;
}
div.s-emboss-menu:active:not(hover),
div.s-emboss-menu.s-pressed,
div.s-emboss:active:not(hover),
div.s-emboss.s-pressed{
    color: rgba(152, 0, 0, 0.63);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
}

td.s-emboss{
    font-weight:bold;
    font-size:200%;
    text-shadow: 2px 2px 1px rgba(255, 255, 255, 0.66);
}
td.s-emboss{
    color: rgba(152, 152, 152, 0.33);
}
div.s-emboss-menu:after{
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900;
    content: "\f0d7" !important;
    font-size: 1em;
    left: 0px;
    right: 0px;
    position: absolute;
    bottom: -0.61em;
    transform: scaleY(0.5);
}
td.s-emboss:active:not(hover),
td.s-emboss.s-pressed{
    color: rgba(152, 0, 0, 0.63);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
}
tr.s-excluded{
    opacity: 0.7;
    & td{
        background-image: none;
        color:#ccc;
        border-right: 1px solid #e0e0e0;
        border-bottom: 1px solid #e0e0e0;
    }
}
tr.s-excluded td.s-check{
    color:#fcfcfc;
}
.s-enc {
    display: inline-flex;
    align-items: center;
    flex-flow: column;
    border: 1px solid #333;
    width: 1.6em;
    height: 1.5em;
    font-style: normal;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5em;
}
.s-enc.s-white {
    border: 1px solid #FFF;
}
.s-square {
    letter-spacing: -1px;
    padding: 0px 1px 1px 0px;
}
.s-enc-mini {
    letter-spacing: -1px;
    padding: 1px 1px 1px 0px;
    line-height: 1.6em;
    text-transform: scaleX(0.5);
}
.s-circle {
    width: 1.6em;
    height: 1.5em;
    border-radius: 1em;
    text-transform: scaleX(0.5);
}
.x-button:not(.x-button-upmenu) .x-text-el .s-square {
    width: 1.7em;
    height: 1.6em;
    line-height: 1.6em;
    font-size:1.2em;
}
.s-th-square {
    width: 1.3em;
    height: 1.3em;
    border: 2px solid #666;
    color: #666;
    font-size: 0.8em;
    line-height: 1.3em;
}
.s-th-circle {
    width: 1.3em;
    height: 1.3em;
    color: #666;
    letter-spacing: 0px;
    border-radius: 1em;
    border: 2px solid #666;
    font-size: 0.8em;
    line-height: 1.2em;
}
.s-transmicro{font-size:80%;transform:scaleX(0.6)}
.s-encword{font-style:normal}

.s-ruby{
    display: inline-flex;
    flex-flow: column;
    align-items: center;
    height:1em;
    line-height:1.3em;
    transform:scaleX(0.5);
    text-shadow: 1px 0px 0px;
    letter-spacing:2px;
}

.s-enc-multi {
    display: inline-flex;
    align-items: center;
    flex-flow: column;
    width:1.6em;
    text-transform: scaleX(0.7);
    font-style: normal;
    transform:scaleX(0.7);
    text-shadow: 1px 0px 0px #999;
    letter-spacing:1px;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.s-flex        { display:flex; }
.s-flex-ta-tl  { align-items: start;  justify-content: start;  }
.s-flex-ta-tc  { align-items: start;  justify-content: center; }
.s-flex-ta-tr  { align-items: start;  justify-content: end;    }
.s-flex-ta-ts  { align-items: start;  justify-content: stretch;    }
.s-flex-ta-cl  { align-items: center; justify-content: start;  }
.s-flex-ta-cc  { align-items: center; justify-content: center; }
.s-flex-ta-cr  { align-items: center; justify-content: end;    }
.s-flex-ta-cs  { align-items: center; justify-content: stretch;    }
.s-flex-ta-bl  { align-items: end;    justify-content: start;  }
.s-flex-ta-bc  { align-items: end;    justify-content: center; }
.s-flex-ta-br  { align-items: end;    justify-content: end;    }
.s-flex-ta-bs  { align-items: end;    justify-content: stretch;    }
.s-flex-ta-sl  { align-items: stretch;justify-content: start;  }
.s-flex-ta-sc  { align-items: stretch;justify-content: center; }
.s-flex-ta-sr  { align-items: stretch;justify-content: end;    }
.s-flex-ta-ss  { align-items: stretch;justify-content: stretch;    }

.s-flex-sa-tl  { align-self: start;  justify-self: start;  }
.s-flex-sa-tc  { align-self: start;  justify-self: center; }
.s-flex-sa-tr  { align-self: start;  justify-self: end;    }
.s-flex-sa-cl  { align-self: center; justify-self: start;  }
.s-flex-sa-cc  { align-self: center; justify-self: center; }
.s-flex-sa-cr  { align-self: center; justify-self: end;    }
.s-flex-sa-bl  { align-self: end;    justify-self: start;  }
.s-flex-sa-bc  { align-self: end;    justify-self: center; }
.s-flex-sa-br  { align-self: end;    justify-self: end;    }
.s-flex-row-wrap  { flex-flow:row wrap; }
.s-flex-col-wrap  { flex-flow:column wrap; }
.s-flex-row-nowrap{ flex-flow:row nowrap; }
.s-flex-col-nowrap{ flex-flow:column nowrap; }
.s-flex-grow      { flex:1; }
.s-nopadding{ padding:0px; }
.s-nomargin{ margin:0px; }
.s-vbox{
    display:flex;
    flex-flow:column nowrap;
}
.s-hbox{
    display:flex;
    flex-flow:row nowrap;
}
.s-marks-box-border,
.s-marks-box-inset,
.s-marks-box{
    width: 2.5em;
    height: 2.5em;
    line-height:1em;
    position: relative;
    margin: auto auto 2;
}
.s-marks-box-border{border:1px solid #ccc;}
.s-marks-box-inset{border-left:1px solid #ccc;border-top:1px solid #ccc;border-right:1px solid #efefef;border-bottom:1px solid #efefef;}
.s-marks-m4 {z-index:2;text-align:center;font-weight:xbold;color:#888;position:absolute;font-size:1em;width:1em;height:1em;line-height:1em;right:-0.2em;top:      0px;}
.s-marks-m3 {z-index:2;text-align:center;font-weight:xbold;color:#888;position:absolute;font-size:1em;width:1em;height:1em;line-height:1em;left: -0.2em;bottom:-0.2em;}
.s-marks-m2 {z-index:2;text-align:center;font-weight:xbold;color:#888;position:absolute;font-size:1em;width:1em;height:1em;line-height:1em;right:-0.2em;bottom:-0.2em;}
.s-marks-m1 {z-index:0;text-align:center;font-weight:xbold;color:#333;position:absolute;font-size:2em;width:1em;height:1em;line-height:1em;left: 0.15em; top:  0.15em;}
.s-marks-m4:not(.s-noafter):after,
.s-marks-m3:not(.s-noafter):after,
.s-marks-m2:not(.s-noafter):after{
    content: "\f111";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    z-index:-1;
    text-align:center;
    opacity:0.80;
    font-weight:xbold;
    color:#fff;
    position:absolute;
    font-size:1.0em;
    width:1em;
    height:1em;
    line-height:1em;
}
.s-marks-m4:after{right:0.0em;top:   0.0em;}
.s-marks-m3:after{left: 0.0em;bottom:0.0em;}
.s-marks-m2:after{right:0.0em;bottom:0.0em;}

.s-str-copy{
    position: relative;
    transform: scaleX(0.6);
    display: inline-block;
    width: 41px;
    margin-left: -7px;
    letter-spacing: 1px;
    text-shadow: 1px 0px 0px #aaa;
}
.app-viewport{
    --app-header-height:calc(2.4rem + 1px);
    width: 100%;
    height: 100%;
    margin: 0;
    padding:0;
    display:flex;
    font-family:"Hiragino Kaku Gothic Pro",Osaka,Meiryo,"MS PGothic",sans-serif;
    font-size: 14px;
    flex-flow:column nowrap;
    -webkit-font-smoothing: antialiased;
    position: relative;
    box-sizing: border-box;
}
.app-header{
    padding:2px 2px 3px;
    position:fixed;
    height:var(--app-header-height);
    line-height:2.2rem;
    font-size:1.2rem;
    top:0px;
    left:0px;
    width:100%;
    background:#354;
    text-align:center;
    text-shadow:0px 0px 1px #ccc;
    overflow:hidden;
    color:#eee;
    z-index:1;
}
.app-header-title{
    min-width:0;
    overflow:hidden;
    padding:0 4px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-viewport[data-page="horse"] .app-header-title{
    font-size:14px;
}
.app-viewport[data-page="trends"] .app-header-title{
    font-size:1rem;
}
.app-viewport[data-page="trends"] .app-header-nav{
    font-size:1rem;
}
.app-viewport[data-page="trends"] .app-header-title > span{
    display:inline-block;
    white-space:nowrap;
}
.app-viewport[data-page="trends"] .app-trend-menu-hidden{
    display:none;
}
.app-viewport[data-page="trends"] .app-trend-distance-title{
    letter-spacing:-1px;
}
.app-header-nav,
.app-header-race-nav{
    display:flex;
    flex:0 0 auto;
}
.app-header-race-nav{
    margin-left:6px;
}
.app-header-toolbutton{
    display:flex;
    width:2em;
    min-width:2em;
    height:2em;
    flex:0 0 2em;
    align-items:center;
    align-self:center;
    justify-content:center;
    border-radius:3px;
    color:#fff;
    background:transparent;
    font-weight:bold;
    text-decoration:none;
    user-select:none;
}
.app-header-toolbutton > i{
    font-size:24px;
}
button.app-header-toolbutton{
    padding:0;
    border:0;
    font:inherit;
}
.app-header-nav > .app-header-toolbutton,
.app-header-race-nav > .app-header-toolbutton{
    width:38px;
    min-width:38px;
    height:34px;
    flex-basis:38px;
    border:1px solid var(--mode-border);
    background:var(--mode-action);
}
.app-header-race-nav > .app-header-toolbutton:not(:first-child){
    border-left:0;
    border-radius:0;
}
.app-header-race-nav > .app-header-toolbutton:first-child{border-radius:3px 0 0 3px}
.app-header-race-nav > .app-header-toolbutton:last-child{border-radius:0 3px 3px 0}
/* v4b titlebar: 38px race controls and 34px tall inset faces. */
.app-header:has(.app-vote-toggle) .app-header-nav > .app-header-toolbutton,
.app-header:has(.app-vote-toggle) .app-header-race-nav > .app-header-toolbutton{
    width:38px;
    min-width:38px;
    flex-basis:38px;
}
button.app-global-menu-button{
    margin-left:4px;
    width:50px;
    min-width:50px;
    height:34px;
    flex-basis:50px;
    gap:5px;
    padding:3px 4px;
    border:1px solid var(--mode-border);
    border-radius:999px 0 0 999px;
    background:var(--mode-action);
    color:#fff;
    text-shadow:none;
}
.app-global-menu-button > i{font-size:20px;line-height:1}
.app-global-menu-button > .app-global-menu-avatar{display:block;width:26px;height:26px;flex:0 0 26px;border:1px solid rgb(255 255 255 / 85%);border-radius:50%;box-shadow:0 1px 2px rgb(0 0 0 / 22%);object-fit:cover}
.app-global-menu-button > [hidden]{display:none}
.app-global-menu-chevron{width:0;height:0;flex:0 0 auto;border-top:5px solid currentColor;border-right:4px solid transparent;border-left:4px solid transparent}
.app-account-identity .app-account-identity-image{display:block;box-sizing:border-box;width:28px;height:28px;padding:5px;border-radius:50%;background:#eff3f8;fill:#1f5388;object-fit:cover}
.app-account-identity img.app-account-identity-image{padding:0}
.app-account-identity[hidden],.app-account-identity .app-account-identity-image[hidden]{display:none}
.app-global-menu-overlay{
    position:fixed;
    z-index:5;
    top:var(--app-header-height);
    right:0;
    bottom:0;
    left:0;
    background:rgba(0,0,0,.18);
}
.app-global-menu-overlay[hidden]{ display:none; }
.app-global-menu{
    display:flex;
    box-sizing:border-box;
    width:min(248px,calc(100vw - 8px));
    max-height:calc(100dvh - var(--app-header-height) - 4px);
    margin:0 4px 0 auto;
    padding:4px;
    flex-direction:column;
    border:1px solid var(--mode-border,#25664d);
    border-radius:0 0 4px 4px;
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.28);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
}
.app-global-menu::-webkit-scrollbar{display:none}
.app-global-menu-guest{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:0;margin-bottom:8px;padding:10px 3px 8px;border-bottom:1px solid #d8dee4;background:#fff;color:#1f2328;text-shadow:none}
.app-global-menu-guest[hidden],.app-global-menu-dbuyer-links[hidden]{display:none}
.app-global-menu-logout-status{align-self:stretch;box-sizing:border-box;margin:0 3px 7px;padding:7px 9px;border:1px solid #a6d5b2;border-radius:4px;background:#e8f5eb;color:#116329;font-size:13px;font-weight:700;line-height:1.4;text-align:center}
.app-global-menu-logout-status[hidden]{display:none}
.app-global-menu-logout-status i{margin-right:5px}
/* Keep the unscaled sentence on one line, then fit it with horizontal scaling. */
.app-global-menu-guest > p{align-self:center;width:max-content;max-width:none;margin:0;color:#1f5388;font:600 11px/1.85 "Noto Sans JP",sans-serif;letter-spacing:normal;white-space:nowrap;transform:translateX(1px) scaleX(.85);transform-origin:center}
.app-global-menu-guest-panel{display:flex;align-self:stretch;flex-direction:column;align-items:center;gap:8px;box-sizing:border-box;padding:8px;border:1px solid #ccc;border-radius:5px;background:#fff;box-shadow:none}
.app-global-menu-dbuyer-brand{display:block;line-height:0}
.app-global-menu-dbuyer-brand img{display:block;width:auto;max-width:100%;height:42px}
.app-global-menu-guest-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-self:stretch}
.app-global-menu-guest-actions a{display:flex;min-height:38px;align-items:center;justify-content:center;border:1px solid #1f883d;border-radius:5px;background:#1f883d;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.app-global-menu-guest-actions a:first-child{border-color:#d0d7de;background:#fff;color:#1f5388}
.app-global-menu-guest-actions a:hover,.app-global-menu-guest-actions a:focus-visible{filter:brightness(.94);outline:2px solid #1f5388;outline-offset:1px}
.app-global-menu-profile{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:0;padding:12px 10px 8px;border-radius:5px 5px 0 0;background:#f6f8fa;color:#1f2328;text-shadow:none}
.app-global-menu-profile[hidden],.app-global-menu-profile-points[hidden]{display:none}
.app-global-menu-profile-icon .app-account-identity-image{width:52px;height:52px;padding:10px}
.app-global-menu-profile-icon img.app-account-identity-image{padding:0}
.app-global-menu-profile-details{display:block;min-width:0;overflow-wrap:anywhere}
.app-global-menu-profile-details > span{display:block}
.app-global-menu-profile-name{font-size:16px;font-weight:700;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-global-menu-profile-email{margin-top:2px;color:#57606a;font-size:13px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-global-menu-profile-points{margin-top:7px;color:#57606a;font-size:13px;line-height:1.4}
.app-global-menu-profile-points strong{margin-left:.35em;color:#1f2328;font-size:15px}
.app-global-menu-dbuyer-links{display:block;flex:0 0 auto;margin-bottom:8px;padding:0 0 7px;border-bottom:1px solid #d8dee4;border-radius:0 0 5px 5px;background:#f6f8fa;text-shadow:none}
.app-global-menu-dbuyer-summary{display:flex;min-height:36px;align-items:center;gap:8px;padding:7px 10px 7px 26px;border:0;border-radius:0;background:transparent;color:#57606a;cursor:pointer;list-style:none}
.app-global-menu-dbuyer-label{font-size:11px;font-weight:700;white-space:nowrap;flex:0 0 auto}
.app-horse-memo-entry{box-sizing:border-box;width:min(100%,390px);padding:6px 8px;border-bottom:1px solid #ccc}
.app-horse-memo-entry h3{margin:0 0 4px;font-size:13px;font-weight:700}
.app-horse-memo-entry textarea{box-sizing:border-box;display:block;width:100%;font:13px/1.5 sans-serif;padding:5px;border:1px solid #aaa;border-radius:2px;resize:vertical;background:#fff;color:#222}
.app-horse-memo-status{margin:0;padding:6px 8px;font-size:13px}
.app-horse-memo-status:empty{display:none}
.app-horse-memo-placeholder{height:66px}
.app-horse-property-table .app-profile-memo-row th{vertical-align:middle}
.app-horse-property-table td[data-profile-horse-memo]{padding:0;height:66px}
[data-profile-horse-memo] .app-horse-memo-entry{position:relative;width:100%;padding:0;border:0}
[data-profile-horse-memo] .app-horse-memo-entry textarea{height:66px;min-height:66px;padding:5px;border:0;border-radius:0;line-height:18px;resize:vertical}
[data-profile-horse-memo] .app-horse-memo-entry textarea:disabled{background:#f0f0f0;color:#777;cursor:not-allowed;resize:none}
[data-profile-horse-memo] .app-horse-memo-status{font-size:11px;padding:2px 5px}
.app-global-menu-dbuyer-summary::-webkit-details-marker{display:none}
.app-global-menu-dbuyer-summary img{width:auto;height:20px;object-fit:contain;flex:0 0 auto}
.app-global-menu-dbuyer-summary i{margin-left:0;font-size:16px;flex:0 0 auto;transition:transform .15s ease}
.app-global-menu-dbuyer-links[open] > summary i{transform:rotate(180deg)}
.app-global-menu-dbuyer-summary:hover{background:#e9edf1}
.app-global-menu-dbuyer-summary:focus-visible{outline:2px solid #0969da;outline-offset:1px}
.app-global-menu-dbuyer-items{padding-top:4px}
@media(prefers-reduced-motion:reduce){.app-global-menu-dbuyer-summary i{transition:none}}
.app-global-menu-dbuyer-links a{display:flex;min-height:38px;align-items:center;gap:7px;padding:8px 10px;border-radius:5px;color:#1f2328;font-size:15px;line-height:1.35;text-align:left;text-decoration:none}
.app-global-menu-dbuyer-links a:hover,.app-global-menu-dbuyer-links a:focus-visible{background:#0969da;color:#fff}
.app-global-menu-dbuyer-logout{margin-top:5px;border-top:1px solid #d8dee4;border-radius:0!important}
.app-global-menu-dbuyer-logout i{width:16px;text-align:center}
.app-global-menu-mode{
    display:flex;
    flex:0 0 34px;
    margin-bottom:8px;
}
.app-global-menu-mode a{
    display:flex;
    min-width:0;
    flex:1;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:bold;
    text-decoration:none;
}
.app-global-menu-mode a:first-child{border-radius:4px 0 0 4px}
.app-global-menu-mode a:last-child{border-left:0;border-radius:0 4px 4px 0}
.app-global-menu-mode a:focus-visible{outline:2px solid var(--mode-primary);outline-offset:-3px}
.app-global-menu-section-label{
    flex:0 0 24px;
    background:var(--mode-highlight);
    color:#fff;
    font-size:13px;
    font-weight:bold;
    line-height:24px;
    text-align:center;
}
.app-global-menu-item{
    display:flex;
    flex:0 0 auto;
    min-height:42px;
    padding:7px 10px;
    align-items:center;
    gap:10px;
    color:#222;
    font-size:14px;
    text-decoration:none;
}
.app-global-menu-item + .app-global-menu-item{
    border-top:1px solid #ddd;
}
.app-inquiry-menu + .app-global-menu-item{border-top:1px solid #ddd}
.app-global-menu-item > i{
    width:20px;
    color:var(--mode-primary,#0c6e48);
    text-align:center;
}
.app-global-menu-item:hover,
.app-global-menu-item:focus-visible{
    background:var(--mode-hover,#e1ede9);
}
.app-global-menu-item.is-active{
    color:var(--mode-primary,#0c6e48);
    background:var(--mode-selected,#aaccbf);
    font-weight:bold;
}
.app-global-page{
    display:flex;
    min-height:0;
    flex:1 1 auto;
    flex-direction:column;
    background:#fff;
}
.app-global-page > h1{
    margin:0;
    padding:7px 10px;
    flex:0 0 auto;
    color:#fff;
    background:var(--mode-highlight,#308463);
    font-size:15px;
    line-height:20px;
}
.app-global-page-scroll{
    min-height:0;
    padding:8px;
    flex:1 1 auto;
    overflow:auto;
    overscroll-behavior:contain;
}
.app-global-page-message{
    padding:12px;
    color:#555;
}
.app-article-list{
    max-width:760px;
    margin:0 auto;
    padding:0;
    list-style:none;
}
.app-article-list li + li{ border-top:1px solid #ddd; }
.app-article-list a{
    display:flex;
    min-height:42px;
    padding:9px 8px;
    align-items:baseline;
    gap:12px;
    color:#222;
    text-decoration:none;
}
.app-article-list a:hover,
.app-article-list a:focus-visible{ background:var(--mode-hover,#e1ede9); }
.app-article-list time{
    flex:0 0 auto;
    color:#175ca0;
    font-weight:bold;
}
.app-article-title{
    max-width:760px;
    margin:0 auto 8px;
    font-size:17px;
}
.app-article-body{
    max-width:760px;
    margin:0 auto;
    font-size:14px;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.app-article-body img,
.app-article-body table{ max-width:100%; }
.app-article-body img{ height:auto; }
.app-article-body table{ border-collapse:collapse; }
.app-article-body td,
.app-article-body th{ padding:4px; border:1px solid #ccc; }
.app-config-scroll{ padding:0; scrollbar-width:thin; }
.app-config-scroll::-webkit-scrollbar{ width:5px; }
.app-config-scroll::-webkit-scrollbar-thumb{ background:#999; }
.app-config-grid{
    display:flex;
    min-height:100%;
    align-items:stretch;
}
.app-config-section{
    box-sizing:border-box;
    width:320px;
    min-width:0;
    padding:2px;
    flex:0 0 320px;
    border-right:1px solid var(--mode-selected,#aaccbf);
    font-family:"Hiragino Kaku Gothic Pro",Osaka,Meiryo,"MS PGothic",sans-serif;
    font-size:14px;
    line-height:1.25;
}
.app-config-section h2{
    height:19px;
    box-sizing:border-box;
    margin:0;
    padding:1px 0 0;
    color:var(--mode-deep,#0a5f3e);
    background:var(--mode-selected,#aaccbf);
    font-size:14px;
    font-weight:700;
    line-height:18px;
    text-align:center;
}
.app-config-section button{
    font:inherit;
    cursor:default;
}
.app-config-section button:not(:disabled){ cursor:pointer; }
.app-config-terms,
.app-config-reset{
    display:block;
    height:44px;
    margin:2px;
    border:1px solid #d3d3d3;
    border-radius:2px;
    color:#777;
    background:linear-gradient(#f1f1f1,#e5e5e5);
    font-weight:700 !important;
    text-align:center;
}
.app-config-terms{ width:calc(100% - 4px); }
.app-config-section p{ margin:0; padding:4px; }
.app-config-warning{ color:#d30; }
.app-config-section > p.app-config-warning{ padding:4px; }
.app-config-description{ min-height:63px; }
.app-config-account-row{ display:flex; height:36px; margin:0 8px 0 4px; }
.app-config-account-label{
    display:flex;
    width:100px;
    margin-right:2px;
    flex:0 0 100px;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
}
.app-config-account-jra{ background:#363; }
.app-config-account-nar{ background:#852; }
.app-config-segmented{ display:flex; width:200px; min-width:0; flex:0 0 200px; }
.app-config-segmented button{
    min-width:0;
    height:36px;
    padding:0;
    flex:0 0 100px;
    border:1px solid #aaa;
    border-right:0;
    color:#666;
    background:linear-gradient(#efefef,#ddd);
    font-weight:700;
}
.app-config-segmented button:last-child{ border-right:1px solid #aaa; }
.app-config-segmented button.is-active{
    color:#555;
    background:linear-gradient(#c7c7c7,#bdbdbd);
    box-shadow:inset 1px 1px 3px #999;
}
.app-config-segmented button:focus-visible,
.app-config-clear:focus-visible,
.app-config-check:focus-visible,
.app-config-color:focus-visible,
.app-config-reset:focus-visible{ outline:2px solid var(--mode-deep,#0a5f3e); outline-offset:-2px; }
.app-config-accounts{ margin-bottom:3px; }
.app-config-auth{
    min-width:0;
    margin:0;
    padding:1px 0 2px;
    border:0;
}
.app-config-auth label{
    display:flex;
    height:36px;
    min-width:0;
    padding:4px;
    box-sizing:border-box;
    align-items:center;
}
.app-config-auth label > span{
    width:100px;
    flex:0 0 100px;
    color:#aaa;
    white-space:nowrap;
}
.app-config-auth input,
.app-config-mark-row input[type="text"]{
    box-sizing:border-box;
    min-width:0;
    height:24px;
    padding:2px 5px;
    border:1px solid #e7e7e7;
    border-radius:2px;
    color:#444;
    background:#fafafa;
    font:inherit;
    opacity:1;
}
.app-config-auth input{ width:0; flex:1 1 auto; }
.app-config-auth input::placeholder{ color:#dedede; opacity:1; }
.app-config-amounts{ padding:4px; }
.app-config-amount-row{
    display:flex;
    height:32px;
    align-items:center;
    color:#888;
    white-space:nowrap;
}
.app-config-amount-row > label{ width:150px; flex:0 0 150px; padding-left:4px; }
.app-config-amount-row > input{
    box-sizing:border-box;
    width:50px;
    height:24px;
    padding:1px 2px;
    border:1px solid #eee;
    background:#fafafa;
    color:#999;
    font:inherit;
    text-align:right;
}
.app-config-amount-unit{ font-size:17px; color:#bbb; }
.app-config-clear{
    display:flex;
    width:14px;
    height:14px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:#ccc;
    font:700 12px/14px Arial,sans-serif;
    font-style:normal;
    border:0;
    padding:0;
}
.app-config-amount-clear{ margin-left:3px; opacity:.6; flex:0 0 14px; }
.app-config-clear[hidden]{ display:none; }
.app-config-checkbox-row{
    display:flex;
    min-height:39px;
    box-sizing:border-box;
    padding:4px;
    align-items:center;
    justify-content:space-between;
    gap:2px;
}
.app-config-vote-reset{ opacity:.5; }
.app-config-checkbox-row > span{ white-space:nowrap; }
.app-config-check{
    display:flex;
    box-sizing:border-box;
    width:14px;
    height:14px;
    margin:0;
    padding:0;
    flex:0 0 14px;
    align-items:center;
    justify-content:center;
    border:1px solid #ccc;
    border-radius:2px;
    background:#fff;
    color:#fff;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:12px;
}
.app-config-check[aria-checked="true"]{
    border-color:#b8b8b8;
    background:#c8c8c8;
}
.app-config-check[aria-checked="true"]::before{ content:'✓'; }
.app-config-checkbox-row,
.app-config-mark-label{ cursor:pointer; }
.app-config-marks{ min-width:0; margin:0; padding:0 4px 6px; border:0; }
.app-config-mark-row{ display:flex; height:27px; min-width:0; align-items:center; }
.app-config-main-mark{ padding-left:20px; }
.app-config-main-mark > span{ width:50px; flex:0 0 50px; text-align:left; }
.app-config-main-mark > .app-config-mark-input{ width:150px; flex:0 0 150px; }
.app-config-mark-input{ position:relative; display:block; width:150px; flex:0 0 150px; }
.app-config-mark-input input{ width:100%; padding-right:19px; }
.app-config-mark-input .app-config-clear{ position:absolute; top:5px; right:5px; }
.app-config-mark-label{
    display:flex;
    width:70px;
    flex:0 0 70px;
    align-items:center;
    gap:5px;
    white-space:nowrap;
}
.app-config-mark-row:not(.app-config-main-mark) > input{ width:150px; flex:0 0 150px; }
.app-config-mark-row input[type="text"]:not(:disabled){ background:#fff; }
.app-config-mark-row:nth-child(n+3){ color:#999; }
.app-config-mark-row:nth-child(n+3) > input{ color:#aaa; }
.app-config-mark-row:not(.is-disabled){ color:#222; }
.app-config-mark-row:not(.is-disabled) > input{ color:#444; }
.app-config-mark-row.is-disabled .app-config-color{ background:#999 !important; }
.app-config-mark-row.is-disabled .app-config-mark-input .app-config-clear{ display:none; }
.app-config-color-menu{
    position:fixed;
    z-index:1000;
    box-sizing:border-box;
    width:92px;
    padding:2px;
    border:1px solid #999;
    background:#fff;
    box-shadow:0 3px 8px #0005;
}
.app-config-color-menu[hidden]{ display:none; }
.app-config-color-menu button{
    display:block;
    width:100%;
    height:27px;
    margin:0;
    padding:3px 10px;
    border:1px solid #fff;
    color:#eee;
    font-size:13px;
    font-weight:400;
    text-align:left;
}
.app-config-color-menu button:hover,
.app-config-color-menu button:focus-visible{ border-color:#333; }
.app-config-color{
    display:flex;
    box-sizing:border-box;
    width:72px;
    height:23px;
    margin-left:4px;
    padding:0 3px;
    align-items:center;
    justify-content:space-between;
    border:0;
    color:#fff;
    background:#999;
    font-size:12px !important;
}
.app-config-color.is-selected{ background:#555; }
.app-config-color span{
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #fff;
}
.app-config-sample{ padding:0 4px 0; font-size:12px; }
.app-config-sample-cells{ display:flex; margin-top:1px; }
.app-config-sample-cells span{
    display:flex;
    box-sizing:border-box;
    width:34px;
    height:35px;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    border-top:1px solid #999;
    border-right:1px solid #999;
    border-bottom:1px solid #999;
}
.app-config-sample-cells span:first-child{ border-left:1px solid #999; }
.app-config-sample-cells i{
    position:relative;
    display:block;
    width:29px;
    height:29px;
    flex:0 0 29px;
    font-style:normal;
}
.app-config-sample-cells b{
    position:absolute;
    top:2px;
    left:2px;
    width:25px;
    height:25px;
    color:#333;
    font-size:24px;
    font-weight:400;
    line-height:25px;
    text-align:center;
}
.app-config-sample-cells small{
    position:absolute;
    right:-1px;
    bottom:-1px;
    color:#444;
    font-size:12px;
    line-height:12px;
    text-shadow:1px 0 #fff,-1px 0 #fff,0 1px #fff,0 -1px #fff;
}
.app-config-reset{ width:50%; height:36px; margin:8px 4px 4px; }
.app-config-storage-note{
    margin:8px 4px;
    max-width:632px;
    color:#777;
    font-size:12px;
}
.app-config-save-status{
    min-height:15px;
    margin:0 4px 8px;
    color:var(--mode-deep,#0a5f3e);
    font-size:12px;
}
.app-config-save-status.is-error{ color:#c22; }
@media(max-width:639px){
    .app-config-grid{ display:block; }
    .app-config-section{ width:100%; min-height:0; border-right:0; }
    .app-config-section + .app-config-section{ border-top:1px solid var(--mode-selected,#aaccbf); }
    .app-config-mark-row:not(.app-config-main-mark) > input{ width:150px; flex:0 1 150px; }
}
@media(max-width:340px){
    .app-config-sample-cells span{ width:33px; flex-basis:33px; }
}
.app-header-toolbutton:not(.s-disabled):hover{
    color:#fff;
    background:#686;
    cursor:pointer;
}
.app-header-toolbutton:not(.s-disabled):active{
    border:1px solid;
    border-color:#333 #ccc #ccc #333;
}
.app-header .app-header-nav > .app-header-toolbutton:not(.s-disabled):hover,
.app-header .app-header-race-nav > .app-header-toolbutton:not(.s-disabled):hover{
    border-color:var(--mode-action-hover-border);
    background:var(--mode-action-hover);
}
.app-header .app-header-nav > .app-header-toolbutton:not(.s-disabled):active,
.app-header .app-header-race-nav > .app-header-toolbutton:not(.s-disabled):active{
    border-color:var(--mode-action-pressed-border);
    background:var(--mode-action-pressed);
}
.app-header .app-header-race-nav > .app-header-toolbutton:not(:first-child):active{border-left:0}
.app-header .app-header-nav > .app-header-toolbutton:focus-visible,
.app-header .app-header-race-nav > .app-header-toolbutton:focus-visible{
    outline:2px solid var(--mode-selected);
    outline-offset:-2px;
}
.app-header-nav > .app-header-toolbutton.s-disabled,
.app-header-race-nav > .app-header-toolbutton.s-disabled{opacity:.5}
.app-header .app-global-menu-button:hover,
.app-header .app-global-menu-button:focus-visible,
.app-header .app-global-menu-button[aria-expanded="true"]{
    color:#fff;
    background:var(--mode-action-hover);
}
.app-header .app-global-menu-button:hover{
    border-color:var(--mode-action-hover-border);
}
.app-header .app-global-menu-button[aria-expanded="true"]{
    border-color:var(--mode-action-pressed-border);
    background:var(--mode-action-pressed);
}
.app-header .app-global-menu-button:focus-visible{
    outline:2px solid var(--mode-selected);
    outline-offset:-2px;
}
.app-header .app-global-menu-button:active{
    border-color:var(--mode-action-pressed-border);
    background:var(--mode-action-pressed);
}
.app-header-vote-controls{display:flex;align-items:center;flex:0 0 auto;margin-left:6px;gap:2px}
.app-header-vote-controls .app-header-toolbutton{width:39px;min-width:39px;flex-basis:39px;height:36px;line-height:1;flex-direction:column;font-size:11px;border:1px solid var(--mode-border);background:var(--mode-action)}
.app-header-vote-controls > .app-header-toolbutton:not(:first-child){border-left:0;border-radius:0 3px 3px 0}
.app-header-vote-controls .app-vote-toggle{position:relative;width:63px;min-width:63px;flex-basis:63px;border:0;border-radius:3px 0 0 3px;background:none;font-size:12px;font-weight:700;line-height:13px;text-shadow:none}
/* v4b action/minilabel: 4px 8px inner padding, 24px label + 5px gap + 16px icon.
 * Keep the inner wrapper static so both composite glyphs use the button bounds. */
.app-header-vote-controls .app-vote-toggle-inner{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:4px 8px;border:1px solid var(--mode-border);border-radius:inherit;background:var(--mode-action)}
.app-header-vote-controls .app-vote-toggle-label{flex:0 0 24px;width:24px;font-size:12px;line-height:13px;text-align:left;white-space:nowrap;text-shadow:none}
.app-vote-toggle-account{display:inline-block;width:0;white-space:nowrap;transform:scaleX(.7);letter-spacing:1px;text-shadow:1px 0 #aaa}
.app-vote-toggle[data-vote-account="2"] .app-vote-toggle-account{transform:scaleX(.5);letter-spacing:0}
.app-vote-toggle[data-vote-account="3"] .app-vote-toggle-account{transform:scaleX(.5)}
.app-header-vote-controls .app-vote-toggle-icon{flex:0 0 16px;width:16px;height:16px;margin-left:5px;text-align:center}
.app-header-vote-controls .app-vote-toggle-icon::before,
.app-header-vote-controls .app-vote-toggle-icon::after{position:absolute;color:#fff;font-family:'Font Awesome 5 Free'}
.app-header-vote-controls .app-vote-toggle-icon::before{right:6px;bottom:4px;font-size:22px;font-weight:400;line-height:22px;content:'\f022'}
.app-header-vote-controls .app-vote-toggle-icon::after{top:6px;right:4px;font-size:14px;font-weight:900;line-height:13px;content:'\f303';text-shadow:1px 2px var(--mode-primary)}
.app-header-vote-controls .app-header-toolbutton > i{font-size:14px;line-height:15px}
.app-header-vote-controls .app-header-toolbutton > span{line-height:13px}
.app-header-vote-controls .app-header-toolbutton:disabled{opacity:.48;cursor:default}
.app-header-vote-controls .app-header-toolbutton.is-active{background:var(--mode-action-pressed);border-color:var(--mode-action-pressed-border)}
.app-header-vote-controls .app-vote-toggle:hover,.app-header-vote-controls .app-vote-toggle:active,.app-header-vote-controls .app-vote-toggle.is-active{border:0;background:none}
.app-vote-toggle:not(:disabled):hover .app-vote-toggle-inner{background:var(--mode-action-hover);border-color:var(--mode-action-hover-border)}
.app-vote-toggle:not(:disabled).is-active .app-vote-toggle-inner,.app-vote-toggle:not(:disabled):active .app-vote-toggle-inner{background:var(--mode-action-pressed);border-color:var(--mode-action-pressed-border)}
.app-header-vote-controls .app-vote-reservations{position:relative;width:38px;min-width:38px;flex-basis:38px;flex-direction:row}
.app-header-vote-controls .app-vote-reservations:disabled{opacity:.5}
.app-header-vote-controls .app-vote-reservations > i{font-size:24px;line-height:24px}
.app-header-vote-controls .app-vote-reservations > span{
    position:absolute;
    top:4px;
    left:50%;
    width:16px;
    height:13px;
    padding:1px 1px 0 0;
    border-radius:3px;
    color:#fff;
    background:#a32;
    box-shadow:0 0 0 1px #fff;
    font-size:10px;
    font-weight:bold;
    line-height:12px;
    letter-spacing:-1px;
    text-align:center;
    text-shadow:none;
    transform:translateX(-50%);
}
.app-inquiry-menu{flex:0 0 auto;width:100%;box-sizing:border-box;background:#fff;color:#666;font-size:14px;text-shadow:none}
.app-inquiry-item{display:block;width:100%;height:35px;padding:0 7px;border:0;background:#fff;color:#666;font:inherit;font-weight:700;text-align:left;white-space:nowrap;cursor:pointer}
.app-inquiry-item:not(:disabled):hover,.app-inquiry-item:not(:disabled):focus-visible{background:var(--mode-selected)}
.app-inquiry-item:disabled{color:#aaa;cursor:default}
.app-inquiry-item > i{font-size:12px}
.app-inquiry-separator{height:1px;background:#ddd}
.app-inquiry-account-label{height:22px;background:var(--mode-highlight);color:#fff;font-size:12px;font-weight:700;line-height:22px;text-align:center}
.app-inquiry-accounts{display:flex;height:34px}
.app-global-menu-mode a,.app-inquiry-accounts button{border:1px solid;border-color:#eee #aaa #aaa #eee;background:linear-gradient(#eee,#ddd);color:#666}
.app-inquiry-accounts button{flex:1;min-width:0;padding:0;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.app-inquiry-accounts button + button{border-left:0}
.app-global-menu-mode a.is-active,.app-inquiry-accounts button.is-active{border-color:#999 #eee #eee #999;background:linear-gradient(#bbb,#ccc);box-shadow:inset 1px 1px 2px #8888}
.app-inquiry-accounts button:disabled{color:#aaa;cursor:default}
.app-inquiry-notice{padding:4px 6px;border-top:1px solid #ddd;color:#922;background:#fff5de;font-size:12px}
/* v4b vote/HistoryDialog: separate scroll body, compact receipt headings and three columns. */
.app-inquiry-dialog{width:340px;max-width:100vw;height:min(568px,100dvh);max-height:100dvh;box-sizing:border-box;margin:auto;padding:0;border:0;border-radius:3px;background:#fff;color:#000;box-shadow:2px 2px 8px #0006;font-size:13px;line-height:1.2;font-family:inherit;overflow:hidden}
.app-inquiry-dialog[open]{display:flex;flex-direction:column}
.app-inquiry-dialog::backdrop{background:transparent}
.app-inquiry-dialog-title{flex:0 0 26px;box-sizing:border-box;height:26px;padding:0 5px;background:var(--vote-action-mid,#308463);color:#fff;font-size:14px;font-weight:700;line-height:26px;text-align:center;white-space:nowrap}
.app-inquiry-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}
.app-inquiry-dialog button{font-family:inherit;cursor:pointer}
.app-inquiry-dialog-footer{display:flex;flex:0 0 36px;min-height:36px}
.app-inquiry-dialog-footer button{flex:1;margin:0;padding:0;border:1px solid var(--vote-action-border,#25664d);background:linear-gradient(var(--vote-action-top,#459073),var(--vote-action-mid,#308463) 50%,var(--vote-action-low,#2e7d5e) 51%,var(--vote-action-mid,#308463));color:#fff;font-size:14px;font-weight:700}
.app-inquiry-dialog-footer button i{margin-right:5px;font-size:16px}
.app-inquiry-dialog-footer button:disabled{opacity:.5;cursor:default}
.app-inquiry-dialog.app-vote-terms-dialog{width:min(634px,100vw);height:min(468px,100dvh)}
.app-vote-terms-dialog .app-inquiry-dialog-content{padding:4px}
.app-vote-terms-dialog textarea{flex:1;min-height:0;width:100%;box-sizing:border-box;resize:none;padding:2px;border:1px solid #bbb;color:#000;background:#fff;font:inherit;line-height:1.4}
.app-vote-operation{width:310px;height:fit-content;max-height:min(500px,100dvh)}
.app-vote-operation .app-inquiry-dialog-content{padding:4px 2px;overflow:auto;white-space:pre-wrap;line-height:1.3}
.app-inquiry-dialog.app-vote-number{width:200px}
.app-vote-result{min-height:min(164px,100dvh)}
.app-vote-result.is-error{min-height:0}
.app-vote-number-message{margin:4px 0;color:#336}
.app-vote-number input{box-sizing:border-box;width:100%;height:30px;margin-bottom:4px;border:1px solid #ccc;outline:none;text-align:right;font:inherit;font-size:18px;font-weight:700;background:#fff}
.app-vote-number .app-inquiry-keypad{flex:0 0 auto}
.app-vote-result-page{margin-top:6px;font-size:13px;line-height:1.2}
.app-vote-result-page > b{display:block;padding:3px 1px;background:#cadbed;color:#336}
.app-vote-result-page.is-error > b{background:#ffe8b2;color:#923}
.app-vote-result-page > div{padding:3px 1px}
.app-vote-result-page.is-error > div{color:#b23}
.app-vote-result-page > .app-vote-result-paging{text-align:center;color:#336;font-size:11px}
@media(pointer:coarse) and (max-width:767px){.app-inquiry-dialog.app-vote-result{width:290px}}
.app-vote-reservation-review{display:flex;align-items:center;justify-content:space-between;padding:3px;color:#923;gap:2px;font-size:11px}
.app-vote-reservation-review button{flex:0 0 auto;font:inherit}
.app-vote-member-limits{padding:2px 4px;font-size:12px;line-height:16px}
.app-vote-member-limits > div{display:flex;justify-content:space-between}
.app-vote-reservation-row [data-reservation-edit]{cursor:pointer}
.app-inquiry-summary{flex:none;padding-top:4px;text-align:center;white-space:nowrap;line-height:1.2}
.app-inquiry-summary span{display:inline-block;text-align:right}
.app-inquiry-limits{flex:none;margin-top:4px;text-align:center;line-height:1.2;white-space:nowrap}
.app-inquiry-limits span{display:inline-block}
.app-inquiry-limits span:first-child{width:10em;text-align:left}
.app-inquiry-limits span:nth-child(2){width:13em;text-align:right}
.app-inquiry-filters{display:flex;justify-content:flex-start;align-items:center;flex:0 0 33px;white-space:nowrap}
.app-inquiry-filters button{flex:none;display:flex;align-items:center;margin:0;padding:8px 6px;border:0;background:none;color:#333;font-size:13px;line-height:17px;white-space:nowrap}
.app-inquiry-filters button:first-child{padding:8px 4px}
.app-inquiry-filters i{margin-right:3px;font-size:14px}
.app-inquiry-mark-fin,.app-inquiry-mark-hit{display:inline-block;box-sizing:content-box;flex:none;padding:0 3px;border-radius:3px;color:#fff;font-size:12px;line-height:1.4em;height:1.3em;background:#47d}
.app-inquiry-mark-hit{background:#f77}
.app-inquiry-grid{flex:1 1 auto;min-height:0;border-top:1px solid #ccc;overflow:auto;overscroll-behavior:contain}
.app-inquiry-empty{text-align:center;padding-top:13px;color:#666}
.app-inquiry-table{width:320px;min-width:320px;margin:0;border-collapse:collapse;border-spacing:0;font-size:13px;line-height:1.4;color:#000}
.app-inquiry-table td{box-sizing:border-box;padding:1px;border:1px solid #ddd;vertical-align:middle;font-size:13px;font-weight:400;white-space:nowrap}
.app-inquiry-table .app-inquiry-detail td:first-child{min-width:120.5px;position:relative;text-align:left}
.app-inquiry-table .app-inquiry-detail td:nth-child(2){min-width:94.5px;text-align:left}
.app-inquiry-table .app-inquiry-detail td:nth-child(3){min-width:101px;text-align:right}
.app-inquiry-table .app-inquiry-receipt td{position:sticky;top:0;z-index:1;padding:0;border-top:0;border-bottom:0;background:#f5f5f5}
.app-inquiry-receipt-head{display:flex;align-items:center;width:100%;min-height:31.9px;margin:0;padding:0 2px;box-sizing:border-box;border:1px solid;border-color:#f0f0f0 #e0e0e0 #e0e0e0 #f0f0f0;background:#f5f5f5;color:#000;text-align:left;font-size:13px;font-weight:400;line-height:2.3em;white-space:nowrap}
.app-inquiry-receipt-id{display:flex;align-items:center}
.app-inquiry-receipt-id > i:first-child{width:1.2em;font-size:14px}
.app-inquiry-receipt-id > span:first-of-type{width:7em}
.app-inquiry-receipt-id > span:last-child{width:2.5em}
.app-inquiry-receipt-head > .app-inquiry-mark-fin{margin-left:3px}
.app-inquiry-receipt-head > .app-inquiry-mark-hit{margin-right:3px}
.app-inquiry-receipt-head .is-hidden{visibility:hidden}
.app-inquiry-receipt-money{flex:1;min-width:0;line-height:1.1}
.app-inquiry-receipt-money > span{display:flex}
.app-inquiry-receipt-money b{flex:1;text-align:right;font-weight:inherit}
.app-inquiry-progress{flex:1;text-align:right}
.app-inquiry-week{display:inline-block;width:22px}
.app-inquiry-formation{display:inline-block;width:0;white-space:nowrap;letter-spacing:1px;text-shadow:1px 0 #aaa;transform:scaleX(.7);transform-origin:left center}
.app-inquiry-hitstamp{position:absolute;margin-left:2em;font-size:1.4em;font-weight:700;opacity:.3;color:red;text-shadow:2px 2px 0 #fff;transform:rotate(-5deg);padding:3px 3px 0;border:3px solid red}
.app-inquiry-returnstamp{position:absolute;margin-left:.3em;font-size:1em;line-height:1.1;font-weight:700;opacity:.8;background:#fff;color:#d27;padding:1px 3px 0;border:2px solid #d27}
.app-inquiry-selection{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:#000;font-size:13px;text-align:left;line-height:1.4}
.app-inquiry-selection-label{display:block;color:#666;text-align:center;line-height:1.2}
.app-inquiry-selection-label i{font-size:14px;color:#000}
.app-inquiry-selection-detail{line-height:1.4}
.app-inquiry-message{height:fit-content;min-height:0}
.app-inquiry-message .app-inquiry-dialog-content{padding:8px 4px;overflow:auto;white-space:pre-wrap}
.app-inquiry-message a{display:block;margin-top:8px;color:var(--mode-highlight)}
/* Short feedback dialogs share spacing without widening receipt/table layouts. */
:is(.app-inquiry-message,.app-vote-result.is-error){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:5px;box-shadow:0 4px 18px #0005}
:is(.app-inquiry-message,.app-vote-result.is-error) .app-inquiry-dialog-content{padding:16px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#333}
.app-vote-result.is-error .app-inquiry-dialog-content > strong{font-weight:500}
:is(.app-inquiry-message,.app-vote-result.is-error) .app-inquiry-dialog-footer{flex:0 0 auto;min-height:0;padding:0 16px 14px}
:is(.app-inquiry-message,.app-vote-result.is-error) .app-inquiry-dialog-footer button{min-height:36px;border-radius:3px}
.app-inquiry-pin{width:200px;height:auto}
.app-inquiry-pin-message{padding:4px;font-size:13px;line-height:1.2;white-space:nowrap}
.app-inquiry-pin input{width:100%;height:32px;box-sizing:border-box;padding:0 4px;border:0;border-bottom:1px solid #ccc;font:700 18px/32px Arial,sans-serif;text-align:right;border-radius:0}
.app-inquiry-keypad{display:grid;grid-template-columns:repeat(3,1fr)}
.app-inquiry-keypad button{height:32px;margin:0;padding:0;border:1px solid;border-color:#eee #bbb #bbb #eee;background:linear-gradient(#fff,#eee);color:#666;font-size:18px;font-weight:700;line-height:30px}
.app-inquiry-keypad button:active{background:linear-gradient(#ccc,#eee);border-color:#bbb #eee #eee #bbb}
@media (pointer:coarse) and (max-width:767px){.app-inquiry-dialog{width:320px}.app-inquiry-pin{width:200px}}
@media(max-width:440px){
    .app-header:has(.app-vote-toggle) .app-header-title:empty{padding:0}
}
.app-header-race-menu:disabled{
    cursor:default;
}
@media(max-width:350px){
    .app-header-toolbutton{
        width:1.65em;
        min-width:1.65em;
        flex-basis:1.65em;
    }
    .app-header-race-nav{ margin-left:3px; }
    .app-header-title{ padding:0; }
    .app-global-menu-button{ margin-left:2px; }
}
.app-body{
    position:fixed;
    top:var(--app-header-height);
    bottom:0;
    right:0;
    left:0;
    overflow:hidden;
}
.app-contents{
    display:flex;
    flex-flow:column nowrap;
    overflow:hidden;
    width:100%;
    height:100%;
}
.s-scrollable{
    cursor:move;
    overflow:auto;
    height:100%;
}
.app-mouse-dragging,
.app-mouse-dragging *{
    cursor:grabbing !important;
    user-select:none !important;
    -webkit-user-select:none !important;
}
.app-race-menu-button{ cursor:pointer; }
.app-race-info-action.app-race-tools-trigger{width:36px;min-width:36px;flex:0 0 36px;padding:0;cursor:pointer;}
.app-race-tools-trigger i{font-size:14px;}
.app-race-tools-layer{position:fixed;inset:0;z-index:40;}
.app-race-tools-menu{position:fixed;width:max-content;max-width:calc(100vw - 8px);max-height:calc(100dvh - 8px);overflow:auto;scrollbar-width:none;padding:0;border:1px solid #308463;border-radius:0;background:#fff;box-shadow:0 3px 9px #0004;}
.app-race-tools-menu::-webkit-scrollbar{display:none;}
.app-race-tools-item{display:flex;align-items:center;gap:6px;box-sizing:border-box;width:100%;height:34px;padding:8px;border:0;border-radius:0;background:#fff;color:#666;font:700 14px/16px "Hiragino Kaku Gothic Pro",Osaka,Meiryo,"MS PGothic",sans-serif;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;}
.app-race-tools-item i{width:16px;text-align:center;font-size:14px;line-height:16px;color:#333;flex:none;}
.app-race-tools-item:hover:not([aria-disabled="true"]){background:#eee;}
.app-race-tools-item[aria-disabled="true"]{opacity:.5;cursor:default;}
.app-race-tools-section{padding:3px 0 2px;background:#308463;color:white;text-align:center;font:700 14px/17.5px "Hiragino Kaku Gothic Pro",Osaka,Meiryo,"MS PGothic",sans-serif;}
.app-mode-nar .app-race-tools-menu{border-color:#846255;}
.app-mode-nar .app-race-tools-section{background:#846255;}
.app-race-tools-section i{margin:0 4px;font-size:14px;}
.app-race-tools-toast{position:fixed;z-index:100;left:50%;bottom:80px;transform:translateX(-50%);padding:8px 14px;border-radius:4px;background:#444;color:white;font-size:14px;white-space:nowrap;}
.app-race-tools-toast.is-error{background:#743d3d;}
.app-race-tools-copy{position:fixed;left:-9999px;top:0;}
.app-race-export-message .s-brown{color:#846255;}
.s-memo-mode-selector{display:inline-grid;grid-template-columns:max-content max-content;gap:1px;padding:1px;border:1px solid #aaccbf;border-radius:999px;background:#e9f2e6;line-height:1;vertical-align:middle;white-space:nowrap;text-shadow:none;}
.s-memo-mode-option{appearance:none;height:1.7em;padding:0 .45em;border:0;border-radius:999px;color:inherit;background:transparent;font:inherit;font-weight:bold;line-height:1.7em;cursor:pointer;}
table.tplgrid th.s-memo-mode-header:not([class*="sort"]):hover{background-color:#f5f5f5!important;}
.s-memo-mode-option:hover,.s-memo-mode-option:focus-visible{background:#c2dbd1;}
.s-memo-mode-option.is-selected{color:#0a5f3e;background:#fff;box-shadow:0 1px 4px #0003;}
body[data-mode="nar"] .s-memo-mode-selector{border-color:#ccbeb9;background:#f2e9e0;}
body[data-mode="nar"] .s-memo-mode-option:hover,body[data-mode="nar"] .s-memo-mode-option:focus-visible{background:#dbd1cd;}
body[data-mode="nar"] .s-memo-mode-option.is-selected{color:#5f3c2f;background:#fff;}
.app-user-memo-cell{position:relative;cursor:text;min-width:13.7em;}
[data-race-panel="card"] table.tplgrid:has(th.s-memo-mode-header:not([hidden])){min-width:100%;}
/* Keep the v4b minimum-width newspaper columns at the left. Only the
 * memo column absorbs spare space; table-wide stretching must not spread it
 * across horse/mark/voting columns (including the horse colspan). */
[data-race-panel="card"] table.tplgrid:has(th.s-memo-mode-header:not([hidden])) th:not(.s-memo-mode-header){width:1px;}
[data-race-panel="card"] table.tplgrid th.s-memo-mode-header{width:100%;}
.app-user-memo-cell.is-unsaved{box-shadow:inset 0 -1px #bf8500;}
.app-user-memo-cell.is-saving{opacity:.7;}
.app-user-memo-editor{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);box-sizing:border-box;padding:0;margin:0;border:1px solid #aaa;border-radius:0;background:#fff;color:#333;font:inherit;}
[data-race-panel="card"] td[cid="4"]{position:relative;}
.s-marks-memo{z-index:2;position:absolute;left:0;top:0;width:1em;height:1em;font-size:11px;line-height:1em;font-weight:bold;color:#888;text-align:center;}
.app-horse-link{
    display:block;
    color:inherit;
    cursor:pointer;
    text-decoration:none;
}
.app-horse-name-link{
    min-width:100%;
}
.app-runner-detail-link{
    position:relative;
}
/* Stretch the native link without changing the newspaper-style cell layout.
 * Blank space retains touch scrolling, keyboard and open-in-new-tab behavior. */
.app-runner-detail-link > .app-horse-name-link::after{
    content:"";
    position:absolute;
    inset:0;
    cursor:pointer;
}
.app-runner-multi-link{
    position:relative;
}
.app-runner-link-menu-trigger{
    position:absolute;
    inset:0;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    opacity:0;
    background:transparent;
    touch-action:pan-x pan-y;
    cursor:pointer;
}
.app-runner-link-menu-layer{
    position:fixed;
    inset:0;
    z-index:35;
    background:transparent;
}
.app-runner-link-menu{
    position:fixed;
    display:flex;
    width:max-content;
    min-width:116px;
    padding:0;
    flex-flow:column nowrap;
    overflow:visible;
    border:1px solid #777;
    border-radius:2px;
    background:#fff;
    box-shadow:0 3px 9px rgba(0,0,0,.4);
}
.app-runner-link-menu-item{
    display:flex;
    min-height:56px;
    padding:20px 10px;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    border-bottom:1px solid #ccc;
    color:#222;
    background:#fff;
    font-size:14px;
    line-height:16px;
    text-decoration:none;
    white-space:nowrap;
}
.app-runner-link-menu-item:last-of-type{
    border-bottom:0;
    border-radius:0 0 1px 1px;
}
.app-runner-link-menu-item:first-child{
    border-radius:1px 1px 0 0;
}
.app-runner-link-menu-anchor{
    position:absolute;
    pointer-events:none;
    overflow:visible;
    fill:#fff;
    stroke:#777;
    stroke-width:1;
}
.app-runner-link-menu-item:hover,
.app-runner-link-menu-item:focus{
    outline:0;
}
.app-runner-tozai{
    display:inline-block;
    width:1.8em;
    letter-spacing:1px;
    white-space:nowrap;
    transform:scaleX(.7);
    transform-origin:left center;
}
.app-viewport.is-port-loading::after{
    content:'読み込み中…';
    position:fixed;
    top:50%;
    left:50%;
    z-index:20;
    padding:8px 12px;
    transform:translate(-50%,-50%);
    border:1px solid #aaa;
    border-radius:4px;
    background:rgba(255,255,255,.95);
    box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.app-port-overlay{
    position:fixed;
    inset:0;
    z-index:30;
    padding:8px;
    background:rgba(0,0,0,.48);
}
.app-port-dialog{
    display:flex;
    width:min(1180px,100%);
    height:100%;
    margin:auto;
    flex-flow:column nowrap;
    overflow:hidden;
    border-radius:6px;
    background:#fff;
    box-shadow:0 4px 18px rgba(0,0,0,.45);
}
.app-port-dialog-header{
    display:grid;
    min-height:42px;
    grid-template-columns:120px 1fr 42px;
    align-items:center;
    color:#fff;
    background:#354;
}
.app-port-dialog-header strong{
    overflow:hidden;
    padding:0 5px;
    font-size:16px;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-port-dialog-header button{
    height:38px;
    border:0;
    color:#fff;
    background:transparent;
    font-size:16px;
    cursor:pointer;
}
.app-port-dialog-header button:disabled{
    opacity:.25;
}
.app-port-dialog-nav{
    display:flex;
}
.app-port-dialog-nav button{
    flex:1;
}
.app-port-dialog-body{
    position:relative;
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
}
.app-port-wait,
.app-horse-error{
    padding:32px 12px;
    color:#666;
    text-align:center;
}
.app-race-menu-overlay .app-recent{
    height:100%;
}
.app-race-menu-overlay{
    padding:0;
    background:transparent;
}
.app-race-menu-overlay .app-port-dialog{
    width:min(420px,calc(100% - 20px));
    height:min(539.75px,calc(100% - 3px));
    margin:0;
}
.app-race-menu-overlay .app-port-dialog-header{
    display:none;
}
.app-race-menu-overlay .app-port-dialog-body{
    overflow:hidden;
}
.app-race-menu-overlay .app-recent-races-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.app-race-menu-overlay .app-recent-races-scroll::-webkit-scrollbar{
    display:none;
}
.app-race-menu-overlay .app-recent-races{
    gap:1px;
    padding:0 1px 1px;
}
.app-race-menu-overlay .app-recent-place{
    flex:1 0 calc((100% - 2px)/3);
    border:0;
    border-radius:0;
}
.app-race-menu-overlay .app-recent-place:not(:last-child){
    border-right:1px solid #ccc;
}
.app-race-menu-overlay .app-recent-place-label{
    border:0;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
    border-radius:0;
}
.app-race-menu-overlay .app-recent-rname-mobile{
    display:block;
}
.app-race-menu-overlay .app-recent-rname-desktop{
    display:none;
}
.app-race-menu-overlay .app-recent-race{
    height:39px;
    min-height:39px;
}
.app-race-menu-overlay .app-recent-race > a{
    height:36px;
    min-height:36px;
}
.app-horse-detail section{
    padding:2px;
}
.app-horse-detail > section[data-horse-panel="profile"],
.app-horse-detail > section[data-horse-panel="analysis"]{
    padding:2px 0;
}
.app-horse-detail section[hidden]{
    display:none;
}
/* v4b tpl-hr / tpl-hrl: scrolling table above a docked column selector. */
.app-horse-page-content:has(:is([data-relative-level],[data-horse-panel="history"]):not([hidden])){
    overflow:hidden;
}
.app-horse-detail:has(> :is([data-relative-level],[data-horse-panel="history"]):not([hidden])){
    height:100%;
}
.app-horse-detail > section:is([data-relative-level],[data-horse-panel="history"]):not([hidden]){
    height:100%;
    padding:0;
}
.app-horse-relative-view,
.app-horse-history-view{
    display:flex;
    height:100%;
    min-height:0;
    flex-direction:column;
}
.app-horse-relative-scroll,
.app-horse-history-scroll{
    flex:1 1 auto;
    min-height:0;
    max-width:100%;
    overflow:auto;
}
table.tplgrid.app-horse-relative,
table.tplgrid.app-horse-history{
    width:auto;
    min-width:0;
    table-layout:auto;
    font-size:13px;
    line-height:1.5em;
}
table.tplgrid.app-horse-relative th,
table.tplgrid.app-horse-relative td,
table.tplgrid.app-horse-history th,
table.tplgrid.app-horse-history td{
    padding:1px;
    line-height:1.5em;
    white-space:nowrap;
}
table.tplgrid.app-horse-relative .s-col-8,
table.tplgrid.app-horse-history .s-col-8{ min-width:62px; }
table.tplgrid.app-horse-history .s-col-11{ min-width:81.5px; }
table.tplgrid.app-horse-relative thead th,
table.tplgrid.app-horse-history thead th{
    position:sticky;
    top:0;
    z-index:4;
}
table.tplgrid.app-horse-relative thead tr:nth-child(2) th{ top:22.5px; }
table.tplgrid.app-horse-relative th[cid="0"],
table.tplgrid.app-horse-history th[cid="1"]{
    height:36px;
    left:0;
    z-index:5;
}
table.tplgrid.app-horse-relative td[cid="0"],
table.tplgrid.app-horse-history .app-horse-history-date{
    position:sticky;
    left:0;
    z-index:3;
    background:#fff;
}
.app-horse-relative-empty{
    padding:28px 10px;
    color:#666;
    text-align:center;
}
.app-horse-detail section.is-loading{
    min-height:110px;
}
.app-related-detail{
    padding-bottom:12px;
}
.app-related-profile{
    margin:0;
}
table.tplgrid.app-related-index{
    width:390px;
    min-width:390px;
    flex:0 0 390px;
    font-size:13px;
    text-align:center;
}
.app-related-index .app-related-count{ width:42px; }
.app-related-index .app-related-total{ width:51px; }
table.tplgrid.app-related-index td{
    padding-right:2px;
    padding-left:2px;
}
.app-horse-card-layout,
.app-related-indices,
.app-horse-analysis{
    display:flex;
    flex-wrap:wrap;
    max-width:784px;
    margin:0;
    gap:4px;
    align-items:flex-start;
    justify-content:flex-start;
}
.app-horse-card-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    justify-items:start;
}
.app-related-indices{
    width:100%;
    min-width:390px;
}
.app-horse-analysis-group{
    width:390px;
    flex:0 0 390px;
    overflow:auto;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table{
    width:390px;
    min-width:390px;
    max-width:390px;
    table-layout:fixed;
    border-collapse:collapse;
    font-size:13px;
    line-height:normal;
    text-align:center;
}
.app-horse-analysis-table .app-analysis-col-condition{ width:82px; }
.app-horse-analysis-table .app-analysis-col-rank{ width:29.5px; }
.app-horse-analysis-table .app-analysis-col-count{ width:36px; }
.app-horse-analysis-table .app-analysis-col-rate{ width:49px; }
.app-horse-analysis-table .app-analysis-col-distance{ width:82px; }
.app-horse-analysis-table .app-analysis-col-time{ width:89px; }
.app-horse-analysis-table .app-analysis-col-last3f{ width:49px; }
.app-horse-analysis-table .app-analysis-col-meeting{ width:127px; }
.app-horse-analysis-table .app-analysis-col-position{ width:42.5px; }
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table th,
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table td{
    padding:5px 2px 3px;
    border-right:1px solid #c0c0c0;
    border-bottom:1px solid #c0c0c0;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table th{
    cursor:default;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table thead tr:first-child > th{
    color:#fcfcfc;
    background:var(--mode-highlight,#308463);
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table thead tr:nth-child(2) > th,
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table tbody th{
    color:#666;
    background:#f5f5f5;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table tbody td{
    text-align:right;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table .app-analysis-weight-spacer td{
    height:3px;
    padding:0;
    border:0;
    line-height:0;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-index tr > :nth-child(n+7){
    padding-right:1px;
    padding-left:1px;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-record tbody th,
.app-horse-analysis-group table.tplgrid.app-horse-analysis-record tbody td{
    text-align:right;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-record tbody td:nth-child(4){
    text-align:center;
}
.app-analysis-rate::after{
    display:inline-block;
    font-size:.85em;
    white-space:nowrap;
    content:"%";
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table tbody tr.is-current > *{
    background:#fec;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table thead tr:first-child > th:not([class*="sort"]):hover{
    background:var(--mode-highlight,#308463) !important;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table thead tr:nth-child(2) > th:not([class*="sort"]):hover,
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table tbody tr:not(.is-current) > th:not([class*="sort"]):hover{
    background:#f5f5f5 !important;
}
.app-horse-analysis-group table.tplgrid.app-horse-analysis-table tbody tr.is-current > th:not([class*="sort"]):hover{
    background:#fec !important;
}
.app-related-runners{
    padding:0;
}
.app-related-runners h3{
    margin:15px 0 6px;
    font-size:13px;
    line-height:normal;
}
.app-related-runners-scroll{
    max-width:100%;
    overflow:auto;
}
.app-related-runners-scroll table.tplgrid{
    min-width:840px;
    font-size:13px;
}
/* v4b horse panel: titlebar, runner label, content, inner toolbar, main tabbar. */
.app-horse-screen{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
    flex-flow:column nowrap;
    overflow:hidden;
}
.app-horse-runner-label{
    min-height:26px;
    padding:2px 5px;
    flex:0 0 auto;
    overflow:hidden;
    border-bottom:1px solid #bbb;
    background:#fff;
    line-height:22px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-horse-runner-label b{
    margin-left:2px;
}
.app-horse-number{
    display:inline-flex;
    width:1.55em;
    height:1.55em;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,0,0,.35);
    line-height:1;
}
.app-horse-page-content{
    position:relative;
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    font-size:13px;
}
.app-horse-page-content.is-entity-loading::before{
    content:'読み込み中…';
    position:absolute;
    top:50%;
    left:50%;
    z-index:3;
    padding:7px 10px;
    transform:translate(-50%,-50%);
    border:1px solid #aaa;
    border-radius:3px;
    background:#fff;
}
.app-horse-page-content.is-entity-loading > *{
    visibility:hidden;
}
.app-horse-screen > .app-horse-tabs{
    position:static;
    z-index:auto;
    display:flex;
    min-height:36px;
    padding:1px;
    flex:0 0 36px;
    overflow-x:auto;
    overflow-y:hidden;
    border-top:0;
    background:#0c6e48;
    scrollbar-width:none;
}
.app-horse-screen > .app-horse-tabs::-webkit-scrollbar,
.app-horse-screen > .app-horse-entity-tabs::-webkit-scrollbar{
    display:none;
}
.app-horse-screen > .app-horse-tabs[hidden],
.app-horse-runner-menu[hidden]{
    display:none;
}
.app-horse-screen > .app-horse-tabs button{
    min-width:40px;
    height:34px;
    padding:3px 7px;
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.2);
    border-radius:2px;
    font-family:inherit;
    font-size:12px;
    line-height:13px;
}
.app-horse-screen > .app-horse-tabs button:nth-child(2){
    font-size:14px;
    line-height:14px;
}
.app-horse-screen > .app-horse-tabs button[data-horse-tab="siblings"]{
    margin-left:3px;
}
.app-horse-screen > .app-horse-entity-tabs{
    display:flex;
    min-height:38px;
    padding:1px;
    flex:0 0 38px;
    overflow-x:auto;
    overflow-y:hidden;
    border-top:0;
    background:#0a5f3e;
    scrollbar-width:none;
}
.app-horse-screen > .app-horse-entity-tabs a{
    display:flex;
    min-width:50px;
    padding:6px;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.2);
    border-radius:2px;
    color:#fff;
    font-size:13px;
    font-weight:bold;
    line-height:14px;
    text-decoration:none;
}
.app-horse-screen > .app-horse-entity-tabs a.is-active{
    color:#0c6e48;
    background:#aaccbf;
}
.app-horse-screen > .app-horse-entity-tabs a[aria-disabled="true"]{
    color:#ccc;
    opacity:.5;
    pointer-events:none;
}
.app-horse-runner-menu{
    position:absolute;
    top:0;
    left:62px;
    z-index:12;
    width:min(300px,calc(100% - 44px));
    max-height:100%;
    overflow:auto;
    border:1px solid #777;
    background:#fff;
    box-shadow:0 3px 9px rgba(0,0,0,.4);
}
.app-horse-runner-menu-list a{
    display:grid;
    min-height:2.2em;
    padding:2px 4px;
    grid-template-columns:25px minmax(100px,1fr) 28px 44px 22px 28px;
    gap:2px;
    align-items:center;
    border-bottom:1px solid #ddd;
    color:#333;
    background:#fff;
    font-size:13px;
    line-height:1;
    text-decoration:none;
}
.app-horse-runner-menu-list a.is-active{
    background:#ded;
}
.app-horse-detail{
    min-width:0;
}
.app-horse-property-table{
    table-layout:fixed;
    width:390px;
    min-width:390px;
    border-collapse:collapse;
    flex:0 0 390px;
    font-size:13px;
}
.app-horse-property-table .app-property-label{ width:59px; }
table.app-horse-pedigree .app-pedigree-label{ width:18px; }
.app-horse-property-table th,
.app-horse-property-table td{
    padding:4px 3px 2px;
    border-right:1px solid #c0c0c0;
    border-bottom:1px solid #c0c0c0;
}
.app-horse-property-table th{
    width:59px;
    min-width:59px;
    max-width:59px;
    overflow:hidden;
    background:#efffef;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-horse-property-table td{
    min-width:105px;
    overflow-wrap:anywhere;
}
.app-horse-property-table tr:first-child th,
table.app-horse-pedigree tr:first-child th{
    width:auto;
    min-width:0;
    max-width:none;
    padding:4px 3px 2px;
    color:#fff;
    background:#308463;
    text-align:center;
}
.app-horse-pedigree-scroll{
    width:max-content;
    max-width:none;
    overflow:visible;
}
table.app-horse-pedigree{
    display:table;
    table-layout:fixed;
    width:auto;
    min-width:0;
    max-width:none;
    margin:0;
    border:0;
    border-collapse:collapse;
    font-size:13px;
}
table.app-horse-pedigree th,
table.app-horse-pedigree td{
    min-height:0;
    border:0;
    border-right:1px solid #e0e0e0;
    border-bottom:1px solid #e0e0e0;
}
table.app-horse-pedigree th{
    width:18px;
    min-width:18px;
    max-width:18px;
    padding:2px;
    overflow:hidden;
    color:#666;
    background:#f5f5f5;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
table.app-horse-pedigree th.mother{
    color:#999;
    font-weight:normal;
}
table.app-horse-pedigree td{
    width:137px;
    min-width:91px;
    padding:4px 3px 2px;
    overflow-wrap:anywhere;
    white-space:normal;
}
.app-race-detail-shell{
    display:flex;
    width:100%;
    height:100%;
    flex-flow:column nowrap;
    min-height:0;
}
.app-race-detail-panel{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
.app-race-detail-panel[hidden]{
    display:none;
}
.app-race-info{
    align-items:stretch;
    width:100%;
    height:2.2em;
    min-height:2.2em;
    margin-top:2px;
    flex:0 0 2.2em;
    background:#fff;
}
.app-vote-bar{height:34px;min-height:34px;display:flex;align-items:stretch;gap:0;position:relative;background:#fff;color:#666;overflow:visible;z-index:3;white-space:nowrap}
.app-race-detail-shell.is-vote-mode .app-race-info{height:2.7em;min-height:2.7em;flex-basis:2.7em}
body[data-mode="jra"]{--vote-action-top:#459073;--vote-action-mid:#308463;--vote-action-low:#2e7d5e;--vote-action-border:#25664d}
body[data-mode="nar"]{--vote-action-top:#907266;--vote-action-mid:#846255;--vote-action-low:#7d5d51;--vote-action-border:#6b5045}
.app-vote-menu-button,.app-vote-confirm{font:inherit;cursor:pointer}
.app-vote-menu-button{width:60px;min-width:60px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;border:1px solid;border-color:#eee #aaa #aaa #eee;color:#666;background:linear-gradient(#eee,#ddd);font-size:12px;font-weight:700;line-height:12px}
.app-vote-menu-button:first-child{border-radius:3px 0 0 3px}
.app-vote-menu-button:not(:first-child){border-left:0}
.app-vote-menu-button[data-vote-odds]{border-radius:0 3px 3px 0}
.app-vote-menu-button i{font-size:14px;width:14px;height:10px;transform:translateY(-1px) scaleX(2)}
.app-vote-menu-button:hover,.app-vote-menu-button:focus-visible{background:linear-gradient(#ddd,#ccc)}
.app-vote-menu-button:active,
body:has(.app-vote-menu--kinds) [data-vote-kind],
body:has(.app-vote-menu--methods) [data-vote-method],
body:has(.app-vote-menu--odds) [data-vote-odds]{background:linear-gradient(#bbb,#ccc);border-color:#aaa #eee #eee #aaa}
body:has(.app-vote-menu--methods) [data-vote-method],body:has(.app-vote-menu--odds) [data-vote-odds]{border-left:0}
.app-vote-menu-button[data-vote-method] > span{display:flex;align-items:center;justify-content:center;width:100%;white-space:nowrap}
.app-vote-method-name{display:block;white-space:nowrap}
.app-vote-menu-button.is-formation .app-vote-method-name{width:120px;flex:0 0 120px;transform:scaleX(.5);margin:0 -30px;text-shadow:1px 0 0 #888}
.app-vote-multi-mark{color:#b33;font-weight:bold;margin-left:1px;text-shadow:1px 0 0 #cbb}
.app-vote-totals{width:74px;min-width:74px;display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;font-size:12px;line-height:14px;white-space:nowrap}
.app-vote-totals > span{display:flex;align-items:end;width:74px;height:21px;padding-left:2px;box-sizing:border-box}
.app-vote-totals strong{display:inline-block;width:54px;color:#336;text-align:right;border-bottom:1px solid #336;font-size:18.2px;line-height:18.2px;margin:0}
.app-vote-totals small{display:block;width:54px;color:#d65;text-align:right;font-size:12.18px;line-height:12.18px}
.app-vote-confirm{width:63px;min-width:63px;border:1px solid var(--vote-action-border,#25664d);border-radius:3px;color:#fff;background:linear-gradient(var(--vote-action-top,#459073),var(--vote-action-mid,#308463) 50%,var(--vote-action-low,#2e7d5e) 51%,var(--vote-action-mid,#308463));font-size:14px;font-weight:700;line-height:16px;padding:0}
.app-vote-confirm i{margin-right:1px}
body[data-mode="jra"] .app-vote-confirm:hover,body[data-mode="jra"] .app-vote-confirm:focus-visible{border-color:#1d503c;background:linear-gradient(#3d7c63,#286e52 50%,#26684e 51%,#286e52)}
body[data-mode="jra"] .app-vote-confirm:active{border-color:#15392b;background:linear-gradient(#205741,#1e533e 50%,#205741 51%,#366854)}
body[data-mode="nar"] .app-vote-confirm:hover,body[data-mode="nar"] .app-vote-confirm:focus-visible{border-color:#594239;background:linear-gradient(#80655b,#715449 50%,#6c5045 51%,#715449)}
body[data-mode="nar"] .app-vote-confirm:active{border-color:#46342d;background:linear-gradient(#5f463d,#5a433a 50%,#5f463d 51%,#6f5950)}
.app-vote-confirm:disabled{opacity:.55;cursor:default}
.app-vote-message:not(:empty){position:absolute;top:34px;left:0;padding:4px 8px;background:#fff5de;color:#922;box-shadow:0 2px 5px #777;font-size:12px;z-index:5}
.app-vote-toast{position:fixed;z-index:50;top:43px;left:50%;transform:translateX(-50%);box-sizing:border-box;max-width:min(340px,calc(100vw - 16px));padding:7px 12px;background:#f3f7fb;color:#34516b;border:1px solid #bdcddd;border-radius:4px;box-shadow:0 2px 8px #0002;font-size:12px;line-height:1.5;text-align:center}
.app-vote-toast.is-success{background:var(--mode-hover);color:var(--mode-deep);border-color:var(--mode-property)}
.app-vote-toast.is-warning{background:#fff7df;color:#6b5416;border-color:#d8c78f}
.app-vote-menu{position:fixed;z-index:30;display:grid;grid-template-columns:repeat(4,60px);gap:0;padding:0;background:#fff;border:1px solid #ddd;box-shadow:2px 2px 8px #0006}
.app-vote-menu button{height:34px;min-height:34px;background:linear-gradient(#eee,#ddd);border:1px solid;border-color:#eee #aaa #aaa #eee;border-radius:3px;color:#666;font:inherit;font-size:12px;font-weight:700;line-height:12px;cursor:pointer}
.app-vote-menu button:disabled{color:#aaa;cursor:default}
.app-vote-menu button:not(:disabled):hover{background:linear-gradient(#ddd,#ccc)}
.app-vote-menu button:active,.app-vote-menu button.is-selected,.app-vote-menu button.is-selected:hover{background:linear-gradient(#bbb,#ccc);border-color:#aaa #eee #eee #aaa}
.app-vote-method-compact{display:inline-flex;flex-flow:column;align-items:center;width:1em;overflow:visible;white-space:nowrap}
.app-vote-method-compact--50{transform:scaleX(.5);text-shadow:1px 0 0 #333;letter-spacing:1px}
.app-vote-method-compact--80{transform:scaleX(.8)}
.app-vote-menu--methods{grid-template-columns:repeat(4,60px) 36px}
.app-vote-menu--methods .app-vote-multi-option{grid-column:5;grid-row:1/3;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:13px}
.app-vote-menu--methods .app-vote-multi-option i{font-size:15px}
.app-vote-menu--odds{grid-template-columns:repeat(3,60px) 36px 36px}
.app-vote-menu--odds .app-vote-odds-view{grid-row:1/3;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;font-size:11px;line-height:11px}
.app-vote-menu--odds .app-vote-odds-view:nth-last-child(2){grid-column:4}
.app-vote-menu--odds .app-vote-odds-view:last-child{grid-column:5}
.app-vote-menu--odds .app-vote-odds-view i{font-size:14px}
.app-vote-menu--odds-axis{grid-template-columns:160px}
.app-vote-menu--odds-axis button{text-align:left;padding:0 8px;background:#fff;border-radius:0}
.app-vote-menu--odds-horse{display:flex;flex-direction:column;width:286px;max-width:calc(100vw - 2px);max-height:min(460px,calc(100vh - 20px));overflow:hidden}
.app-vote-menu--odds-horse button{text-align:left;padding:0 7px;background:#fff;border-radius:0;font-weight:normal}
.app-odds-horse-menu-list{min-height:0;overflow-y:auto;scrollbar-width:none}
.app-odds-horse-menu-list::-webkit-scrollbar{display:none}
.app-odds-horse-menu-list button{display:block;width:100%;height:27px;min-height:27px}
.app-odds-horse-menu-actions{display:flex;flex:0 0 auto;order:2}
.app-odds-horse-menu-actions button{flex:1;min-width:0;padding:0 1px;text-align:center;font-size:11px;font-weight:bold;background:linear-gradient(#eee,#ddd)}
.app-odds-horse-menu-row{display:grid;grid-template-columns:28px 120px 24px 48px 24px 24px;align-items:center;width:268px;line-height:1}
.app-odds-horse-menu-number{width:23px;height:21px;font-size:14px;line-height:20px;margin-right:4px}
.app-odds-horse-menu-name{overflow:hidden;text-overflow:clip;white-space:nowrap}
.app-odds-horse-menu-odds,.app-odds-horse-menu-pop{text-align:right;font-variant-numeric:tabular-nums}
.app-odds-horse-menu-pop{color:#332}
.app-odds-horse-menu-pop.s-cl-pt1{color:#d30;font-weight:bold}
.app-odds-horse-menu-pop.s-cl-pt2{color:#36d;font-weight:bold}
.app-odds-horse-menu-pop.s-cl-pt3{color:#386;font-weight:bold}
.app-race-detail-shell.is-odds-view > .app-race-detail-panel{display:none}
.app-odds-panel{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;color:#333;font-size:13px;line-height:1.1}
.app-odds-unavailable{padding:12px;color:#777}
.app-odds-group{position:relative}
.app-odds-horse-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;width:100%;min-height:26px;padding:0 4px;border:0;color:#fff;font:inherit;text-align:left;white-space:nowrap;cursor:pointer}
.app-odds-horse-header > i{width:20px;text-align:center}
.app-odds-horse-header > i:last-child{margin-left:auto}
.app-odds-horse-header .s-square{margin:1px 4px 1px 0}
.app-odds-horse-header b{display:inline-block;width:126px;overflow:hidden;text-overflow:ellipsis}
.app-odds-horse-kind,.app-odds-horse-pop-label{flex:0 0 26px}
.app-odds-horse-odds{flex:0 0 48px;text-align:right;font-variant-numeric:tabular-nums}
.app-odds-horse-pop{flex:0 0 24px;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:360px){.app-odds-horse-header b{width:108px}}
.app-odds-wrapcells{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:2px;padding:2px 0 4px}
.app-odds-table{display:table;width:auto;height:fit-content;margin:0;border-collapse:collapse;table-layout:fixed;font:inherit;line-height:1.1}
.app-odds-table td{height:18px;box-sizing:border-box;padding:1px 2px;border:0;white-space:nowrap}
.app-odds-table .s-odds-jikumenu{height:27px;border:1px solid #333;line-height:10px;cursor:pointer}
.app-odds-table .s-odds-jikumenu small{font-size:10px}
.app-odds-table .s-odds-wno{min-width:26px;border:1px solid #333;cursor:pointer}
.app-odds-table .s-odds-body{min-width:66px;cursor:pointer;font-variant-numeric:tabular-nums}
.app-odds-table .s-odds-body.is-empty{cursor:default}
.app-odds-table .s-odds-body.s-pressed{background:#fbb}
.app-odds-table .s-odds-body.s-pressed:hover{background:#e88}
.app-odds-table .app-odds-dash{min-width:10px;padding:1px 0;text-align:center}
body[data-mode="jra"] .app-odds-table .s-odds-body:not(.is-empty):not(.s-pressed):hover{background:#aaccbf}
body[data-mode="nar"] .app-odds-table .s-odds-body:not(.is-empty):not(.s-pressed):hover{background:#ccbeb9}
.app-vote-menu--header{grid-template-columns:160px;max-height:min(460px,calc(100vh - 20px));overflow:auto}
.app-vote-menu--header button{text-align:left;padding:0 7px;background:#fff;color:#333;border-color:#ddd;border-radius:0;text-shadow:0 1px #fff}
.app-vote-menu--header button:not(:disabled):hover{background:var(--mode-selected)}
.app-vote-head,.app-vote-cell{width:36px;min-width:36px;max-width:36px;padding:0!important;text-align:center!important}
.app-vote-head{background:#f5f5f5!important;color:#666;line-height:19.5px}
.app-vote-mark-head{line-height:19.5px}
.app-vote-head-control{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#666;font:inherit;cursor:default}
button.app-vote-head-control{cursor:pointer}
button.app-vote-head-control:hover{background:var(--mode-hover)}
.app-vote-head-emboss{width:calc(100% - 2px)}
.app-vote-check{width:100%;height:100%;min-height:40px;border:0;background:transparent;color:rgba(152,152,152,.33);font:bold 26px/1 sans-serif;text-shadow:2px 2px 1px rgba(255,255,255,.66);cursor:pointer}
.app-vote-check.is-selected{color:rgba(152,0,0,.63);text-shadow:1px 1px 1px rgba(255,255,255,.66)}
.app-vote-check:hover:not(:disabled){color:rgba(152,0,0,.63)}
.app-vote-check:disabled{cursor:default;opacity:.3}
.app-vote-empty-toast > div{white-space:nowrap}
.app-vote-toast:has(.app-vote-empty-toast){width:max-content}
.app-vote-empty-toast > div + div{margin-top:3px;display:flex;align-items:center;justify-content:center;gap:3px}
.app-vote-toast .app-vote-toast-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-height:0;flex:0 0 26px;cursor:default}
.app-vote-dialog{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0008}
.app-vote-dialog-card{width:min(334px,100vw);height:min(568px,100vh);background:#fff;border:1px solid var(--mode-border);box-shadow:0 4px 20px #0006;display:flex;flex-direction:column;font-size:13px}
.app-vote-dialog-card header{height:21px;flex:0 0 21px;display:flex;align-items:center;justify-content:center;padding:0 5px;background:linear-gradient(var(--vote-action-top,#459073),var(--vote-action-mid,#308463) 50%,var(--vote-action-low,#2e7d5e) 51%,var(--vote-action-mid,#308463));color:#fff;font-size:14px;line-height:20px}
.app-vote-dialog-content{flex:1 1 auto;min-height:0;overflow:auto;padding:0 2px 2px;display:flex;flex-direction:column}
.app-vote-dialog--preview{background:transparent}
.app-vote-dialog-card--preview{border:0;box-shadow:2px 2px 8px #0006;font-size:14px}
.app-vote-dialog-card--preview header{height:26px;flex-basis:26px;background:var(--vote-action-mid,#308463);line-height:26px}
.app-vote-dialog-card--preview .app-vote-dialog-content{padding:0;overflow:hidden}
.app-vote-preview-summary{height:39px;min-height:39px;display:grid;grid-template-columns:minmax(0,1fr) 87px 54px;font-size:14px;line-height:17.5px}
.app-vote-preview-label{min-width:0;padding:3px 0 0 2px;white-space:nowrap;overflow:hidden}
.app-vote-preview-race{height:18.5px;display:flex;align-items:center;white-space:nowrap}
.app-vote-preview-race > [data-vote-place]{flex:0 0 30px;text-align:right}
.app-vote-preview-race > [data-vote-rno]{flex:0 0 37px;text-align:right}
.app-vote-preview-race > [data-vote-kind-label]{flex:0 0 60px;color:#074b2f;text-align:left;font-size:12px;overflow:hidden}
.app-vote-preview-race > [data-vote-bet-count]{flex:0 0 40px;text-align:right;color:#336;border-bottom:1px solid #336;font-weight:700}
.app-vote-preview-race > small{flex:0 0 10px;font-size:12px;text-align:left}
.app-vote-preview-race--sub{height:15px;color:#d30;font-size:12px;line-height:15px;align-items:center}
.app-vote-preview-race--sub > span:first-child{flex:0 0 30px;text-align:right}
.app-vote-preview-race--sub > span:nth-child(2){flex:0 0 37px;text-align:right;font-weight:700}
.app-vote-preview-race--sub > span:nth-child(3){flex:0 0 52px;margin-left:8px;color:#333}
.app-vote-preview-race--sub > b{position:relative;flex:0 0 40px;width:40px;height:15px;text-align:right;overflow:hidden;color:#d30;font-weight:400}
.app-vote-preview-race--sub > b > span{position:absolute;top:0;right:0;display:block;width:max-content;white-space:nowrap;transform-origin:right center}
.app-vote-preview-race--sub > b.is-compact > span{transform:scaleX(.78)}
.app-vote-preview-side{min-width:0;display:flex;flex-direction:column;align-items:flex-end;padding-right:2px;white-space:nowrap;overflow:hidden}
.app-vote-preview-side > small{width:100%;height:19px;padding-top:3px;color:#d22;font-size:12px;line-height:14px;white-space:nowrap}
.app-vote-preview-side > small > span:first-child{display:inline-block;transform:scaleX(.65);transform-origin:left center;width:43px;letter-spacing:1px}
.app-vote-preview-side > small > [data-vote-odds-time]{display:inline-block;transform:scaleX(.65);transform-origin:left center;letter-spacing:1px}
.app-vote-preview-total-amount{display:flex;align-items:baseline;justify-content:flex-end;width:100%;height:17px;line-height:17px}
.app-vote-preview-total-amount > strong{color:#336;font-size:14px}
.app-vote-preview-total-amount > span{margin-right:2px}
.app-vote-preview-summary > [data-vote-odds-refresh]{width:54px;min-width:54px;height:39px;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 2px 0 0;border:1px solid #aaa;border-top-color:#eee;border-left-color:#eee;border-radius:3px;background:linear-gradient(#eee,#ddd);color:#666;font-size:11px;line-height:11px;cursor:pointer}
.app-vote-preview-summary > [data-vote-odds-refresh] i{font-size:14px}
.app-vote-preview-summary > [data-vote-odds-refresh] > span{white-space:nowrap;text-align:left}
.app-vote-preview-summary > [data-vote-odds-refresh] > span > span{display:inline-block;width:23px;transform:scaleX(.7);transform-origin:left center;letter-spacing:1px;white-space:nowrap}
.app-vote-preview-summary > [data-vote-odds-refresh]:hover{background:linear-gradient(#ddd,#ccc)}
.app-vote-preview-summary > [data-vote-odds-refresh]:active{border-color:#aaa #eee #eee #aaa;background:linear-gradient(#bbb,#ccc)}
.app-vote-preview-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:0 2px}
.app-vote-preview-table{width:314.5px;margin-inline:auto;border-collapse:collapse;table-layout:auto;font-size:13px;line-height:19.5px}
.app-vote-preview-table th,.app-vote-preview-table td{padding:1px;border:1px solid #ddd;text-align:center}
.app-vote-preview-table th{height:42px;background:#f5f5f5;color:#777;font-weight:700;white-space:nowrap}
.app-vote-preview-table th:first-child{min-width:81px;background:var(--vote-action-mid,#308463);color:#fff}
.app-vote-preview-table th:nth-child(4){white-space:normal;min-width:88px}
.app-vote-preview-table th:last-child{min-width:36px}
.app-vote-preview-key{white-space:nowrap}
.app-vote-ticket-line{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.app-vote-ticket-number{display:inline-flex;width:1.6em;height:1.5em;flex:0 0 1.6em;align-items:center;justify-content:center;border:1px solid #333;color:#333;font-weight:700;line-height:1.5em;vertical-align:middle;box-sizing:border-box;letter-spacing:-1px}
.app-vote-ticket-dash{font-size:12px;color:#777;line-height:1}
.app-vote-ticket-ruby{display:inline-flex;width:2em;max-width:none;flex-direction:column;align-items:center;margin-inline:auto;color:#333;font-size:11px;line-height:14px;letter-spacing:2px;transform:scaleX(.5);white-space:nowrap;text-shadow:1px 0 0}
.app-vote-preview-table td:nth-child(2){min-width:55px;text-align:right;white-space:nowrap}
.app-vote-preview-odds-range{display:flex;flex-direction:column;align-items:stretch;line-height:18px}
.app-vote-preview-odds-range > span{text-align:right}
.app-vote-preview-odds-range > span:first-child{padding-right:1em}
.app-vote-preview-table td:nth-child(3){width:36px;padding:0;text-align:right;border-right:0;background:#e9f2e6}
.app-vote-preview-table td:nth-child(4){width:18px;padding:0;text-align:left;border-left:0}
.app-vote-preview-table td:nth-child(5){text-align:right}
.app-vote-preview-table td:nth-child(5) em{color:#369;font-style:normal}
.app-vote-preview-table input{width:34px;max-width:100%;height:24px;box-sizing:border-box;border:0;background:transparent;color:#333;font:inherit;text-align:right;appearance:textfield}
.app-vote-preview-table input::-webkit-inner-spin-button,.app-vote-preview-table input::-webkit-outer-spin-button{appearance:none}
.app-vote-preview-remove button{width:100%;height:35px;padding:0;border:0;background:transparent;color:#d7d7d7;font-size:23px;cursor:pointer;text-shadow:2px 2px 1px #fff}
.app-vote-preview-remove button:hover{color:#980000}
.app-vote-preview-total{flex:0 0 auto;min-height:0;color:#a22;font-size:11px}
.app-vote-bulkset{position:relative;display:flex;align-items:center;gap:0;min-height:36px;margin:2px 0;border-top:1px solid #e3e3e3;border-bottom:1px solid #999;background:#f9f9ff;white-space:nowrap;font-size:14px}
.app-vote-bulkset:before{position:absolute;top:-16px;left:48%;font-family:'Font Awesome 5 Free';font-weight:900;content:'\f102';font-size:18px;color:#669;text-shadow:1px 1px #ccc}
.app-vote-bulkset > strong{padding:0 10px 0 8px;color:#336;font-size:13px}
.app-vote-bulkset > input{width:50px;height:28px;padding:0 2px;border:1px solid #ccc;background:#e9f2e6;color:#333;text-align:right;font:inherit;appearance:textfield}
.app-vote-bulkset > input::-webkit-inner-spin-button,.app-vote-bulkset > input::-webkit-outer-spin-button{appearance:none}
.app-vote-bulkset > span{color:#777;font-size:16px}
.app-vote-bulkset > button{flex:0 0 66px;min-width:0;align-self:stretch;padding:4px 8px;border:1px solid #aaa;border-top-color:#eee;border-left-color:#eee;border-radius:3px;background:linear-gradient(#eee,#ddd);color:#666;font-family:inherit;font-size:12px;line-height:13px;cursor:pointer}
.app-vote-bulkset > button:first-of-type{margin-left:auto}
.app-vote-bulkset > button:hover{background:linear-gradient(#ddd,#ccc)}
.app-vote-bulkset > button:active{border-color:#aaa #eee #eee #aaa;background:linear-gradient(#bbb,#ccc)}
.app-vote-dialog-actions{display:flex;flex:0 0 36px;background:var(--vote-action-mid,#308463);padding:0;gap:0}
.app-vote-dialog-actions button{flex:1;padding:0;background:linear-gradient(var(--vote-action-top,#459073),var(--vote-action-mid,#308463) 50%,var(--vote-action-low,#2e7d5e) 51%,var(--vote-action-mid,#308463));border:1px solid var(--vote-action-border,#25664d);color:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.app-vote-dialog-actions button i{margin-right:5px;font-size:16px}
.app-vote-dialog-actions button:disabled{opacity:.5;cursor:default}
.app-vote-reservation-limits{position:relative;flex:0 0 43px;padding-top:3px;font-size:12px;line-height:17px}
.app-vote-reservation-limits > div{display:grid;grid-template-columns:98px 56px 100px 40px;height:17px;white-space:nowrap}
.app-vote-reservation-limits > div b{text-align:right;font-weight:400}
.app-vote-reservation-limits > div:first-child b{color:#d43}
.app-vote-reservation-limits > div:first-child b:nth-child(2){text-align:left}
.app-vote-reservation-limits > button{position:absolute;right:0;top:0;width:37px;height:40px;padding:0;border:1px solid #aaa;background:linear-gradient(#fafafa,#ddd);color:#777;font-size:10px;line-height:12px}
.app-vote-reservation-limits > button i{display:block;font-size:18px}
.app-vote-reservation-limits > button:disabled{opacity:1}
.app-vote-reservation-list{flex:1 1 auto;min-height:0;overflow:auto}
.app-vote-reservation-row{display:flex;align-items:center;gap:4px;min-height:43px;border-bottom:1px solid #ddd;padding:2px 3px;font-size:12px}
.app-vote-reservation-row > span{display:flex;flex:1;min-width:0;flex-direction:column;line-height:17px}
.app-vote-reservation-main{color:#336;font-weight:700;white-space:nowrap}
.app-vote-reservation-sub{color:#666;white-space:nowrap}
.app-vote-reservation-row button{width:20px;height:29px;padding:0;border:0;background:transparent;color:#ccc;font-size:20px;text-shadow:2px 2px 1px #fff;cursor:pointer}
.app-vote-reservation-row button:hover{color:#980000}
.app-vote-reservation-note{margin:4px;color:#944;font-size:11px}
body[data-mode="nar"] .app-vote-preview-table td:nth-child(3),body[data-mode="nar"] .app-vote-bulkset > input{background:#f2e9e0}
@media(max-width:350px){.app-header-nav > .app-header-toolbutton,.app-header-race-nav .app-header-toolbutton{width:1.55em;min-width:1.55em;flex-basis:1.55em}.app-header-race-nav,.app-header-vote-controls{margin-left:3px}}
@media(max-width:319px){.app-header:has(.app-vote-toggle) .app-header-nav > .app-header-toolbutton,.app-header:has(.app-vote-toggle) .app-header-race-nav > .app-header-toolbutton{width:30px;min-width:30px;flex-basis:30px}.app-header-vote-controls .app-vote-reservations{width:28px;min-width:28px;flex-basis:28px}}
.app-race-info-main{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
}
.app-race-info-main > .s-hbox{
    min-width:0;
}
.app-race-info-name{
    min-width:0;
    margin-left:5px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.app-race-info-aside{
    display:flex;
    flex:0 0 auto;
    height:100%;
    margin-left:auto;
    flex-flow:row nowrap;
    align-items:stretch;
}
.app-race-info-marks{
    display:flex;
    width:18px;
    padding:1px;
    flex:0 0 18px;
    flex-flow:column nowrap;
}
.app-race-info-mark{
    padding:2px 2px 0;
    flex:0 0 auto;
    color:#fff;
    font-size:12px;
    font-weight:bold;
    line-height:13px;
    text-align:right;
}
.app-race-info-mark.is-placeholder,
.app-race-info-status-label.is-placeholder{
    visibility:hidden;
}
.app-race-info-mark-spat{
    background:#1976d2;
    opacity:.4;
}
.app-race-info-mark-apat{
    background:#db3232;
    opacity:.4;
}
.app-race-info-status{
    display:flex;
    width:48px;
    padding:2px 2px 0;
    flex:0 0 48px;
    flex-flow:column nowrap;
    justify-content:flex-end;
}
.app-race-info-status-label{
    padding:2px 0;
    color:#fff;
    background:#47d;
    font-size:12px;
    line-height:14px;
    text-align:center;
    white-space:nowrap;
}
.app-race-info-status-label.is-cancelled{
    background:#c32;
    font-weight:bold;
}
.app-race-info-odds-time{
    justify-content:center;
    overflow:hidden;
    color:#d30;
    font-size:11px;
    line-height:12px;
    text-align:center;
    white-space:nowrap;
}
.app-race-info-odds-time > span{
    display:block;
    width:68px;
    margin-left:-12px;
    letter-spacing:1px;
    transform:scaleX(.65);
}
.app-race-info-action{
    display:flex;
    width:52px;
    min-width:52px;
    height:100%;
    margin:0;
    padding:0 2px 0 0;
    flex:0 0 52px;
    align-items:center;
    justify-content:center;
    border:1px solid;
    border-color:#eee #aaa #aaa #eee;
    border-radius:3px;
    color:#666;
    background:#ddd linear-gradient(to bottom,#eee,#ddd);
    box-shadow:none;
    appearance:none;
    font-family:inherit;
    font-size:11px;
    line-height:11px;
    text-decoration:none;
    cursor:pointer;
}
.app-race-info-action:hover,
.app-race-info-action:focus-visible{
    color:#333;
    border-color:#eee #aaa #aaa #eee;
    background:#ccc linear-gradient(to bottom,#ddd,#ccc);
    outline:none;
}
.app-race-info-action:active{
    border-color:#aaa #eee #eee #aaa;
    background:#ccc linear-gradient(to bottom,#bbb,#ccc);
}
.app-race-info-action > i{
    width:16px;
    flex:0 0 auto;
    font-size:16px;
    line-height:16px;
}
.app-race-info-action-label{
    display:flex;
    width:22px;
    height:22px;
    margin-left:2px;
    flex:0 0 22px;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    color:inherit;
    font-size:11px;
    line-height:11px;
    white-space:nowrap;
}
.app-race-info-action-label > span:first-child{
    letter-spacing:1px;
    transform:scaleX(.7);
}
.app-race-info-action.is-disabled,
.app-race-info-action:disabled{
    opacity:.3;
    pointer-events:none;
    cursor:default;
}
.app-race-info-refresh.is-loading > i{
    animation:app-race-info-spin .7s linear infinite;
}
.app-race-info-refresh.is-counting [data-refresh-label]{
    font-variant-numeric:tabular-nums;
    font-weight:700;
}
.app-race-info-refresh.is-counting .app-race-info-action-label > [data-refresh-title]{
    letter-spacing:0;
    transform:none;
}
@keyframes app-race-info-spin{
    to{ transform:rotate(360deg); }
}
.app-race-movie-overlay{
    display:flex;
    padding:0;
    align-items:center;
    justify-content:center;
}
.app-race-movie-overlay .app-port-dialog{
    width:min(640px,100%);
    height:min(385px,calc(56.25vw + 25px),100%);
    margin:0;
    border-radius:0;
    background:#000;
}
.app-race-movie-overlay .app-port-dialog-header{
    min-height:25px;
    height:25px;
    grid-template-columns:28px 1fr 28px;
}
.app-race-movie-overlay .app-port-dialog-nav{
    justify-content:center;
}
.app-race-movie-overlay .app-port-dialog-header strong{
    padding:0;
    font-size:13px;
    text-align:left;
}
.app-race-movie-overlay .app-port-dialog-header button{
    height:25px;
}
.app-race-movie-overlay .app-port-dialog-body{
    overflow:hidden;
    background:#000;
}
.app-race-movie-overlay iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}
.app-race-movie-caution{
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    width:100%;
    padding:2px 4px;
    color:#ccc;
    background:rgba(0,0,0,.65);
    font-size:11px;
    font-weight:bold;
    /* v4b JraRaceViewer: defer 1s + delay 5s, then Ext.Anim's 1s ease-in-out slide. */
    animation:app-race-movie-caution-hide 1s ease-in-out 6s forwards;
}
@keyframes app-race-movie-caution-hide{
    from{ transform:translateY(0); visibility:visible; }
    to{ transform:translateY(-25px); visibility:hidden; }
}
.app-race-detail-tabs{
    display:flex;
    flex:0 0 32px;
    overflow-x:auto;
    border-top:1px solid #777;
    background:#ddd;
}
.app-race-detail-tabs button{
    display:flex;
    min-width:84px;
    padding:3px 10px;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    border:0;
    border-right:1px solid #999;
    color:#333;
    background:#eee;
    font-size:11px;
    cursor:pointer;
}
.app-race-detail-tabs button.is-active{
    color:#fff;
    background:#567868;
}
.app-race-insight-panel{
    position:relative;
    background:#fff;
}
.app-race-insight-panel.is-loading::after{
    content:'読み込み中…';
    position:absolute;
    top:50%;
    left:50%;
    z-index:6;
    padding:6px 9px;
    transform:translate(-50%,-50%);
    border:1px solid #aaa;
    border-radius:3px;
    color:#555;
    background:rgba(255,255,255,.94);
    font-size:12px;
    font-weight:bold;
}
.app-race-insight{
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
    flex-flow:column nowrap;
    overflow:hidden;
    background:#fff;
}
.app-insight-table-scroll{
    height:auto;
    min-height:0;
    flex:1 1 auto;
    overflow:auto;
    overscroll-behavior:contain;
}
.app-insight-table-scroll table{
    width:max-content;
    min-width:100%;
}
.app-insight-table-scroll table td,
.app-insight-table-scroll table th{
    height:25px;
    padding:1px 2px;
    line-height:1.15;
}
.app-course-insight .app-table-column-tablist.has-leading-control{
    margin-left:8px;
}
.app-insight-filterbar{
    position:relative;
    z-index:5;
    display:flex;
    width:100%;
    height:37px;
    min-height:37px;
    max-height:37px;
    flex:0 0 37px;
    align-items:stretch;
    overflow:visible;
    border-top:1px solid var(--mode-border,#25664d);
    background:var(--mode-filter-bar,#0c6e48);
}
.app-insight-filter-scroll{
    display:flex;
    min-width:0;
    flex:1 1 auto;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
}
.app-insight-filterbar a,
.app-insight-menu-button{
    display:flex;
    width:auto;
    min-width:44px;
    height:100%;
    min-height:0;
    padding:2px 6px;
    align-items:center;
    justify-content:center;
    border:0;
    border-right:1px solid var(--mode-border,#25664d);
    color:#fff;
    background:var(--mode-action,linear-gradient(to bottom,#459073,#308463 50%,#2e7d5e 51%,#308463));
    font-family:inherit;
    font-size:12px;
    font-weight:bold;
    line-height:1.05;
    text-align:center;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}
.app-insight-filterbar a:hover,
.app-insight-menu-button:hover{
    border-color:var(--mode-action-hover-border,#1d503c);
    background:var(--mode-action-hover,linear-gradient(to bottom,#3d7c63,#286e52 50%,#26684e 51%,#286e52));
}
.app-insight-filterbar a.is-active,
.app-insight-menu > div a.is-active{
    color:#fff;
    border-color:var(--mode-action-pressed-border,#15392b);
    background:var(--mode-action-pressed,linear-gradient(to bottom,#205741,#1e533e 50%,#205741 51%,#366854));
}
.app-insight-menu{
    position:relative;
    display:block;
    min-width:50px;
    height:32px;
    margin:3px 3px 2px;
    flex:0 0 auto;
}
.app-insight-menu > summary{
    width:100%;
    height:32px;
    padding:0 4px;
    flex-flow:column nowrap;
    gap:0;
    list-style:none;
}
.app-insight-menu > summary::-webkit-details-marker{
    display:none;
}
.app-insight-menu > summary i{
    display:flex;
    width:14px;
    height:10px;
    flex:0 0 10px;
    align-self:center;
    align-items:center;
    justify-content:center;
    margin:0;
    font-size:12px;
    line-height:10px;
    transform:scaleX(2);
    transform-origin:center;
}
.app-insight-menu > summary span{
    display:block;
    height:12px;
    flex:0 0 12px;
    line-height:12px;
}
.app-insight-menu > div{
    position:absolute;
    bottom:calc(100% + 4px);
    left:3px;
    z-index:20;
    display:flex;
    min-width:max-content;
    flex-flow:column nowrap;
    border:1px solid var(--mode-border,#25664d);
    background:var(--mode-deep,#0a5f3e);
    box-shadow:0 -2px 5px rgba(0,0,0,.25);
}
.app-insight-menu > div a{
    min-width:66px;
    height:34px;
    border-right:0;
    border-bottom:1px solid var(--mode-border,#25664d);
}
.app-insight-menu > div a:last-child{
    border-bottom:0;
}
.app-insight-menu-button:disabled{
    cursor:default;
    opacity:.45;
}
.app-insight-filterbar > button.app-insight-menu-button{
    min-width:50px;
    height:32px;
    margin:3px 3px 2px;
    flex:0 0 auto;
}
.app-trends-note{
    margin:4px 0 3px;
    padding:0 4px;
    color:#d30;
    font-size:12px;
    line-height:1.35;
    white-space:nowrap;
}
.app-trends-note span{
    color:#36d;
}
.coursegrid .s-grid2line{
    min-width:9.4em;
}
table.biasgrid.s-rcv.s-f13 td,
table.biasgrid.s-rcv.s-f13 th{
    line-height:1.5em;
}
table.biasgrid.s-rcv.s-f13{
    table-layout:auto;
    line-height:1.5em;
}
table.biasgrid.s-rcv.s-f13 th{
    height:auto;
}
.biasgrid tr.app-bias-race-space{
    height:8px;
    background:#f6f6f8;
}
.biasgrid tr.app-bias-race-space > td{
    height:8px;
}
.app-bias-race-label{
    font-weight:normal;
    vertical-align:middle !important;
}
.app-bias-race-label-lines{
    display:flex;
    flex-flow:column nowrap;
}
.app-bias-race-label-lines > span{
    display:block;
    padding:0;
    line-height:17px;
    height:17px;
    flex:0 0 17px;
    white-space:nowrap;
}
.app-bias-race-label-babasa{ transform:scaleX(.9); }
.app-bias-race-label-babasa.is-positive{ color:#c00000; }
.app-bias-race-label-babasa.is-negative{ color:#004dcc; }
.app-bias-race-label-babasa.is-zero{ color:#555; }
.app-bias-race-label-date,
.app-bias-race-label-rno,
.app-bias-race-label-class{
    margin-left:1px;
    transform:scaleX(.9);
}
.app-bias-race-label-date{ color:#222; }
.app-bias-race-label-rno{ color:#111; }
.app-bias-race-label-range,
.app-bias-race-label-lap{
    margin-left:0;
    color:#000;
    transform:scaleX(.8);
}
.app-bias-race-label-class{ color:#000; }
.app-bias-race-label-lap{ letter-spacing:1px; }
.biasgrid td[cid="5"] > div{
    width:1.8em;
    padding-left:0;
}
.app-bias-race-head{
    display:block;
    width:2em;
    transform:scaleX(.7);
}
.s-cl-bias-prD,
.s-cl-bias-prE{
    background-color:#fc0;
}
.s-cl-bias-prA,
.s-cl-bias-prB,
.s-cl-bias-prC,
.s-cl-bias-prX{
    background-color:transparent;
}
.app-race-result-panel{
    display:flex;
    flex-flow:column nowrap;
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}
.app-race-result-scroll{
    height:auto;
    min-height:0;
    padding:2px;
    flex:0 0 auto;
    overflow-x:auto;
    overflow-y:hidden;
}
.app-result-grid{
    min-width:max-content;
}
.app-lappayout{
    flex:0 0 auto;
    max-width:100%;
    padding:4px 0 6px;
    overflow-x:auto;
    overflow-y:hidden;
}
.app-lappayout-layout{
    display:flex;
    width:max-content;
    min-width:100%;
    gap:6px;
    align-items:stretch;
}
.app-lappayout-table{
    flex:0 0 auto;
    table-layout:fixed;
    border-collapse:collapse;
    color:#111;
    background:#fff;
    font-size:13px;
    line-height:1.25;
}
.app-lappayout-table th,
.app-lappayout-table td{
    height:24px;
    padding:5px 2px 3px;
    border-right:1px solid #c0c0c0;
    border-bottom:1px solid #c0c0c0;
    box-sizing:border-box;
}
.app-lappayout-table tr > :first-child{
    border-left:1px solid #c0c0c0;
}
.app-lappayout-table thead th{
    height:18px;
    padding:1px 2px 0;
    color:#fff;
    background:var(--mode-highlight,#308463);
    font-weight:bold;
    text-align:center;
}
.app-lappayout-table tbody th{
    color:#666;
    background:#f5f5f5;
    font-weight:bold;
    text-align:center;
}
.app-payout-table{
    width:306px;
}
.app-payout-table .app-payout-label{
    width:51px;
}
.app-payout-table .app-payout-combination{
    width:92px;
}
.app-payout-table .app-payout-value{
    width:89px;
}
.app-payout-table .app-payout-popularity{
    width:74px;
}
.app-payout-combination{
    font-weight:bold;
    text-align:center;
    white-space:nowrap;
}
.app-payout-separator{
    margin:0 5px;
    color:#777;
    font-size:11px;
}
.app-payout-value,
.app-payout-popularity{
    text-align:right;
    white-space:nowrap;
}
.app-payout-value > span,
.app-payout-popularity > span{
    margin-left:1px;
    font-size:11px;
}
.app-lap-table{
    width:max-content;
    min-width:386px;
    table-layout:auto;
}
.app-lap-table .app-lap-label{
    width:49px;
}
.app-lap-table .app-lap-content{
    width:auto;
}
.app-lap-table tbody th{
    padding:1px 2px 0;
}
.app-lap-table tbody td{
    overflow:visible;
    text-align:left;
    text-overflow:clip;
    white-space:nowrap;
}
.app-laptimes,
.app-corner-position{
    font-size:13px;
    letter-spacing:normal;
}
.app-laptimes ruby{
    ruby-position:over;
}
.app-lap-separator{
    color:#777;
    font-size:85%;
    line-height:1;
}
@media screen and (max-width:679px){
    .app-lappayout-layout{
        width:100%;
        flex-flow:column nowrap;
        align-items:flex-start;
    }
}
table.app-result-grid{
    /* Share the header widths with the four values inside the horse colspan. */
    --result-number-width:2em;
    --result-time-width:4.3em;
    --result-pop-width:2em;
}
/* The panel scrolls vertically, while the table wrapper scrolls horizontally.
   port.js offsets the whole thead against the outer scroll, preserving rowspans. */
table.app-result-grid thead{
    position:relative;
    z-index:5;
    transform:translateY(var(--result-header-offset,0px));
}
table.app-result-grid thead th{
    top:auto;
}
table.app-result-grid [cid="1"],
table.app-result-grid [cid="2"]{
    width:var(--result-number-width);
    min-width:var(--result-number-width);
    max-width:var(--result-number-width);
    padding-left:0;
    padding-right:0;
    position:sticky;
    z-index:3;
}
table.app-result-grid [cid="1"]{
    left:0;
    /* Cover the scroll container's 2px padding as content passes underneath. */
    box-shadow:-2px 0 #fff;
}
table.app-result-grid [cid="2"]{ left:var(--result-number-width); }
table.app-result-grid thead [cid="1"],
table.app-result-grid thead [cid="2"]{ z-index:4; }
table.app-result-grid .app-result-time,
table.app-result-grid .app-result-diff{
    width:var(--result-time-width);
    min-width:var(--result-time-width);
    max-width:var(--result-time-width);
}
table.app-result-grid .app-result-pop,
table.app-result-grid .app-result-pr{
    width:var(--result-pop-width);
    min-width:var(--result-pop-width);
    max-width:var(--result-pop-width);
}
table.app-result-grid .app-result-horse-cell{
    padding-left:0;
    padding-right:0;
    background:#fff;
}
.app-result-grid tbody td.s-sticky-hl1{ background:#fff; }
.app-result-grid tbody td.s-cl-rr1{ background:#ffefef; }
.app-result-grid tbody td.s-cl-rr2{ background:#dfefff; }
.app-result-grid tbody td.s-cl-rr3{ background:#efffef; }
.app-result-horse{
    display:flex;
    width:calc(2 * var(--result-time-width) + 2 * var(--result-pop-width) - 1px);
    flex-flow:column nowrap;
}
.app-result-horse > strong{
    padding:0 0.3em;
    overflow:hidden;
    text-overflow:ellipsis;
}
.app-result-horse > span{
    display:grid;
    grid-template-columns:var(--result-time-width) var(--result-time-width) var(--result-pop-width) minmax(0,1fr);
    color:#666;
}
.app-result-horse > span > span{
    overflow:hidden;
    border-right:1px solid #ddd;
    text-align:center;
}
.app-result-horse > span > span:last-child{ border-right:0; }
@media screen and (max-width:520px){
    .app-port-overlay{ padding:0; }
    .app-port-dialog{ border-radius:0; }
    .app-port-dialog-header{ grid-template-columns:105px 1fr 42px; }
}
.s-segbutton{
    display:flex;
    font-weight:bold;
    padding:4px;
    background:#eee;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
.s-segbutton.s-segfst{
    border-radius:3px 0px 0px 3px;
}
.s-segbutton.s-seglst{
    border-radius:0px 3px 3px 0px;
}
.s-button{
    display:flex;
    font-weight:bold;
    margin:4px;
    padding:4px;
    border-radius:3px;
    background:#eee;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
.s-button:not(.s-disabled):hover{
    background:#cdc;
    cursor:pointer;
}
.s-button.s-pressed:not(.s-disabled),
.s-button:not(.s-disabled):active{
    border-left:1px solid #aaa;
    border-top:1px solid #aaa;
    border-right:none;
    border-bottom:none;
}
.s-button a{
    color: inherit;
    text-decoration: none;
}
.s-box-inner{
    align-self: center;
    text-align: center;
    flex: 1;
}
.s-toolbutton{
    font-weight:bold;
    width:2em;
    align-self:center;
    color:#fff;
    border-radius:3px;
    background:transparent;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
.s-disabled{
    opacity:0.3;
}
.s-toolbutton:not(.s-disabled):hover{
    color:#fff;
    cursor:pointer;
    background:#686;
}
.s-toolbutton:not(.s-disabled):active{
    border-left:1px solid #333;
    border-top:1px solid #333;
    border-right:1px solid #ccc;
    border-bottom:1px solid #ccc;
}
.s-toolbutton a{
    color: inherit;
    text-decoration: none;
}

.s-highlight-label{
    color:#fff;
    line-height:1.2rem;
    font-size:0.9rem;
    text-align:center;
    background:#308463;
}

.s-hidden{
    visibility:hidden;
}
.s-none{
    display:none;
}
.s-weather-half{
    transform: scaleX(0.6);
    letter-spacing: 1px;
    margin-left: -0.5rem;
    text-shadow: 0 0 0 #000;
}
.s-list-item{
    padding:4px;
    text-align:left;
    line-height:1rem;
    align-items: start;
    justify-content: start;
    border-bottom:1px solid #ccc;
    min-height:2.5rem;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
.s-list-item.s-highlight{
    background:#f6fff6;
}
.s-list-item:hover{
    color:#333;
    cursor:pointer;
    background:#ded;
}
.s-list-item a{
    color: inherit;
    text-decoration: none;
}

table.tplgrid{
    table-layout:fixed;
    min-width:auto;
    max-width:9999px;
    -webkit-overflow-scrolling: touch;
    overflow: visible;
    empty-cells:show;
    white-space: nowrap;
    border-collapse: separate;
    border-spacing:0px;
    box-sizing: border-box;
    font-size:14px;
    line-height:1.2em;
    -webkit-overflow-scrolling: touch;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
table.tplgrid th.s-tplgrid-th-fix{
    line-height:1.2rem;
}
table.tplgrid tr,
table.tplgrid td,
table.tplgrid th{
    box-sizing: border-box;
    border-right: solid 1px #e0e0e0;
    border-bottom: solid 1px #e0e0e0;
    vertical-align:middle;
    resize: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
table.tplgrid td{
    padding:0.2em 0.3em 0.1em 0.3em;
    line-height:1.38rem;
}
table.tplgrid tr td.s-has-inline,
table.tplgrid tr th.s-has-inline{
    padding:0px;
}
table.tplgrid th{
    border-right: solid 1px #c2c2c2;
    border-bottom: solid 1px #c2c2c2;
    color: #666;
    padding-top:0.2rem;
    background-color: #f5f5f5;
    font-weight: bold;
    text-align: center;
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;
}
table.tplgrid th[class*="sort"] {
    background-color: #308463;
    color: #FFF;
}
table.tplgrid th[class~="sort-ASC"]:after{
    font-size:0.9em;
    font-family:"Font Awesome 5 Free";
    content:"\f30c";
}
table.tplgrid th[class~="sort-DESC"]:after{
    font-size:0.9em;
    font-family:"Font Awesome 5 Free";
    content:"\f309";
}
table.tplgrid th:not([class*="sort"]):hover {
    background-color: #cdc !important;
}
table.tplgrid .s-wrap{
    word-break:break-word;
    white-space:normal;
}
table.tplgrid th {
    cursor:pointer;
}
table.tplgrid td.s-link {
    cursor:pointer;
}
table.tplgrid td.s-edit {
    cursor:text;
}
table.tplgrid td.s-calc {
    background-color:#e9f3e9;
    cursor:text;
}
table.tplgrid td.s-calc.editing{
    background-color:#c8d2c8;
    cursor:text;
}
table.tplgrid .s-link:hover,
table.tplgrid .s-link:hover div{
    background-color: $smartrc-grid-link-menu-color !important;
}
table.tplgrid .s-link:hover div:after{
    display:none;
}
table.tplgrid .s-edit:hover{
    background-color: #e9f3e9;
}
table.tplgrid .s-calc:hover{
    background-color: #e9f3e9;
    background-color: #d8e2d8;
}

.s-col-1{  min-width:1.2em;}
.s-col-2{  min-width:1.7em;}
.s-col-3{  min-width:2.2em;}
.s-col-4{  min-width:2.7em;}
.s-col-5{  min-width:3.2em;}
.s-col-6{  min-width:3.7em;}
.s-col-7{  min-width:4.2em;}
.s-col-8{  min-width:4.7em;}
.s-col-9{  min-width:5.2em;}
.s-col-10{ min-width:5.7em;}
.s-col-11{ min-width:6.2em;}
.s-col-12{ min-width:6.7em;}
.s-col-13{ min-width:7.2em;}
.s-col-14{ min-width:7.7em;}
.s-col-15{ min-width:8.2em;}
.s-col-16{ min-width:8.7em;}
.s-col-17{ min-width:9.2em;}
.s-col-18{ min-width:9.7em;}
.s-col-19{ min-width:10.2em;}
.s-col-20{ min-width:10.7em;}
.s-col-21{ min-width:11.2em;}
.s-col-22{ min-width:11.7em;}
.s-col-23{ min-width:12.2em;}
.s-col-24{ min-width:12.7em;}
.s-col-25{ min-width:13.2em;}
.s-col-26{ min-width:13.7em;}
.s-col-30{ min-width:15.7em;}
table.s-rcv.s-f13 td,
table.s-rcv.s-f13 th{ padding:1px; }
table.s-rcv.s-f13 td{ line-height:1.5em; }
table.s-rcv.s-f13 .s-col-2{ min-width:23px; }
table.s-rcv.s-f13 .s-col-3{ min-width:29.5px; }
table.s-rcv.s-f13 .s-col-4{ min-width:36px; padding:1px; }
table.s-rcv.s-f13 .s-col-5{ min-width:42.5px; padding:1px; }
table.s-rcv.s-f13 .s-col-6{ min-width:49px; padding:1px; }
table.s-rcv.s-f13 .s-col-7{ min-width:55.5px; }
table.biasgrid.s-rcv.s-f13 .s-col-8{ min-width:62px; padding:1px; }
table.s-rcv.s-f13 .s-col-10{ min-width:75px; padding:1px; }
table.s-rcv.s-f13 .s-col-12{ min-width:88px; padding:1px; }
table.s-rcv.s-f13 .s-col-18{ min-width:127px; padding:1px; }
table.s-rcv.s-f13 .s-col-22{ min-width:153px; padding:1px; }
table.s-rcv.s-f13 .s-col-24{ min-width:166px; padding:1px; }
table.s-rcv.s-f13 .s-col-25{ min-width:171.5px; }
table.s-rcv.s-f13 .s-col-30{ min-width:205px; padding:1px; }
table.s-rcv.s-f13 .app-history-middle{ min-width:87px; }
table.s-rcv.s-f13 tbody td[cid="62"].s-col-25{
    width:214px;
    min-width:214px;
    max-width:214px;
}
.app-table-column-tabs,
.app-table-column-tabs > .s-segarea,
.app-table-column-tabs .s-segbutton{
    height:36px;
    min-height:36px;
    max-height:36px;
}
.app-table-column-tabs{ flex:0 0 36px; }
.s-sticky-both{
       position: -webkit-sticky;
       position: sticky;
       top:0;
       left:0;
       z-index:2;
}
.s-sticky-ht1{
       position: -webkit-sticky;
       position: sticky;
       top:0px;
       z-index:1;
}
.s-sticky-ht2{
       position: -webkit-sticky;
       position: sticky;
       top:1.3rem;
       z-index:1;
}
.s-sticky-hl1{
       position: -webkit-sticky;
       position: sticky;
       left:0;
       z-index:1;
}

.s-debug{
    padding:2px;
    position:absolute;
    background: #fff;
    font-size:12px;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    display:none;
}
// for payout
div.s-noborder-tb,
th.s-noborder-tb ,
td.s-noborder-tb { border-top:0px hidden transparent !important;border-bottom:0px hidden transparent !important;}
div.s-noborder-t ,
th.s-noborder-t  ,
td.s-noborder-t  { border-top:0px hidden transparent !important;}
div.s-noborder-b ,
th.s-noborder-b  ,
td.s-noborder-b  { border-bottom:0px hidden transparent !important;}
div.s-noborder-r ,
th.s-noborder-r  ,
td.s-noborder-r  { border-right:0px hidden transparent !important;}
div.s-noborder-l ,
th.s-noborder-l  ,
td.s-noborder-l  { border-left:0px hidden transparent !important;}
div.s-noborder-lr,
th.s-noborder-lr ,
td.s-noborder-lr { border-left:0px hidden transparent !important;border-right:0px hidden transparent !important;}

th.s-noborder,
td.s-noborder{ border-left:0px hidden transparent !important;border-right:0px hidden transparent !important;border-top:0px hidden transparent !important;border-bottom:0px hidden transparent !important;}

/* v4b「直近開催」をExt JSに依存せず再現する画面。 */
.app-home-screen{
    display:flex;
    flex-flow:column nowrap;
    width:100%;
    height:100%;
    overflow:hidden;
}
.app-home-screen > .app-recent{
    flex:1 1 auto;
    min-height:0;
    height:auto;
}
.app-home-tabs{
    display:flex;
    flex:0 0 40px;
    align-items:stretch;
    width:100%;
    height:40px;
    min-width:0;
    padding:1px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    touch-action:pan-x;
    -webkit-overflow-scrolling:touch;
    user-select:none;
}
.app-home-tabs::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
}
.app-home-tab{
    display:flex;
    flex:0 0 60px;
    width:60px;
    min-width:60px;
    height:38px;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:5px 3px 3px;
    border:1px solid;
    border-radius:2px;
    font-family:inherit;
    font-size:11px;
    font-weight:bold;
    line-height:12px;
    text-align:center;
    text-decoration:none;
    white-space:nowrap;
}
.app-home-tab + .app-home-tab{
    margin-left:-1px;
}
.app-home-tab > i{
    flex:0 0 20px;
    width:20px;
    font-size:20px;
    text-align:center;
}
.app-home-tab > span{
    display:block;
}
.app-home-tab.is-disabled{
    cursor:default;
}
.app-days-screen > .app-days-scroll{
    flex:1 1 auto;
    min-height:0;
    width:100%;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}
.app-days-list{
    display:flex;
    flex-flow:column nowrap;
    min-width:100%;
}
.app-days-month{
    position:sticky;
    top:0;
    z-index:4;
    flex:0 0 auto;
    min-height:19px;
    font-size:13px;
    font-weight:bold;
    line-height:19px;
}
.app-days-row{
    display:flex;
    flex:0 0 auto;
    flex-flow:row nowrap;
    width:100%;
    min-width:0;
    border:2px solid #fff;
    color:inherit;
    background:#fff;
    box-shadow:0 0 0 1px rgba(0,0,0,.1);
    text-decoration:none;
    user-select:none;
}
.app-days-row.is-week0{
    border-color:#fff6f6;
    background:#fff6f6;
}
.app-days-row.is-week6{
    border-color:#f6f6ff;
    background:#f6f6ff;
}
.app-days-row.is-today,
.app-days-row.is-recent{
    border-color:rgba(51,68,136,.7);
}
.app-days-date{
    display:flex;
    flex:0 0 2.8em;
    width:2.8em;
    flex-flow:column nowrap;
    align-self:center;
    align-items:stretch;
    border-left:2px solid #fff;
    color:#888;
    font-size:16px;
    font-weight:bold;
    text-align:right;
}
.app-days-row.is-today > .app-days-date{
    align-self:stretch;
    justify-content:center;
    margin:3px 0 3px 1px;
    padding:3px 0 1px;
    border-radius:4px;
}
.app-days-date-value.is-week0{ color:#b66; }
.app-days-date-value.is-week6{ color:#88b; }
.app-days-date-sublabel{
    align-self:center;
    flex:0 0 auto;
    color:#23d;
    font-size:11px;
    font-weight:bold;
    line-height:13px;
    white-space:nowrap;
    transform:scaleX(.8);
}
.app-days-place-slot{
    display:flex;
    flex:1 1 0;
    min-width:0;
    flex-flow:column nowrap;
    margin:4px;
    padding:4px;
    border-radius:3px;
    background:rgba(212,212,212,.35);
    font-size:14px;
    font-weight:bold;
    line-height:14px;
    user-select:none;
}
.app-days-place-slot > span{
    align-self:center;
    flex:1 1 auto;
    max-width:100%;
    overflow:hidden;
    text-align:center;
    white-space:nowrap;
}
.app-days-place-slot.is-placeholder{
    display:none;
}
.app-days-race-name{
    color:#887;
    font-size:11px;
    line-height:14px;
}
.app-days-grade.s-grade-icon{
    width:2.4em;
    margin-top:0;
    padding:2px 2px 0;
    color:#fff;
    font-size:12px;
    line-height:normal;
    letter-spacing:normal;
    vertical-align:text-top;
}
.app-days-grade.s-cl-gA,
.app-days-grade.s-cl-ga{ text-indent:3px; background:#d21; }
.app-days-grade.s-cl-gB{ text-indent:1px; background:#23d; }
.app-days-grade.s-cl-gb{ background:#23d; }
.app-days-grade.s-cl-gC,
.app-days-grade.s-cl-gc{ text-indent:0; background:#291; }
.app-days-grade.s-cl-gD{ background:#664; }
.app-days-grade.s-cl-gE{ background:#998; }
.app-days-grade.s-cl-gX{ color:#bbb; background:transparent; }
@media screen and (min-width:721px){
    .app-days-place-slot{
        flex:1 1 3em;
        width:5em;
        min-width:3em;
    }
    .app-days-place-slot.is-placeholder{
        display:flex;
        visibility:hidden;
    }
}
.app-recent{
    position:relative;
    display:flex;
    flex-flow:column nowrap;
    width:100%;
    height:100%;
    overflow:hidden;
    color:#000;
}
.app-recent-days-bar{
    position:relative;
    flex:0 0 45px;
    min-width:0;
}
.app-recent-days-arrow{
    appearance:none;
    position:absolute;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:45px;
    padding:0;
    border:0;
    background:transparent;
    color:#999;
    font-size:26px;
    text-shadow:0 0 6px #fff,-1px 0 2px #fff,0 -1px 2px #fff,1px 0 2px #fff,0 1px 2px #fff;
    cursor:pointer;
}
.app-recent-days-arrow[hidden]{ display:none; }
.app-recent-days-arrow[data-days-edge="start"]{ left:0; }
.app-recent-days-arrow:hover{ color:#444; }
.app-recent-days-arrow:active{ color:#000; }
.app-recent-days-arrow:focus-visible{ outline:2px solid var(--mode-highlight); outline-offset:-2px; }
.app-recent-days-scroll{
    position:relative;
    flex:0 0 45px;
    width:100%;
    height:45px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    touch-action:pan-x;
    -webkit-overflow-scrolling:touch;
}
.app-recent-days-scroll::-webkit-scrollbar{
    display:none;
}
.app-recent-days{
    display:flex;
    flex-flow:row nowrap;
    width:max-content;
    min-width:100%;
    height:45px;
    cursor:all-scroll;
}
.app-recent-day{
    appearance:none;
    display:flex;
    flex:0 0 77px;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    width:77px;
    height:37px;
    margin:4px;
    padding:3px 2px 2px;
    border:2px solid #999;
    border-radius:3px;
    color:#666;
    background:#f9f9f9;
    font:inherit;
    font-size:14px;
    font-weight:bold;
    line-height:14px;
    text-align:center;
    white-space:nowrap;
    cursor:pointer;
}
.app-recent-day.app-recent-week0{
    color:#b66;
    background:#fff6f6;
    border-color:#b66;
}
.app-recent-day.app-recent-week6{
    color:#88b;
    background:#f6f6ff;
    border-color:#88b;
}
.app-recent-day-sublabel{
    min-height:11px;
    color:#aaa;
    font-size:11px;
    font-weight:normal;
    line-height:11px;
}
.app-recent-day-sublabel:empty{ display:none; }
.app-recent-day.app-recent-today .app-recent-day-sublabel,
.app-recent-day.app-recent-current .app-recent-day-sublabel{
    color:#23d;
}
.app-recent-day.is-active{
    color:#fff;
    background:#338;
    border-color:#338;
}
.app-recent-day.is-active .app-recent-day-sublabel{
    color:#def;
}
.app-recent-sticky-marker{
    flex:0 0 1px;
    width:1px;
    visibility:hidden;
}
.app-recent-day.app-recent-sticky{
    position:sticky;
    right:0;
    z-index:2;
    box-shadow:2px 2px 4px rgba(0,0,0,0.3);
}
.app-recent-races-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}
.app-recent-races{
    display:flex;
    align-items:flex-start;
    gap:1px;
    min-width:100%;
    padding:0 1px;
}
.app-recent-place{
    flex:1 1 0;
    min-width:0;
    margin:0;
    overflow:hidden;
    border:2px solid #999;
    border-radius:8px;
}
.app-recent-place-label{
    height:auto;
    margin:0;
    padding:4px 3px 1px;
    border-bottom:2px solid #999;
    border-radius:6px 6px 0 0;
    color:#555;
    background:#eee;
    font-size:15px;
    font-weight:bold;
    line-height:18.75px;
    text-align:center;
}
.app-recent-race{
    min-height:39px;
    padding:2px 1px 0;
    border-bottom:1px solid #ccc;
    background:#fff;
    font-size:14px;
    line-height:17.5px;
}
.app-recent-race:last-child{
    border-bottom:0;
}
.app-recent-race > a{
    display:flex;
    width:100%;
    min-height:36px;
    color:inherit;
    text-decoration:none;
}
.app-recent-race:not(.is-empty):hover{
    background:#ded;
}
.app-recent-race-main{
    display:flex;
    flex:1 1 auto;
    flex-flow:column nowrap;
    min-width:0;
    margin-right:5px;
}
.app-recent-race-line{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    gap:5%;
}
.app-recent-rno,
.app-recent-time{
    flex:0 0 32px;
    width:32px;
    padding:0;
    text-align:right;
    white-space:nowrap;
}
.app-recent-rno{
    font-size:16px;
    font-weight:bold;
}
.app-recent-time,
.app-recent-track{
    font-size:11px;
    line-height:17.5px;
}
.app-recent-babasa{
    display:inline-flex;
    align-items:baseline;
    flex:0 0 auto;
    white-space:nowrap;
    font-size:11px;
    line-height:17.5px;
    font-variant-numeric:tabular-nums;
}
.app-recent-babasa-sign{
    display:inline-block;
    width:11px;
    min-width:11px;
    flex:0 0 11px;
    font-family:inherit;
    font-weight:400;
    text-align:center;
}
.app-recent-babasa.is-positive{ color:#c00000; }
.app-recent-babasa.is-negative{ color:#004dcc; }
.app-recent-babasa.is-zero{ color:#555; }
.has-babasa .app-recent-race-main{ margin-right:0; }
.app-recent-track-group{
    display:flex;
    min-width:0;
    flex:1 1 auto;
    align-items:baseline;
    gap:3px;
}
.has-babasa .app-recent-track{ flex:0 0 auto; }
.app-recent-place{ container-type:inline-size; }
@container (max-width:150px){
    .has-babasa .app-recent-track-group{
        /* Expand by 1/.71 before scaling so the visual width remains in the
           space after the common 32px leading column and 5% gap. */
        gap:2px;
        width:calc(133.803% - 45.071px);
        flex:0 0 calc(133.803% - 45.071px);
        transform:scaleX(.71);
        transform-origin:left center;
    }
    .has-babasa .app-recent-time,
    .has-babasa .app-recent-track-group > span{ font-size:10px; }
}
.app-recent-time.is-changed{
    color:#d30;
    font-weight:bold;
}
.app-recent-rname,
.app-recent-track{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    padding:0;
    text-align:left;
    text-overflow:clip;
    white-space:nowrap;
}
.app-recent-rname-desktop{
    display:none;
}
.app-recent-rname .s-grade-icon{
    flex:0 0 auto;
    align-self:center;
    width:2.4em;
    margin-top:0;
    padding:2px 2px 0;
    line-height:14px;
    letter-spacing:normal;
    vertical-align:text-top;
}
.app-recent-cond-class{
    display:inline-block;
    width:1.7rem;
    margin-left:-0.4rem;
    overflow:visible;
    transform:scaleX(0.5);
    letter-spacing:1px;
    text-shadow:1px 0 0 #333;
}
.app-recent-status{
    display:flex;
    flex:0 0 auto;
    flex-flow:column nowrap;
    padding:1px;
}
.app-recent-mark{
    flex:0 0 auto;
    margin:0;
    padding:2px 2px 0;
    border-radius:4px;
    color:#fff;
    font-size:12px;
    font-weight:bold;
    line-height:15px;
    text-align:right;
}
.app-recent-mark.is-placeholder{
    visibility:hidden;
}
.app-recent-mark-confirmed{
    background:#47d;
}
.app-recent-mark-cancelled{
    background:#c33;
}
.app-recent-mark-spat{
    border-radius:0;
    background:#1976d2;
    opacity:0.4;
}
.app-recent-mark-apat{
    border-radius:0;
    background:#db3232;
    opacity:0.4;
}
.app-recent-loading{
    position:absolute;
    top:50%;
    left:50%;
    z-index:4;
    transform:translate(-50%,-50%);
    padding:8px 12px;
    border:1px solid #aaa;
    border-radius:3px;
    color:#333;
    background:rgba(255,255,255,0.95);
    box-shadow:1px 2px 4px rgba(0,0,0,0.25);
}
.app-recent-loading[hidden]{
    display:none;
}
.app-recent.is-loading .app-recent-races{
    opacity:0.65;
}
.app-recent-message{
    padding:20px;
    color:#666;
    text-align:center;
}
@media screen and (min-width:680px){
    .app-recent-races{
        gap:16px;
        padding:0 8px;
    }
    .app-recent-rname-mobile{
        display:none;
    }
    .app-recent-rname-desktop{
        display:block;
    }
}

/* v4b「払戻一覧」。日付／場の選択部と速報表は別々にスクロールさせる。 */
.app-payouts-screen{
    color:#333;
}
.app-payout-filter-area{
    flex:0 0 auto;
    min-width:0;
    overflow:hidden;
}
.app-payout-days{
    display:flex;
    flex-flow:column nowrap;
    padding:2px;
}
.app-payout-day{
    display:flex;
    width:100%;
    height:51px;
    flex:0 0 51px;
    flex-flow:row nowrap;
    border:2px solid #fff;
    background:#fff;
    box-shadow:0 0 0 1px rgba(0,0,0,.1);
}
.app-payout-day.is-week0{
    border-color:#fff6f6;
    background:#fff6f6;
}
.app-payout-day.is-week6{
    border-color:#f6f6ff;
    background:#f6f6ff;
}
.app-payout-day.is-today{
    border-color:rgba(51,68,136,.7);
}
.app-payout-day-label{
    display:flex;
    width:2.8em;
    flex:0 0 2.8em;
    flex-flow:column nowrap;
    align-self:center;
    align-items:stretch;
    border-left:2px solid #fff;
    color:#888;
    font-size:16px;
    font-weight:bold;
    line-height:16px;
    text-align:right;
}
.app-payout-day.is-today > .app-payout-day-label{
    align-self:stretch;
    justify-content:center;
    margin:3px 0 3px 1px;
    padding:3px 0 1px;
    border-radius:4px;
}
.app-payout-month{
    align-self:stretch;
    font-size:12px;
    line-height:8px;
    opacity:.6;
    text-align:left;
}
.app-payout-date.is-week0,
.app-payout-month.is-week0{ color:#b66; }
.app-payout-date.is-week6,
.app-payout-month.is-week6{ color:#88b; }
.app-payout-day-sublabel{
    align-self:center;
    flex:0 0 auto;
    color:#23d;
    font-size:11px;
    line-height:11px;
    white-space:nowrap;
    transform:scaleX(.8);
}
.app-payout-filter{
    appearance:none;
    display:flex;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    margin:4px;
    padding:4px;
    border:0;
    border-right:1px solid rgba(0,0,0,.4);
    border-bottom:1px solid rgba(0,0,0,.4);
    border-radius:3px;
    color:#333;
    background-color:rgba(212,212,212,.35);
    background-image:linear-gradient(to bottom,rgba(0,0,0,.01),rgba(0,0,0,.14));
    font-family:inherit;
    font-size:14px;
    font-weight:bold;
    line-height:14px;
    white-space:nowrap;
    user-select:none;
    cursor:pointer;
}
.app-payout-place-filter{
    flex:1 1 0;
    min-width:0;
}
.app-payout-filter:hover{
    background-color:rgba(0,0,0,.14);
}
.app-payout-filter.is-active,
.app-payout-filter:active{
    padding:3px 5px 5px 3px;
    border-top:1px solid rgba(0,0,0,.4);
    border-left:1px solid rgba(0,0,0,.4);
    border-right:0;
    border-bottom:0;
    background-color:rgba(0,0,0,.2);
    background-image:linear-gradient(to top,rgba(0,0,0,.08),rgba(0,0,0,.14));
}
.app-payout-filter:focus-visible{
    position:relative;
    z-index:2;
    outline:2px solid #338;
    outline-offset:-2px;
}
.app-payout-place-name{
    max-width:100%;
    overflow:hidden;
    text-overflow:clip;
}
.app-payout-grade.s-grade-icon{
    width:2.4em;
    margin-top:0;
    padding:2px 2px 0;
    color:#fff;
    font-size:12px;
    line-height:12px;
    letter-spacing:normal;
    vertical-align:text-top;
}
.app-payout-grade.s-cl-gA,
.app-payout-grade.s-cl-ga{ text-indent:3px; background:#d21; }
.app-payout-grade.s-cl-gB{ text-indent:1px; background:#23d; }
.app-payout-grade.s-cl-gb{ background:#23d; }
.app-payout-grade.s-cl-gC,
.app-payout-grade.s-cl-gc{ text-indent:0; background:#291; }
.app-payout-grade.s-cl-gD{ background:#664; }
.app-payout-grade.s-cl-gE{ background:#998; }
.app-payout-grade.s-cl-gX{ color:#bbb; background:transparent; }
.app-payout-recent-filter{
    width:calc(100% - 8px);
    height:32px;
    flex:0 0 32px;
    text-align:center;
}
.app-payout-results-scroll{
    flex:1 1 auto;
    min-width:0;
    min-height:0;
    overflow:auto;
}
.app-payout-results{
    width:max-content;
    min-width:100%;
}
.app-payout-race{
    width:max-content;
    margin:3px auto;
}
.app-payout-race-header{
    display:flex;
    width:100%;
    min-height:35px;
    align-items:stretch;
}
.app-payout-race-label{
    min-width:0;
    padding:3px 0 0 2px;
    flex:1 1 auto;
    overflow:hidden;
    font-size:14px;
    line-height:16px;
    text-align:left;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-payout-race-actions{
    display:flex;
    height:35px;
    margin-left:auto;
    flex:0 0 auto;
    align-items:stretch;
}
.app-payout-race-actions .app-race-info-action{
    height:100%;
    border-radius:0;
}
.app-payout-race-actions .app-payout-patrol{
    width:60px;
    min-width:60px;
    flex-basis:60px;
}
.app-payout-race-actions .app-payout-patrol .app-race-info-action-label{
    width:30px;
    flex-basis:30px;
}
.app-payout-race-actions .app-payout-patrol .app-race-info-action-label > span:first-child{
    width:43px;
    letter-spacing:1px;
    transform:scaleX(.6);
}
.app-payout-race-label strong{
    font-weight:bold;
}
.app-payout-label-gap{
    display:inline-block;
    width:7px;
}
.app-payout-start{
    font-size:11px;
}
.app-payout-track,
.app-payout-weather,
.app-payout-ground{
    font-size:11px;
}
.app-payout-race-tables,
.app-payout-desktop-tables{
    display:flex;
    flex-flow:row nowrap;
    align-items:flex-start;
}
.app-payout-table{
    table-layout:fixed;
    border-collapse:collapse;
    border-left:1px solid #e0e0e0;
    font-size:13px;
    line-height:13px;
    white-space:nowrap;
}
.app-payout-table th,
.app-payout-table td{
    height:auto;
    padding:1px 2px 0;
    overflow:hidden;
    border-right:1px solid #c0c0c0;
    border-bottom:1px solid #c0c0c0;
    text-align:center;
    text-overflow:clip;
}
.app-payout-table thead th{
    height:16px;
    padding:2px 0 0;
    color:#fcfcfc;
    font-size:11px;
    font-weight:bold;
}
.app-payout-table tbody th{
    color:#666;
    background:#f5f5f5;
    font-weight:bold;
    text-align:left;
}
.app-payout-finish-table{
    width:271px;
}
.app-payout-finish-table tbody td{
    height:32px;
    padding:11px 2px 7px;
}
.app-payout-finish-table .app-payout-finish-rank{ width:23px; }
.app-payout-finish-table .app-payout-finish-waku{ width:23px; }
.app-payout-finish-table .app-payout-finish-uno{ width:30px; }
.app-payout-finish-table .app-payout-finish-name{ width:127px; }
.app-payout-finish-table .app-payout-finish-time{ width:68px; }
.app-payout-finish-uno-value{
    font-size:130%;
    font-weight:bold;
    line-height:1;
    text-align:right !important;
}
.app-payout-finish-horse{
    text-align:left !important;
}
.app-payout-unpublished{
    color:#665;
    font-weight:bold;
    text-align:center !important;
}
.app-payout-table-first{ width:223px; }
.app-payout-table-second{ width:294px; }
.app-payout-table-mobile{ display:none; }
.app-payout-table-first .app-payout-bet-header,
.app-payout-table-first tbody th,
.app-payout-table-second .app-payout-bet-header,
.app-payout-table-second tbody th,
.app-payout-table-mobile .app-payout-bet-header,
.app-payout-table-mobile tbody th{ width:49px; }
.app-payout-table-first .app-payout-pay-header,
.app-payout-table-first .app-payout-amount{ width:62px; }
.app-payout-table-first .app-payout-pop-header,
.app-payout-table-first .app-payout-popularity{ width:49px; }
.app-payout-table-second .app-payout-pay-header,
.app-payout-table-second .app-payout-amount,
.app-payout-table-mobile .app-payout-pay-header,
.app-payout-table-mobile .app-payout-amount{ width:88px; }
.app-payout-table-second .app-payout-pop-header,
.app-payout-table-second .app-payout-popularity{ width:62px; }
.app-payout-table-mobile .app-payout-pop-header,
.app-payout-table-mobile .app-payout-popularity{ width:75px; }
.app-payout-combination-number,
.app-payout-combination-dash{
    padding-right:1px !important;
    padding-left:1px !important;
    border-right:0 !important;
}
.app-payout-combination-number{
    color:#332;
    font-weight:bold;
    text-align:right !important;
}
.app-payout-combination-number.is-final{
    border-right:1px solid #c0c0c0 !important;
}
.app-payout-combination-dash{
    color:#aa9;
}
.app-payout-amount,
.app-payout-popularity{
    text-align:right !important;
}
.app-payout-amount > span,
.app-payout-popularity > span{
    font-size:90%;
    line-height:1;
}
.app-payout-message{
    padding:9px 12px 20px;
    color:#665;
    font-weight:bold;
    text-align:center;
}
.app-payout-table .is-phone{ display:none; }
@media screen and (min-width:680px){
    .app-payout-race-tables,
    .app-payout-desktop-tables{
        align-items:stretch;
    }
    .app-payout-desktop-tables > .app-payout-table{
        height:100%;
    }
}
@media screen and (max-width:679px){
    .app-payout-results{
        width:100%;
    }
    .app-payout-race{
        width:100%;
    }
    .app-payout-race-header{
        width:307px;
        padding-left:1px;
        position:relative;
        left:50%;
        transform:translateX(-50%);
    }
    .app-payout-race-tables{
        flex-flow:column nowrap;
        align-items:center;
    }
    .app-payout-desktop-tables{
        display:none;
    }
    .app-payout-table-mobile{
        display:table;
        width:307px;
        margin-top:6px;
    }
    .app-payout-table th,
    .app-payout-table td,
    .app-payout-finish-table tbody td{
        height:auto;
        padding:5px 2px 3px;
    }
    .app-payout-table thead th{
        height:auto;
        padding:2px 0 0;
    }
    .app-payout-finish-table{
        width:304px;
    }
    .app-payout-finish-table .app-payout-finish-rank{ width:23px; }
    .app-payout-finish-table .app-payout-finish-waku{ width:23px; }
    .app-payout-finish-table .app-payout-finish-uno{ width:30px; }
    .app-payout-finish-table .app-payout-finish-name{ width:159px; }
    .app-payout-finish-table .app-payout-finish-time{ width:69px; }
    .app-payout-table .is-desktop{ display:none; }
    .app-payout-table .is-phone{ display:inline; }
}

/* v4b race/Panel の変更情報TplGrid。 */
.app-changes-screen > .app-changes-scroll{
    flex:1 1 auto;
    min-width:0;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}
table.tplgrid.app-changes-table{
    table-layout:auto;
    width:auto;
    font-size:13px;
    line-height:1.5em;
}
table.tplgrid.app-changes-table th,
table.tplgrid.app-changes-table td{
    padding:6px 4px 2px;
}
table.tplgrid.app-changes-table thead th{
    position:sticky;
    top:0;
    z-index:2;
}
table.tplgrid.app-changes-table .app-changes-target{
    position:sticky;
    left:0;
    z-index:1;
    background:#fff;
}
table.tplgrid.app-changes-table thead .app-changes-target{
    z-index:3;
    background:#f5f5f5;
}
.app-changes-message{
    padding:12px;
    color:#665;
    font-weight:bold;
    text-align:center;
}
.app-changes-message > span{
    color:#777;
    font-size:90%;
    line-height:1;
}

/* v4b race/Panelの傾向集計コース一覧。 */
.app-trends-screen > .app-trend-course-list{
    flex:1 1 auto;
    min-width:0;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}
.app-trend-course-section{
    width:100%;
    margin:0;
    padding:0;
}
.app-trend-course-heading{
    width:100%;
    min-height:20px;
    margin:0;
    padding:1px 4px;
    color:var(--mode-deep,#0a5f3e);
    background:var(--mode-property,#c2dbd1);
    border-color:#ccc;
    font-size:14px;
    font-weight:bold;
    line-height:18px;
    text-align:center;
}
.app-trend-course-row{
    display:flex;
    width:100%;
    flex-flow:row wrap;
    align-items:stretch;
}
.app-course-button{
    display:flex;
    width:76px;
    min-width:76px;
    max-width:76px;
    min-height:44px;
    margin:4px;
    padding:6px;
    flex:0 0 76px;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    gap:2px;
    border:2px solid;
    border-radius:6px;
    box-sizing:border-box;
    color:inherit;
    font-size:14px;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
}
.app-course-button.app-track0{
    border-color:#363;
    color:#363;
    background:#f6fff6;
}
.app-course-button.app-track1,
.app-course-button.app-track2{
    border-color:#741;
    color:#741;
    background:#fffaf5;
}
.app-course-button.app-track0:hover{ background:#bcb; }
.app-course-button.app-track1:hover,
.app-course-button.app-track2:hover{ background:#edc; }
.app-course-button.app-track0:active{ border-width:2px; background:#9a9; }
.app-course-button.app-track1:active,
.app-course-button.app-track2:active{ border-width:2px; background:#a98; }
.app-course-button-main{
    display:flex;
    width:100%;
    min-width:0;
    align-items:flex-start;
    justify-content:center;
    gap:1px;
}
.app-course-button-track{
    flex:0 0 auto;
    color:#777;
    font-size:12px;
}
.app-course-button-range{
    display:block;
    min-width:0;
    white-space:nowrap;
}
.app-course-button-range.is-distance{
    display:flex;
    flex-flow:column nowrap;
    align-items:flex-end;
    line-height:1.05;
}
.app-course-button-outer{
    flex:0 0 auto;
    color:#d00;
    font-size:12px;
}
.app-course-button-count{
    display:block;
    width:100%;
    padding-right:4px;
    color:#777;
    font-size:11px;
    line-height:1;
    text-align:right;
}
.app-trends-detail{
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
}
table.tplgrid.trendgrid{
    table-layout:auto;
}
table.tplgrid.trendgrid td,
table.tplgrid.trendgrid th{
    height:25px;
    padding:1px 2px;
    line-height:1.15;
}
table.tplgrid.trendgrid th.s-tplgrid-th-fix{
    height:44px;
}

/* All scrollable content keeps inertial touch scrolling. */
.s-scrollable,
.app-port-dialog-body,
.app-horse-tabs,
.app-horse-history-scroll,
.app-horse-relative-scroll,
.app-horse-entity-tabs,
.app-horse-analysis-group,
.app-related-runners-scroll,
.app-race-detail-tabs,
.app-race-result-panel,
.app-race-result-scroll,
.app-lappayout,
.app-insight-table-scroll,
.app-table-column-tablist,
.app-insight-filter-scroll,
.app-home-tabs,
.app-recent-days-scroll,
.app-recent-races-scroll,
.app-payout-results-scroll{
    -webkit-overflow-scrolling:touch;
}

/* Compact selectors stay swipe-only; ordinary information tables use native scrollbars. */
.app-horse-tabs,
.app-horse-entity-tabs,
.app-race-detail-tabs,
.app-table-column-tablist,
.app-insight-filter-scroll,
.app-home-tabs,
.app-recent-days-scroll,
.app-recent-races-scroll{
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.app-horse-tabs::-webkit-scrollbar,
.app-horse-entity-tabs::-webkit-scrollbar,
.app-race-detail-tabs::-webkit-scrollbar,
.app-table-column-tablist::-webkit-scrollbar,
.app-insight-filter-scroll::-webkit-scrollbar,
.app-home-tabs::-webkit-scrollbar,
.app-recent-days-scroll::-webkit-scrollbar,
.app-recent-races-scroll::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
}
