﻿/* =========================================================
   LLA 共通
   ========================================================= */

.lla-page {
    position: relative;
    width: 100%;
    min-width: 900px;
    padding: 10px 14px 30px;
    box-sizing: border-box;
    font-family: Arial, "Noto Sans", sans-serif;
}


/* =========================================================
   単語選択
   Verb / Noun / Adjective 共通
   ========================================================= */

.lla-selector {
    position: relative;
}

.lla-selector-label {
    display: block;
    margin-bottom: 2px;
    font-size: 14px;
}

.lla-selector-controls {
    display: flex;
    align-items: center;
    gap: 3px;
}

.lla-selector-button {
    width: 25px;
    height: 30px;
    padding: 0;
    font-size: 16px;
    line-height: 1;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: #f8f8f8;
    cursor: pointer;
}

.lla-selector-button:hover {
    background-color: #e8e8e8;
}

.lla-selector-input {
    width: 195px;
    height: 30px;
    padding: 2px 5px;
    font-size: 20px;
    border: 1px solid #aaa;
    border-radius: 2px;
    box-sizing: border-box;
}

.lla-selector-list {
    position: absolute;
    top: 52px;
    left: 0;
    z-index: 1000;
    width: 195px;
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #aaa;
    background-color: white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.lla-selector-item {
    padding: 5px 8px;
    font-size: 16px;
    cursor: pointer;
}

.lla-selector-item:hover {
    background-color: #e8e8e8;
}


/* =========================================================
   単語情報
   ========================================================= */

.lla-word-info {
    margin-top: 5px;
    min-height: 45px;
}

.lla-word-meaning {
    font-size: 16px;
}

.lla-word-category {
    margin-top: 5px;
    font-size: 15px;
    color: red;
}


/* =========================================================
   Main Panel
   ========================================================= */

.lla-main-panel {
    position: absolute;
    right: 30px;
    bottom: 15px;
}

.lla-main-panel-button {
    min-width: 112px;
    height: 30px;
    padding: 3px 12px;
    font-size: 15px;
    font-weight: bold;
    border: 1px solid #bbb;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
}

.lla-main-panel-button:hover {
    background-color: #eee;
}


/* =========================================================
   Verb
   ========================================================= */

.lla-verb-page {
    width: 100%;
}


/* ----- Verb 上部 ----- */

.lla-verb-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 15px;
}

.lla-verb-selector {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.lla-verb-display {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 4px;
    max-width: 650px;
}


/* ----- Verb 活用情報 ----- */

.lla-verb-info {
    margin-top: 5px;
    margin-bottom: 8px;
}

.lla-verb-conjugation {
    margin-top: 4px;
    font-size: 15px;
    color: red;
}


/* ----- Verb 表示切替 ----- */

.lla-verb-display-button {
    background-color: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 16px;
    margin: 3px;
    font-weight: 500;
}

.lla-verb-display-button.active {
    background-color: #164e63;
    color: #ffffff;
    border: 2px solid #0e7490;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.lla-verb-display-button:hover {
    border-color: #0e7490;
}

.lla-verb-display-button:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 2px;
}



/* ----- Verb 時制・法・態 ----- */

.lla-verb-tense {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 8px;
}

/* 時制ボタンの基本状態 */
.lla-verb-tense-button {
    background-color: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 16px;
    margin: 3px;
    font-weight: 500;
}

/* 選択中の時制ボタン */
.lla-verb-tense-button.active {
    background-color: #164e63;
    color: #ffffff;
    border: 2px solid #0e7490;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* マウスを重ねたとき */
.lla-verb-tense-button:hover {
    border-color: #0e7490;
}

/* キーボード操作時 */
.lla-verb-tense-button:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 2px;
}

/* ----- Verb 活用表 ----- */

.lla-verb-conjugation {
    width: 100%;
    overflow-x: auto;
}

.lla-verb-conjugation-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.lla-verb-conjugation-table th,
.lla-verb-conjugation-table td {
    padding: 6px 10px;
    border: 1px solid #aaa;
    text-align: center;
    vertical-align: middle;
}

.lla-verb-conjugation-table th {
    background-color: #f0f0f0;
}


/* =========================================================
   Noun + Adjective
   ========================================================= */

.lla-noun-adjective-page {
    width: 100%;
}


/* ----- 上部2列 ----- */

.lla-noun-adjective-header {
    display: grid;
    grid-template-columns: 310px minmax(500px, 1fr);
    column-gap: 25px;
    align-items: start;
    margin-bottom: 8px;
}


/* ----- 名詞 ----- */

.lla-noun {
    min-width: 0;
}

.lla-noun-selector {
    margin-bottom: 5px;
}

.lla-noun-info {
    min-height: 65px;
}

.lla-noun-declension {
    margin-top: 5px;
    font-size: 15px;
    color: red;
}


/* ----- 形容詞 ----- */

.lla-adjective {
    min-width: 0;
}

.lla-adjective-selector {
    margin-bottom: 5px;
}

.lla-adjective-info {
    min-height: 65px;
}

.lla-adjective-type {
    font-size: 15px;
    color: red;
}


/* =========================================================
   形容詞 比較級・最上級
   ========================================================= */

.lla-adjective-degree {
    display: flex;
    gap: 3px;
    margin-bottom: 5px;
}

.lla-adjective-degree-button {
    min-width: 58px;
    height: 25px;
    padding: 2px 7px;
    font-size: 13px;
    border: 1px solid #aaa;
    background-color: #f5f5f5;
    cursor: pointer;
}

.lla-adjective-degree-button.active {
    background-color: #ddd;
    border-color: #777;
    font-weight: bold;
}


/* =========================================================
   格変化 共通
   ========================================================= */

.lla-declension {
    width: 100%;
}

.lla-declension-table {
    border-collapse: collapse;
    font-size: 16px;
}

.lla-declension-table th,
.lla-declension-table td {
    padding: 4px 10px;
    border: 0;
    text-align: center;
    vertical-align: middle;
}


/* ----- 格名 ----- */

.lla-declension-case {
    width: 55px;
    text-align: right !important;
    padding-right: 12px !important;
    font-size: 14px;
}


/* ----- 単数・複数 ----- */

.lla-declension-number {
    font-size: 14px;
    font-weight: bold;
}


/* ----- ラテン語 ----- */

.lla-declension-form {
    font-size: 18px;
    font-weight: 500;
    white-space: nowrap;
}


/* =========================================================
   名詞 格変化表
   ========================================================= */

.lla-noun-declension-table {
    width: 300px;
}


/* =========================================================
   形容詞 格変化表
   ========================================================= */

.lla-adjective-declension-table {
    width: 100%;
}

.lla-adjective-gender {
    font-size: 18px;
    font-weight: bold;
    font-style: italic;
}


/* =========================================================
   形容詞 m / f / n
   ========================================================= */

.lla-adjective-gender-header {
    font-size: 18px;
    font-weight: bold;
    font-style: italic;
}

.lla-adjective-gender-column {
    width: 25%;
}


/* =========================================================
   共通：例示・補助ボタン
   ========================================================= */

.lla-example-button {
    min-width: 65px;
    height: 30px;
    font-size: 13px;
    font-style: italic;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
}

/* =========================================================
   動詞ページ：単語情報と活用情報の横並び
   ========================================================= */

.lla-verb-info-row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

/* =========================================================
   動詞ページ：LlaVerbSelector左右のボタン
   ========================================================= */

/* 左側：単語情報 */
.lla-verb-info-row > :first-child {
    flex: 0 0 auto;
}

/* 右側：変化情報 */
.lla-verb-info-row > :last-child {
    flex: 1 1 auto;
    min-width: 0;
}

.lla-verb-selector {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.lla-selector-button {
    min-width: 24px;
    height: 30px;
    padding: 0 4px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    cursor: pointer;
}

.lla-selector-button:hover {
    background: #e9ecef;
}

.lla-selector-select {
    min-width: 160px;
    height: 30px;
}


/* =========================================================
   動詞ページ：LlaVerbInfinitive.razor
   ========================================================= */
.lla-verb-forms {
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.lla-verb-forms-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.lla-verb-forms-footer{
    color: #350043;
}

.lla-patern1table {
    width: auto;
    border-collapse: collapse;
    font-size: 1rem;
}

.lla-patern1-table th,
.lla-patern1-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #d9e0e7;
    text-align: left;
    white-space: nowrap;
}

.lla-patern1-table thead th {
    font-weight: 600;
    text-align: center;
    background-color: #f3f6f9;
    border-bottom: 2px solid #cbd5df;
}

.lla-patern1-table tbody th {
    font-weight: 500;
    background-color: #f3f6f9;
}

.lla-patern1-table tbody tr:hover {
    background-color: #eef6fb;
}

.lla-patern1-table tbody tr:last-child th,
.lla-patern1-table tbody tr:last-child td {
    border-bottom: none;
}

/* =========================================================
   動詞ページ："現在/目的分詞・動名詞"
   ========================================================= */
.lla-patern1-heading {
    color: #333;
    background-color: #f3f6f9;
    font-weight: 600;
}

/* =========================================================
   動詞ページ：下段　直接法・接続法
   ========================================================= */
.lla-verb-tense-table {
    border-collapse: collapse;
    width: 100%;
    max-width: 900px;
    table-layout: fixed;

    /*background-color: #f0f0f0;*/
}

.lla-verb-tense-table th,
.lla-verb-tense-table td {
    padding: 10px 8px;
    text-align: left;
    vertical-align: middle;
         border: 2px solid #cbd5df;
}

.lla-verb-tense-table thead th {
     /*2行目の単数・複数のところ　#191970*/
    text-align: center;
    font-weight: 600;
    background-color: #f3f6f9;
}

.lla-verb-tense-table thead tr:first-child th {
    /*border-bottom: 1px solid #777;*/
     background-color: #f3f6f9;
}

.lla-verb-tense-table tbody th {
    /*1列目　人称のところ*/
    width: 70px;
    white-space: nowrap;
    font-weight: normal;
    background-color: #f3f6f9;
    text-align: center;
}

.lla-verb-tense-table tbody td {
    font-size: 1.1rem;
}

/* =========================================================
   動詞ページ：下段　直接法のみ
   ========================================================= */
.lla-verb-tense-indicative-table {
    border-collapse: collapse;
    width: 100%;
    max-width: 540px;
    table-layout: fixed;

    /*background-color: #f0f0f0;*/
}

.lla-verb-tense-indicative-table th,
.lla-verb-tense-indicative-table td {
    padding: 10px 8px;
    text-align: left;
    vertical-align: middle;
         border: 2px solid #cbd5df;
}

.lla-verb-tense-indicative-table thead th {
     /*2行目の単数・複数のところ　#191970*/
    text-align: center;
    font-weight: 600;
    background-color: #f3f6f9;
}

.lla-verb-tense-indicative-table thead tr:first-child th {
    /*border-bottom: 1px solid #777;*/
     background-color: #f3f6f9;
}

.lla-verb-tense-indicative-table tbody th {
    /*1列目　人称のところ*/
    width: 70px;
    white-space: nowrap;
    font-weight: normal;
    background-color: #f3f6f9;
    text-align: center;
}

.lla-verb-tense-indicative-table tbody td {
    font-size: 1.1rem;
}

/* =========================================================
   動詞ページ：変化フィルター
   ========================================================= */

.lla-verb-variation-filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.lla-variation-button {
    padding: 5px 12px;
    border: 1px solid #777;
    border-radius: 4px;
    background-color: white;
    color: #222;
    cursor: pointer;
}

.lla-variation-button.active {
    background-color: midnightblue;
    color: white;
    border-color: midnightblue;
}

.lla-verb-word-selector {
    display: flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;
}

.lla-variation-button:focus-visible {
    outline: 2px solid #3366cc;
    outline-offset: 2px;
}

/* =========================================================
   共通ページ：
   ========================================================= */
.lla-divider {
    width: 100%;
    border: 0;
    border-top: 3px solid #777;
    margin: 12px 0;
}

/* =========================================================
   名詞Info
   ========================================================= */
.lla-noun-info-table {
    border-collapse: collapse;
    width: 100%;
    max-width: 480px;
    table-layout: fixed;

    /*background-color: #f0f0f0;*/
}

.lla-noun-info-table th,
.lla-noun-info-table td {
    padding: 10px 8px;
    text-align: left;
    vertical-align: middle;
         border: 2px solid #cbd5df;
}

.lla-noun-info-table thead th {
     /*2行目の単数・複数のところ　#191970*/
    text-align: center;
    font-weight: 600;
    background-color: #f3f6f9;
}

.lla-noun-info-table thead tr:first-child th {
    /*border-bottom: 1px solid #777;*/
     background-color: #f3f6f9;
}

.lla-noun-info-table tbody th {
    /*1列目　人称のところ*/
    width: 70px;
    white-space: nowrap;
    font-weight: normal;
    background-color: #f3f6f9;
    text-align: center;
}

.lla-noun-info-table tbody td {
    font-size: 1.1rem;
}


/* =========================================================
   形容詞ページ
   ========================================================= */
.lla-adjective-info-table {
    border-collapse: collapse;
    width: 100%;
    max-width: 1340px;
    table-layout: fixed;

    /*background-color: #f0f0f0;*/
}

.lla-adjective-info-table th,
.lla-adjective-info-table td {
    padding: 10px 8px;
    text-align: left;
    vertical-align: middle;
         border: 2px solid #cbd5df;
}

.lla-adjective-info-table thead th {
     /*2行目の単数・複数のところ　#191970*/
    text-align: center;
    font-weight: 600;
    background-color: #f3f6f9;
}

.lla-adjective-info-table thead tr:first-child th {
    /*border-bottom: 1px solid #777;*/
     background-color: #f3f6f9;
}

.lla-adjective-info-table tbody th {
    /*1列目　人称のところ*/
    width: 70px;
    white-space: nowrap;
    font-weight: normal;
    background-color: #f3f6f9;
    text-align: center;
}

.lla-adjective-info-table tbody td {
    font-size: 1.1rem;
}