:root{--bg: #000;--fg: #fff;--fade-in-ms: 1100;--fade-out-ms: 1000;--pause-ms: 120;--last-pause-ms: 180;--title-scale: clamp(52px, 7vw, 92px);--subtitle-scale: clamp(15px, 1.3vw, 17px);--subtitle-offset: -20px;--extra-gap: 10px}.stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:100dvh;width:100%;overflow:hidden;background:var(--bg);color:var(--fg)}.inner{text-align:center;width:min(92vw,1200px);padding-inline:4vw}.brand{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}video.octopus{width:clamp(130px,14vw,160px);height:auto;border:none;outline:none;animation:float 6s ease-in-out infinite;transform:translateY(20px)}@keyframes float{0%,to{transform:translateY(20px)}50%{transform:translateY(14px)}}.title{margin:0 0 var(--extra-gap) 0;font-family:Perpetua,Georgia,Times New Roman,Times,serif;font-size:var(--title-scale);line-height:1.06;letter-spacing:.02em;font-weight:400;filter:contrast(105%);animation:pulse 8s ease-in-out infinite;display:inline-block}@keyframes pulse{0%,45%,55%,to{opacity:1}50%{opacity:.94}}.subwrap{color:#000;transition:none;transform:translateY(var(--subtitle-offset));will-change:color,transform}.subtitle{margin:0;min-height:1em;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;font-size:var(--subtitle-scale);line-height:1.1;letter-spacing:.03em;font-weight:400;color:currentColor}.underline{height:1px;margin:20px auto;background:#fff;opacity:.92;width:56px}.buttons{display:grid;grid-auto-flow:column;justify-content:center;gap:10px;margin:20px auto 10px;width:fit-content;max-width:90vw}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#fff;border:1px solid #fff;padding:12px 8px;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;font-size:clamp(13px,1.1vw,16px);letter-spacing:.03em;line-height:1;border-radius:0;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease;min-width:88px;text-transform:none}.btn:hover,.btn:focus-visible{background-color:#fff;color:#000;border-color:#fff}.btn:active{transform:translateY(1px)}@media (prefers-reduced-motion: reduce){.title{animation:none}video.octopus{animation:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Lato,sans-serif;background-color:#f5f5f5;background-image:linear-gradient(#d0d0d0 1px,transparent 1px),linear-gradient(90deg,#d0d0d0 1px,transparent 1px);background-size:20px 34px;color:#000;line-height:1.6}.container{width:100%;max-width:800px;background-color:#fff;border:1px solid #cccccc;padding:24px 32px;margin:40px auto}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #cccccc}.header-title{font-family:Lora,serif;font-size:36px;font-weight:700;color:#000;line-height:1}.user-info{font-size:16px;text-align:right;color:#000;line-height:1.3}.module-progress-container{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid #cccccc}.module-title{font-size:16px;color:#000;font-weight:400}.progress-bar{display:flex;gap:2px;height:20px}.progress-block{width:20px;height:20px;background-color:transparent;border:1px solid #000000;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;font-size:12px;line-height:1}.progress-block.correct,.progress-block.incorrect{background-color:#000;color:#fff}.progress-block.empty{background-color:transparent;color:#000}.sentence{font-size:20px;line-height:1.5;margin-bottom:32px;color:#000}.sentence .underline{text-decoration:underline;text-decoration-style:solid}.answers-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:0}.answer-option{padding:12px 8px;font-size:18px;cursor:pointer;border:1px solid #cccccc;border-bottom:none;transition:background-color .2s;background-color:#fff}.answer-option:first-child{border-top:1px solid #cccccc}.answer-option:last-child{border-bottom:1px solid #cccccc}.answer-option:hover{background-color:#f5f5f5}.answer-option.correct-answer{background-color:#c8e6c9;font-weight:700;border-color:#4caf50}.answer-option.incorrect-answer{background-color:#ffcdd2;border-color:#f44336}.text-input-container{border-top:1px solid #cccccc;padding-top:24px}.text-input-container input{width:100%;padding:12px;border:1px solid #000000;font-size:18px;box-sizing:border-box;background-color:#fff;color:#000;font-family:Lato,sans-serif}.text-input-container.correct-input input{background-color:#c8e6c9;border-color:#4caf50}.text-input-container.incorrect-input input{background-color:#ffcdd2;border-color:#f44336}.btn{padding:10px 20px;font-size:16px;border:1px solid #000000;background-color:#fff;color:#000;cursor:pointer;font-family:Lato,sans-serif;transition:background-color .2s}.btn:hover{background-color:#f5f5f5}.btn-primary{background-color:#000;color:#fff}.btn-primary:hover{background-color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:700}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #cccccc;font-family:Lato,sans-serif;font-size:14px}.module-list{list-style:none;padding:0}.module-item{border-bottom:1px solid #cccccc;padding:16px 0;cursor:pointer;transition:background-color .2s}.module-item:hover{background-color:#f5f5f5}.gdpr-modal{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#fff;border:1px solid #000000;padding:20px;max-width:600px;z-index:1000}.loading{text-align:center;padding:40px;font-size:18px}.error{color:#c00;padding:10px;background-color:#ffe0e0;border:1px solid #cc0000;margin-bottom:16px}.quote-display{text-align:center;padding:40px;font-size:20px;font-style:italic}.quote-author{margin-top:16px;font-size:16px;font-weight:700}table{width:100%;border-collapse:collapse}table th,table td{padding:8px;text-align:left;border-bottom:1px solid #cccccc}table th{font-weight:700;background-color:#000;color:#fff}.classroom-list{display:flex;flex-direction:column;gap:16px}.progress-table-container{overflow-x:auto;margin-top:20px}.progress-table{width:100%;min-width:800px;border-collapse:collapse}.progress-table th,.progress-table td{padding:10px;text-align:left;border-bottom:1px solid #cccccc;font-size:14px}.progress-table th{font-weight:700;background-color:#000;color:#fff;position:sticky;top:0}.progress-table tbody tr:hover{background-color:#f5f5f5}.student-detail{margin-top:20px}.module-detail-card{padding:20px;border:1px solid #cccccc;margin-bottom:20px;background-color:#f9f9f9}.module-detail-card h3{margin-bottom:16px;font-size:20px}.module-detail-card h4{margin-top:20px;margin-bottom:10px;font-size:16px}.detail-stats{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.stat-item{font-size:14px}.stat-item strong{margin-right:8px}.question-history{margin-top:10px}.difficult-words-container{margin-top:20px}h2{margin-bottom:20px;font-size:24px}@keyframes blink-red{0%,to{border-color:red;box-shadow:0 0 5px #ff000080}50%{border-color:#f66;box-shadow:0 0 10px #f00c}}@media (max-width: 768px){body{background-image:none;background-color:#fff}.container{max-width:100%;margin:0;padding:16px;border:none;min-height:100vh}.module-item{padding:12px 0}.module-item h3{font-size:15px;margin-bottom:2px}.module-item p{font-size:12px;line-height:1.3}.module-info .module-level,.module-info .module-details{font-size:12px}.module-info strong{font-size:14px}.header-title{font-size:28px}.user-info{font-size:13px}.gdpr-modal{left:10px;right:10px;bottom:10px;transform:none;max-width:none}.sentence{font-size:18px}.answer-option{font-size:16px;padding:10px 8px}}
