/* Tanulórium – Koreai Nyelvstúdió, standalone extension.
   Scoped to .knst-portal so the parent WordPress website remains untouched. */
.knst-page-wrap{background:#f8f4eb;min-height:65vh;overflow-x:clip}
.knst-portal{
  --knst-paper:#f8f4eb;--knst-white:#fffcf6;--knst-ink:#211e19;--knst-dark:#2b241c;
  --knst-muted:#625a4f;--knst-gold:#86571f;--knst-honey:#c39a60;--knst-line:#d7c9b3;
  --knst-serif:"Playfair Display","Noto Serif KR",Georgia,serif;
  --knst-sans:"DM Sans","Noto Sans KR",system-ui,-apple-system,sans-serif;
  color:var(--knst-ink);background:var(--knst-paper);font-family:var(--knst-sans);line-height:1.65;
  min-height:75vh;padding:36px 0 70px;isolation:isolate;
}
.knst-portal *{box-sizing:border-box}
.knst-portal a{transition:background-color .2s,color .2s,border-color .2s}
.knst-portal :focus-visible{outline:3px solid #a86d2f!important;outline-offset:3px}
.knst-portal [lang=ko]{word-break:keep-all}
.knst-portal .tnr-app{
  --tnr-accent:#86571f;--tnr-ink:#211e19;--tnr-muted:#625a4f;--tnr-bg:#f8f4eb;
  --tnr-border:#d7c9b3;--tnr-radius:3px;--tnr-shadow:0 6px 21px #614b2e0c;
  font-family:var(--knst-sans)!important;color:var(--knst-ink);background:var(--knst-paper);
  width:min(1660px,calc(100% - 64px));margin:0 auto;left:auto;transform:none;
  border:1px solid var(--knst-line);border-radius:4px;box-shadow:0 22px 75px #51371c13;
  min-height:810px;overflow:clip
}
.knst-portal .tnr-app .tnr-sidebar{
  background:#ede3d3;border-right:1px solid #cbb99d;width:262px;flex-basis:262px;
  padding:25px 15px 22px;background-image:url('images/paper.webp');background-blend-mode:multiply
}
.knst-portal .knst-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#241f19!important;
  padding:8px 9px 18px;margin-bottom:14px;border-bottom:1px solid #c9b798}
.knst-portal .knst-brand-image{display:block;flex:0 0 67px;line-height:0}
.knst-portal .knst-brand-image img{object-fit:contain;width:67px;height:67px}
.knst-portal .knst-brand-name{display:block;letter-spacing:.055em;font:700 21px/1.1 var(--knst-serif)}
.knst-portal .knst-brand-name small{display:block;font:700 9px/1.6 var(--knst-sans);letter-spacing:.17em;color:#876c46;margin-top:7px}
.knst-portal .knst-nav-heading{display:flex;justify-content:space-between;padding:0 14px;
  font-weight:800;letter-spacing:.14em;font-size:10px;color:#94764d;margin:16px 0 13px}
.knst-portal .knst-nav-heading span{font-size:12px;letter-spacing:0;font-weight:600}
.knst-portal .tnr-navigation{gap:2px}
.knst-portal .tnr-nav-item{border-radius:1px;padding:9px 11px;color:#4d453a!important;
  min-height:41px;font-weight:650;gap:10px;position:relative;font-size:12px;border-left:2px solid transparent}
.knst-portal .tnr-nav-item:hover{background:#fffaf0b3;color:#7a5125!important;border-left-color:#c3a477}
.knst-portal .tnr-nav-item.tnr-current{background:#fffaf3;color:#7d5022!important;
  border-left:2px solid #96632c;box-shadow:0 2px 8px #91714817}
.knst-portal .knst-nav-icon{width:19px;height:19px;display:grid;place-items:center}
.knst-portal .knst-nav-icon svg{width:17px;height:17px;stroke-width:1.6}
.knst-portal .knst-nav-copy{flex:1}
.knst-portal .knst-nav-no{font:600 10px var(--knst-serif);color:#a99577}
.knst-portal .tnr-nav-item.tnr-current .knst-nav-no{color:#845c2c}
.knst-portal .knst-sidebar-scroll{padding:22px 15px;margin:14px 0 10px;
  border-top:1px solid #cbb99d;border-bottom:1px solid #cbb99d;background:#fffaf03d}
.knst-portal .knst-sidebar-scroll span{display:block;font:600 15px/1.6 "Noto Serif KR",var(--knst-serif);color:#7e5428}
.knst-portal .knst-sidebar-scroll small{display:block;font-size:10px;color:#796b59;line-height:1.6;margin-top:9px}
.knst-portal .knst-site-return,.knst-portal .tnr-logout{display:flex;align-items:center;gap:9px;padding:10px 12px;
  font-size:12px;font-weight:700;color:#655542!important;text-decoration:none}
.knst-portal .knst-site-return .tnr-icon{transform:rotate(180deg);width:15px;height:15px}
.knst-portal .tnr-logout .tnr-icon{width:16px;height:16px}
.knst-portal .knst-site-return:hover,.knst-portal .tnr-logout:hover{color:#9b6b36!important}
.knst-portal .tnr-main{background:#f8f4eb;min-width:0}
.knst-portal .tnr-topbar{background:#fffdf8;border-bottom:1px solid var(--knst-line);padding:0 31px;height:75px;min-height:75px}
.knst-portal .knst-crumb{font-size:10px;font-weight:750;letter-spacing:.13em;color:#876f51}
.knst-portal .knst-crumb span:nth-child(2){padding:0 10px;color:#bdaa8f}
.knst-portal .knst-crumb b{color:#34291d;font-weight:800}
.knst-portal .tnr-topbar-user{gap:11px}
.knst-portal .tnr-user-role{color:#847260;font-size:11px}
.knst-portal .tnr-avatar{background:#e6d5b9;color:#6b421b;border-radius:50%;width:39px;height:39px}
.knst-portal .knst-username{color:#3d3328;font-size:12px;font-weight:750;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.knst-portal .tnr-content{padding:29px clamp(16px,3vw,45px) 48px}
.knst-portal .tnr-footer{border-top:1px solid var(--knst-line);font-size:10px;letter-spacing:.02em;color:#8b7559;background:#fffaf2}
.knst-portal .tnr-footer span{color:#a47b42}
/* Hierarchy and reusable base components. */
.knst-portal .tnr-app h1,.knst-portal .tnr-app h2,.knst-portal .tnr-app h3,.knst-portal .tnr-app h4{
  color:#29231c;letter-spacing:-.02em}
.knst-portal .tnr-page-heading h1,.knst-portal .tnr-app .tnr-hero h1,.knst-portal .tnr-panel-title h2,
.knst-portal .tnr-panel h3{font-family:var(--knst-serif);font-weight:600;letter-spacing:-.025em}
.knst-portal .tnr-page-heading h1{font-size:clamp(29px,3vw,41px);line-height:1.2}
.knst-portal .tnr-page-heading p,.knst-portal .tnr-muted,.knst-portal .tnr-app .tnr-mini-row p{color:#746b5e}
.knst-portal .tnr-kicker{color:#94642b;letter-spacing:.19em;font-size:10px}
.knst-portal .tnr-stats{gap:13px}
.knst-portal .tnr-stat{background:#fffcf6;border-color:#dbcdb7;border-radius:2px;padding:19px}
.knst-portal .tnr-stat-top{color:#7e7060;font-size:11px}
.knst-portal .tnr-stat-icon{background:#eee1cf;color:#8d612e;border-radius:50%}
.knst-portal .tnr-stat-number{color:#382a1d;font:650 clamp(24px,2.3vw,33px)/1.4 var(--knst-serif);margin-top:6px}
.knst-portal .tnr-stat-sub{color:#817565}
.knst-portal .tnr-panel{background:#fffcf6;border-color:#ddd0ba;box-shadow:0 3px 18px #4e35230a;border-radius:2px;padding:24px}
.knst-portal .tnr-panel-title h2{font-size:21px}
.knst-portal .tnr-panel-title>a,.knst-portal .tnr-mini-row a{color:#82531c!important}
.knst-portal .tnr-mini-row{border-bottom-color:#eadfcb}
.knst-portal .tnr-quick-link{background:#f8f1e5;border:1px solid #e4d5bd;border-radius:2px;color:#57472f!important}
.knst-portal .tnr-quick-link:hover{background:#ede0c9}
.knst-portal .tnr-quick-link>.tnr-icon:first-child{color:#855c2f}
.knst-portal .tnr-empty{border-color:#e2d3bc;background:#fbf7ed;border-radius:2px}
.knst-portal .tnr-empty-star{color:#9b763f}
.knst-portal .tnr-editor{border:1px solid #d7c9b3;box-shadow:none;border-radius:2px;background:#fffdf9}
.knst-portal .tnr-editor>summary{color:#80552b;border-radius:0}
.knst-portal .tnr-editor[open]>summary{border-bottom-color:#e1d4c1}
.knst-portal .tnr-form input:not([type=checkbox]):not([type=radio]):not([type=file]),
.knst-portal .tnr-form select,.knst-portal .tnr-form textarea,
.knst-portal .tnr-month-filter input,.knst-portal .tnr-month-filter select,
.knst-portal .tnr-journal-month-filter input[type=month],
.knst-portal .tnr-registration-form input,
.knst-portal #loginform input:not([type=checkbox]){
  background:#fffefa;border:1px solid #cdbda6;color:#3e352c;border-radius:2px;box-shadow:none
}
.knst-portal .tnr-form label,.knst-portal .tnr-form fieldset,.knst-portal .tnr-filter label{color:#665947}
.knst-portal .tnr-btn,.knst-portal button.tnr-btn,.knst-portal a.tnr-btn{
  border-radius:2px!important;box-shadow:none!important;letter-spacing:0;font-weight:750
}
.knst-portal .tnr-btn-primary,.knst-portal .tnr-app .tnr-btn-primary{background:#28221c!important;color:#fff8e9!important;border-color:#28221c!important}
.knst-portal .tnr-btn-primary:hover,.knst-portal .tnr-app .tnr-btn-primary:hover{background:#805a2e!important;border-color:#805a2e!important}
.knst-portal .tnr-btn-light,.knst-portal .tnr-btn-outline{background:#f9f2e6!important;color:#6f502b!important;border-color:#d3c0a3!important}
.knst-portal .tnr-btn-light:hover,.knst-portal .tnr-btn-outline:hover{background:#e9d8bd!important}
.knst-portal .tnr-icon-button{border-radius:2px;background:#f9f2e8}
.knst-portal .tnr-pill{border-radius:2px!important}
.knst-portal .tnr-pill-blue{background:#e7e9e7!important;color:#435b62!important}
.knst-portal .tnr-pill-green{background:#e7eee6!important;color:#4f7557!important}
.knst-portal .tnr-pill-purple{background:#f0e3cc!important;color:#815522!important}
.knst-portal .tnr-pill-yellow{background:#f5edd3!important;color:#846320!important}
.knst-portal .tnr-pill-muted{background:#edeae4!important;color:#726b62!important}
.knst-portal .tnr-app .tnr-student-card,.knst-portal .tnr-booking-day{background:#fffdf8;border-color:#e4d4bb;border-radius:2px}
.knst-portal .tnr-app .tnr-student-card:hover,.knst-portal .tnr-booking-day:hover{border-color:#b79361}
.knst-portal .tnr-progress-track{background:#e7dccb}
.knst-portal .tnr-progress-fill{background:#a57a40}
.knst-portal .tnr-chart-row>strong,.knst-portal .tnr-student-billing-link a{color:#8b5c27!important}
.knst-portal .tnr-rating-note,.knst-portal .tnr-journal-month-filter{background:#fbf5ec;border-color:#e5d5bd;border-radius:2px}
.knst-portal .tnr-rating-form,.knst-portal .tnr-credential-box,.knst-portal .tnr-profile-preview{background:#faf4e9;border-color:#e2cfae;border-radius:2px}
.knst-portal .tnr-slot span{border-color:#d8c8ae;color:#695035;border-radius:2px}
.knst-portal .tnr-slot:hover span{background:#f1e6d5}
.knst-portal .tnr-slot input:checked+span{background:#7b542b;border-color:#7b542b;color:#fff}
.knst-portal .tnr-hero{border-radius:2px;min-height:255px;
  background:linear-gradient(90deg,#1e1a14d9,#3d3022a1 60%,#2e241633),url('images/hanok-garden.webp') center 52%/cover;
  padding:32px 35px;color:#fff6e9}
.knst-portal .tnr-hero h1,.knst-portal .tnr-hero p{color:#fff8eb!important}
.knst-portal .tnr-hero h1{font-size:clamp(28px,3vw,37px)}
.knst-portal .tnr-hero-kicker{color:#ebc895}
.knst-portal .tnr-hero-art{display:none}
.knst-portal .tnr-hero-link{background:#fff3df;color:#4c2c0d!important;border-radius:2px}
.knst-portal .tnr-hero-link:hover{background:#e9d2ae}
.knst-portal .tnr-app .tnr-login-shell{border-radius:2px}
/* The personal Korean learning journey panel. */
.knst-portal .knst-intro-bar{display:flex;align-items:center;gap:30px;justify-content:space-between;
  padding:18px 25px 22px;margin-bottom:20px;background:#f1e7d6;border:1px solid #dcc7a7;
  background-image:linear-gradient(90deg,#f4eaddf5,#f4eaddbd),url('images/cherry-branches.webp');background-size:cover;background-position:center}
.knst-portal .knst-overline{color:#8b5c24;font:800 10px/1.5 var(--knst-sans);letter-spacing:.17em}
.knst-portal .knst-intro-title{font:600 clamp(18px,2vw,24px)/1.3 var(--knst-serif)!important;margin:8px 0 4px!important;color:#30251b!important}
.knst-portal .knst-intro-title span{color:#805628;font-size:.85em}
.knst-portal .knst-intro-bar p:last-of-type{color:#655746;font-size:12px;line-height:1.6}
.knst-portal .knst-intro-action{display:flex;gap:9px;align-items:center;flex-shrink:0;background:#29221b;color:#fff3df!important;
  padding:13px 16px;font-size:11px;font-weight:780;text-decoration:none}
.knst-portal .knst-intro-action:hover{background:#80572d}
.knst-portal .knst-intro-action svg{width:14px;height:14px}
.knst-portal .knst-study-path{display:grid;grid-template-columns:74px 1fr auto;gap:19px;align-items:center;
  background:#fffcf5;border:1px solid #ddcbb0;padding:20px;margin:0 0 20px}
.knst-portal .knst-path-mark{font:650 15px/1.5 "Noto Serif KR",serif;color:#8b612f;border:1px solid #d9c4a7;
  text-align:center;padding:11px 4px}
.knst-portal .knst-study-path h2{font:650 22px var(--knst-serif);margin:5px 0!important}
.knst-portal .knst-study-path p{color:#67594a;font-size:11px}
.knst-portal .knst-study-path>a{display:inline-flex;gap:7px;align-items:center;color:#7f5323!important;font-size:11px;font-weight:800;white-space:nowrap}
.knst-portal .knst-study-path>a svg{width:14px;height:14px}
.knst-portal .knst-inline-divider{padding:0 6px;color:#ac977b}
/* Login / guest area */
.knst-portal .knst-guest-intro{max-width:1100px;margin:0 auto 22px;text-align:center;padding:18px 24px 0}
.knst-portal .knst-guest-intro .knst-korean{font:500 16px "Noto Serif KR",serif;color:#9d713c;display:block;margin-top:14px}
.knst-portal .knst-guest-intro h1{font:600 clamp(36px,5vw,64px)/1.16 var(--knst-serif);letter-spacing:-.04em;margin:9px 0;color:#241d17}
.knst-portal .knst-guest-intro h1 em{color:#86571f;font-weight:500}
.knst-portal .knst-guest-intro p{font-size:14px;color:#64594d}
.knst-portal .tnr-login-shell{min-height:610px;max-width:1080px;display:grid;
  grid-template-columns:.97fr 1fr;width:calc(100% - 48px);background:#fffcf6!important}
.knst-portal .tnr-login-illustration{background:linear-gradient(0deg,#231b15df,#231b1550),url('images/ink-landscape.webp') center/cover;
  padding:55px 49px;color:#fff4df}
.knst-portal .tnr-login-illustration::after{content:'한';font:600 225px "Noto Serif KR",serif;color:#ffffff1f;right:-20px;bottom:-30px;transform:none}
.knst-portal .tnr-logo-large{display:none}
.knst-portal .tnr-login-illustration h1{font:600 clamp(30px,3.2vw,43px)/1.3 var(--knst-serif);color:#fff9ed!important;letter-spacing:-.03em}
.knst-portal .tnr-login-illustration p{color:#f3e6d0}
.knst-portal .tnr-eyebrow{color:#e9c592}
.knst-portal .tnr-floating-note{background:#3c2d1fbd;color:#ffeed5;border:1px solid #e3bb854d;border-radius:0}
.knst-portal .tnr-login-card{background:#fffcf6;padding:50px 46px;color:#3f3429}
.knst-portal .tnr-login-card h2{font:600 32px var(--knst-serif)}
.knst-portal .tnr-login-card p{color:#6e6051}
.knst-portal .tnr-auth-switch{border-top-color:#dfd2be}
.knst-portal .tnr-login-card :is(input[type=text],input[type=password],input[type=email]){background:#fffdf8;border:1px solid #cbbb9f;border-radius:2px}
.knst-portal .tnr-login-card :is(input[type=submit],button[type=submit]){background:#29221b!important;color:#fff5e7!important;border-radius:2px!important;border:1px solid #29221b!important}
.knst-portal .tnr-login-card :is(input[type=submit],button[type=submit]):hover{background:#805c2f!important}
.knst-portal .tnr-login-card a{color:#81521e!important}
.knst-portal .knst-no-access{max-width:760px;margin:40px auto;background:#fffaf1;border:1px solid #dfcfb6;padding:38px;text-align:center}
/* Korean workshop */
.knst-portal .knst-workshop-heading{padding:27px 30px 29px;border:1px solid #d8c5a7;
  background:linear-gradient(90deg,#f8f2e8f7,#f8f2e8d8 59%,#f8f2e842),url('images/watercolor-mountains.webp') right center/cover;margin-bottom:24px}
.knst-portal .knst-workshop-heading h1{font:600 clamp(27px,3.2vw,42px)/1.24 var(--knst-serif);margin:8px 0!important}
.knst-portal .knst-workshop-heading p{max-width:650px;color:#6b5d4b;font-size:13px}
.knst-portal .knst-workshop-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:2px solid #c8b392;margin:0 0 23px}
.knst-portal .knst-workshop-tab{border:1px solid #dccbb0;border-bottom:0;background:#ede4d5;color:#654c2e;
  min-height:45px;padding:9px 20px;font-size:12px;font-weight:800;font-family:var(--knst-sans);border-radius:0}
.knst-portal .knst-workshop-tab[aria-selected=true]{background:#33271d;color:#fff4dc;border-color:#33271d}
.knst-portal .knst-workshop-tab:hover:not([aria-selected=true]){background:#e5d2b4}
.knst-portal .knst-workshop-panel{padding:clamp(18px,3vw,33px);background:#fffcf6;border:1px solid #dac9ad;margin-bottom:20px}
.knst-portal .knst-workshop-panel[hidden]{display:none!important}
.knst-portal .knst-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dfd2be;padding-bottom:20px;margin-bottom:23px}
.knst-portal .knst-panel-head h2{font:600 clamp(23px,2.3vw,31px) var(--knst-serif);margin:6px 0 7px!important}
.knst-portal .knst-panel-head p{color:#736452;font-size:13px;max-width:620px}
.knst-portal .knst-korean-stamp{padding:12px 14px;border:2px solid #ac814a;color:#8e5e27;font:600 20px "Noto Serif KR",serif;white-space:nowrap}
.knst-portal .knst-workshop-panel h3{font:600 20px var(--knst-serif);margin:20px 0 12px!important}
.knst-portal .knst-workshop-panel h3 span{font:500 12px "Noto Serif KR",serif;color:#926b3b;margin-left:9px}
.knst-portal .knst-hangul-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.knst-portal .knst-hangul-symbol{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;
  border:1px solid #dfceb0;background:#fbf6ec;color:#493724;min-height:86px;padding:8px;cursor:pointer;border-radius:1px}
.knst-portal .knst-hangul-symbol:hover,.knst-portal .knst-hangul-symbol.is-selected{background:#e9d3ad;border-color:#a9783e}
.knst-portal .knst-hangul-symbol strong{font:600 30px/1.2 "Noto Serif KR",serif}
.knst-portal .knst-hangul-symbol small{font:600 10px var(--knst-sans);color:#8c6c46}
.knst-portal .knst-hangul-explainer{border-left:3px solid #a4773d;background:#f3e9d9;min-height:77px;margin-top:23px;padding:14px 18px;display:flex;flex-direction:column;gap:4px}
.knst-portal .knst-hangul-explainer strong{color:#644523;font-size:14px}
.knst-portal .knst-hangul-explainer span{font-size:12px;color:#6c5a46}
.knst-portal .knst-card-controls,.knst-portal .knst-flash-controls,.knst-portal .knst-phrase-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.knst-portal .knst-card-controls{justify-content:space-between;margin-bottom:19px}
.knst-portal .knst-card-controls label{font-weight:750;font-size:12px;color:#66533e;display:flex;align-items:center;gap:9px}
.knst-portal .knst-card-controls select{min-height:42px;border:1px solid #cbbb9f;background:#fffdf8;padding:6px 10px;color:#362d23;font:inherit}
.knst-portal .knst-card-controls>span{font:700 13px var(--knst-serif);color:#8d6738}
.knst-portal .knst-flashcard{width:100%;min-height:290px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;
  background:linear-gradient(#fbf5eae6,#fbf5eaea),url('images/paper.webp') center/cover;
  border:1px solid #cbb08a;color:#3b2a1d;cursor:pointer;position:relative;border-radius:1px}
.knst-portal .knst-flashcard::before,.knst-portal .knst-flashcard::after{content:'✦';font-size:20px;color:#b78c54;position:absolute;top:15px;left:18px}
.knst-portal .knst-flashcard::after{left:auto;right:18px}
.knst-portal .knst-flashcard strong{font:600 clamp(32px,5vw,54px)/1.35 "Noto Serif KR",var(--knst-serif);letter-spacing:0}
.knst-portal .knst-flashcard.is-flipped strong{font-family:var(--knst-serif);font-size:clamp(26px,4vw,42px)}
.knst-portal .knst-card-side{font-size:10px;font-weight:850;letter-spacing:.2em;color:#8a6232}
.knst-portal .knst-card-tip{font-size:11px;color:#957b5c}
.knst-portal .knst-flash-controls{justify-content:center;margin-top:18px}
.knst-portal .knst-btn-primary,.knst-portal .knst-btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;min-height:43px;
  border:1px solid #2b241c;border-radius:0;font-size:12px;font-weight:800;cursor:pointer;font-family:var(--knst-sans)}
.knst-portal .knst-btn-primary{background:#2b241c;color:#fffaf1}
.knst-portal .knst-btn-primary:hover{background:#7b572e;border-color:#7b572e}
.knst-portal .knst-btn-secondary{background:#fffcf6;color:#5e472d;border-color:#c7b191}
.knst-portal .knst-btn-secondary:hover{background:#f3e5d0}
.knst-portal .knst-muted{color:#81705c;font-size:11px;margin-top:17px}
.knst-portal .knst-phrase-quiz{max-width:740px;margin:0 auto;padding:25px;background:#f8f1e6;border:1px solid #e0cdb0}
.knst-portal .knst-quiz-meta{display:flex;justify-content:space-between;font-size:11px;color:#8d622f;font-weight:800}
.knst-portal .knst-quiz-prompt{font:600 23px/1.4 var(--knst-serif);color:#33271d;margin:25px 0!important}
.knst-portal .knst-phrase-quiz>label{display:block;font-size:12px;font-weight:800;color:#604a33;margin-bottom:8px}
.knst-portal .knst-phrase-quiz>input{display:block;width:100%;min-height:51px;padding:10px 14px;background:#fffcf7;border:1px solid #c8b393;
  color:#292019;font:500 19px "Noto Sans KR",var(--knst-sans)}
.knst-portal .knst-phrase-actions{margin-top:15px}
.knst-portal .knst-answer-feedback{margin-top:20px;min-height:32px;color:#67543c;font-size:12px}
.knst-portal .knst-answer-feedback.is-correct{color:#38613e;font-weight:750}
.knst-portal .knst-answer-feedback.is-incorrect{color:#9a412f;font-weight:750}
.knst-portal .knst-study-footer{display:flex;align-items:center;gap:20px;padding:20px 25px;
  color:#faeed8;background:#28211a;border:1px solid #51412e}
.knst-portal .knst-study-footer>span{font:600 19px "Noto Serif KR",serif;color:#e8c78e;white-space:nowrap}
.knst-portal .knst-study-footer>div{flex:1}
.knst-portal .knst-study-footer h3{color:#fff4de;font:600 17px var(--knst-serif);margin:0 0 4px}
.knst-portal .knst-study-footer p{color:#eadbc6;font-size:11px}
.knst-portal .knst-study-footer>a{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#f3d7a9!important;font-weight:750;font-size:11px}
.knst-portal .knst-study-footer>a svg{width:14px;height:14px}
/* WP/theme basic login fields and messages */
.knst-portal .tnr-app #loginform label{color:#594b3b}
.knst-portal .tnr-app .tnr-alert-ok{background:#e5efdf;color:#47704c}
.knst-portal .tnr-app .tnr-alert-error{background:#fae8e4;color:#9a412d}
.knst-portal .tnr-app .tnr-table thead,.knst-portal .tnr-app table thead{background:#eee4d6;color:#372b20}
@media(max-width:1120px){
 .knst-portal .tnr-app .tnr-sidebar{width:226px;flex-basis:226px;padding:18px 10px}
 .knst-portal .knst-brand-name{font-size:17px}
 .knst-portal .knst-brand-image{flex-basis:57px}.knst-portal .knst-brand-image img{width:57px;height:57px}
 .knst-portal .tnr-content{padding:22px}
 .knst-portal .knst-hangul-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:900px){
 .knst-portal{padding:12px 0 32px}
 .knst-portal .tnr-app{width:calc(100% - 20px);min-height:75vh}
 .knst-portal .tnr-app .tnr-sidebar{position:absolute;width:278px;max-width:85vw;flex-basis:auto;height:100%;
    top:0;bottom:0;left:0;overflow-y:auto;transform:translateX(-110%);z-index:30;box-shadow:12px 3px 30px #241c1544;transition:transform .22s}
 .knst-portal .tnr-app.tnr-menu-open .tnr-sidebar{transform:translateX(0)}
 .knst-portal .tnr-menu-toggle{display:inline-flex;color:#805724}
 .knst-portal .tnr-main{width:100%}
 .knst-portal .tnr-topbar{padding:0 19px;min-height:66px;height:66px}
 .knst-portal .knst-hangul-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
 .knst-portal .tnr-login-illustration{padding:32px}
 .knst-portal .tnr-login-card{padding:32px}
}
@media(max-width:650px){
 .knst-portal .tnr-app{width:calc(100% - 12px);border-radius:0}
 .knst-portal .tnr-content{padding:18px 13px 27px}
 .knst-portal .tnr-topbar{padding:0 12px}
 .knst-portal .knst-crumb{font-size:9px;letter-spacing:.05em}
 .knst-portal .knst-crumb>span:first-child{display:none}
 .knst-portal .knst-username{display:none}
 .knst-portal .knst-intro-bar{flex-direction:column;align-items:flex-start;padding:18px;gap:13px}
 .knst-portal .knst-intro-action{width:100%;justify-content:space-between}
 .knst-portal .knst-study-path{grid-template-columns:1fr;gap:9px;padding:16px}
 .knst-portal .knst-path-mark{justify-self:start}
 .knst-portal .knst-study-path>a{justify-self:start}
 .knst-portal .tnr-hero{padding:25px 19px;min-height:200px}
 .knst-portal .knst-workshop-heading{padding:20px}
 .knst-portal .knst-workshop-tab{flex:1 1 auto;font-size:11px;padding:9px}
 .knst-portal .knst-panel-head{align-items:flex-start}
 .knst-portal .knst-korean-stamp{display:none}
 .knst-portal .knst-hangul-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .knst-portal .knst-hangul-symbol{min-height:70px;padding:5px}
 .knst-portal .knst-hangul-symbol strong{font-size:26px}
 .knst-portal .knst-flashcard{min-height:230px}
 .knst-portal .knst-study-footer{align-items:flex-start;flex-wrap:wrap;padding:19px}
 .knst-portal .knst-study-footer>span{flex-basis:100%}
 .knst-portal .knst-study-footer>a{flex-basis:100%}
 .knst-portal .tnr-login-shell{grid-template-columns:1fr;width:calc(100% - 16px)}
 .knst-portal .tnr-login-illustration{min-height:235px;padding:26px}
 .knst-portal .tnr-login-illustration h1{font-size:26px}
 .knst-portal .tnr-login-illustration p,.knst-portal .tnr-floating-note{font-size:11px}
 .knst-portal .tnr-login-card{padding:27px 20px}
 .knst-portal .knst-guest-intro{padding:10px 15px}
 .knst-portal .knst-guest-intro h1{font-size:36px}
}
@media(prefers-reduced-motion:reduce){.knst-portal *, .knst-portal *::before,.knst-portal *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
