/* ============================================================
   LOSTZONE Manual Tester - Smartphone Landscape Force
   &#12473;&#12510;&#12540;&#12488;&#12501;&#12457;&#12531;&#29992;&#65306;&#27178;&#21521;&#12365;&#24375;&#21046;&#65291;&#33258;&#21205;&#35519;&#25972;
   
   &#20351;&#29992;&#26041;&#27861;:
   index.html&#12398;<head>&#20869;&#12395;&#36861;&#21152;:
   <link rel="stylesheet" href="css/style-smartphone-landscape.css">
   ============================================================ */

/* ============================================================
   &#12473;&#12510;&#12540;&#12488;&#12501;&#12457;&#12531;&#29992;&#65306;768px&#20197;&#19979;&#12398;&#12415;
   ============================================================ */
@media (max-width: 768px) {
  /* ============================================================
     &#20840;&#20307;&#12434;90&#24230;&#22238;&#36578;&#12373;&#12379;&#12390;&#27178;&#21521;&#12365;&#34920;&#31034;&#12395;&#24375;&#21046;
     ============================================================ */
  
  html {
    transform: rotate(-90deg);
    transform-origin: left top;
    width: 100vh;
    height: 100vw;
    overflow-x: hidden;
    position: absolute;
    top: 100%;
    left: 0;
  }
  
  body {
    width: 100vh;
    height: 100vw;
    overflow: hidden;
    margin: 0;
    padding: 0;
    transform: none;
  }
  
  /* ============================================================
     &#27178;&#21521;&#12365;&#34920;&#31034;&#29992;&#12398;&#35686;&#21578;&#12496;&#12490;&#12540;
     ============================================================ */
  
  body::before {
    content: "&#x1f4f1; &#x30b9;&#x30de;&#x30fc;&#x30c8;&#x30d5;&#x30a9;&#x30f3;&#x3092;&#x6a2a;&#x5411;&#x304d;&#x306b;&#x3057;&#x3066;&#x304f;&#x3060;&#x3055;&#x3044;";
    display: block;
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 215, 0, 0.95);
    color: #000;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    z-index: 99999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    animation: fadeInOut 3s ease-in-out infinite;
  }
  
  @keyframes fadeInOut {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
  }
  
  /* ============================================================
     &#12467;&#12531;&#12486;&#12531;&#12484;&#20840;&#20307;&#12434;&#30011;&#38754;&#12395;&#12501;&#12451;&#12483;&#12488;
     ============================================================ */
  
  #app {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  /* &#12498;&#12483;&#12480;&#12540;&#12434;&#12467;&#12531;&#12497;&#12463;&#12488;&#21270; */
  .header {
    padding: 6px 12px !important;
    min-height: 40px !important;
  }
  
  .logo {
    font-size: 14px !important;
  }
  
  .version {
    font-size: 9px !important;
  }
  
  /* &#12513;&#12452;&#12531;&#12467;&#12531;&#12486;&#12531;&#12484;&#12434;&#30011;&#38754;&#20840;&#20307;&#12395;&#12501;&#12451;&#12483;&#12488; */
  .container {
    flex: 1;
    overflow: auto;
    padding: 8px !important;
  }
  
  /* &#12466;&#12540;&#12512;&#12524;&#12452;&#12450;&#12454;&#12488;&#12434;&#27178;&#38263;&#12395;&#26368;&#36969;&#21270; */
  .game-layout {
    display: flex;
    flex-direction: row !important;
    gap: 8px !important;
    height: 100%;
  }
  
  /* BOSS&#12456;&#12522;&#12450;&#12434;&#24038;&#20596; */
  .game-main-area-full .boss-area-card {
    flex: 0 0 35% !important;
    height: 100% !important;
  }
  
  .boss-area {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 8px !important;
  }
  
  .boss-image-container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .boss-image-container img {
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: contain;
  }
  
  /* &#12503;&#12524;&#12452;&#12516;&#12540;&#12456;&#12522;&#12450;&#12434;&#21491;&#20596; */
  .game-main-area-full > .card:not(.boss-area-card) {
    flex: 0 0 65% !important;
    height: 100% !important;
  }
  
  .game-main-area-full > .card:not(.boss-area-card) .card-body {
    display: flex;
    flex-direction: column !important;
    padding: 8px !important;
    gap: 6px !important;
    height: 100%;
  }
  
  /* &#12503;&#12524;&#12452;&#12516;&#12540;&#12450;&#12463;&#12471;&#12519;&#12531;&#12524;&#12452;&#12450;&#12454;&#12488; */
  .player-action-layout {
    flex: 1;
    display: flex;
    flex-direction: row !important;
    gap: 8px !important;
    min-height: 0;
  }
  
  /* &#12456;&#12463;&#12473;&#12488;&#12521;&#12456;&#12522;&#12450;&#12434;&#24038;&#20596; */
  .player-extras-section {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  
  .player-extras-cards {
    display: flex;
    flex-direction: column !important;
    gap: 4px !important;
  }
  
  .extra-card {
    width: 50px !important;
    height: 70px !important;
  }
  
  .extra-card-image {
    height: 50px !important;
  }
  
  .extra-card-name {
    font-size: 7px !important;
    padding: 2px !important;
  }
  
  /* &#12450;&#12463;&#12471;&#12519;&#12531;&#12456;&#12522;&#12450;&#12434;&#20013;&#22830; */
  .actions-section {
    flex: 1;
    min-width: 0;
  }
  
  .action-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)) !important;
    gap: 4px !important;
    height: 100%;
  }
  
  /* &#12469;&#12452;&#12489;&#12497;&#12493;&#12523;&#12434;&#21491;&#20596; */
  .player-side-panel {
    flex: 0 0 65px !important;
    display: flex;
    flex-direction: column !important;
    gap: 6px !important;
  }
  
  .skill-counter-box {
    min-height: 0 !important;
    padding: 4px !important;
  }
  
  .skill-counter-label {
    font-size: 7px !important;
  }
  
  .skill-counter-value {
    font-size: 16px !important;
  }
  
  .story-point-box {
    min-height: 0 !important;
    padding: 4px !important;
  }
  
  .story-point-label {
    font-size: 8px !important;
  }
  
  .story-point-value {
    font-size: 20px !important;
  }
  
  /* &#12503;&#12524;&#12452;&#12516;&#12540;&#12473;&#12486;&#12540;&#12479;&#12473;&#12456;&#12522;&#12450; */
  .player-status-section {
    flex: 0 0 auto;
  }
  
  .player-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)) !important;
    gap: 3px !important;
  }
  
  .status-item {
    padding: 3px 4px !important;
  }
  
  .status-label {
    font-size: 7px !important;
  }
  
  .status-value {
    font-size: 12px !important;
  }
  
  /* ============================================================
     BOSS&#12456;&#12522;&#12450;&#12398;&#26368;&#36969;&#21270;
     ============================================================ */
  
  .boss-name {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }
  
  .boss-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 3px !important;
    margin-bottom: 6px !important;
  }
  
  .boss-stat-item {
    padding: 3px 6px !important;
    font-size: 8px !important;
  }
  
  .boss-stat-value {
    font-size: 13px !important;
  }
  
  /* ============================================================
     &#12514;&#12540;&#12480;&#12523;&#12398;&#26368;&#36969;&#21270;
     ============================================================ */
  
  .modal-overlay {
    transform: rotate(90deg) !important;
    transform-origin: center center !important;
    width: 100vh !important;
    height: 100vw !important;
    left: 50% !important;
    top: 50% !important;
    margin-left: -50vh !important;
    margin-top: -50vw !important;
  }
  
  .modal-content {
    max-width: 90% !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    padding: 16px !important;
  }
  
  .modal-content h2 {
    font-size: 14px !important;
  }
  
  .modal-content p,
  .modal-content div,
  .modal-content li {
    font-size: 10px !important;
  }
  
  /* ============================================================
     &#12508;&#12479;&#12531;&#12398;&#26368;&#36969;&#21270;
     ============================================================ */
  
  .primary-button,
  .secondary-button {
    padding: 8px 12px !important;
    font-size: 10px !important;
  }
  
  /* ============================================================
     &#12459;&#12540;&#12489;&#12398;&#26368;&#36969;&#21270;
     ============================================================ */
  
  .card {
    font-size: 9px !important;
  }
  
  .card-header {
    padding: 6px 10px !important;
    font-size: 10px !important;
  }
  
  .card-body {
    padding: 8px !important;
  }
  
  /* ============================================================
     &#12525;&#12464;&#34920;&#31034;&#12434;&#38750;&#34920;&#31034;&#65288;&#27178;&#21521;&#12365;&#12391;&#12399;&#12473;&#12506;&#12540;&#12473;&#30701;&#32298;&#65289;
     ============================================================ */
  
  .game-log-area {
    display: none !important;
  }
}

/* ============================================================
   &#27178;&#21521;&#12365;&#12514;&#12540;&#12489;&#26178;&#12399;&#35686;&#21578;&#12434;&#38750;&#34920;&#31034;
   ============================================================ */
@media (max-width: 768px) and (orientation: landscape) {
  body::before {
    display: none !important;
  }
}

/* ============================================================
   &#12479;&#12502;&#12524;&#12483;&#12488;&#12539;PC&#12395;&#12399;&#24433;&#38911;&#12394;&#12375;
   ============================================================ */
@media (min-width: 769px) {
  /* &#12479;&#12502;&#12524;&#12483;&#12488;&#12539;PC&#12391;&#12399;&#20309;&#12418;&#36969;&#29992;&#12375;&#12394;&#12356; */
}
