html{font-size:23.2px}/* V1.5: 16px x 1.45 — rem로 적은 모든 크기가 함께 커져요 */
:root{--bg:#f7f8f5;--surface:#fff;--ink:var(--c1);--muted:var(--c2);--green:var(--c3);--light-green:var(--c4);--line:var(--c5);--sidebar:13.375rem}*{box-sizing:border-box}body{margin:0;font-family:'Manrope','Noto Sans KR',sans-serif;background:var(--bg);color:var(--ink);font-size:0.8125rem}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:0.1875rem solid var(--c6);outline-offset:0.1875rem}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:1.125rem;height:1.125rem;stroke-width:1.7;flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem}button:hover{filter:brightness(.96)}[hidden]{display:none!important}.sidebar{width:var(--sidebar);background:#fcfcfa;border-right:0.0625rem solid var(--line);position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;padding:2.0625rem 1.25rem 0}.brand{display:flex;align-items:center;font-size:1.5rem;font-weight:800;letter-spacing:-0.0938rem;gap:0.5625rem;margin:0 0.5625rem 2.8125rem}.brand-mark{width:2rem;height:2.1875rem;display:grid;place-items:center;color:var(--c7)}.brand-mark svg{width:2rem;height:2rem;stroke-width:2}.brand-dot{color:var(--c8);margin-left:-0.5625rem}.workspace-label{font-size:0.625rem;font-weight:700;letter-spacing:0.1125rem;color:var(--c9);padding:0 0.8125rem;margin-bottom:0.9375rem}.nav-item{width:100%;justify-content:flex-start;padding:0.8125rem 0.8125rem;margin:0.1875rem 0;color:var(--c10);font-size:0.75rem;font-weight:500;border-radius:0.4375rem;gap:0.6875rem}.nav-item.active{background:var(--c11);color:var(--c12);font-weight:700}.nav-item svg{width:1.0625rem;height:1.0625rem}.nav-indicator{margin-left:auto;width:0.3125rem;height:0.3125rem;background:var(--c13);border-radius:50%}.nav-count{font-size:0.625rem;background:var(--c14);border-radius:0.3125rem;padding:0.125rem 0.375rem;margin-left:auto}.sidebar-divider{height:0.0625rem;background:var(--line);margin:1.5rem 0.75rem}.category-label{letter-spacing:0.0187rem;display:flex;justify-content:space-between}.category-label span{color:var(--c15)}.category-item{display:flex;align-items:center;width:100%;justify-content:flex-start;gap:0.75rem;padding:0.6875rem 0.9375rem;color:var(--c16);font-size:0.75rem;border-radius:0.375rem}.category-item.active{background:var(--c17);color:var(--c18)}.category-item span:last-child{margin-left:auto;font-size:0.625rem;color:var(--c19)}.category-dot{width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--category)}.growth-tip{position:relative;border:0.0625rem solid var(--c20);background:var(--c21);border-radius:0.625rem;padding:1.0625rem;margin:2.1875rem 0.25rem 1.5rem;overflow:hidden}.tip-icon{color:var(--c22)}.tip-icon svg{width:1.0625rem;height:1.0625rem}.growth-tip h3{font-size:0.75rem;line-height:1.8;font-weight:600;margin:0.625rem 0 0.375rem}.growth-tip p{font-size:0.625rem;line-height:1.9;color:var(--c23);margin:0}.tip-plant{position:absolute;bottom:0.5rem;right:-0.375rem;color:var(--c24);transform:rotate(-15deg)}.tip-plant svg{width:4.125rem;height:4.125rem;stroke-width:1}.sidebar-bottom{margin-top:auto;display:flex;gap:0.625rem;align-items:center;border-top:0.0625rem solid var(--line);padding:1.3125rem 0}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:2.0625rem;height:2.0625rem;font-size:0.75rem;font-weight:600;color:var(--c25);background:var(--c26);flex-shrink:0}.sidebar-bottom strong{font-size:0.6875rem;display:block;font-weight:600}.sidebar-bottom small{font-size:0.5625rem;color:var(--c27);display:flex;align-items:center;gap:0.25rem;margin-top:0.3125rem}.status-dot{width:0.25rem;height:0.25rem;background:var(--c28);border-radius:50%}.sidebar-bottom .icon-button{margin-left:auto;width:1.375rem}.sidebar-bottom .icon-button svg{width:0.9375rem}.main-shell{margin-left:var(--sidebar)}.topbar{height:4.4375rem;border-bottom:0.0625rem solid var(--line);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;background:#fcfcfa}.breadcrumb{display:flex;align-items:center;gap:0.9375rem;font-size:0.6875rem;color:var(--c29)}.breadcrumb>svg{width:0.875rem;color:var(--c30)}.breadcrumb>span:first-of-type{color:var(--c31)}.topbar-right{display:flex;align-items:center;gap:1.1875rem}.local-save{display:flex;align-items:center;gap:0.4375rem;color:var(--c32);font-size:0.625rem}.local-save svg{width:0.9375rem}.topbar-divider{height:0.9375rem;width:0.0625rem;background:var(--c33)}.text-button{font-size:0.6875rem;color:var(--c34)}.text-button svg{width:0.875rem}.avatar.small{width:1.8125rem;height:1.8125rem;font-size:0.6875rem}.page-content{padding:1.9375rem 1.875rem 0;max-width:103.125rem;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:0.9375rem;margin-bottom:1.625rem}.eyebrow{color:var(--c35);font-size:0.5625rem;letter-spacing:0.125rem;font-weight:700}.page-heading h1{display:flex;align-items:center;gap:0.625rem;font-size:1.6875rem;letter-spacing:-0.0781rem;margin:0.5625rem 0;font-weight:700}.heading-leaf{color:var(--c36);display:flex}.heading-leaf svg{height:1.5625rem;width:1.5625rem;stroke-width:1.4}.page-heading p{font-size:0.6875rem;color:var(--c37);margin:0}.primary-button{background:var(--c38);color:white;border:0.0625rem solid var(--c38);border-radius:0.4375rem;padding:0.6875rem 0.9375rem;font-size:0.6875rem;font-weight:500;white-space:nowrap;box-shadow:0 0.1875rem 0.3125rem var(--c39)}.primary-button svg{width:0.9375rem;height:0.9375rem}.secondary-button{border:0.0625rem solid var(--c40);border-radius:0.4375rem;padding:0.625rem 0.875rem;font-size:0.6875rem;background:white}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.8125rem;margin-bottom:1.5625rem}.stat-card{border:0.0625rem solid var(--line);border-radius:0.625rem;background:white;display:flex;align-items:center;padding:1.125rem 0.9375rem;gap:0.75rem;position:relative;min-height:5.625rem}.stat-icon{width:2.3125rem;height:2.3125rem;border-radius:0.625rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.green{background:var(--c41);color:var(--c42)}.blue{background:#ecf1f9;color:#819abb}.orange{background:#faf2e8;color:#c5a371}.purple{background:#f1edf7;color:#a194bd}.stat-label{font-size:0.625rem;color:var(--c43)}.stat-value{display:flex;align-items:baseline;gap:0.3125rem;margin-top:0.1875rem}.stat-value strong{font-size:1.625rem;line-height:1.2;font-weight:700;letter-spacing:-0.0625rem}.stat-value>span{font-size:0.625rem;color:var(--c44)}.stat-note{position:absolute;bottom:1.125rem;right:0.8125rem;font-size:0.5rem;color:var(--c45)}.blue-text{color:#8fa4bf}.mini-progress{height:0.25rem;width:2.9375rem;background:#eeedf2;position:absolute;bottom:1.4375rem;right:0.9375rem;border-radius:0.1875rem;overflow:hidden}.mini-progress span{height:100%;display:block;background:#ac9dc8}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 17.125rem;gap:1.125rem;align-items:start}.map-panel{border:0.0625rem solid var(--line);background:white;border-radius:0.6875rem;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0.8125rem 0.875rem;border-bottom:0.0625rem solid var(--line);gap:0.625rem}.segmented{display:flex;background:#f3f4f0;padding:0.1875rem;border-radius:0.375rem;flex-shrink:0}.segmented button{font-size:0.625rem;color:var(--c46);padding:0.375rem 0.625rem;border-radius:0.25rem;gap:0.375rem}.segmented button svg{width:0.875rem;height:0.875rem}.segmented .active{background:white;box-shadow:0 0.0625rem 0.25rem var(--c47);color:var(--c48)}.toolbar-actions{display:flex;align-items:center;gap:0.5rem}.search-box{display:flex;align-items:center;gap:0.375rem;border:0.0625rem solid var(--c49);border-radius:0.3125rem;padding:0.375rem 0.5rem;max-width:8.5625rem}.search-box svg{width:0.8125rem;height:0.8125rem;color:var(--c50)}.search-box input{width:100%;min-width:0;border:0;outline:0;font-size:0.625rem;background:none;color:var(--c51)}.search-box input::placeholder{color:var(--c52)}.search-box:focus-within{border-color:var(--c53)}.icon-button{width:1.8125rem;height:1.8125rem;padding:0.25rem;color:var(--c54);border-radius:0.3125rem}.icon-button:hover{background:var(--c55)}.icon-button svg{width:1rem;height:1rem}.map-filterbar{height:3rem;display:flex;align-items:center;gap:0.3125rem;padding:0 1rem;font-size:0.5625rem;background:#fdfefb}.map-crumb{gap:0.375rem;font-size:0.625rem;color:var(--c56);padding:0}.map-crumb svg{width:0.75rem;height:0.75rem}.sample-badge{margin-left:auto;padding:0.25rem 0.4375rem;border-radius:0.25rem;border:0.0625rem solid var(--c57);font-size:0.5rem;color:var(--c58);background:var(--c59)}.map-canvas{height:28.3125rem;position:relative;overflow:hidden;background-color:#fbfcf8;background-image:radial-gradient(var(--c60) 0.0469rem,transparent 0.0469rem);background-size:1.125rem 1.125rem;touch-action:none;cursor:grab}.map-canvas.dragging{cursor:grabbing}.map-world{width:53.75rem;height:33.75rem;position:absolute;transform-origin:0 0;will-change:transform}#map-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}#map-connections path{fill:none;stroke-width:1.8;opacity:.55}.skill-node{position:absolute;background:white;border:0.0625rem solid var(--node-border);border-radius:0.625rem;width:11.625rem;min-height:7.25rem;box-shadow:0 0.1875rem 0.5625rem var(--c61);padding:0.8125rem 0.875rem;cursor:pointer;text-align:left;display:block;transition:box-shadow .15s,border-color .15s}.skill-node:hover{box-shadow:0 0.25rem 0.9375rem var(--c62)}.skill-node.selected{box-shadow:0 0 0 0.1875rem var(--c63);border:0.0938rem solid var(--c64)}.node-top{display:flex;justify-content:space-between;align-items:center;gap:0.5rem}.node-icon{color:var(--node-color);width:1.5625rem;height:1.5625rem;display:grid;place-items:center;background:var(--node-bg);border-radius:0.375rem}.node-icon svg{width:0.9375rem;height:0.9375rem}.node-level{font-size:0.5625rem;color:var(--node-color);background:var(--node-bg);border-radius:0.25rem;padding:0.1875rem 0.3125rem}.node-title{font-size:0.875rem;font-weight:600;display:block;margin-top:0.5rem;letter-spacing:-0.025rem}.node-progress-info{display:flex;justify-content:space-between;font-size:0.5625rem;color:var(--c65);margin:0.5625rem 0 0.3125rem}.node-progress-info strong{color:var(--node-color);font-weight:500}.progress-track{width:100%;height:0.25rem;border-radius:0.3125rem;background:var(--c66);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:0.3125rem;background:var(--node-color,var(--c67))}.node-children{display:flex;align-items:center;justify-content:space-between;font-size:0.5625rem;color:var(--c68);margin-top:0.5rem;border-top:0.0625rem solid var(--c69);padding-top:0.4375rem}.node-children svg{width:0.75rem;height:0.75rem}.root-node{width:9.25rem;height:7rem;min-height:7rem;text-align:center;padding:0.9375rem 0.625rem;background:var(--c70);border:0.0625rem solid var(--c71);border-radius:0.875rem;box-shadow:0 0 0 0.4375rem var(--c72)}.root-node .node-icon{background:var(--c73);color:var(--c74);margin:auto;width:1.875rem;height:1.875rem;border-radius:50%}.root-node .node-title{font-size:1rem;margin:0.5rem 0 0.25rem}.root-node small{font-size:0.5625rem;color:var(--c75)}.node-add{position:absolute;width:1.5rem;height:1.5rem;border:0.0625rem solid var(--c76);border-radius:50%;background:#fff;color:var(--c77);display:flex;align-items:center;justify-content:center;right:-0.75rem;top:2.75rem;padding:0.1875rem;z-index:2}.node-add svg{width:0.75rem;height:0.75rem}.map-hint{position:absolute;left:0;right:0;bottom:4.25rem;display:flex;justify-content:center;align-items:center;gap:0.3125rem;font-size:0.5625rem;color:var(--c78);pointer-events:none}.map-hint svg{height:0.6875rem;width:0.6875rem}.map-controls{position:absolute;right:1.0625rem;bottom:1.0625rem;display:flex;align-items:center;border:0.0625rem solid var(--c79);background:white;border-radius:0.4375rem;height:2rem;padding:0 0.25rem;box-shadow:0 0.125rem 0.3125rem var(--c80);gap:0.1875rem}.map-controls button{width:1.5625rem;height:1.5625rem;color:var(--c81);padding:0.3125rem}.map-controls svg{width:0.8125rem;height:0.8125rem}.map-controls span{font-size:0.5625rem;color:var(--c82);min-width:2.125rem;text-align:center}.map-controls span:empty{width:0.0625rem;min-width:0.0625rem;height:0.875rem;background:var(--c83);margin:0 0.1875rem}.map-empty{position:absolute;inset:40% 0 auto;text-align:center;color:var(--c84);font-size:0.75rem}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;height:2.625rem;padding:0 1rem;background:#fff;border-top:0.0625rem solid var(--line);font-size:0.5rem;color:var(--c85)}.legend{display:flex;gap:0.75rem}.legend>span{display:flex;gap:0.3125rem;align-items:center}.legend-dot{display:inline-block;width:0.3125rem;height:0.3125rem;border-radius:50%}.not-started{background:var(--c86)}.growing{background:var(--c87)}.complete{background:var(--c88)}.map-footer-note{display:flex;gap:0.3125rem;align-items:center;font-size:0.5rem;color:var(--c89)}.map-footer-note svg{width:0.6875rem;height:0.6875rem}.detail-panel{border:0.0625rem solid var(--line);background:white;border-radius:0.6875rem;overflow:hidden;min-height:0;height:37.8125rem;display:flex;flex-direction:column}.detail-content{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c90) transparent}.detail-header{flex-shrink:0}.node-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-title h2{overflow-wrap:anywhere;min-width:0}.detail-title .icon-button{flex-shrink:0}.detail-header{padding:1.0625rem 1.0625rem 0.9375rem;border-bottom:0.0625rem solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:0.6875rem;font-weight:600}.detail-header>span{display:flex;align-items:center;gap:0.4375rem}.detail-header>span svg{height:0.875rem;width:0.875rem;color:var(--c91)}.detail-header .badge{font-size:0.5rem}.badge{font-size:0.5625rem;color:var(--c92);background:var(--c93);border:0.0625rem solid var(--c94);padding:0.1875rem 0.375rem;border-radius:0.25rem;font-weight:400}.detail-content{padding:1.25rem 1.1875rem}.detail-category{font-size:0.5625rem;color:var(--c95);display:flex;align-items:center;gap:0.3125rem}.detail-category svg{height:0.75rem;width:0.75rem}.detail-title{display:flex;align-items:center;justify-content:space-between;margin:0.5rem 0}.detail-title h2{font-size:1.3125rem;letter-spacing:-0.0437rem;margin:0}.detail-description{font-size:0.625rem;line-height:1.9;color:var(--c96);margin:0.5rem 0 1.125rem;white-space:pre-wrap;overflow-wrap:anywhere}.progress-label{display:flex;justify-content:space-between;font-size:0.625rem;color:var(--c97);margin:0 0 0.5rem}.progress-label strong{font-weight:600;color:var(--c98)}.detail-content .progress-track{height:0.375rem}.level-caption{display:flex;align-items:center;justify-content:space-between;font-size:0.5rem;margin-top:0.5625rem;color:var(--c99)}.level-caption b{font-weight:500;color:var(--c100)}.detail-section{border-top:0.0625rem solid var(--line);margin-top:1.1875rem;padding-top:1.0625rem}.detail-section h3{font-size:0.6875rem;font-weight:600;margin:0 0 0.875rem;display:flex;align-items:center;justify-content:space-between}.detail-section h3>span{display:flex;align-items:center;gap:0.375rem}.detail-section h3 svg{width:0.8125rem;height:0.8125rem;color:var(--c101)}.detail-section h3 small{font-size:0.5625rem;font-weight:400;color:var(--c102)}.steps-list{display:flex;flex-direction:column;gap:0.8125rem}.step-row{display:flex;align-items:flex-start;gap:0.5625rem;font-size:0.625rem;line-height:1.6;color:var(--c103);cursor:pointer}.step-row input{appearance:none;width:0.9375rem;height:0.9375rem;border:0.0625rem solid var(--c104);border-radius:0.25rem;flex-shrink:0;margin:0.0625rem 0 0;cursor:pointer;background:#fff;display:grid;place-content:center}.step-row input:checked{background:var(--c105);border-color:var(--c105)}.step-row input:checked:after{content:'✓';color:white;font-size:0.625rem}.step-row.done>span{color:var(--c106);text-decoration:line-through}.step-row.next>span:after{content:'NEXT';font-size:0.4375rem;color:var(--c107);background:var(--c108);border-radius:0.1875rem;padding:0.125rem 0.25rem;margin-left:0.3125rem;white-space:nowrap}.add-stage{display:flex;font-size:0.5625rem;color:var(--c109);gap:0.3125rem;padding:0.6875rem 0 0}.add-stage svg{width:0.75rem;height:0.75rem}.add-stage-form{display:flex;gap:0.25rem;margin-top:0.625rem}.add-stage-form input{min-width:0;width:100%;font-size:0.625rem;border:0.0625rem solid var(--c110);padding:0.4375rem;border-radius:0.3125rem;outline-color:var(--c111)}.add-stage-form button{font-size:0.625rem;background:var(--c112);border-radius:0.25rem;padding:0.3125rem 0.5rem;white-space:nowrap}.subskill-button{display:flex;width:100%;align-items:center;border:0.0625rem solid var(--c113);border-radius:0.375rem;padding:0.5625rem 0.625rem;margin-top:0.4375rem;font-size:0.625rem;justify-content:flex-start;gap:0.4375rem;color:var(--c114);background:#fdfefb}.subskill-button svg{width:0.75rem;height:0.75rem}.subskill-button span{margin-left:auto;font-size:0.5rem;color:var(--c115)}.subskill-button>svg:last-child{margin-left:0}.add-child-button{display:flex;width:100%;border:0.0625rem dashed var(--c116);color:var(--c117);border-radius:0.375rem;padding:0.5625rem;font-size:0.625rem;margin-top:0.5625rem;gap:0.3125rem}.add-child-button svg{width:0.8125rem;height:0.8125rem}.detail-note{font-size:0.5625rem;line-height:1.9;background:var(--c118);border-radius:0.375rem;padding:0.625rem;margin:1.0625rem 0 0;color:var(--c119);display:flex;align-items:flex-start;gap:0.375rem}.detail-note svg{width:0.75rem;height:0.75rem;margin-top:0.125rem}.detail-actions{margin-top:0.8125rem;display:flex;justify-content:space-between;gap:0.625rem}.detail-actions button{font-size:0.5625rem;color:var(--c120);padding:0.25rem 0}.detail-actions button:last-child{color:#b7a5a0}.detail-actions svg{width:0.75rem;height:0.75rem}.page-footer{display:flex;justify-content:space-between;gap:0.75rem;color:var(--c121);font-size:0.5625rem;padding:1.25rem 0.125rem 1.4375rem}.page-footer span:first-child{display:flex;align-items:center;gap:0.375rem}.page-footer svg{width:0.75rem;height:0.75rem}.alternate-view{border:0.0625rem solid var(--line);border-radius:0.6875rem;padding:1.5rem;background:white;min-height:37.5rem}.section-top{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;margin-bottom:1.5rem}.section-top h2{font-size:1.125rem;margin:0 0 0.5rem}.section-top p{color:var(--c122);font-size:0.6875rem;margin:0}.section-top select{max-width:9.375rem;font-size:0.6875rem;padding:0.5625rem;border:0.0625rem solid var(--c123);border-radius:0.375rem;color:var(--c124);background:white}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.9375rem}.list-skill{border:0.0625rem solid var(--c125);border-radius:0.5rem;padding:1.0625rem;text-align:left;display:block;background:#fcfdf9}.list-skill h3{font-size:0.9375rem;margin:0.75rem 0 0.4375rem}.list-skill p{font-size:0.625rem;color:var(--c126);margin:0 0 1.125rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list-skill .list-category{display:flex;align-items:center;gap:0.3125rem;font-size:0.5625rem;color:var(--node-color)}.list-category svg{height:0.8125rem;width:0.8125rem}.activity-item{display:flex;align-items:flex-start;gap:0.9375rem;border-bottom:0.0625rem solid var(--c127);padding:1.1875rem 0}.activity-symbol{background:var(--c128);border-radius:50%;padding:0.625rem;color:var(--c129);display:flex}.activity-item h3{font-size:0.75rem;font-weight:500;margin:0.125rem 0 0.4375rem}.activity-item p{font-size:0.625rem;color:var(--c130);margin:0}.empty-state{text-align:center;padding:4.0625rem 1.25rem;color:var(--c131);line-height:2}.empty-state svg{height:2.25rem;width:2.25rem;margin-bottom:0.75rem}.mobile-menu{display:none}dialog{width:29.375rem;max-width:calc(100% - 1.75rem);border:0.0625rem solid var(--c132);border-radius:0.9375rem;padding:1.625rem;color:var(--ink);box-shadow:0 1.25rem 6.25rem var(--c133);max-height:90dvh}dialog::backdrop{background:var(--c134);backdrop-filter:blur(0.1875rem)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading h2{margin:0.4375rem 0 0;font-size:1.375rem;letter-spacing:-0.0437rem}.dialog-intro{font-size:0.6875rem;line-height:1.8;color:var(--c135);margin-bottom:1.375rem}#skill-form label{display:flex;flex-direction:column;font-size:0.6875rem;font-weight:500;gap:0.5rem;margin:0.875rem 0}#skill-form label>span{display:none}#skill-form label small{font-size:0.5625rem;color:var(--c136);font-weight:400}#skill-form input,#skill-form select,#skill-form textarea{width:100%;border:0.0625rem solid var(--c137);border-radius:0.375rem;padding:0.625rem;background:#fcfdf9;color:var(--c138);font-size:0.75rem;outline-color:var(--c139)}#skill-form textarea{resize:vertical;line-height:1.8}#skill-form input::placeholder,#skill-form textarea::placeholder{color:var(--c140)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem}.dialog-actions{display:flex;justify-content:flex-end;gap:0.5rem;border-top:0.0625rem solid var(--c141);padding-top:1.25rem;margin-top:1.375rem}.toast{position:fixed;bottom:1.625rem;left:50%;transform:translate(-50%,0.9375rem);padding:0.8125rem 1.375rem;border-radius:0.5625rem;background:var(--c142);color:#fff;font-size:0.75rem;box-shadow:0 0.375rem 1.5rem var(--c143);opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90vw;text-align:center;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:2175px){.map-canvas{height:31.5625rem}.detail-panel{height:41.0625rem}.stat-note{font-size:0.625rem}.page-content{padding:2.25rem 2.5rem 0}.workspace{grid-template-columns:minmax(0,1fr) 18.75rem}.detail-content{padding:1.5rem}.stat-card{min-height:6.25rem}.map-hint{bottom:3.125rem}}
@media(max-width:1740px){:root{--sidebar:11.875rem}.sidebar{padding:1.75rem 0.8125rem 0}.brand{font-size:1.4375rem;margin-left:0.5rem}.page-content{padding:1.6875rem 1.375rem 0}.workspace{grid-template-columns:minmax(0,1fr) 15.875rem;gap:0.8125rem}.stat-card{padding:1rem 0.6875rem;gap:0.5625rem}.stat-note{display:none}.mini-progress{width:1.875rem;right:0.625rem}.stat-icon{width:1.9375rem;height:1.9375rem}.stat-label{font-size:0.5625rem}.page-heading h1{font-size:1.5625rem}.sample-badge{font-size:0.4375rem}.map-footer-note{display:none}.map-toolbar{padding:0.75rem 0.625rem}.search-box{max-width:6.625rem}.detail-content{padding:1.125rem 1rem}.map-canvas{height:28.9375rem}}
@media(max-width:1450px){.workspace{grid-template-columns:minmax(0,1fr)}.detail-panel{min-height:0;height:auto}.detail-content{overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.detail-overview{grid-row:span 2}.detail-section{margin-top:0;padding-top:0;border:0;margin-bottom:1.125rem}.detail-note{margin-top:0}.detail-actions{grid-column:1/-1}.map-canvas{height:29.375rem}.sample-badge{font-size:0.5rem}.stat-card{gap:0.5rem;padding:0.8125rem 0.625rem}.stat-icon{display:none}.mini-progress{width:1.5625rem}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-tip{margin-top:1.5625rem}.page-heading p{font-size:0.625rem}}
@media(max-width:1015px){:root{--sidebar:13.75rem}.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:0.625rem 0 2.5rem var(--c144)}.sidebar.open{transform:translateX(0)}.main-shell{margin:0}.mobile-menu{display:inline-flex}.topbar{height:3.5625rem;padding:0 0.9375rem}.breadcrumb{gap:0.5625rem;font-size:0.625rem}.breadcrumb>svg{display:none}.topbar-right{gap:0.75rem}.local-save{font-size:0.5rem;gap:0.25rem}.local-save svg{width:0.8125rem}.topbar-divider{display:none}.text-button{font-size:0;gap:0}.text-button svg{width:1.0625rem;height:1.0625rem}.avatar.small{width:1.5625rem;height:1.5625rem;font-size:0.625rem}.page-content{padding:1.5625rem 0.9375rem 0}.eyebrow{font-size:0.5rem;letter-spacing:0.1062rem}.page-heading{flex-wrap:wrap;margin-bottom:1.25rem;gap:1.0625rem}.page-heading h1{font-size:1.5625rem;margin:0.625rem 0}.page-heading p{font-size:0.625rem;line-height:1.8;letter-spacing:-0.0156rem}.page-heading .primary-button{padding:0.5625rem 0.75rem;font-size:0.625rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:0.5625rem;margin-bottom:1.125rem}.stat-card{padding:0.875rem 0.75rem;min-height:4.75rem;gap:0.6875rem}.stat-icon{display:flex;width:1.875rem;height:1.875rem}.stat-icon svg{height:1rem;width:1rem}.stat-value strong{font-size:1.5rem}.stat-label{font-size:0.5625rem}.mini-progress{width:1.6875rem}.workspace{gap:1rem}.map-toolbar{padding:0.625rem}.segmented button{font-size:0.5625rem;padding:0.375rem 0.5rem}.toolbar-actions{gap:0.25rem}.search-box{max-width:6.4375rem}.map-filterbar{padding:0 0.6875rem;height:2.625rem;gap:0.25rem}.sample-badge{font-size:0.4375rem;padding:0.1875rem 0.3125rem}.map-crumb{font-size:0.5625rem}.map-canvas{height:37.5rem}.map-hint{bottom:3.75rem;font-size:0.5rem}.map-footer{height:2.3125rem;padding:0 0.75rem}.detail-content{display:block;padding:1.3125rem}.detail-section{border-top:0.0625rem solid var(--line);padding-top:1.25rem;margin-top:1.25rem}.detail-title h2{font-size:1.4375rem}.detail-description{font-size:0.75rem}.detail-section h3{font-size:0.75rem}.step-row{font-size:0.75rem;gap:0.75rem}.steps-list{gap:0.9375rem}.subskill-button{font-size:0.6875rem;padding:0.75rem}.detail-note{margin-top:1.25rem;font-size:0.625rem}.detail-actions button{font-size:0.625rem}.page-footer{font-size:0.5rem;padding:1.25rem 0.125rem;justify-content:center}.page-footer>span:last-child{display:none}.alternate-view{padding:1.125rem;min-height:25rem}.section-top{align-items:flex-start;flex-wrap:wrap}.section-top h2{font-size:1.0625rem}.section-top p{font-size:0.625rem}.skill-grid{grid-template-columns:1fr}.growth-tip{margin-top:1.5rem}dialog{padding:1.4375rem}.dialog-heading h2{font-size:1.25rem}.toast{font-size:0.6875rem;width:max-content}.detail-panel{scroll-margin-top:1rem}.detail-header{padding:1rem 1.25rem}.legend{gap:0.9375rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* ---- 계정 · 클라우드 동기화 (스킬을담다 추가) ---- */
.account-summary{min-width:0}.account-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:7.375rem}
.status-dot.syncing{background:#c5a371}.status-dot.offline{background:#b7a5a0}.status-dot.cloud{background:var(--c3)}
#account-dialog{width:26.875rem}
.auth-tabs{margin:1.125rem 0 0.25rem;width:100%}.auth-tabs button{flex:1;font-size:0.75rem;padding:0.5rem}
.account-form label{display:flex;flex-direction:column;font-size:0.6875rem;font-weight:500;gap:0.5rem;margin:0.875rem 0}
.account-form label small{font-size:0.5625rem;color:var(--c136);font-weight:400}
.account-form input[type=email],.account-form input[type=password],.account-form input[type=text]{width:100%;border:0.0625rem solid var(--c137);border-radius:0.375rem;padding:0.6875rem 0.625rem;background:#fcfdf9;color:var(--c138);font-size:0.875rem;outline-color:var(--c139)}
.account-form input:user-invalid{border-color:#c98f8f}
.account-form .check-row,.consent-box .check-row{flex-direction:row;align-items:center;gap:0.5rem;font-weight:400;color:var(--c103);margin:0.5rem 0}
.check-row input{width:1rem;height:1rem;accent-color:var(--c3);margin:0}
.consent-box{border:0.0625rem solid var(--c20);background:var(--c118);border-radius:0.5rem;padding:0.75rem 0.8125rem;margin-top:0.875rem}
.consent-box p{font-size:0.625rem;line-height:1.8;color:var(--c145);margin:0 0 0.25rem}
.form-error{font-size:0.6875rem;color:#a55d5d;background:#fbf1f0;border:0.0625rem solid #f0dcda;border-radius:0.375rem;padding:0.5625rem 0.6875rem;margin:0.625rem 0 0;line-height:1.6}
.form-help{font-size:0.625rem;line-height:1.8;color:var(--c146);margin:0.75rem 0 0}
.account-form .dialog-actions{margin-top:0.875rem;padding-top:1rem}
.account-card{display:flex;align-items:center;gap:0.75rem;border:0.0625rem solid var(--line);border-radius:0.625rem;padding:0.875rem;margin-top:1.125rem;background:#fcfdf9}
.account-card strong{display:block;font-size:0.8125rem;overflow-wrap:anywhere}.account-card small{display:block;font-size:0.625rem;color:var(--c43);margin-top:0.25rem}
.account-actions{display:flex;gap:0.5rem;margin-top:0.875rem}.account-actions button{flex:1}
.account-actions svg{width:0.875rem;height:0.875rem}
.account-more{border-top:0.0625rem solid var(--line);margin-top:1.125rem;padding-top:0.875rem}
.account-more summary{cursor:pointer;font-size:0.75rem;font-weight:600;color:var(--c48);padding:0.25rem 0}
.account-more.danger summary{color:#a37a72}
.danger-button{background:#a86a61;color:#fff;border:0.0625rem solid #a86a61;border-radius:0.4375rem;padding:0.6875rem 0.9375rem;font-size:0.6875rem}
.danger-button svg{width:0.9375rem;height:0.9375rem}
button[aria-busy=true]{opacity:.6;pointer-events:none}
@media(max-width:1015px){.account-form input[type=email],.account-form input[type=password]{font-size:1rem}.account-summary strong{max-width:9.375rem}}
.brand{white-space:nowrap;font-size:1.375rem;letter-spacing:-0.075rem}
@media(max-width:1740px){.brand{font-size:1.25rem;margin-left:0.25rem}}
