/* Mobile workspace: fixed shell, readable content, locally scrollable experiments. */
.compact-more{border:1px solid var(--line);background:white;border-radius:8px;min-height:44px;padding:0 14px;font-size:13px}.compact-more[hidden]{display:none}.compact-sheet{padding:0;max-height:min(80dvh,700px);width:min(560px,100%);margin:auto auto 0;border-radius:20px 20px 0 0;overflow:hidden}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);gap:12px}.sheet-head h2{margin:0;padding:0;font-size:20px}.sheet-close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#eef1e8;font-size:26px}.sheet-content{padding:18px;max-height:calc(80dvh - 80px);overflow:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}.sheet-content p{font-size:14px;line-height:1.8}.sheet-links{display:grid;gap:6px}.sheet-links a{display:flex;justify-content:space-between;gap:12px;padding:12px 6px;min-height:48px;border-bottom:1px solid var(--line);font-size:14px}.sheet-goals p{border-bottom:1px solid var(--line);padding:10px 0}.compact-mode :focus-visible{outline-offset:2px}
@media(max-width:900px){
html:has(body.compact-mode){overflow:hidden}.compact-mode{height:var(--app-height,100dvh);overflow:hidden}.compact-mode .app{margin:0;height:100%;display:grid;grid-template-rows:48px minmax(0,1fr);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.compact-mode .topbar{height:48px;padding:0 16px}.compact-mode .topbar:before{content:'g. 감각';color:var(--green);font-size:21px;font-weight:800;letter-spacing:-1px}.compact-mode #breadcrumb,.compact-mode .save-label,.compact-mode .avatar{display:none}.compact-mode .sidebar{inset:auto 0 0;width:100%;height:calc(64px + env(safe-area-inset-bottom));padding:4px 8px max(4px,env(safe-area-inset-bottom));z-index:5;border:0;border-top:1px solid var(--line);background:#fff}.compact-mode .sidebar>.brand,.compact-mode .brand-sub,.compact-mode .nav-label,.compact-mode .side-note,.compact-mode .side-bottom{display:none}.compact-mode .sidebar nav{display:flex;justify-content:space-around;height:100%;width:100%;gap:6px}.compact-mode .sidebar nav a{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:3px;margin:0;min-width:0;min-height:48px;font-size:11px}.compact-mode .sidebar nav a>span:first-child{font-size:20px;line-height:23px;height:23px}.compact-mode .app>footer{display:none}.compact-mode #main{width:100%;max-width:760px;min-height:0;height:100%;padding:12px 16px;overflow:hidden;margin:0 auto}.compact-mode .btn{font-size:14px;min-height:44px;padding:10px 14px}.compact-mode button:disabled{opacity:.45}.compact-mode #toast{bottom:calc(76px + env(safe-area-inset-bottom));max-width:90%;width:max-content}.compact-mode h1{font-size:25px;letter-spacing:-.9px}.compact-mode h2{font-size:21px}.compact-mode .compact-reference{overflow-y:auto!important;overscroll-behavior:contain}.compact-mode .compact-reference .courses{grid-template-columns:1fr}.compact-mode .compact-reference .lab-grid{grid-template-columns:1fr}.compact-mode .compact-reference .panel{padding:18px}
/* A single lesson card with a persistent next action. */
.compact-mission{display:grid;grid-template-rows:54px 44px minmax(0,1fr);gap:8px}.compact-mission-head{display:flex;align-items:center;gap:8px;min-width:0}.compact-mission-head>a,.compact-mission-head>button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:10px;background:white;font-size:23px}.compact-mission-head>div{flex:1;min-width:0}.compact-mission-head span{display:block;font-size:11px;color:var(--muted)}.compact-mission-head h1{font-size:19px;letter-spacing:-.7px;margin:1px 0;line-height:1.4}.compact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;border-bottom:1px solid var(--line)}.compact-steps button{min-height:44px;padding:5px 2px;border:0;border-bottom:3px solid transparent;background:transparent;font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:5px}.compact-steps button[aria-current]{border-bottom-color:var(--green);color:var(--green);font-weight:750}.compact-steps button span{font-size:10px;background:#e7eddf;border-radius:50%;width:19px;height:19px;display:grid;place-items:center}#compactBody{min-height:0;min-width:0;outline:none}.compact-learn,.compact-review{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.term-counter{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:2px}.focus-term{flex:1;min-height:0;overflow-y:auto;background:#eee8f6;border:1px solid #ddd3eb;border-radius:16px;padding:20px;overscroll-behavior:contain}.focus-term-symbol{width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:25px;margin-bottom:14px}.focus-term-title{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:14px}.focus-term-title h2{font-size:27px;margin:0;line-height:1.3}.focus-term-title span{font-size:13px;color:#675477}.focus-term>p{font-size:15px;line-height:1.75;margin-bottom:15px;word-break:keep-all;overflow-wrap:anywhere}.focus-term-tip{background:#ffffffa8;padding:13px;border-radius:10px;font-size:13px}.focus-term-tip strong{font-size:11px;color:#665278}.focus-term-tip p{margin:5px 0 0;line-height:1.7}.term-paging{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:12px}.term-paging button{min-height:44px;min-width:68px;border:0;background:transparent;padding:8px;font-size:13px}.term-dots{display:flex;gap:5px}.term-dots i{width:6px;height:6px;border-radius:50%;background:#d3dbcb}.term-dots i.selected{background:var(--green);width:18px;border-radius:5px}.compact-primary-row{display:flex;gap:8px;padding-top:3px;flex:none}.compact-primary-row>.btn{flex:1}.compact-primary-row>.secondary{flex:.65}
/* Preview above controls; both stay inside the same screen. */
.compact-practice{height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) 52px;gap:8px}.compact-goals{display:flex;align-items:center;gap:9px;border:1px solid #d7dfce;border-radius:9px;background:#eef3e6;padding:6px 10px;text-align:left;min-width:0}.compact-goals>span:first-child{background:#fff;border-radius:6px;padding:4px;font-size:12px;font-weight:750;white-space:nowrap}.compact-goals>span:nth-child(2){font-size:12px;line-height:1.5;flex:1}.compact-goals.all-met{background:#e1edcf;border-color:#96ad7d}.compact-work-area{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(100px,1fr) auto;border:1px solid #d4ddcb;border-radius:12px;overflow:hidden;background:#fff}.compact-work-area>.stage-surface{grid-row:1;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:12px;display:block;scroll-padding:12px}.compact-work-area>.stage-surface>*{margin-left:auto;margin-right:auto}.compact-work-area>.settings-strip{grid-row:2;min-height:0;max-height:min(29dvh,220px);overflow:auto;overscroll-behavior:contain;border-radius:0;padding:8px 12px;border-top:1px solid var(--line);border-bottom:0}.compact-work-area .settings-strip>p{font-size:12px;line-height:1.5}.compact-work-area .setting-label{margin:0;font-size:12px}.compact-work-area .settings-strip select{min-height:44px;padding:5px 8px;margin:3px 0 5px;font-size:14px}.compact-work-area .settings-strip .control{margin:0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;align-items:center;min-height:44px}.compact-work-area .control label{font-size:12px;line-height:1.4;display:block;margin:0}.compact-work-area .control input[type=range]{height:44px;margin:0}.compact-work-area .setting-toggle{margin:0;min-height:44px;font-size:13px}.compact-work-area .sample-card{max-width:440px;padding:14px;border-radius:10px;box-shadow:none}.compact-work-area .sample-visual{display:none}.compact-work-area .sample-card h3{font-size:18px;margin-bottom:7px}.compact-work-area .sample-card p{font-size:14px;line-height:1.65;margin-bottom:10px}.compact-work-area .sample-muted{font-size:11px;margin-top:6px}.compact-work-area .sample-card fieldset{padding:5px 10px;margin:8px 0}.compact-work-area .sample-card .setting-toggle{min-height:44px}.compact-work-area .sample-card .btn{min-height:44px;font-size:13px}.compact-work-area .sample-status{padding:8px}.compact-work-area .sample-app{padding:12px}.compact-work-area .sample-app [role=tabpanel]{min-height:70px}.compact-work-area .sample-nav{display:flex;justify-content:flex-start;gap:4px;margin:0 0 8px}.compact-work-area .breadcrumbs{margin:0 0 8px}.compact-work-area .sample-tabs{margin-bottom:8px}.compact-work-area .sample-tabs button{min-height:44px;padding:7px 15px}.compact-work-area .sample-app .btn{font-size:12px;min-height:44px;padding:8px}.compact-work-area .inline-actions{flex-wrap:wrap}.compact-work-area .overlay-demo h3{font-size:17px;margin-bottom:12px}.compact-work-area .overlay-buttons{gap:8px}.compact-work-area .filter-row{margin-bottom:10px;flex-wrap:wrap}.compact-work-area .chip{min-height:44px}.compact-work-area .demo-divider{margin:12px 0}.compact-work-area .loading-card{min-height:190px}.compact-work-area .empty-illustration{font-size:32px}.compact-work-area .color-pair{margin-bottom:4px;gap:12px}.compact-work-area .color-pair input{height:44px;margin-top:2px}.compact-work-area .contrast-live{margin-top:8px}.compact-work-area .contrast-live strong{font-size:22px}.compact-work-area .contrast-live span{font-size:12px}.compact-work-area [hidden]{display:none!important}.compact-actionbar{display:grid;grid-template-columns:1fr .75fr 1.5fr;gap:7px;align-items:center}.compact-actionbar>button{border:1px solid var(--line);background:white;min-height:44px;border-radius:8px;padding:6px;font-size:13px}.compact-actionbar>.btn{background:var(--green);color:white;border-color:var(--green)}
/* Questions and feedback share one bounded surface. */
.review-content,.result-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.review-content h2{font-size:21px;margin-bottom:12px}.review-question{font-size:14px;line-height:1.7;margin-bottom:14px}.review-answers .answer{display:flex;gap:10px;align-items:center;margin:8px 0;padding:12px;font-size:14px;min-height:48px}.review-answers .answer span{flex:none;width:22px;font-size:12px;color:var(--muted)}.review-content .feedback{font-size:13px;padding:12px;margin:12px 0 0}.result-content{background:#edf3e2;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:12px}.result-content .win-star{line-height:1;font-size:44px}.result-content h2,.result-content p,.result-content .tag{margin:0}.result-content p{font-size:14px;line-height:1.8}.result-content .term-chips{justify-content:center}.compact-xp{font-size:27px}.compact-result .compact-primary-row .btn{font-size:13px}
/* The map is a deck, not a long list. */
.compact-home{display:grid;grid-template-rows:auto 30px minmax(0,1fr) auto;gap:8px}.compact-welcome .eyebrow{font-size:10px;letter-spacing:1px}.compact-welcome h1{margin:2px 0 8px;font-size:25px}.compact-stats{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted)}.compact-stats strong{color:var(--ink)}.compact-stats button{margin-left:auto;min-height:44px;padding:5px 8px;border:1px solid var(--line);background:white;border-radius:8px;font-size:12px}.compact-map-title{display:flex;align-items:center;justify-content:space-between}.compact-map-title h2{font-size:16px;margin:0}.compact-map-title>span{font-size:12px;color:var(--muted)}.compact-mission-card{padding:20px;background:#e8e2f2;border:1px solid #d7cee3;border-radius:16px;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:flex-start}.mission-card-top{display:flex;justify-content:space-between;width:100%;gap:8px;align-items:center}.mission-card-top .tag{margin:0;background:#fff9;font-size:11px}.mission-card-status{font-size:11px;color:#6a5979}.compact-mission-card .mission-symbol{margin:16px 0 12px;background:#fff}.compact-mission-card h2{font-size:24px;margin:0 0 9px}.compact-mission-card>p{font-size:14px;line-height:1.7;margin-bottom:14px}.compact-mission-card .term-chips{margin-bottom:16px}.compact-mission-card .term-chips span{background:#ffffffa8;font-size:11px}.compact-mission-card>.btn{width:100%;margin-top:auto;flex-shrink:0}.compact-map-bottom .term-paging{margin-bottom:4px}.catalog-shortcut{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px;font-size:11px;border-top:1px solid var(--line);gap:10px}.catalog-shortcut span{font-weight:700}
/* Search keeps its filters and pagination on screen. */
.compact-catalog{display:grid;grid-template-rows:auto auto minmax(0,1fr) 44px;gap:10px}.catalog-header h1{font-size:24px;margin:2px 0 4px}.catalog-header p{font-size:13px;color:var(--muted);margin:0}.compact-search{display:flex;gap:8px;min-width:0}.compact-search input{min-width:0;flex:1}.compact-search input,.compact-search select{height:44px;border:1px solid #c5d1bd;border-radius:8px;background:white;padding:8px 10px;font-size:14px;color:var(--ink)}.compact-search select{width:95px}#compactCatalogList{overflow-y:auto;min-height:0;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px}.compact-catalog-card{border:1px solid var(--line);border-radius:11px;background:white;padding:14px;flex:1;display:flex;flex-direction:column}.compact-catalog-card>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.compact-catalog-card h2{font-size:18px;margin:0}.compact-catalog-card>div>span{color:#736285;font-size:11px}.compact-catalog-card p{font-size:13px;line-height:1.7;margin:7px 0}.compact-catalog-card>a{margin-top:auto;min-height:44px;padding:10px 0 0;font-size:13px;font-weight:650;border-top:1px solid var(--line)}
}
@media(max-width:900px) and (max-height:700px){.compact-mode #main{padding:8px 12px}.compact-mission{grid-template-rows:48px 44px minmax(0,1fr);gap:5px}.compact-mission-head h1{font-size:17px}.focus-term{padding:16px}.focus-term-symbol{display:none}.focus-term-title{margin-bottom:9px}.focus-term-title h2{font-size:24px}.focus-term>p{margin-bottom:10px}.focus-term-tip{padding:10px}.compact-home{gap:5px}.compact-welcome h1{font-size:23px;margin-bottom:2px}.compact-welcome .eyebrow{display:none}.compact-mission-card{padding:16px}.compact-mission-card .mission-symbol{width:36px;height:36px;margin:10px 0;font-size:22px}.compact-mission-card h2{font-size:21px;margin-bottom:6px}.compact-mission-card>p{font-size:13px;margin-bottom:9px}.compact-mission-card .term-chips{margin-bottom:10px}.compact-work-area>.settings-strip{max-height:154px}.compact-practice{gap:5px}.result-content{gap:8px;padding:14px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.compact-mode .app{grid-template-rows:minmax(0,1fr);padding-bottom:54px}.compact-mode .topbar{display:none}.compact-mode .sidebar{height:54px}.compact-mode .sidebar nav a{flex-direction:row;gap:8px;min-height:44px}.compact-mode #main{max-width:none;padding:6px 14px}.compact-mission{grid-template-columns:1fr 1fr;grid-template-rows:44px minmax(0,1fr);gap:5px 16px}.compact-mission-head{grid-column:1}.compact-steps{grid-column:2}#compactBody{grid-column:1/-1}.compact-practice{grid-template-rows:38px minmax(0,1fr) 44px;gap:4px}.compact-goals{min-height:38px}.compact-work-area{grid-template-columns:1.2fr 1fr;grid-template-rows:minmax(0,1fr)}.compact-work-area>.stage-surface{grid-column:1;grid-row:1}.compact-work-area>.settings-strip{grid-column:2;grid-row:1;max-height:none;border-top:0;border-left:1px solid var(--line)}.compact-actionbar{max-width:480px;width:100%;justify-self:end}.compact-learn{display:grid;grid-template-columns:1fr 240px;grid-template-rows:24px minmax(0,1fr) 44px}.focus-term{grid-column:1;grid-row:1/4}.term-counter{grid-column:2}.term-paging{grid-column:2;align-self:end}.compact-primary-row{grid-column:2}.compact-review{display:grid;grid-template-columns:1fr 220px}.review-content,.result-content{grid-column:1}.compact-review>.compact-primary-row{align-self:end;flex-direction:column}.compact-home{grid-template-columns:240px 1fr;grid-template-rows:auto auto minmax(0,1fr)}.compact-welcome{grid-column:1}.compact-map-title{grid-column:1;grid-row:2}.compact-mission-card{grid-column:2;grid-row:1/4}.compact-map-bottom{grid-column:1;grid-row:3;align-self:end}.compact-mission-card .mission-symbol{display:none}.compact-mission-card h2{margin-top:12px}.compact-catalog{grid-template-columns:240px 1fr;grid-template-rows:auto 44px minmax(0,1fr)}.catalog-header,.compact-search{grid-column:1}#compactCatalogList{grid-column:2;grid-row:1/4}#compactCatalogPages{grid-column:1;align-self:end}}
@media(max-width:900px){.compact-mode .sidebar .count{display:none}.compact-work-area .settings-strip:has(#setting-strong){display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-items:center}.compact-work-area .settings-strip:has(#setting-strong)>.setting-label{grid-column:1;grid-row:1}.compact-work-area .settings-strip:has(#setting-strong)>select{grid-column:1;grid-row:2;margin:2px 0 0}.compact-work-area .settings-strip:has(#setting-strong)>.setting-toggle{grid-column:2;grid-row:1/3}.compact-work-area .sample-card:has(#orderButton){display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;padding:10px}.compact-work-area .sample-card:has(#orderButton)>.sample-card-head{grid-column:1/-1}.compact-work-area .sample-card:has(#orderButton)>.sample-card-head h3{font-size:16px;margin:0}.compact-work-area .sample-card:has(#orderButton)>p:not([role=status]){display:none}.compact-work-area .sample-card:has(#orderButton)>.setting-toggle{grid-column:1/-1}.compact-work-area .sample-card:has(#orderButton)>.btn{width:100%;margin:0;padding:8px;font-size:12px}.compact-work-area .sample-card:has(#orderButton)>.sample-muted,.compact-work-area .sample-card:has(#orderButton)>[role=status]{grid-column:1/-1;margin:0}.compact-work-area>.stage-surface{scrollbar-width:thin}.compact-work-area>.settings-strip{scrollbar-width:thin}}
@media(max-width:900px){.compact-mode #main.compact-reference:has(.lab-grid){display:grid;grid-template-rows:auto 44px minmax(0,1fr);gap:10px;overflow:hidden!important}.compact-reference:has(.lab-grid)>.page-head{margin:0}.compact-reference:has(.lab-grid)>.page-head h1{font-size:20px;margin:0}.compact-reference:has(.lab-grid)>.page-head p,.compact-reference:has(.lab-grid)>.page-head .eyebrow{display:none}.compact-reference:has(.lab-grid)>.filters{flex-wrap:nowrap;overflow:auto;margin:0;gap:6px;scrollbar-width:none}.compact-reference:has(.lab-grid)>.filters .chip{flex:none;min-height:44px;font-size:12px;padding:6px 12px}.compact-mode .compact-reference .lab-grid{min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(90px,38%);gap:8px}.compact-reference .lab-grid>.panel{min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px;border-radius:10px}.compact-reference #controls{grid-row:2}.compact-reference .lab-grid>.panel:not(#controls){grid-row:1}.compact-reference #controls h3{font-size:15px;margin-bottom:8px}.compact-reference #controls>p,.compact-reference #controls .notice{font-size:12px;line-height:1.6}.compact-reference #controls .control{margin-bottom:6px;display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;min-height:44px}.compact-reference #controls .control label{font-size:12px;margin:0;display:block}.compact-reference #controls input[type=range]{height:44px}.compact-reference .experiment{min-height:0;padding:12px;border-radius:8px}.compact-reference .demo-top{display:none}.compact-reference .demo-card{max-width:440px;box-shadow:none}.compact-reference .readout{font-size:12px;padding-top:8px}.compact-reference .readout .source-note{font-size:11px}.compact-reference .toggle-row{min-height:44px}.compact-reference .demo-input{font-size:16px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.compact-mode #main.compact-reference:has(.lab-grid){grid-template-columns:240px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr)}.compact-reference:has(.lab-grid)>.page-head{grid-column:1}.compact-reference:has(.lab-grid)>.filters{grid-column:2;grid-row:1}.compact-mode .compact-reference .lab-grid{grid-column:1/-1;grid-template-columns:1.2fr 1fr;grid-template-rows:minmax(0,1fr)}.compact-reference #controls{grid-column:2;grid-row:1}.compact-reference .lab-grid>.panel:not(#controls){grid-column:1;grid-row:1}}
@media(max-width:900px){.compact-mode input:not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]),.compact-mode select{font-size:16px}.compact-mode .term-detail summary{min-height:44px;display:flex;align-items:center;flex-wrap:wrap}.compact-mode .close{width:44px;height:44px}.compact-mode dialog{scroll-padding:12px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.compact-mode .topbar{display:flex;position:fixed;bottom:0;right:8px;height:54px;z-index:6;padding:0;border:0;background:#fff}.compact-mode .topbar:before{display:none}.compact-mode .sidebar nav{padding-right:76px}}
