body{min-width:280px}.page{max-width:1080px;padding-top:30px}.study{max-width:740px}.nav-brand,.nav-account{display:none}.topbar{margin-bottom:25px}.home-page>h1{font-size:calc(34px*var(--fs,1));line-height:1.4;letter-spacing:-1.3px}.home-layout{display:grid;gap:20px}.hero{margin-top:24px}.hero-main{padding:8px 0 22px}.today-note{display:none}.library-actions{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 12px}.library-actions .secondary,.library-actions .ghost{font-size:calc(13px*var(--fs,1));padding:11px 14px}.library-actions+.tiny{margin-bottom:23px}.unit-card .text{min-width:0}.unit-card h3{overflow-wrap:anywhere}.account-panel h2{overflow-wrap:anywhere;font-size:calc(21px*var(--fs,1));margin:10px 0 6px}.account-panel>.small{overflow-wrap:anywhere}.account-panel>.tiny{margin-top:10px}.account-panel a{display:inline-block;margin-top:14px;text-decoration:none}.reminder-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:19px 0}.reminder-fields label,.editor-form label{display:grid;gap:8px;font-size:calc(12px*var(--fs,1));color:var(--muted)}.reminder-fields input,.reminder-fields select,.editor-form select,.editor-form textarea{width:100%;max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:calc(14px*var(--fs,1));min-width:0}.weekdays{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.weekdays .chip{min-width:33px;padding:8px 9px;flex:1}.check-line{display:flex;gap:9px;align-items:flex-start;font-size:calc(12px*var(--fs,1));color:var(--muted);line-height:1.7;margin:14px 0}.check-line input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0;flex-shrink:0}.reminder-options{display:grid;gap:22px;margin-top:23px}.reminder-options>div{border-top:1px solid var(--line);padding-top:20px}.reminder-options h3{font-size:calc(14px*var(--fs,1));margin-bottom:8px}.reminder-options .secondary{margin-top:12px}.reminder-options .buttons .secondary{margin:0}.reminder-options .secondary+.tiny{margin-top:12px}.editor-form{display:grid;gap:17px;margin-top:22px}.editor-form textarea{resize:vertical;min-height:78px;line-height:1.7}.editor-form small{font-size:11px;line-height:1.7}.editor-form .book-tip{margin:0;line-height:1.8}.form-error{font-size:13px;line-height:1.6;color:var(--red);min-height:0}.csv-preview{max-height:300px;overflow:auto;margin:20px 0}.csv-preview article{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.csv-preview strong{font-size:13px}.csv-preview p{font-size:14px;margin-top:7px;line-height:1.7}.csv-preview small{font-size:11px;color:var(--muted)}.modal{max-width:640px}.setting select{max-width:46%;min-width:100px}.setting>div{min-width:0}.source pre{white-space:pre-wrap;overflow-wrap:anywhere}#cloud-status{position:sticky;top:0;z-index:25;background:var(--bg);border-bottom:1px solid var(--line);padding:7px 20px;text-align:right;color:var(--muted);font-size:11px;line-height:1.7}#cloud-status:empty{display:none}#cloud-status.error,#cloud-status.conflict{background:var(--orange-bg);color:var(--orange);text-align:center}#cloud-status button{background:transparent;text-decoration:underline;font-size:11px;margin-left:10px}.signin{max-width:540px;margin:10vh auto;padding:30px}.signin .brand-icon{margin-bottom:30px}.signin h1{font-size:38px;line-height:1.45;margin:15px 0 22px}.signin p{color:var(--muted);font-size:15px;line-height:1.9}.signin .primary{display:flex;text-decoration:none;text-align:center;align-items:center;justify-content:center;margin:34px 0 18px}.signin small{color:var(--muted);font-size:12px;line-height:1.8}.rating:has(button:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.game-tile .game-start{white-space:nowrap}.game-options select{min-width:0}.game-hub .game-level{max-width:560px}.meaning-options .choice-meaning span:last-child{min-width:0}.sentence-item .en-preview{overflow-wrap:anywhere}.home-game-entry small{font-size:calc(12px*var(--fs,1))}.nav button{font-size:calc(10px*var(--fs,1))}.nav button>span{display:block;white-space:nowrap}.nav button.selected{color:var(--accent)}
@media(min-width:900px){body{padding-left:228px}body[data-page=study],body[data-page=game-play],body[data-page=result]{padding-left:0}.page{padding:42px 44px 80px}.nav{top:0;left:0;right:auto;bottom:0;width:228px;height:100dvh;padding:34px 19px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;border-top:0;border-right:1px solid var(--line);background:var(--card)}.nav-brand{display:flex;gap:10px;align-items:center;margin:0 7px 42px}.nav-brand .brand-icon{height:37px;width:37px;flex-shrink:0}.nav-brand strong{display:block;font-size:14px;letter-spacing:-.5px}.nav-brand small{font-size:8px;letter-spacing:1.2px;color:var(--muted)}.nav button{width:100%;min-height:51px;flex-direction:row;justify-content:flex-start;padding:14px 17px;gap:14px;font-size:calc(13px*var(--fs,1));border-radius:13px}.nav button.selected{background:var(--soft)}.nav button.selected:after{display:none}.nav-account{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;align-items:center;min-width:0}.nav-account>span{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:50%;background:var(--soft);color:var(--accent);text-transform:uppercase}.nav-account>div{min-width:0}.nav-account strong{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;max-width:145px}.nav-account small{font-size:10px;color:var(--muted)}.game-catalog{grid-template-columns:1fr 1fr}.game-tile{display:flex;flex-direction:column}.game-tile>p{flex:1}.game-tile>.row:last-child{flex-wrap:wrap}.game-level{margin-top:26px}.game-options{grid-template-columns:1fr 1fr;align-items:center;margin-top:25px}.game-options>label{grid-column:1}.game-options>select{grid-column:1;grid-row:2}.game-options>.row{grid-column:2;grid-row:1/3;margin-left:25px}.badge-list{grid-template-columns:repeat(5,1fr)}.game-result{max-width:700px}.reminder-options{grid-template-columns:1fr 1fr;gap:25px}.home-game-entry{padding:23px 25px}.stats-grid .stat{padding:24px}.unit-grid{grid-template-columns:1fr}.game-result .stats-grid .stat{padding:20px 10px}}
@media(min-width:1180px){.home-layout{grid-template-columns:1.4fr 1fr;align-items:stretch;margin-top:28px}.home-layout .hero{margin:0}.today-note{display:block;background:#eef1e6;border-radius:23px;padding:25px}.today-note h2{font-size:22px;line-height:1.5;margin:10px 0}.note-icon{float:right;color:#6e8059}.today-note .textbtn{margin-top:16px;font-size:12px}.unit-grid{grid-template-columns:1fr 1fr}.unit-grid .unit-card:last-child{grid-column:1/3}.home-page>h1{font-size:calc(38px*var(--fs,1))}[data-theme=dark] .today-note{background:#2c3b2b}}
@media(max-width:360px){.page{padding-left:16px;padding-right:16px}.home-page>h1{font-size:calc(29px*var(--fs,1))}.hero{padding:19px}.ring{width:85px;height:85px;flex-basis:85px}.hero h2{font-size:calc(17px*var(--fs,1))}.reminder-fields{grid-template-columns:1fr}.library-actions .secondary,.library-actions .ghost{font-size:12px}.setting{gap:9px}.setting small{font-size:11px}.nav button{font-size:10px}.stats-grid .stat{padding:16px 9px}.modal{padding:19px}.signin h1{font-size:31px}.game-level{padding:17px}}
@media(prefers-reduced-motion:no-preference){.game-feedback{animation:appear .2s ease-out}.sentence-block.placed{animation:appear .15s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}

.chapter-group{min-width:0}.chapter-heading{margin:12px 0 18px}.chapter-heading h2{font-size:clamp(18px,2vw,22px);line-height:1.5}.chapter-heading .date{margin-bottom:7px}.chips{min-width:0;align-items:flex-start}.chips .chip{flex:0 0 auto;white-space:nowrap;text-align:center;min-height:44px;line-height:1.5}.chapter-group .unit-number{min-width:40px}
/* Customer support and external account flows */
.support-page{max-width:960px;margin:0 auto;padding:32px 24px 80px}.support-page>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.support-page>header a{color:var(--ink,#203b35)}.support-panel{display:grid;gap:20px}.support-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.support-toolbar h2,.support-toolbar h3{margin:8px 0}.support-toolbar p{color:#68766e;font-size:14px;margin:0}.support-panel label{display:grid;gap:8px;font-weight:600;font-size:14px;margin:16px 0}.support-panel input,.support-panel select,.support-panel textarea{width:100%;padding:12px;border:1px solid #c9d4cd;background:#fff;color:#203b35;border-radius:8px;font:inherit;box-sizing:border-box}.support-panel textarea{resize:vertical;line-height:1.65}.support-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.support-list{list-style:none;margin:0;padding:0}.support-list li{padding:16px 0;border-bottom:1px solid #e2e8e3}.support-list li>button{width:100%;text-align:left;background:none;border:0;color:#203b35;display:grid;gap:8px;cursor:pointer;padding:4px;font:inherit}.support-list small,.support-thread small{color:#68766e}.support-status{font-size:12px;padding:4px 9px;border-radius:5px;width:fit-content;background:#fff0d3;color:#705417}.support-status.answered{background:#dff1e7;color:#225f43}.support-status.closed{background:#edf0ed;color:#5c6861}.support-messages{list-style:none;margin:24px 0;padding:0;display:grid;gap:14px}.support-messages li{background:#f5f7f4;border:1px solid #e3e9e1;border-radius:12px;padding:18px;overflow-wrap:anywhere}.support-messages li.staff{background:#eaf5ee;border-color:#c5e2d0;margin-left:24px}.support-messages li>div{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:13px}.support-messages time{color:#68766e;font-size:12px}.support-messages p{white-space:pre-wrap;margin:14px 0 0;line-height:1.8}.social-buttons{display:grid;gap:10px;margin:22px 0}.social-buttons button{min-height:46px;border:1px solid #cbd6d0;border-radius:8px;background:white;color:#203b35;font:inherit;font-weight:600;cursor:pointer}.social-buttons button.naver{border-color:#1d7a43;background:#218049;color:white}.support-fab{position:fixed;right:20px;bottom:92px;background:#fff;color:#264b3c;border:1px solid #ccdcd1;border-radius:24px;padding:10px 16px;z-index:20;text-decoration:none;font-weight:600;font-size:13px;box-shadow:0 3px 14px #18392414}.support-page .admin-surface{padding:24px}.portal-card .social-profile{padding:12px;background:#edf5ef;border-radius:8px}@media(max-width:600px){.support-page{padding:24px 16px 80px}.support-messages li.staff{margin-left:10px}.support-messages li>div{align-items:flex-start;flex-direction:column;gap:5px}.support-fab{right:12px;bottom:84px}}
.book-picker{margin:24px 0}.book-picker h2{font-size:17px;margin:0}.book-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:12px}.book-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:78px;border:1px solid var(--line,#d6ddd9);border-radius:15px;background:var(--card,#fff);color:var(--text,#233d35);cursor:pointer}.book-choice strong{font-size:24px;line-height:1.2}.book-choice span{font-size:11px;white-space:nowrap}.book-choice.on{background:#214f43;border-color:#214f43;color:#fff;box-shadow:0 3px 10px #214f4320}.book-choice:focus-visible{outline:3px solid #d4a45b;outline-offset:3px}.book-choice:hover{border-color:#447b69}@media(max-width:420px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-choice{min-height:68px}}[data-theme="dark"] .book-choice:not(.on){background:#25332e;color:#e6ede9}

/* Keep range controls compact and business details readable on small screens. */
.library-filter-label{margin:4px 0 10px;gap:12px}.library-filter-label h2{font-size:calc(13px*var(--fs,1));white-space:nowrap}.library-filter-label .tiny{font-size:calc(11px*var(--fs,1))}.library-filters{padding:4px 3px 14px;scroll-padding-inline:3px;overscroll-behavior-x:contain}.business-info{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.business-info h3{font-size:calc(14px*var(--fs,1));margin:0 0 14px}.business-details{margin:0;display:grid;gap:12px}.business-details>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:baseline}.business-details dt{color:var(--muted);font-size:calc(12px*var(--fs,1));line-height:1.7}.business-details dd{margin:0;min-width:0;font-size:calc(14px*var(--fs,1));line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.business-details a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;text-underline-offset:3px}.business-details .business-phone{align-items:center}@media(max-width:360px){.business-details>div{grid-template-columns:1fr;gap:3px}.business-details{gap:14px}}
