/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.all_sentences{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.sentence-wrapper{padding:.5rem 0;position:relative;line-height:2}.mark_illustration{padding-bottom:1.5rem;border-bottom:2px solid green}.role-formal-subject,.role-subject{text-decoration-line:underline;text-decoration-style:double}.role-formal-subject{font-style:italic}.role-predicate{text-decoration-line:underline;text-decoration-style:wavy}.role-formal-object,.role-object{text-decoration-line:underline;text-decoration-style:solid}.role-formal-object{font-style:italic}.role-direct-object,.role-indirect-object{text-decoration-line:underline;text-decoration-style:solid;color:gray}.role-indirect-object{font-style:italic}.role-predicative{text-decoration-line:underline;text-decoration-style:dashed}.role-complement{color:#00bfff;font-style:italic}.role-appositive{color:#00bfff}.role-parenthetical{color:gray}.role-attributive{color:#6a0dad}.role-adverbial{color:#fc0}.role-introducer{font-style:italic}.role-participle{color:#f66}:where(.role-subject-clause,.role-object-clause,.role-predicative-clause,.role-attributive-clause,.role-adverbial-clause,.role-appositive-clause){display:inline-block;box-sizing:border-box;position:relative;--font-size-base:1em;--shadow-thickness:1px;--shadow-gap:3px;--max-depth:3;--parent-depth:var(--current-depth,0);--current-depth:calc(var(--parent-depth) + 1);--depth:var(--current-depth);border:0;border-radius:.25em;--shadow-spread:calc((var(--max-depth) - var(--current-depth) + 1) * var(--shadow-gap));--shadow-color:#333;padding:2px 3px;margin:2px 3px;white-space:normal;word-wrap:break-word;word-break:normal;vertical-align:middle;line-height:1.5;box-shadow:0 0 0 var(--shadow-thickness) var(--shadow-color)}.role-attributive-clause{--shadow-color:#6A0DAD}.role-adverbial-clause{--shadow-color:#FFCC00}.role-subject-clause{--shadow-color:#005AC0}.role-object-clause{--shadow-color:#0075E6}.role-appositive-clause{--shadow-color:#00BFFF}.role-predicative-clause{--shadow-color:#219BFF}.sentence-wrapper:after{content:"";display:block;clear:both}:where(.role-subject-clause,.role-object-clause,.role-predicative-clause,.role-attributive-clause,.role-adverbial-clause,.role-appositive-clause) :where(.role-subject-clause,.role-object-clause,.role-predicative-clause,.role-attributive-clause,.role-adverbial-clause,.role-appositive-clause){margin:3px;display:inline-block}.word-item{margin:0 3px 0 4px}#show-sentence-structure{transition:all .3s ease}#show-sentence-structure:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}#sentence-structure-output{animation:slideDown .3s ease-in-out}.invalid{background-color:#ffebee;color:#c62828;border:1px solid #f44336}@media (max-width:768px){.sentence-wrapper{padding:10px;font-size:13px;line-height:1.5}.word-item{margin:0 2px 2px 0;padding:1px 4px;font-size:12px}.word-group[class*=role-]:not(.role-none){padding:2px 4px;margin:0 1px 2px 0}}@media (max-width:480px){.word-item{word-break:break-all;white-space:normal}}
@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.word-memory-entry{margin-top:12px}.start-word-memory-btn{display:inline-flex;align-items:center;justify-content:center;margin:18px 0 28px;padding:10px 18px;background:#f0f6ff;color:#2563eb;border:1px solid #c7d9f7;border-radius:10px;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px rgba(37,99,235,.08)}.start-word-memory-btn:hover{background:#e6f0ff;border-color:#a9c5f2;box-shadow:0 4px 10px rgba(37,99,235,.12);transform:translateY(-1px)}.start-word-memory-btn:active{background:#dceaff;transform:translateY(0);box-shadow:0 2px 5px rgba(37,99,235,.08)}.start-word-memory-btn:focus-visible{outline:2px solid #93b4ed;outline-offset:2px}.word-memory-home__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 10px}.word-memory-home__badge{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#2563eb}.m-study-card__title{font-size:30px;line-height:1.25;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin:18px}.m-study-card__actions{display:flex;flex-direction:column}.m-btn--primary{height:56px;border-radius:14px;justify-content:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;text-decoration:none;font-size:17px;font-weight:700;border:0;box-shadow:0 8px 24px rgba(37,99,235,.25);transition:transform .18s ease,box-shadow .2s ease}.m-back-link,.m-btn--primary,.m-card-header{display:flex;align-items:center}.m-card-header{gap:8px;padding:10px 18px;background:#fff0;margin:10px 0;font-size:14px}.m-back-link{justify-content:center;width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid rgba(226,232,240,.7);color:#6b7280;text-decoration:none;backdrop-filter:blur(8px);transition:background .18s ease,color .18s ease,transform .12s ease}.m-card-header__counts{flex:0 0 auto;text-align:left;color:#94a3b8;cursor:pointer;font-size:14px;white-space:nowrap}.m-back-link-inner{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:rgb(255 255 255/.65);border:1px solid rgb(226 232 240/.7);color:#6b7280;text-decoration:none;backdrop-filter:blur(8px);transition:background .18s ease,color .18s ease,transform .12s ease}.m-card-header__text{flex:1 1 auto;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#94a3b8}.m-progress-bar{height:3px;background:#e5e7eb;overflow:hidden;margin-bottom:10px}.m-progress-bar__fill{height:100%;width:0;background:#2563eb;transition:width .25s ease}.word-memory-word{display:flex;flex-direction:column;align-items:center;text-align:center}.word-memory-speak{background:0 0;border:0;cursor:pointer;font-size:24px;line-height:1;padding:4px;color:#94a3b8;opacity:.3}.word-memory-word__text{margin:0 0 20px;font-size:clamp(28px,12vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.2;text-align:center;color:#111827;overflow-wrap:break-word;word-break:break-word;max-width:100%}.word-memory-word__meta{display:flex;flex-direction:column;align-items:center}.word-memory-word__phonetic{text-align:center;color:#94a3b8;font-size:20px;font-weight:500}.word-memory-word__pos{font-size:14px;color:#94a3b8;font-style:italic;margin:10px 0}.word-memory-finished{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-bottom:120px;box-sizing:border-box}.word-memory-finished__count,.word-memory-finished__title{margin-bottom:20px;text-align:center;line-height:1.6;font-size:17px;color:#64748b;font-weight:500}.word-memory-finished__actions{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;flex-direction:column;gap:20px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));font-size:16px}.word-memory-screen--confirm{display:flex;align-items:center;justify-content:center;padding:24px}.word-memory-confirm{max-width:360px;width:100%;text-align:center}.word-memory-confirm__title{font-size:1.25rem;font-weight:600;margin-bottom:16px}.word-memory-confirm__message{font-size:1rem;line-height:1.6;color:#444;margin-bottom:24px}.word-memory-confirm__message strong{color:#e53935;font-size:1.1em}.word-memory-confirm__actions{display:flex;gap:12px;justify-content:center}.word-memory-confirm__actions button{min-width:100px}.word-memory-answer{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:rgb(255 255 255/.88);backdrop-filter:blur(12px);box-shadow:0-4px 18px rgb(0 0 0/.06);font-size:16px}.m-vocabtest-btn{display:inline-flex;justify-content:center;align-items:center;min-height:58px;border-radius:14px;text-decoration:none;font-weight:700;transition:transform .12s ease,opacity .12s ease,background-color .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}.m-vocabtest-btn--ghost{background:#f3f4f6;color:#374151;border:1px solid rgb(226 232 240/.9);backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease,transform .15s ease}.m-vocabtest-btn--primary{background:#2563eb;color:#fff;border:1px solid rgb(37 99 235/.08);box-shadow:0 4px 10px rgb(37 99 235/.1);transition:background .2s ease,transform .15s ease,box-shadow .2s ease}.m-vocabtest-btn.is-pressed{transform:scale(.96);opacity:.8}.m-vocabtest-btn--ghost.is-pressed{background:rgb(0 0 0/.06)}.word-memory-card{animation:card-in .2s ease}.word-memory-overlay{position:fixed;inset:0;z-index:99999;display:none;overflow:hidden;min-height:100vh;background:#eef2f5}.word-memory-overlay.is-open{display:flex;flex-direction:column}.word-memory-overlay__inner{align-self:center;width:calc(100% - 40px);max-width:760px;margin:20px 0;padding:26px 10px;background:#f8f7f2;backdrop-filter:blur(18px);border:1px solid rgba(0,0,0,.025);box-shadow:0 10px 35px rgba(15,23,42,.045);border-radius:28px;min-height:60vh;cursor:pointer;transition:background-color .25s ease}.word-memory-overlay__inner.bg-1{background:#f8f7f2}.word-memory-overlay__inner.bg-2{background:#f2f5f1}.word-memory-overlay__inner.bg-3{background:#f1f5f7}.word-memory-overlay__inner.bg-4{background:#f5f2f6}.word-memory-overlay__inner.bg-5{background:#f7f3ed}.word-memory-overlay__inner.bg-6{background:#f2f3f0}.word-memory-screen{width:100%;height:100%;display:flex;flex-direction:column}.word-memory-selection{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:10px 20px}.word-memory-selection__title{text-align:center;margin-bottom:32px;font-size:16px;color:#888}.word-memory-level-options{width:100%;max-width:480px;margin:0 auto}.word-memory-level-option{display:flex;align-items:center;min-height:64px;margin-bottom:12px;padding:0 18px;border:1px solid #ddd;border-radius:12px;cursor:pointer}.word-memory-level-option input{width:20px;height:20px;margin-right:14px}.word-memory-level-option .option-name{flex:1;font-size:16px;font-weight:600}.word-memory-level-option .option-count{font-size:14px;color:#999}.word-memory-reveal{position:relative;min-height:200px;cursor:pointer}.word-memory-reveal__prompt{top:40px}.word-memory-definition,.word-memory-reveal__hint,.word-memory-reveal__prompt{position:absolute;left:0;right:0;text-align:center;transition:opacity .25s ease,visibility .25s ease}.word-memory-reveal__hint,.word-memory-reveal__prompt{color:#64748b;font-weight:500;line-height:1.6}.word-memory-reveal__hint{top:40px;margin-top:2em}.word-memory-definition{top:40px;font-size:3rem;line-height:1.4;visibility:hidden;opacity:0}.word-memory-definition.is-visible{visibility:visible;opacity:1;color:#4b5563}.word-memory-reveal.is-revealed .word-memory-reveal__hint,.word-memory-reveal.is-revealed .word-memory-reveal__prompt{opacity:0;visibility:hidden;pointer-events:none}.word-memory-reveal__prompt{font-size:1.5rem}.word-memory-reveal__hint{font-size:1.2rem}
