/* Karvo A1: account, speaking, reading and listening additions. */
/* Illustrated reading library and vertical in-page video playlist. */
.reading-detail-visual{margin:-18px -18px 20px;overflow:hidden;border-radius:18px 18px 13px 13px;max-height:270px;background:#f7edd3}.reading-detail-visual img{display:block;width:100%;height:clamp(150px,28vw,270px);object-fit:cover;object-position:center}.reading-audio{margin:12px 0 2px}.reading-quiz{display:grid;gap:14px;margin-top:28px;padding:22px;border:1px solid #e6d6b8;border-radius:20px;background:#fcf7ea}.reading-quiz h2{margin:9px 0 4px;color:var(--navy-deep);font:italic 700 1.7rem var(--font-de)}.reading-quiz p{margin:0;color:var(--ink-soft)}.reading-question{display:grid;gap:8px;margin:0;padding:16px;border:1px solid #e7d8bd;border-radius:14px;background:#fffdf7}.reading-question legend{padding:0 5px;color:#173d5e;font:700 1.02rem/1.6 var(--font-de);text-align:left}.reading-question label{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .15s}.reading-question label:hover{background:#eff6f1}.reading-question input{accent-color:#176451}.reading-question.is-correct{border-color:#4c9b68;background:#edf8ef}.reading-question.is-wrong{border-color:#c95f54;background:#fff3f1}.reading-score{padding:13px 15px;border-radius:12px;background:#e8f3ed;color:#175b44;font-weight:800;line-height:1.7}
.reading-library{grid-template-columns:1fr;max-width:1100px;margin:0 auto}.reading-library .reading-story-card{min-height:0}.reading-library .reading-card-visual{height:auto;aspect-ratio:16/7;background-image:linear-gradient(90deg,rgba(9,38,45,.15),rgba(9,38,45,.02)),url('../assets/images/reading-detail-cover.png');background-size:cover;background-position:center}.reading-detail-visual{max-height:none}.reading-detail-visual img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#fbf5e7}.video-row{grid-template-columns:clamp(250px,35%,380px) minmax(0,1fr)}.video-thumb{overflow:hidden;background:#e8edf4}.video-thumb img{display:block;width:100%;height:100%;min-height:150px;object-fit:cover;object-position:center}.video-row-1 .video-thumb img{filter:hue-rotate(10deg)}.video-row-2 .video-thumb img{filter:saturate(.88)}.video-row-3 .video-thumb img{filter:sepia(.1)}.video-content b{font-size:clamp(1.1rem,2vw,1.45rem)}
.reading-intro{display:flex;gap:14px;align-items:center;max-width:720px;margin:0 auto 22px;padding:16px 19px;border:1px solid #e8d7b5;border-radius:18px;background:linear-gradient(110deg,#fffdf7,#f7efd9);color:#173d5e}.reading-intro>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#173d5e;color:#f5ca68;font-size:1.2rem}.reading-intro b{display:block;font-size:1.05rem}.reading-intro p{margin:3px 0 0;color:var(--ink-soft);line-height:1.7}.reading-story-card{padding:0 0 22px;overflow:hidden;text-align:right;cursor:pointer;appearance:none;color:inherit;font:inherit}.reading-story-card>*:not(.reading-card-visual){margin-right:22px;margin-left:22px}.reading-story-card .btn{margin-top:auto;align-self:flex-start}.reading-card-visual{height:145px;display:flex;align-items:flex-end;padding:15px 18px;box-sizing:border-box;background-image:linear-gradient(90deg,rgba(9,38,45,.32),rgba(9,38,45,.04)),url('../assets/images/reading-cover.png');background-size:cover;background-position:center;color:#fffdf7;text-align:left}.reading-card-visual span{padding:5px 9px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(10,42,47,.72);font:700 .75rem var(--font-mono)}.reading-card-visual.visual-1{background-position:75% 40%;filter:hue-rotate(14deg)}.reading-card-visual.visual-2{background-position:35% 50%;filter:hue-rotate(-12deg)}.reading-card-visual.visual-3{background-position:90% 65%;filter:saturate(.8)}.reading-card-visual.visual-4{background-position:50% 25%;filter:sepia(.12)}.reading-story-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(16,48,54,.14)}
.video-library-wrap{max-width:920px}.video-library-head{text-align:center;margin:0 auto 26px}.video-library-head h2{margin:9px 0;color:var(--navy-deep);font:italic 700 clamp(2rem,4vw,3.25rem) var(--font-de)}.video-library-head p{margin:0;color:var(--ink-soft);line-height:1.8}.video-library{display:grid;gap:16px}.video-row{display:grid;grid-template-columns:250px minmax(0,1fr);direction:rtl;width:100%;min-height:150px;padding:0;border:1px solid #e5d4b4;border-radius:21px;overflow:hidden;background:#fffdf7;color:#112f35;text-align:right;cursor:pointer;font:inherit;box-shadow:0 10px 24px rgba(16,48,54,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.video-row:hover,.video-row:focus-visible{transform:translateY(-3px);border-color:#c8951c;box-shadow:0 17px 32px rgba(16,48,54,.15);outline:none}.video-thumb{position:relative;display:block;min-height:150px;background-image:linear-gradient(115deg,rgba(7,35,42,.05),rgba(7,35,42,.23)),url('../assets/images/listening-cover.png');background-size:cover;background-position:right center}.video-row-1 .video-thumb{background-position:70% center;filter:hue-rotate(10deg)}.video-row-2 .video-thumb{background-position:35% center;filter:saturate(.88)}.video-row-3 .video-thumb{background-position:80% center;filter:sepia(.1)}.video-number{position:absolute;right:12px;top:12px;padding:6px 10px;border-radius:999px;background:#eaf4ed;color:#176451;font-size:.77rem;font-weight:900}.video-play-icon{position:absolute;left:14px;bottom:13px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #f3ce72;border-radius:50%;background:#173d5e;color:#fff;font-size:.85rem;box-shadow:0 4px 12px rgba(0,0,0,.22)}.video-content{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:21px 26px}.video-content b{font:700 1.08rem/1.5 var(--font-de);color:#0e294b;text-align:left;direction:ltr}.video-content p{margin:0;line-height:1.75;color:var(--ink-soft)}.video-content small{color:#7c8a8b;font-size:.86rem}.video-player-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:9px;margin:0 0 22px;padding:22px;border:1px solid #d6bb76;border-radius:21px;background:#fffdf7;box-shadow:0 12px 28px rgba(16,48,54,.1)}.video-player-card[hidden]{display:none}.video-player-card h3{margin:7px 0 8px;color:#173d5e;font:italic 700 1.6rem var(--font-de);direction:ltr;text-align:left}.video-player-close{width:34px;height:34px;border:1px solid #e1c982;border-radius:50%;background:#fffdf7;color:#173d5e;font-size:1.35rem;line-height:1;cursor:pointer}.video-frame{grid-column:1/-1;aspect-ratio:16/9;overflow:hidden;border-radius:15px;background:#09272d}.video-frame iframe{width:100%;height:100%;border:0}.video-youtube-link{justify-self:start;color:#176451;font-weight:800;text-decoration:none}.video-youtube-link:hover{text-decoration:underline}@media(max-width:640px){.reading-intro{align-items:flex-start}.reading-card-visual{height:132px}.video-row{grid-template-columns:125px minmax(0,1fr);min-height:122px;border-radius:17px}.video-thumb{min-height:122px}.video-number{right:8px;top:8px;font-size:.66rem;padding:5px 7px}.video-play-icon{left:9px;bottom:9px;width:32px;height:32px}.video-content{padding:14px 15px;gap:5px}.video-content b{font-size:.94rem}.video-content p{font-size:.85rem;line-height:1.55}.video-content small{font-size:.73rem}.video-player-card{padding:15px}.video-player-card h3{font-size:1.25rem}}
body.access-pending,body.access-locked{overflow:hidden}body.access-pending #site-header,body.access-pending #app,body.access-pending #site-footer,body.access-locked #site-header,body.access-locked #app,body.access-locked #site-footer{visibility:hidden}.access-overlay{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;padding:20px;overflow:auto;background:radial-gradient(circle at 15% 15%,rgba(201,161,72,.24),transparent 28%),linear-gradient(145deg,#07181d,#103b37);direction:rtl}.access-overlay[hidden],.admin-panel[hidden]{display:none}.access-card{width:min(480px,100%);padding:28px;background:#fffdf6;color:#102a31;border:1px solid #d9b85f;border-radius:26px;box-shadow:0 25px 75px rgba(0,0,0,.38);text-align:right}.access-logo{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 12px;border-radius:18px;background:linear-gradient(135deg,#174b43,#0d302c);color:#fff;border:2px solid #d9b85f;font-weight:900;font-size:1.25rem}.access-card h2,.access-lead{text-align:center}.access-lead{color:#56666a;line-height:1.8;margin:0 0 20px}.access-view[hidden]{display:none}.access-label{display:block;font-weight:800;margin:12px 0 7px}.access-input{box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid #cfd8d5;border-radius:13px;background:#fff;font:inherit;direction:ltr;text-align:left}.access-action{width:100%;margin-top:13px;justify-content:center}.access-note{color:#6b7779;font-size:.88rem;line-height:1.7;text-align:center}.access-error{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff0f0;color:#a11d2a;font-weight:700;text-align:center}.access-status{padding:15px;border-radius:16px;background:#edf7f3;border:1px solid #c5ded5;text-align:center;margin-bottom:14px}.access-status strong{display:block;color:#174b43;font-size:1.08rem}.access-timer{font:900 1.55rem/1.2 ui-monospace,Consolas,monospace;direction:ltr;color:#9b6a08;margin-top:7px}.access-row{display:flex;gap:9px;margin-top:12px}.access-row>*{flex:1}.access-link{border:0;background:none;color:#276a5d;text-decoration:underline;cursor:pointer;font:inherit;font-weight:700}.access-account{position:fixed;z-index:9000;left:15px;bottom:15px;width:48px;height:48px;border:1px solid #d9b85f;border-radius:50%;background:#123e38;color:#fff;box-shadow:0 7px 22px rgba(0,0,0,.25);cursor:pointer;font-size:1.2rem}.admin-panel{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(4,17,20,.86);direction:rtl}.admin-card{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fffdf7;border:1px solid #d8b862;border-radius:22px;padding:24px;color:#112f35;box-shadow:0 24px 70px rgba(0,0,0,.38)}.admin-head,.admin-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.admin-head-actions{display:flex;align-items:center;gap:8px}.admin-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.9rem}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #eadfca;text-align:right}.admin-code{font-family:monospace;direction:ltr;text-align:left}.admin-close{border:0;background:transparent;font-size:1.5rem;cursor:pointer}
.skill-hero{background:linear-gradient(135deg,#123e38,#173d5e);color:#fffdf7;padding:44px 0}.skill-hero h1{font-family:var(--font-de);font-style:italic;font-size:clamp(2.2rem,5vw,3.8rem);margin:8px 0}.skill-hero p{max-width:700px;line-height:1.9;color:#f4ebd8}.skill-label{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fffdf7;color:#143238;font-weight:800;font-size:.8rem}.skill-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start;margin-top:-24px}.skill-sidebar,.skill-card{background:#fffdf7;border:1px solid #e6d6b8;border-radius:22px;box-shadow:0 12px 34px rgba(16,48,54,.09)}.skill-sidebar{padding:14px;position:sticky;top:14px}.skill-side-title{display:grid;gap:3px;padding:8px 9px 13px;font-weight:800;color:var(--navy-deep)}.skill-side-title small{font-weight:400;color:var(--ink-soft)}.skill-topic{display:flex;width:100%;gap:9px;align-items:center;text-align:left;border:0;border-radius:12px;padding:10px;background:transparent;color:var(--ink-soft);cursor:pointer;font:inherit}.skill-topic.active,.skill-topic:hover{background:#edf5ef;color:#143238;box-shadow:inset 3px 0 #c8951c}.skill-card{padding:clamp(18px,3vw,32px)}.skill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.skill-head h2{margin:7px 0;color:var(--navy-deep);font:italic 700 clamp(1.6rem,3vw,2.4rem) var(--font-de)}.skill-head p{margin:0;color:var(--ink-soft)}.skill-level{border:1px solid #d8b862;background:#143238;color:#fffdf7;border-radius:16px;padding:9px 13px;text-align:center;font-weight:800}.word-mission{margin:22px 0;border:1px solid #e8dcbf;background:#fbf5e7;border-radius:16px;padding:14px}.word-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.word-chip{background:#fffdf7;border:1px solid #e5d2a7;border-radius:10px;padding:6px 8px;color:#173a40}.word-chip b{font-size:.8rem}.coach-chat{height:min(48vh,470px);min-height:300px;overflow:auto;padding:14px 4px;display:grid;align-content:start;gap:14px}.coach-message{display:flex;gap:10px;max-width:90%}.coach-message>div{padding:13px 15px;border-radius:4px 16px 16px 16px;background:#edf5ef;line-height:1.7;color:#183b40}.coach-message p{margin:5px 0}.coach-message.user{margin-left:auto;justify-content:flex-end}.coach-message.user>div{background:#173d5e;color:#fffdf7;border-radius:16px 4px 16px 16px}.coach-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#173d5e;color:#fffdf7;font-weight:800;border:2px solid #d8b862}.coach-compose{border:1px solid #d9cdb8;border-radius:17px;padding:10px;background:#fffdf7}.coach-compose textarea{width:100%;min-height:82px;box-sizing:border-box;border:0;outline:0;resize:vertical;background:transparent;color:#173a40;font:1rem var(--font-de)}.coach-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end}.coach-actions span{margin-right:auto;color:var(--ink-soft);font:12px var(--font-mono)}.reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.reading-card{display:flex;flex-direction:column;gap:12px;min-height:245px;padding:24px;border:1px solid #e6d6b8;border-radius:20px;background:#fffdf7;box-shadow:0 8px 22px rgba(16,48,54,.07)}.reading-card h3{margin:0;color:var(--navy-deep);font:italic 700 1.45rem var(--font-de)}.reading-card p{margin:0;line-height:1.7;color:var(--ink-soft)}.reading-badge{padding:6px 10px;border-radius:999px;background:#f7edd3;color:#765000;font-weight:800;font-size:.78rem;width:max-content}.listen-dialogue{margin:20px 0;padding:25px;background:#fffdf7;border:1px solid #e6d6b8;border-radius:20px;line-height:2;font-family:var(--font-de);font-size:1.08rem;direction:ltr;text-align:left}.listen-check{display:grid;gap:10px}.listen-check button{justify-self:start}@media(max-width:820px){.skill-grid{grid-template-columns:1fr}.skill-sidebar{position:static}.skill-sidebar>div:last-child{display:flex;gap:8px;overflow:auto}.skill-topic{width:auto;min-width:max-content}.skill-topic.active{box-shadow:inset 0 -3px #c8951c}}@media(max-width:540px){.access-card{padding:23px 18px;border-radius:20px}.access-row{flex-direction:column}.skill-hero{padding:35px 0}.skill-card{padding:16px}.skill-head{flex-direction:column}.coach-message{max-width:97%}}
