/* 정보모아 레이어 스타일 — 원본 엔진 CSS와 겹치지 않도록 #moa-* 범위 안에서만 */
:root{--moa-bg:#f6f7fb;--moa-paper:#fff;--moa-ink:#172033;--moa-muted:#667085;--moa-line:#e3e7ef;--moa-acc:#2463eb;--moa-soft:#eef3ff;
--st-passed:#16a34a;--st-hinted:#e0a106;--st-self:#3b82f6;--st-retry:#e5484d;--st-unseen:#c9d0dc;--moa-shadow:0 10px 30px rgba(20,30,60,.12),0 2px 6px rgba(20,30,60,.06)}
html[data-theme=dark]{--moa-bg:#0d1421;--moa-paper:#151f31;--moa-ink:#e7ecf5;--moa-muted:#93a0b5;--moa-line:#26344c;--moa-acc:#77acff;--moa-soft:#1b2a44;--st-unseen:#3a4760;--moa-shadow:0 10px 30px rgba(0,0,0,.45)}
#moa-root,#moa-tabbar,#moa-memo{font-family:inherit;color:var(--moa-ink);-webkit-tap-highlight-color:transparent}
#moa-root *,#moa-tabbar *,#moa-memo *{box-sizing:border-box}
:where(#moa-root,#moa-tabbar) button,#moa-memo{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-height:0;padding:0;margin:0;width:auto}
html.moa-open body{overflow:hidden}
/* 오버레이 */
#moa-root{position:fixed;top:0;left:0;right:0;bottom:calc(var(--moa-tab-h) + env(safe-area-inset-bottom));z-index:80;background:var(--moa-bg)}
#moa-root[hidden]{display:none}
.moa-shell{display:flex;flex-direction:column;height:100%}
.moa-main{flex:1;overflow:auto;padding:calc(10px + env(safe-area-inset-top)) 16px 28px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.moa-main>*{max-width:1280px;margin-left:auto;margin-right:auto}
/* 공통 */
.moa-no{display:inline-block;font-variant-numeric:tabular-nums;font-weight:800;font-size:.82em;color:var(--moa-acc);margin-right:4px;letter-spacing:-.2px}
.moa-code{display:inline-block;font-size:.78em;font-weight:700;color:var(--moa-muted);background:var(--moa-soft);border-radius:6px;padding:0 5px;margin-right:5px;white-space:nowrap}
.moa-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px!important;border-radius:11px;background:var(--moa-soft)!important;color:var(--moa-acc)!important;font-weight:700;font-size:13px;transition:transform .12s}
.moa-btn:active{transform:scale(.96)}
.moa-btn.primary{background:var(--moa-acc)!important;color:#fff!important}
html[data-theme=dark] .moa-btn.primary{color:#0d1421!important}
.moa-btn.ghost{background:transparent!important;border:1px solid var(--moa-line)!important}
.moa-btn.danger{background:#fdecec!important;color:#c0262d!important}
.moa-btn.sm{padding:6px 10px!important;font-size:12px;border-radius:9px}
.moa-row{display:flex;gap:8px;align-items:center;margin:10px 0}.moa-row.wrap{flex-wrap:wrap}.moa-grow{flex:1}
.moa-input,.moa-select,.moa-ta{font:inherit;color:var(--moa-ink);background:var(--moa-paper);border:1px solid var(--moa-line);border-radius:11px;padding:9px 12px;min-width:0;width:100%}
.moa-input.sm{width:150px;padding:6px 10px;font-size:13px}.moa-input.big{font-size:16px;padding:13px 15px}
.moa-select{width:auto;padding:7px 10px;font-size:13px}
.moa-ta{resize:vertical;line-height:1.6;min-height:160px}
.moa-seg{display:inline-flex;background:var(--moa-soft);border-radius:11px;padding:3px;gap:2px}.moa-seg.wrap{flex-wrap:wrap}
.moa-seg button{padding:6px 11px!important;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--moa-muted)!important}
.moa-seg button.on{background:var(--moa-paper)!important;color:var(--moa-acc)!important;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.moa-muted{color:var(--moa-muted)}.small{font-size:12px}
.moa-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;background:var(--st-unseen)}
.st-passed.moa-dot,.moa-stackbar .st-passed{background:var(--st-passed)}.st-hinted.moa-dot,.moa-stackbar .st-hinted{background:var(--st-hinted)}.st-self.moa-dot,.moa-stackbar .st-self{background:var(--st-self)}.st-retry.moa-dot,.moa-stackbar .st-retry{background:var(--st-retry)}
.moa-stackbar{display:flex;height:7px;border-radius:9px;overflow:hidden;background:var(--st-unseen);margin:6px 0}.moa-stackbar.big{height:11px}
.moa-stackbar i{display:block;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.moa-ring{--p:0;--s:0;flex:none;width:30px;height:30px;border-radius:50%;background:conic-gradient(var(--st-passed) calc(var(--p)*360deg),color-mix(in srgb,var(--st-self) 55%,transparent) 0 calc(var(--s)*360deg),var(--st-unseen) 0);-webkit-mask:radial-gradient(circle,transparent 9px,#000 10px);mask:radial-gradient(circle,transparent 9px,#000 10px)}
.moa-legend{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--moa-muted)}.moa-legend span{display:inline-flex;align-items:center;gap:4px}
.moa-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.moa-tags span,.moa-tags button{font-size:12px;padding:3px 9px!important;border-radius:999px;background:var(--moa-soft)!important;color:var(--moa-acc)!important}
.moa-empty{text-align:center;padding:40px 10px;color:var(--moa-muted)}
.moa-toast{position:fixed;z-index:95;pointer-events:none;left:50%;bottom:calc(var(--moa-tab-h) + 14px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;background:#172033;color:#fff;padding:9px 16px;border-radius:999px;font-size:13px;transition:.25s;pointer-events:none;z-index:95}.moa-toast.on{opacity:1;transform:translate(-50%,0)}
/* 단원 선택 */
.moa-units{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}.moa-units::-webkit-scrollbar{display:none}
.moa-unit{flex:none;display:flex;align-items:center;gap:6px;padding:9px 12px!important;border-radius:14px;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;font-size:13px;white-space:nowrap;transition:.2s}
.moa-unit .moa-ring{width:22px;height:22px;-webkit-mask:radial-gradient(circle,transparent 6px,#000 7px);mask:radial-gradient(circle,transparent 6px,#000 7px)}
.moa-unit.on{border-color:hsl(var(--h) 70% 55%)!important;background:hsl(var(--h) 90% 96%)!important;box-shadow:0 4px 14px hsl(var(--h) 70% 50%/.18)}
html[data-theme=dark] .moa-unit.on{background:hsl(var(--h) 40% 18%)!important}
.moa-map-head{display:flex;gap:12px;align-items:flex-start;background:var(--moa-paper);border:1px solid var(--moa-line);border-left:5px solid hsl(var(--h) 70% 55%);border-radius:14px;padding:12px 14px}
.moa-map-head>div{flex:1;min-width:0}
.moa-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.moa-icon{width:34px;height:34px;border-radius:10px;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;font-size:17px!important;font-weight:700}
/* 마인드맵 */
.moa-map-wrap{position:relative;overflow:auto;border-radius:18px;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--moa-muted) 22%,transparent) 1px,transparent 0) 0 0/22px 22px,var(--moa-paper);border:1px solid var(--moa-line);min-height:60vh;max-height:calc(100dvh - 250px);touch-action:pan-x pan-y}
.moa-canvas{position:relative;transform-origin:0 0;transition:transform .2s;margin:6px}
.moa-links{position:absolute;inset:0;pointer-events:none;overflow:visible}
.moa-links path{fill:none;stroke:hsl(var(--h) 60% 60%/.55);stroke-width:2.2;stroke-linecap:round;transition:d .32s}
.moa-links path.l-topic{stroke-width:1.8}.moa-links path.l-stmt{stroke-width:1.5;stroke-dasharray:0}.moa-links path.l-kw{stroke-width:1.2;stroke:hsl(var(--h) 40% 60%/.45)}
.moa-node{position:absolute;transform:translateY(-50%);display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:13px;background:var(--moa-paper);border:1px solid var(--moa-line);box-shadow:0 2px 8px rgba(20,30,60,.06);cursor:pointer;transition:top .32s cubic-bezier(.2,.8,.2,1),left .32s cubic-bezier(.2,.8,.2,1),opacity .26s,transform .26s,box-shadow .2s;font-size:13px;line-height:1.3;user-select:none}
.moa-node:hover{box-shadow:0 6px 18px rgba(20,30,60,.12)}.moa-node:active{transform:translateY(-50%) scale(.97)}
.moa-node.born{opacity:0;transform:translateY(-50%) scale(.85)}.moa-node.dying{opacity:0;transform:translateY(-50%) scale(.85)}
.moa-node.hit{outline:3px solid #f59e0b;outline-offset:2px}
.moa-node.pulse{animation:moa-pulse 1.4s ease-out}@keyframes moa-pulse{0%{box-shadow:0 0 0 0 hsl(var(--h) 80% 55%/.6)}100%{box-shadow:0 0 0 18px hsl(var(--h) 80% 55%/0)}}
.moa-nt{display:flex;flex-direction:column;min-width:0;flex:1}.moa-nt small{color:var(--moa-muted);font-size:11px;margin-top:2px}.moa-nt em{color:var(--st-retry);font-style:normal;font-weight:700}
.moa-node.k-unit{background:linear-gradient(135deg,hsl(var(--h) 75% 52%),hsl(calc(var(--h) + 35) 70% 56%));color:#fff;border:0;padding:12px 14px;font-size:15px;box-shadow:0 8px 22px hsl(var(--h) 70% 45%/.35)}
.moa-node.k-unit .moa-no,.moa-node.k-unit small{color:#fff}.moa-node.k-unit .moa-code{background:rgba(255,255,255,.22);color:#fff}
.moa-node.k-group{border-left:4px solid hsl(var(--h) 70% 55%);font-size:14px}
.moa-node.k-topic{background:hsl(var(--h) 85% 97%)}html[data-theme=dark] .moa-node.k-topic{background:hsl(var(--h) 30% 16%)}
.moa-node.k-topic .moa-ring{width:24px;height:24px;-webkit-mask:radial-gradient(circle,transparent 7px,#000 8px);mask:radial-gradient(circle,transparent 7px,#000 8px)}
.moa-node.k-stmt{align-items:flex-start;font-size:12.5px}
.moa-stxt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--moa-ink)}
.moa-dots{display:flex;gap:3px;margin-top:5px}.moa-dots .moa-dot{width:8px;height:8px}
.moa-node.k-kw{padding:6px 11px;border-radius:999px;font-size:12.5px;white-space:nowrap;gap:5px}
.moa-node.k-kw b{font-weight:700}
.moa-fold{flex:none;width:24px;height:24px;border-radius:8px;background:var(--moa-soft)!important;color:var(--moa-acc)!important;font-weight:800;font-size:15px!important;line-height:1}
.moa-nb{font-style:normal;font-size:11px;color:#b45309;background:#fef3c7;border-radius:999px;padding:1px 6px;flex:none}
.moa-star{color:#f59e0b;font-style:normal}
.moa-canvas.compact .moa-node.k-kw{white-space:normal}
/* 시트 */
.moa-sheet-wrap{position:fixed;inset:0;z-index:90;pointer-events:auto}.moa-sheet-wrap[hidden]{display:none}
.moa-scrim{position:absolute;inset:0;background:rgba(10,15,30,.38);opacity:0;transition:opacity .24s}
.moa-sheet{position:absolute;left:0;right:0;bottom:0;max-height:88dvh;overflow:auto;background:var(--moa-paper);border-radius:22px 22px 0 0;padding:6px 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.moa-sheet-wrap.on .moa-scrim{opacity:1}.moa-sheet-wrap.on .moa-sheet{transform:none}
@media(min-width:900px){.moa-sheet{left:auto;top:0;width:min(560px,46vw);max-height:none;border-radius:22px 0 0 22px;transform:translateX(100%);padding-top:20px}.moa-grab{display:none}}
.moa-grab{width:44px;height:5px;border-radius:9px;background:var(--moa-line);margin:6px auto 12px}
.moa-detail h2,.moa-editor h3{font-size:19px;letter-spacing:-.4px;line-height:1.4;margin:4px 0 8px}
.moa-crumbs{display:block;color:var(--moa-muted);font-size:12px;line-height:1.5}
.moa-stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--moa-muted);margin:6px 0}.moa-stats span{display:inline-flex;align-items:center;gap:5px}.moa-stats b{color:var(--moa-ink)}
.moa-full{background:var(--moa-soft);border-radius:12px;padding:12px;line-height:1.7;margin:10px 0}
.moa-kids{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:7px}
.moa-kids button{display:flex;align-items:center;gap:10px;width:100%!important;text-align:left;padding:10px 12px!important;border-radius:13px;border:1px solid var(--moa-line)!important;background:var(--moa-bg)!important}
.moa-kids button>span{display:flex;flex-direction:column;min-width:0}.moa-kids small{color:var(--moa-muted);font-size:11.5px}
.moa-kcards{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.moa-kcard{border:1px solid var(--moa-line);border-left:4px solid var(--st-unseen);border-radius:14px;padding:11px 13px;background:var(--moa-bg)}
.moa-kcard.st-passed{border-left-color:var(--st-passed)}.moa-kcard.st-hinted{border-left-color:var(--st-hinted)}.moa-kcard.st-self{border-left-color:var(--st-self)}.moa-kcard.st-retry{border-left-color:var(--st-retry)}
.moa-kcard header{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.moa-chip{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--moa-soft);color:var(--moa-muted)}
.moa-face{line-height:1.8;margin:8px 0;font-size:15px}
.moa-blank{display:inline-block;min-width:3em;padding:0 6px!important;margin:0 2px!important;border-bottom:2px solid var(--moa-acc)!important;background:var(--moa-soft)!important;border-radius:6px 6px 0 0;color:var(--moa-muted)!important;font-weight:700}
.moa-ans{background:color-mix(in srgb,var(--st-passed) 22%,transparent);color:inherit;border-radius:5px;padding:0 4px;font-weight:800}.moa-ans.pop{animation:moa-pop .3s cubic-bezier(.2,.9,.3,1.5)}@keyframes moa-pop{from{transform:scale(.6);opacity:0}}
.moa-kcard footer{display:flex;gap:6px;flex-wrap:wrap}
.moa-note-peek{font-size:13px;background:#fffbea;border:1px solid #f6e7a8;border-radius:11px;padding:8px 10px;margin:6px 0;color:#5b4a12}
html[data-theme=dark] .moa-note-peek{background:#2a2412;border-color:#4b3f17;color:#f3e3a6}
.moa-note-peek.big{font-size:14px}.moa-note-peek p{margin:3px 0}.moa-note-peek hr{border:0;border-top:1px dashed #e5d48a}
/* 에디터 */
.moa-lab{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--moa-muted);margin:10px 0}.moa-lab.grow{flex:1}
.moa-tb{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 6px}.moa-tb button{padding:5px 9px!important;border-radius:8px;background:var(--moa-soft)!important;font-size:12.5px}
.moa-colors{display:flex;gap:6px}.moa-color{width:24px;height:24px;border-radius:50%;border:2px solid var(--moa-line)!important}.moa-color.on{outline:2px solid var(--moa-acc);outline-offset:2px}
.c-none.moa-color{background:var(--moa-paper)}.c-yellow{--nc:#fde68a}.c-green{--nc:#bbf7d0}.c-blue{--nc:#bfdbfe}.c-pink{--nc:#fbcfe8}.c-violet{--nc:#ddd6fe}
.moa-color:not(.c-none){background:var(--nc)}
.moa-pin{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.moa-preview{border:1px dashed var(--moa-line);border-radius:12px;padding:10px 12px;margin:8px 0}
.moa-md,.moa-preview{line-height:1.65;font-size:14px}.moa-md p,.moa-preview p{margin:4px 0}.moa-md ul,.moa-md ol,.moa-preview ul,.moa-preview ol{margin:4px 0;padding-left:20px}
.moa-check{list-style:none;padding-left:4px!important}.moa-check li::before{content:'☐ '}.moa-check li.done{color:var(--moa-muted);text-decoration:line-through}.moa-check li.done::before{content:'☑ '}
.moa-md blockquote,.moa-preview blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--moa-line);color:var(--moa-muted)}
.moa-md mark,.moa-preview mark,.moa-note-peek mark{background:#fde68a;color:#172033;border-radius:3px;padding:0 2px}
.moa-md code{background:var(--moa-soft);border-radius:4px;padding:0 4px}
.moa-saved{color:var(--moa-muted);font-size:11.5px}
/* 노트 목록 */
.moa-note-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px;margin-top:10px}
.moa-note{background:var(--moa-paper);border:1px solid var(--moa-line);border-top:5px solid var(--nc,var(--moa-line));border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:4px}
.moa-note header{line-height:1.45}.moa-lv{font-size:10.5px;font-weight:800;color:#fff;background:var(--moa-acc);border-radius:6px;padding:1px 6px;margin-right:6px}
.moa-chunk{margin:4px 0;font-weight:700;background:color-mix(in srgb,var(--nc,#fde68a) 50%,transparent);border-radius:8px;padding:5px 8px;font-size:13px}
.moa-note footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.moa-note footer small{color:var(--moa-muted);font-size:11px}
/* 검색 */
.moa-results{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.moa-res{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:10px 12px!important;border-radius:13px;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;width:100%!important}
.moa-res .moa-dot{margin-top:6px}.moa-res>span{display:flex;flex-direction:column;min-width:0}.moa-res small{color:var(--moa-muted);font-size:11.5px}.moa-ctx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 기록 */
.moa-track h3{font-size:15px;margin:18px 0 8px}.moa-track h3 small{font-weight:500;color:var(--moa-muted);font-size:12px}
.moa-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.moa-kpis>div{background:var(--moa-paper);border:1px solid var(--moa-line);border-radius:14px;padding:12px}.moa-kpis small{display:block;color:var(--moa-muted);font-size:11.5px}.moa-kpis b{font-size:22px;letter-spacing:-.5px}
@media(max-width:520px){.moa-kpis{grid-template-columns:repeat(2,1fr)}}
.moa-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:130px;align-items:end}
.moa-bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}.moa-bars i{display:block;width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:linear-gradient(#6a8cff,#2463eb);min-height:2px;transition:height .6s}
.moa-bars small{color:var(--moa-muted);font-size:11px}.moa-bars b{font-size:11px}
.moa-unit-rows{display:flex;flex-direction:column;gap:6px}.moa-unit-rows button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;text-align:left;padding:10px 12px!important;border-radius:13px;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;border-left:5px solid hsl(var(--h) 70% 55%)!important}
.moa-unit-rows .moa-stackbar{grid-column:1/-1;margin:2px 0 0}
@media(prefers-reduced-motion:reduce){#moa-root *,.moa-node{transition:none!important;animation:none!important}}
.moa-ttl{display:block;line-height:1.35}.moa-ttl .moa-code{vertical-align:1px}
.moa-node .moa-nt{display:block}.moa-node .moa-nt small{display:block}
.moa-canvas.compact .moa-node .moa-ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moa-node.k-stmt .moa-ttl{margin-bottom:2px}
.moa-unit-rows button{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 6px}
.moa-unit-rows .moa-stackbar{flex-basis:100%}
.moa-detail .moa-row{flex-wrap:wrap}.moa-detail .moa-row .moa-btn{white-space:nowrap}
.moa-kcard footer .moa-btn{white-space:nowrap}

/* ===== v0.3: 하나의 하단 탭 + 원본 엔진 중복 탐색 숨김 ===== */
:root{--moa-tab-h:62px}
html.moa-layer .v3-bottom-nav,html.moa-layer .study-nav-handle,html.moa-layer .study-nav-dialog,html.moa-layer .v3-app-header,html.moa-layer .hr-help,html.moa-layer .hr-coach{display:none!important}
html.moa-layer body{padding-bottom:calc(var(--moa-tab-h) + 12px + env(safe-area-inset-bottom))!important}
html.moa-layer.moa-onboarding body{padding-bottom:0!important}
html.moa-open,html.moa-open body{overflow:hidden}
#moa-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:79;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--moa-tab-h) + env(safe-area-inset-bottom));padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left));background:color-mix(in srgb,var(--moa-paper) 94%,transparent);border-top:1px solid var(--moa-line);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);pointer-events:auto}
#moa-tabbar[hidden]{display:none}
#moa-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;margin:5px 3px;border-radius:14px;color:var(--moa-muted);font-size:11.5px;font-weight:700;touch-action:manipulation;transition:background .15s,color .15s}
#moa-tabbar button .moa-svg{width:23px;height:23px}
#moa-tabbar button.on{color:var(--moa-acc);background:var(--moa-soft)}
#moa-tabbar button:active{transform:scale(.95)}
#moa-memo{position:fixed;top:calc(8px + env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:78;display:inline-flex;align-items:center;gap:5px;padding:8px 12px;min-height:40px;border-radius:999px;background:var(--moa-paper);border:1px solid var(--moa-line);box-shadow:0 2px 10px rgba(20,30,60,.1);color:var(--moa-acc);font-weight:700;font-size:13px;touch-action:manipulation}
#moa-memo[hidden]{display:none}#moa-memo .moa-svg{width:16px;height:16px}#moa-memo.has{background:#fff7d6;border-color:#f3dc85;color:#8a6200}
html[data-theme=dark] #moa-memo.has{background:#2a2412;border-color:#4b3f17;color:#f3e3a6}
#moa-root.sheet-only,#moa-root.toast-only{background:none;pointer-events:none;bottom:0;z-index:96}
#moa-root.sheet-only .moa-shell,#moa-root.toast-only .moa-shell{display:none}
.moa-svg{width:20px;height:20px;flex:none}
/* 홈 */
.moa-home{max-width:560px!important;display:flex;flex-direction:column;gap:14px}
.moa-hhead,.moa-phead{display:flex;align-items:center;gap:10px;min-height:44px}
.moa-hhead .moa-iconbtn{margin-left:auto}
.moa-phead .moa-h1{margin:0}.moa-phead .moa-iconbtn:last-child{margin-left:auto}
.moa-iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--moa-muted)!important;touch-action:manipulation}
.moa-iconbtn:active{background:var(--moa-soft)!important}
.moa-subj{display:inline-flex;background:var(--moa-soft);border-radius:12px;padding:3px}
.moa-subj a{padding:8px 16px;border-radius:9px;font-size:14px;font-weight:700;color:var(--moa-muted);text-decoration:none;min-height:38px;display:inline-flex;align-items:center}
.moa-subj a.on{background:var(--moa-paper);color:var(--moa-acc);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.moa-date{margin:4px 0 -10px;color:var(--moa-muted);font-size:14px}
.moa-h1{font-size:26px;letter-spacing:-.8px;margin:6px 0 2px;line-height:1.3}
.moa-today{background:var(--moa-paper);border:1px solid var(--moa-line);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:6px}
.moa-today small{color:var(--moa-muted);font-size:13px;font-weight:600}
.moa-today h2{font-size:20px;letter-spacing:-.4px;margin:0;line-height:1.4}
.moa-today p{margin:0 0 8px;font-size:14px}
.moa-start{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%!important;min-height:56px;border-radius:16px;background:var(--moa-acc)!important;color:#fff!important;font-size:17px;font-weight:800;touch-action:manipulation;transition:transform .12s}
.moa-start:active{transform:scale(.98)}.moa-start .moa-svg{width:20px;height:20px;fill:currentColor}
html[data-theme=dark] .moa-start{color:#0d1421!important}
.moa-chips{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.moa-chip2{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px 16px!important;min-height:84px;border-radius:18px;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;touch-action:manipulation}
.moa-chip2.ring{flex-direction:row;align-items:center;gap:12px}
.moa-chip2 small,.moa-kpi small{color:var(--moa-muted);font-size:12px;font-weight:600;display:block}
.moa-chip2 b,.moa-kpi b{font-size:21px;letter-spacing:-.4px;display:block;line-height:1.3}
.moa-chip2 span,.moa-kpi em{color:var(--moa-muted);font-size:12px;font-style:normal}
.moa-chip2>span{display:flex;flex-direction:column}
.moa-foot{text-align:center;font-size:13px;margin:4px 0 0}
.moa-pring{position:relative;display:inline-grid;place-items:center;flex:none}
.moa-pring svg{position:absolute;inset:0;width:100%;height:100%}
.moa-pring circle{fill:none;stroke-width:6}.moa-pring .bg{stroke:var(--moa-line)}.moa-pring .fg{stroke:var(--moa-acc);stroke-linecap:round;transition:stroke-dashoffset .6s}
.moa-pring b{font-size:12px!important;font-weight:800;letter-spacing:-.3px}
/* 기록 */
.moa-track{max-width:640px!important}
.moa-kpis{display:grid!important;grid-template-columns:1.4fr 1fr 1fr!important;gap:8px}
.moa-kpi{display:flex!important;align-items:center;gap:10px;text-align:left;background:var(--moa-paper)!important;border:1px solid var(--moa-line)!important;border-radius:16px;padding:12px!important;min-height:80px}
.moa-kpi>span{display:flex;flex-direction:column;min-width:0}
@media(max-width:420px){.moa-kpis{grid-template-columns:1fr 1fr!important}.moa-kpis .moa-kpi:first-child{grid-column:1/-1}}
.moa-bars>div.today b{color:var(--moa-acc)}.moa-bars>div.met i{background:var(--st-passed)!important}
.moa-units-d{margin:14px 0}.moa-units-d summary{cursor:pointer;font-weight:700;font-size:14px;min-height:44px;display:flex;align-items:center}
.moa-list{display:flex;flex-direction:column;background:var(--moa-paper);border:1px solid var(--moa-line);border-radius:16px;overflow:hidden;margin:12px 0}
.moa-list>button,.moa-toggle{display:flex!important;align-items:center;gap:12px;width:100%!important;text-align:left;padding:13px 14px!important;min-height:56px;border-bottom:1px solid var(--moa-line)!important;color:var(--moa-ink);touch-action:manipulation;cursor:pointer}
.moa-list>:last-child{border-bottom:0!important}
.moa-list>button>span,.moa-toggle>span{flex:1;display:flex;flex-direction:column;font-weight:700;font-size:15px}
.moa-list small{font-weight:500;color:var(--moa-muted);font-size:12px}
.moa-list em{font-style:normal;color:var(--moa-muted);font-weight:700}
.moa-list .chev{color:var(--moa-muted);width:18px;height:18px}
.moa-list>button>.moa-svg:first-child{color:var(--moa-acc)}
.moa-toggle input{width:22px;height:22px;accent-color:var(--moa-acc)}
.moa-more{max-width:640px!important}.moa-more h3{font-size:14px;color:var(--moa-muted);margin:18px 4px 0}
/* 계획 시트 */
.moa-plan h3{font-size:19px;margin:4px 0 6px}
.moa-goalopts{display:flex;flex-wrap:wrap;gap:6px}
.moa-goalopts button{padding:9px 13px!important;min-height:42px;border-radius:12px;background:var(--moa-soft)!important;color:var(--moa-ink)!important;font-weight:700;font-size:14px}
.moa-goalopts button.on{background:var(--moa-acc)!important;color:#fff!important}
.moa-plan .moa-input{font-size:16px;min-height:46px}
/* 마인드맵 머리 */
.moa-maphead{position:sticky;top:-10px;z-index:3;background:var(--moa-bg);padding:2px 0 8px}
.moa-maphead .moa-input{font-size:16px;min-height:46px;border-radius:14px}
.moa-mapbody[hidden]{display:none}
.moa-map-head{align-items:center!important}.moa-mh-txt{flex:1;min-width:0}
.moa-tools .moa-seg button{min-height:38px}
.moa-tools .moa-icon{width:40px;height:40px}
.moa-unit{min-height:44px}
.moa-fold{width:32px!important;height:32px!important}
.moa-detail .moa-btn,.moa-editor .moa-btn,.moa-kcard .moa-btn,.moa-note .moa-btn{min-height:40px}
.moa-chip2>span.moa-pring,.moa-kpi>span.moa-pring{display:inline-grid;place-items:center;flex-direction:initial}
.moa-pring b{position:relative;display:block;line-height:1!important;font-size:12px!important;color:var(--moa-ink)}
html.moa-layer .cs-blank.moa-nudge,html.moa-layer input.moa-nudge{animation:moa-nudge .8s ease-in-out;outline:3px solid #f59e0b;outline-offset:2px}
@keyframes moa-nudge{0%,100%{transform:none}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
/* 데스크톱: 하단 탭 대신 왼쪽 레일 (본문·엔진 하단 버튼과 겹치지 않음) */
@media(min-width:900px){
 :root{--moa-rail:92px}
 #moa-tabbar{top:0;bottom:0;right:auto;width:var(--moa-rail);height:auto;grid-template-columns:1fr;grid-template-rows:repeat(4,76px);align-content:start;padding:18px 8px;border-top:0;border-right:1px solid var(--moa-line)}
 #moa-tabbar button{margin:4px 0;font-size:12px}
 #moa-root{left:var(--moa-rail);bottom:0}
 html.moa-layer body{padding-bottom:24px!important;padding-left:var(--moa-rail)!important}
 html.moa-layer.moa-onboarding body{padding-left:0!important}
 .moa-toast{bottom:28px;left:calc(50% + var(--moa-rail)/2)}
 #moa-root.sheet-only,#moa-root.toast-only{left:0}
}
.moa-sheet-x{position:sticky;top:0;float:right;z-index:2;display:inline-grid!important;place-items:center;width:44px!important;height:44px;margin:-4px -6px 0 8px!important;border-radius:50%;background:var(--moa-soft)!important;color:var(--moa-ink)!important}
.moa-sheet-x .moa-svg{width:20px;height:20px;stroke-width:2.2}
.moa-tools{flex-wrap:nowrap!important;gap:6px!important}.moa-tools .moa-seg{flex:none}.moa-tools .moa-seg button{padding:6px 10px!important;font-size:13px}
.moa-tools .moa-select{flex:1 1 auto;min-width:0;width:auto!important}.moa-tools .moa-icon{flex:none}
@media(max-width:360px){.moa-tools .moa-seg button{padding:6px 7px!important;font-size:12px}}
.moa-tools .moa-grow{display:none}@media(min-width:700px){.moa-tools .moa-select{flex:0 1 160px}.moa-tools .moa-grow{display:block;flex:1}}
.moa-canvas:not(.compact) .moa-node.k-topic .moa-ttl,.moa-canvas:not(.compact) .moa-node.k-group .moa-ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moa-canvas:not(.compact) .moa-node.k-topic,.moa-canvas:not(.compact) .moa-node.k-group{max-height:54px}

/* ===== v0.4 디자인: 인디고·청록, 부드러운 그림자, 스프링 눌림, 떠 있는 탭바 (베타의 감각 되살리기) ===== */
:root{--moa-bg:#f5f6fb;--moa-paper:#fff;--moa-ink:#14162b;--moa-muted:#8a8fa8;--moa-line:#e3e5f0;--moa-acc:#4f46e5;--moa-acc2:#0ea5a4;--moa-soft:#eef0ff;
--moa-shadow:0 1px 2px rgba(20,22,43,.04),0 8px 24px -8px rgba(20,22,43,.10);--moa-shadow2:0 18px 40px -16px rgba(40,40,120,.35);
--moa-ease:cubic-bezier(.2,.8,.2,1);--moa-spring:cubic-bezier(.34,1.56,.64,1);--moa-grad:linear-gradient(135deg,#4f46e5,#0ea5a4)}
html[data-theme=dark]{--moa-bg:#0e1020;--moa-paper:#181b33;--moa-ink:#eef0ff;--moa-muted:#7d82a3;--moa-line:#262a4a;--moa-acc:#8b8cff;--moa-acc2:#2dd4bf;--moa-soft:#23264a;
--moa-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -10px rgba(0,0,0,.6);--moa-shadow2:0 18px 40px -16px rgba(0,0,0,.7);--moa-grad:linear-gradient(135deg,#6d6aff,#14b8a6)}
/* 원본 엔진 카드도 같은 색으로 (구조는 그대로) */
html.moa-layer{--green:#4f46e5;--soft:#eef0ff;--bg:#f5f6fb;--v3-blue:#4f46e5;--v3-soft:#eef0ff}
html.moa-layer[data-theme=dark]{--green:#8b8cff;--soft:#23264a;--v3-blue:#8b8cff;--v3-soft:#23264a}
html.moa-layer #focus-app .fx-root{--fx-green:var(--moa-acc);--fx-soft:var(--moa-soft)}
html.moa-layer #focus-app .fx-primary{background:var(--moa-grad)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 18px -10px var(--moa-acc)!important;transition:transform .18s var(--moa-spring),filter .2s}
html.moa-layer #focus-app :is(.fx-primary,.fx-secondary,.fx-rate,.cs-blank):active{transform:scale(.97)}
html.moa-layer #focus-app .fx-rate{transition:transform .18s var(--moa-spring),box-shadow .2s;box-shadow:var(--moa-shadow)}
html.moa-layer #focus-app .fx-rate-known:not([disabled]){background:color-mix(in srgb,var(--moa-acc2) 12%,var(--moa-paper))!important;color:#0b7f7e!important;border-color:color-mix(in srgb,var(--moa-acc2) 35%,transparent)!important}
html.moa-layer[data-theme=dark] #focus-app .fx-rate-known:not([disabled]){color:#5eead4!important}
html.moa-layer #focus-app .cs-answer{animation:moa-pop .34s var(--moa-spring)}
html.moa-layer #focus-app .cs-blank{transition:transform .15s var(--moa-spring),background .2s}
.moa-shake{animation:moa-shake .38s}
.moa-pop{animation:moa-pop .5s var(--moa-spring)}
@keyframes moa-pop{0%{transform:scale(.8);opacity:.3}100%{transform:none;opacity:1}}
@keyframes moa-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes moa-in-fwd{from{opacity:0;transform:translateX(18px)}}
@keyframes moa-in-back{from{opacity:0;transform:translateX(-18px)}}
@keyframes moa-in-up{from{opacity:0;transform:translateY(10px)}}
.moa-main.enter-fwd>*{animation:moa-in-fwd .28s var(--moa-ease)}
.moa-main.enter-back>*{animation:moa-in-back .28s var(--moa-ease)}
.moa-main.enter-up>*{animation:moa-in-up .3s var(--moa-ease)}
#moa-root.leaving .moa-main{opacity:.4;transform:scale(.99);transition:opacity .12s,transform .12s}
@media (prefers-reduced-motion:reduce){.moa-main>*,.moa-pop,.moa-shake,html.moa-layer #focus-app .cs-answer{animation:none!important}}
/* 스냅샷(엔진 준비 전 첫 화면) */
#moa-snap>.moa-shell{position:fixed;top:0;left:0;right:0;bottom:calc(var(--moa-tab-h) + env(safe-area-inset-bottom));z-index:80;background:var(--moa-bg);color:var(--moa-ink)}
#moa-snap .moa-start::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:moa-spin .8s linear infinite;opacity:0;transition:opacity .2s}
#moa-snap .moa-start.pressed::after{opacity:1}
#moa-snap .pressed{transform:scale(.97)}
#moa-snap button{font:inherit;cursor:pointer;border:0}
@keyframes moa-spin{to{transform:rotate(360deg)}}
html.moa-snapping #startup-status{display:none!important}
#moa-snap :is(#moa-tabbar) button{background:none;color:var(--moa-muted)}
/* 홈 */
.moa-h1{font-weight:800}
.moa-today{border:0!important;box-shadow:var(--moa-shadow2);background:var(--moa-paper);border-radius:24px!important;position:relative;overflow:hidden}
.moa-today::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--moa-grad)}
.moa-start{background:var(--moa-grad)!important;color:#fff!important;border-radius:18px!important;box-shadow:0 10px 22px -12px var(--moa-acc);transition:transform .2s var(--moa-spring),box-shadow .2s!important}
html[data-theme=dark] .moa-start{color:#fff!important}
.moa-start:active{transform:scale(.97)!important}
.moa-queue{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.moa-queue span{display:inline-flex;align-items:baseline;gap:3px;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;background:var(--moa-soft);color:var(--moa-acc)}
.moa-queue span b{font-size:15px;font-weight:800}
.moa-queue .q-new{background:color-mix(in srgb,var(--moa-acc2) 13%,var(--moa-paper));color:#0b7f7e}
html[data-theme=dark] .moa-queue .q-new{color:#5eead4}
.moa-queue .q-min{background:transparent;color:var(--moa-muted);border:1px solid var(--moa-line)}
.moa-recap{background:var(--moa-paper);border-radius:18px;padding:12px 14px;box-shadow:var(--moa-shadow)}
.moa-recap p{margin:6px 0 0;font-size:13px;color:var(--moa-muted)}.moa-recap p b{color:var(--moa-ink)}
.moa-recap-bar{height:6px;border-radius:9px;background:color-mix(in srgb,#e5484d 22%,var(--moa-line));overflow:hidden}.moa-recap-bar i{display:block;height:100%;background:var(--moa-grad);border-radius:9px;transition:width .6s var(--moa-ease)}
.moa-chip2,.moa-kpi{border:0!important;box-shadow:var(--moa-shadow);border-radius:20px!important;transition:transform .2s var(--moa-spring)!important}
.moa-chip2:active,.moa-kpi:active{transform:scale(.97)}
.moa-pring .fg{stroke:var(--moa-acc2)!important}
/* 기록: 내 노트를 맨 위에 */
.moa-notecard{display:flex!important;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px!important;margin:4px 0 12px!important;border-radius:20px;background:var(--moa-paper)!important;box-shadow:var(--moa-shadow);transition:transform .2s var(--moa-spring)}
.moa-notecard:active{transform:scale(.98)}
.moa-notecard>.moa-svg:first-child{width:38px;height:38px;padding:9px;border-radius:12px;background:var(--moa-grad);color:#fff;flex:none}
.moa-notecard span{flex:1;display:flex;flex-direction:column}.moa-notecard b{font-size:16px}.moa-notecard small{color:var(--moa-muted);font-size:12.5px}
.moa-notecard .chev{width:18px;height:18px;color:var(--moa-muted)}
/* 탭바: 모바일은 떠 있는 둥근 막대, 학습은 그라디언트 */
@media (max-width:899px){
 :root{--moa-tab-h:78px}
 #moa-tabbar{left:50%!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:translateX(-50%);width:min(440px,calc(100% - 20px));height:62px!important;padding:6px!important;gap:2px;border:0!important;border-radius:24px;background:color-mix(in srgb,var(--moa-paper) 88%,transparent)!important;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);box-shadow:var(--moa-shadow2)}
 #moa-tabbar button{margin:0!important;border-radius:18px;min-height:50px!important}
}
#moa-tabbar button{transition:color .2s,background .25s,transform .18s var(--moa-spring)!important}
#moa-tabbar button:active{transform:scale(.9)!important}
#moa-tabbar button.on{color:var(--moa-acc)!important;background:var(--moa-soft)!important}
#moa-tabbar button[data-moatab=learn]{color:#fff!important;background:var(--moa-grad)!important;box-shadow:0 8px 18px -8px var(--moa-acc)}
#moa-tabbar button[data-moatab=learn].on{box-shadow:0 0 0 3px color-mix(in srgb,var(--moa-acc) 25%,transparent),0 8px 18px -8px var(--moa-acc)}
/* 메모 칩: 답을 본 뒤 '한 줄 정리'로 살짝 권함 */
#moa-memo{box-shadow:var(--moa-shadow);transition:transform .2s var(--moa-spring),background .2s,color .2s}
#moa-memo:active{transform:scale(.94)}
#moa-memo.ready{background:var(--moa-grad);color:#fff;border-color:transparent;animation:moa-pop .45s var(--moa-spring)}
/* 빠른 메모 시트 */
.moa-sheet{box-shadow:var(--moa-shadow2)}
.moa-quick h3{margin:4px 0 10px;font-size:17px}
.moa-ta.quick{min-height:96px;font-size:16px;border-radius:14px;border:1.5px solid var(--moa-line);transition:border-color .2s,box-shadow .2s}
.moa-ta.quick:focus{outline:0;border-color:var(--moa-acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--moa-acc) 15%,transparent)}
.moa-starters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.moa-starters button{padding:6px 12px!important;border-radius:999px;background:var(--moa-soft)!important;color:var(--moa-acc)!important;font-size:13px;font-weight:700;transition:transform .15s var(--moa-spring)}
.moa-starters button:active{transform:scale(.94)}
@media (min-width:900px){.moa-sheet.quick{top:auto;bottom:24px;right:24px;width:min(460px,40vw);border-radius:22px}}
/* 마인드맵 노드·단원 칩 */
.moa-node{border-radius:14px;box-shadow:var(--moa-shadow)!important;transition:top .32s var(--moa-ease),left .32s var(--moa-ease),opacity .26s,transform .2s var(--moa-spring),box-shadow .2s!important}
.moa-unit{border-radius:16px!important;transition:transform .2s var(--moa-spring),background .2s!important}.moa-unit:active{transform:scale(.96)}
.moa-btn{border-radius:12px!important;transition:transform .18s var(--moa-spring)!important}
html.moa-layer #focus-app{--ss-primary:var(--moa-acc);--v3-blue:var(--moa-acc)}
html.moa-layer #focus-app:is([data-v3-page]) :is(.fx-primary):not(:disabled){background:var(--moa-grad)!important;border-color:transparent!important;color:#fff!important}
html.moa-layer #focus-app:is([data-v3-page]) .fx-rate-known:not(:disabled){background:color-mix(in srgb,var(--moa-acc2) 12%,var(--moa-paper))!important;color:#0b7f7e!important;border-color:color-mix(in srgb,var(--moa-acc2) 35%,transparent)!important}
html.moa-layer[data-theme=dark] #focus-app:is([data-v3-page]) .fx-rate-known:not(:disabled){color:#5eead4!important}
@media (max-width:899px){html.moa-layer{scroll-padding-bottom:calc(var(--moa-tab-h,78px) + 24px)}}
/* v0.5 — 진동 대신 화면 신호 · 틀린 카드 메모 · 다시 본 카드의 내 메모 · 어제 틀린 카드 먼저 */
.moa-hfb{animation:moa-hfb .42s ease-out}
.moa-hfb-bad{animation:moa-hfb-bad .42s ease-out}
@keyframes moa-hfb{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--moa-acc) 55%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
@keyframes moa-hfb-bad{0%{box-shadow:0 0 0 0 rgba(229,72,77,.5)}100%{box-shadow:0 0 0 10px transparent}}
#moa-memo.wrong{background:#fff1f0;border-color:#f5b5b0;color:#b42318;animation:moa-pop .45s var(--moa-spring)}
html[data-theme=dark] #moa-memo.wrong{background:#3a1717;border-color:#6b2a28;color:#ffb4ab}
.moa-quick.wrong h3 .moa-wrongtag{display:inline-block;font-size:11px;font-weight:800;color:#b42318;background:#fdecec;border-radius:6px;padding:1px 6px;vertical-align:2px}
#moa-peek{margin:12px 0 4px;padding:10px 12px;border-radius:12px;background:#fff7d6;border:1px solid #f3dc85;color:#5f4500;font-size:14px;line-height:1.55;text-align:left;display:flex;flex-wrap:wrap;gap:2px 8px}
#moa-peek b{font-size:11.5px;font-weight:800;color:#8a6200;flex:none;padding-top:2px}
#moa-peek .moa-peek-chunk{font-weight:800}
#moa-peek .moa-peek-body{flex:1 1 200px;min-width:0;word-break:keep-all;overflow-wrap:anywhere}
html[data-theme=dark] #moa-peek{background:#2a2412;border-color:#4b3f17;color:#f3e3a6}html[data-theme=dark] #moa-peek b{color:#e8c868}
#moa-warm{position:relative;z-index:2;margin:calc(8px + env(safe-area-inset-top)) auto 4px;max-width:760px;width:calc(100% - 24px);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:14px;background:var(--moa-paper);border:1px solid #f5b5b0;box-shadow:0 2px 10px rgba(20,30,60,.08);color:var(--moa-ink);font-size:14px}
#moa-warm p{margin:0;flex:1 1 180px;display:flex;flex-direction:column;padding-right:110px}
#moa-warm p small{color:var(--moa-muted);font-size:12px}
#moa-warm div{display:flex;gap:6px;flex-wrap:wrap}
#moa-warm button{font:inherit;font-size:13px;font-weight:700;padding:8px 12px;min-height:40px;border-radius:10px;border:1px solid var(--moa-line);background:var(--moa-soft);color:var(--moa-acc);cursor:pointer;touch-action:manipulation}
#moa-warm button.on{background:var(--moa-acc);border-color:transparent;color:#fff}html[data-theme=dark] #moa-warm button.on{color:#0d1421}
#moa-warm button.ghost{background:transparent;color:var(--moa-muted)}
@media(min-width:900px){#moa-warm{margin-left:calc(var(--moa-rail) + 12px);width:auto;max-width:760px}#moa-warm p{padding-right:0}}
.moa-missline{margin:8px 0;padding:8px 12px;border-radius:10px;background:#fff1f0;color:#b42318;font-weight:700;font-size:14px}
.moa-missline.clean{background:#ecfdf3;color:#067647}
html[data-theme=dark] .moa-missline{background:#3a1717;color:#ffb4ab}html[data-theme=dark] .moa-missline.clean{background:#0f2e1f;color:#8ee0b0}
.moa-missfirst{margin:4px 0 8px;font-size:13.5px;color:#b42318}html[data-theme=dark] .moa-missfirst{color:#ffb4ab}
.moa-setrow{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:56px;border-bottom:1px solid var(--moa-line);font-weight:700;font-size:15px}
.moa-setrow>span{flex:1}.moa-setrow.col{flex-direction:column;align-items:stretch;gap:8px}.moa-setrow.col .moa-btn{align-self:flex-start;min-height:40px}
.moa-setrow .moa-seg button{min-height:36px}
.moa-htest{margin:0;font-weight:400;line-height:1.5}
@media (prefers-reduced-motion:reduce){.moa-hfb,.moa-hfb-bad,#moa-memo.wrong{animation:none!important}}
