:root{--ink:#000;--paper:#fff;--muted:#555;--line:#d8d8d8;--surface:#f5f5f3;--kakao:#fee500;--kakao-hover:#f0d900;--error:#a11d1d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-11:48px;--space-12:56px;--space-13:64px;--radius-control:2px;--motion-duration-fast:.12s;--motion-duration-reduced:.01ms;--motion-ease-linear:linear;--focus-width:3px;--focus-offset:4px;--text-primary:var(--ink);--text-secondary:var(--muted);--text-on-action:var(--paper);--text-danger:var(--error);--text-success:var(--ink);--action-primary-bg:var(--ink);--action-primary-hover-bg:#555;--action-secondary-bg:var(--paper);--action-secondary-hover-bg:var(--surface);--action-disabled-bg:var(--surface);--action-disabled-text:var(--muted);--action-demo-kakao-bg:var(--kakao);--action-demo-kakao-hover-bg:var(--kakao-hover);--surface-page:var(--paper);--surface-subtle:var(--surface);--surface-panel:var(--paper);--surface-boundary:var(--surface);--surface-input:var(--paper);--border-strong:var(--ink);--border-subtle:var(--line);--border-input:#767676;--border-focus:var(--ink);--border-disabled:var(--line);--border-danger:var(--error);--state-disabled-opacity:.5;--font-family-body:"Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--type-body-size:16px;--type-body-leading:1.7;--type-body-weight:400;--type-body-tracking:normal;--type-heading-leading:1.2;--type-heading-weight:700;--type-heading-tracking:-.045em;--type-nav-current-weight:700;--type-display-size:clamp(36px, 5.2vw, 64px);--type-display-hero-size:clamp(40px, 4.8vw, 68px);--type-display-hero-leading:1.18;--type-page-title-size:clamp(28px, 3vw, 42px);--type-home-title-size:clamp(30px, 4vw, 46px);--type-heading-2-size:clamp(22px, 2.1vw, 30px);--type-heading-3-size:clamp(19px, 1.5vw, 21px);--heading-3-margin-bottom:14px;--type-hero-copy-size:18px;--type-hero-copy-size-mobile:16px;--type-nav-size:14px;--type-nav-size-mobile:13px;--type-account-size-mobile:12px;--type-banner-size:12px;--type-banner-size-mobile:10px;--type-banner-leading:1.5;--type-caption-size:13px;--type-caption-size-mobile:11px;--type-compact-size:14px;--type-label-size:var(--type-compact-size);--type-meta-size:var(--type-compact-size);--type-small-body-size:var(--type-compact-size);--type-button-size-mobile:var(--type-compact-size);--type-input-size:var(--type-body-size);--type-hint-size:var(--type-compact-size);--type-label-weight:600;--type-hint-weight:400;--type-button-weight:650;--type-button-leading:1.4;--type-summary-weight:650;--type-badge-size:12px;--type-badge-leading:1.6;--type-statement-size:clamp(25px, 3.2vw, 42px);--type-statement-leading:1.4;--type-statement-tracking:-.04em;--type-boundary-heading-size:20px;--type-participation-heading-size:18px;--type-step-size:12px;--type-step-tracking:.08em;--type-footer-size:13px;--type-footer-heading-size:24px;--type-page-intro-size:18px;--type-page-intro-size-mobile:16px;--type-panel-heading-size:22px;--type-check-size:15px;--type-record-heading-size:21px;--type-question-heading-size:20px;--type-price-size:36px;--type-course-heading-size-mobile:20px;--type-hero-heading-size-tablet:44px;--layout-content-max-width:1296px;--layout-header-max-width:var(--layout-content-max-width);--layout-header-padding:24px 48px;--layout-main-padding-inline:48px;--layout-footer-padding:48px;--layout-header-gap:var(--space-10);--layout-nav-gap:26px;--layout-account-gap:var(--space-4);--brand-crop-width:152px;--brand-crop-height:45px;--brand-image-width:170px;--brand-image-offset-x:-9px;--brand-image-offset-y:-37px;--control-min-height:46px;--target-min-height:44px;--control-padding:10px 20px;--control-gap:var(--space-2);--control-radius:var(--radius-control);--control-transition:background-color var(--motion-duration-fast) var(--motion-ease-linear), border-color var(--motion-duration-fast) var(--motion-ease-linear), color var(--motion-duration-fast) var(--motion-ease-linear), box-shadow var(--motion-duration-fast) var(--motion-ease-linear), transform var(--motion-duration-fast) var(--motion-ease-linear);--field-transition:background-color var(--motion-duration-fast) var(--motion-ease-linear), border-color var(--motion-duration-fast) var(--motion-ease-linear), box-shadow var(--motion-duration-fast) var(--motion-ease-linear);--primary-reserve:0 6px 6px 0;--text-button-padding:0 4px;--text-button-size:14px;--focus-ring:var(--focus-width) solid var(--border-focus);--banner-padding:9px 24px;--banner-padding-mobile:9px 16px;--hero-padding:94px 0 86px;--hero-column-gap:var(--space-9);--hero-row-gap:var(--space-7);--hero-art-padding:0 var(--space-2) var(--space-2) 0;--hero-sign-aspect:1.8;--hero-sign-image-width:112%;--hero-sign-image-offset:-6%;--sign-caption-gap:var(--space-2) var(--space-4);--sign-caption-padding-top:var(--space-4);--action-gap:var(--space-3);--section-padding:var(--space-13) 0;--section-head-gap:var(--space-6);--section-head-margin-bottom:30px;--course-row-meta-width:160px;--course-row-gap:var(--space-8);--course-row-padding:var(--space-8) 0;--course-summary-margin-bottom:var(--space-3);--course-meta-strong-margin-bottom:10px;--badge-padding:3px 9px;--split-gap:var(--space-13);--boundary-padding:var(--space-8);--boundary-list-padding-inline:var(--space-5);--participation-margin-top:var(--space-6);--participation-gap:22px;--participation-step-columns:40px minmax(0, 1fr);--participation-step-gap:var(--space-4);--participation-step-padding-top:18px;--participation-step-size:36px;--participation-heading-margin-bottom:6px;--footer-margin-top:70px;--footer-gap:var(--space-9);--footer-copy-margin-bottom:var(--space-1);--page-title-padding:var(--space-13) 0 40px;--page-title-copy-max-width:650px;--panel-padding:28px;--panel-margin-bottom:var(--space-6);--stack-gap:var(--space-6);--form-grid-gap:22px;--field-gap:var(--space-2);--field-padding:11px 12px;--field-textarea-min-height:120px;--fieldset-padding:var(--space-5);--legend-padding:0 var(--space-2);--check-gap:10px;--check-padding:7px 0;--feedback-padding:var(--space-4) var(--space-5);--feedback-margin:var(--space-5) 0;--status-padding:36px;--status-margin:var(--space-5) 0;--detail-grid-gap:var(--space-13);--facts-gap:var(--space-3);--filter-gap:10px;--filter-margin-bottom:28px;--tabs-margin-bottom:36px;--tabs-link-padding:13px var(--space-5);--admin-grid-gap:var(--space-7);--selection-gap:var(--space-2);--record-padding:var(--space-6) 0;--record-actions-margin-top:14px;--editor-padding:22px;--inline-gap:var(--space-3);--option-gap:var(--space-2);--option-margin-top:10px;--question-padding:var(--space-7) 0;--persona-gap:var(--space-5);--steps-padding-inline:var(--space-6);--steps-item-padding:var(--space-3) 0;--skip-padding:10px;--details-padding:var(--space-4) 0;--snapshot-padding:var(--space-5);--snapshot-margin-top:var(--space-3);--mobile-header-padding:var(--space-5) var(--space-6);--mobile-nav-gap:10px;--mobile-banner-span-max-width:240px;--mobile-brand-crop-width:126px;--mobile-brand-crop-height:44px;--mobile-brand-image-width:140px;--mobile-brand-image-offset-x:-8px;--mobile-brand-image-offset-y:-24px;--mobile-hero-padding:56px 0 48px;--mobile-hero-gap:var(--space-8);--mobile-hero-max-width:360px;--mobile-hero-sign-aspect:2.8;--mobile-section-padding:42px 0;--mobile-section-head-gap:14px;--mobile-course-row-gap:14px;--mobile-course-row-padding:28px 0;--mobile-course-meta-gap:14px;--mobile-panel-padding:22px;--mobile-boundary-padding:var(--space-6);--mobile-participation-gap:18px;--mobile-participation-step-columns:36px minmax(0, 1fr);--mobile-participation-step-gap:var(--space-3);--mobile-participation-step-padding-top:var(--space-4);--mobile-participation-step-size:32px;--mobile-footer-padding:var(--space-8) var(--space-6);--mobile-footer-margin-top:var(--space-11);--mobile-footer-gap:22px;--mobile-page-title-padding:44px 0 28px;--mobile-tabs-margin-inline:-24px;--mobile-tabs-padding-left:var(--space-6);--mobile-tabs-link-padding:12px 15px;--mobile-selection-max-height:290px;--mobile-editor-padding:var(--space-4);--mobile-actions-gap:10px;--mobile-facts-columns:84px minmax(0, 1fr);--mobile-option-button-padding:10px;--mobile-filter-button-padding:8px 12px;--depth-primary:4px 4px 0 var(--surface-page), 6px 6px 0 var(--border-strong);--depth-secondary:3px 3px 0 var(--border-subtle), 4px 4px 0 var(--border-strong);--depth-panel:6px 6px 0 var(--border-subtle);--depth-boundary:5px 5px 0 var(--border-strong);--depth-sign:8px 8px 0 var(--border-strong);--depth-inset:inset 2px 2px 0 var(--border-subtle);--depth-marker:2px 2px 0 var(--border-subtle);--depth-pressed:inset 2px 2px 0 var(--border-subtle);--depth-map-active:inset 0 0 0 3px var(--border-strong);--depth-map-near:inset 0 0 0 1px var(--border-strong);--voxel-face-top:var(--surface-page);--voxel-face-left:var(--surface-subtle);--voxel-face-right:var(--border-subtle);--voxel-edge:var(--border-strong);--voxel-edge-page:var(--text-secondary);--voxel-edge-quiet:var(--border-subtle);--voxel-item-top:var(--border-strong);--voxel-stage-width:440px;--voxel-stage-height:250px;--voxel-stage-page-width:360px;--voxel-stage-page-height:170px;--voxel-stage-band-height:112px;--voxel-stage-band-height-home:148px;--seat-gauge-cells:20;--seat-gauge-gap:2px;--seat-gauge-height:12px;--seat-gauge-max-width:280px;--seat-gauge-duration:.9s;--press-offset:4px;--depth-primary-pressed:1px 1px 0 var(--surface-page), 2px 2px 0 var(--border-strong);--stack-rise:24px;--stamp-duration:.32s;--stamp-scale:1.6;--stamp-tilt:-6deg;--route-open-rise:8px;--route-open-duration:.18s;--progress-block-width:20px;--ladder-node-width:200px;--ladder-label-width:132px;--ladder-row-gap:var(--space-11);--ladder-side-width:300px;--ladder-track-width:72px;--ladder-stagger:80ms;--mini-route-dot:10px;--mini-route-gap:6px;--surface-media:var(--ink);--poster-stage-column:360px;--poster-stage-padding:var(--space-8);--poster-stage-padding-mobile:var(--space-4) 0 var(--space-3);--poster-stage-width-mobile:42%;--poster-viewer-padding:var(--space-4);--poster-viewer-chrome:96px;--form-poster-width:72px;--past-poster-column:168px;--past-poster-column-mobile:112px;--past-poster-max-height:210px;--past-poster-max-height-mobile:150px;--past-detail-poster-max-height:420px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text-primary);background:var(--surface-page);font-family:var(--font-family-body);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-leading);letter-spacing:var(--type-body-tracking);word-break:keep-all;overflow-wrap:anywhere;margin:0}a{color:inherit;text-underline-offset:var(--space-1)}button,input,select,textarea{font:inherit}input:not(:disabled)::placeholder,textarea:not(:disabled)::placeholder{color:var(--text-secondary);opacity:1}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,.button{min-height:var(--control-min-height);border:1px solid var(--border-strong);background:var(--action-secondary-bg);padding:var(--control-padding);justify-content:center;align-items:center;gap:var(--control-gap);color:var(--text-primary);cursor:pointer;font-weight:var(--type-button-weight);border-radius:var(--control-radius);line-height:var(--type-button-leading);box-shadow:var(--depth-secondary);transition:var(--control-transition);text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--action-secondary-hover-bg)}button:active:not(:disabled),.button:active{box-shadow:var(--depth-pressed);transform:translate(2px,2px)}button:disabled,button[aria-disabled=true],.button[aria-disabled=true]{cursor:not-allowed;opacity:var(--state-disabled-opacity);background:var(--action-disabled-bg);color:var(--action-disabled-text);border-color:var(--border-disabled);box-shadow:none;transform:none}.primary{background:var(--action-primary-bg);color:var(--text-on-action);box-shadow:var(--depth-primary);margin:var(--primary-reserve)}.primary:hover{background:var(--action-primary-hover-bg);color:var(--text-on-action)}.primary:active:not(:disabled),.button.primary:active{background:var(--action-primary-hover-bg);color:var(--text-on-action);transform:translate(var(--press-offset), var(--press-offset));box-shadow:var(--depth-primary-pressed)}button.primary:disabled,button.primary[aria-disabled=true],.button.primary[aria-disabled=true]{background:var(--action-disabled-bg);color:var(--action-disabled-text);border-color:var(--border-disabled);box-shadow:none}.text-button{padding:var(--text-button-padding);min-height:var(--target-min-height);box-shadow:none;font-size:var(--text-button-size);background:0 0;border:0;text-decoration:underline}.text-button:hover,.text-button:active:not(:disabled){box-shadow:none;background:0 0;transform:none}.danger{color:var(--text-danger);border-color:var(--border-danger)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:var(--type-heading-leading);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-tracking)}h1{font-size:var(--type-display-size);margin-bottom:var(--space-6)}h2{font-size:var(--type-heading-2-size);margin-bottom:var(--space-6)}h3{font-size:var(--type-heading-3-size);margin-bottom:var(--heading-3-margin-bottom)}p{max-width:75ch}small,.muted{color:var(--text-secondary)}small{font-size:var(--type-caption-size)}.demo-banner{background:var(--action-primary-bg);color:var(--text-on-action);justify-content:center;gap:var(--space-4);padding:var(--banner-padding);font-size:var(--type-banner-size);line-height:var(--type-banner-leading);display:flex}.demo-banner strong{white-space:nowrap}.site-header{max-width:var(--layout-header-max-width);padding:var(--layout-header-padding);align-items:center;gap:var(--layout-header-gap);border-bottom:1px solid var(--border-subtle);margin:auto;display:flex}.brand-crop{width:var(--brand-crop-width);height:var(--brand-crop-height);flex-shrink:0;display:block;position:relative;overflow:hidden}.brand-crop img{width:var(--brand-image-width);height:auto;left:var(--brand-image-offset-x);top:var(--brand-image-offset-y);position:absolute}.site-header nav,.account-nav{align-items:center;gap:var(--layout-nav-gap);min-width:0;font-size:var(--type-nav-size);display:flex}.site-header nav a,.account-nav a,.account-nav .text-button{min-height:var(--target-min-height);padding-top:var(--space-2);padding-bottom:var(--space-2);white-space:nowrap;align-items:center;display:inline-flex}@media (max-width:1000px){.site-header nav a,.account-nav a,.account-nav .text-button{position:relative}.site-header nav a:after,.account-nav a:after,.account-nav .text-button:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.site-header nav a,.account-nav a{text-decoration:none}.site-header nav a[aria-current]{font-weight:var(--type-nav-current-weight);text-decoration:underline}.account-nav{justify-content:flex-end;gap:var(--layout-account-gap);flex:auto;margin-left:auto}main{max-width:var(--layout-content-max-width);padding:0 var(--layout-main-padding-inline);min-height:65vh;margin:0 auto}.hero{padding:var(--hero-padding);column-gap:var(--hero-column-gap);row-gap:var(--hero-row-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy sign""actions sign";align-items:center;display:grid}.hero-copy{grid-area:copy;align-self:end;min-width:0}.hero-art{min-width:0;padding:var(--hero-art-padding);grid-area:sign;align-self:center}.hero-actions{grid-area:actions;align-self:start}.hero h1{font-size:var(--type-display-hero-size);line-height:var(--type-display-hero-leading)}.hero p{color:var(--text-secondary);font-size:var(--type-hero-copy-size);max-width:440px}.hero-sign{width:100%;aspect-ratio:var(--hero-sign-aspect);border:1px solid var(--border-strong);background:var(--surface-subtle);box-shadow:var(--depth-sign);position:relative;overflow:hidden}.hero-sign img{width:var(--hero-sign-image-width);max-width:none;left:var(--hero-sign-image-offset);height:auto;position:absolute;top:50%;transform:translateY(-50%)}.sign-caption{justify-content:space-between;gap:var(--sign-caption-gap);border-top:1px solid var(--border-strong);padding-top:var(--sign-caption-padding-top);font-size:var(--type-caption-size);flex-wrap:wrap;display:flex}.actions{gap:var(--action-gap);margin-top:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.hero-actions{margin-top:0}.section{padding:var(--section-padding);border-top:1px solid var(--border-strong)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--section-head-gap);margin-bottom:var(--section-head-margin-bottom);display:flex}.section-head h2{margin:0}.application-course-card{border:1px solid var(--border-subtle);width:100%;max-width:440px;margin:24px 0;overflow:hidden}.application-course-poster{background:var(--ink);display:block}.application-course-poster img{aspect-ratio:2/3;object-fit:contain;width:100%;height:auto;display:block}.application-course-body{flex-direction:column;gap:20px;padding:24px;display:flex}.application-course-body .course-meta{align-items:center;gap:12px;display:flex}.application-course-body .course-meta strong{margin:0}.application-course-body h3{font-size:24px;line-height:1.4}.application-course-body h3 a{text-decoration:none}.application-course-body p{margin-bottom:12px}.application-course-body small{line-height:1.6;display:block}.course-row{grid-template-columns:var(--course-row-meta-width) minmax(0, 1fr) auto;gap:var(--course-row-gap);padding:var(--course-row-padding);border-top:1px solid var(--border-subtle);align-items:center;display:grid}.course-row>*{min-width:0}.course-row h3 a{text-decoration:none}.course-row p{margin-bottom:var(--course-summary-margin-bottom);color:var(--text-secondary)}.course-meta{font-size:var(--type-meta-size)}.course-meta strong{margin-bottom:var(--course-meta-strong-margin-bottom);display:block}.badge{padding:var(--badge-padding);border:1px solid var(--border-subtle);font-size:var(--type-badge-size);line-height:var(--type-badge-leading);white-space:normal;display:inline-block}.split{gap:var(--split-gap);grid-template-columns:1fr 1fr;display:grid}.statement{font-size:var(--type-statement-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-statement-tracking);line-height:var(--type-statement-leading)}.boundary{background:var(--surface-boundary);border:1px solid var(--border-strong);padding:var(--boundary-padding);box-shadow:none}.boundary.brand-panel{box-shadow:var(--depth-boundary)}.notice{background:var(--surface-subtle);border:1px solid var(--border-subtle);padding:var(--feedback-padding);box-shadow:none}.boundary h3{font-size:var(--type-boundary-heading-size)}.boundary ul{padding-left:var(--boundary-list-padding-inline);margin-bottom:0}.participation-steps{margin:var(--participation-margin-top) 0 0;gap:var(--participation-gap);padding:0;list-style:none;display:grid}.participation-steps li{grid-template-columns:var(--participation-step-columns);gap:var(--participation-step-gap);padding-top:var(--participation-step-padding-top);border-top:1px solid var(--border-subtle);align-items:start;display:grid}.participation-steps li:first-child{border-top:0;padding-top:0}.step-number{min-width:var(--participation-step-size);min-height:var(--participation-step-size);border:1px solid var(--border-strong);background:var(--surface-page);font-size:var(--type-step-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-step-tracking);box-shadow:var(--depth-marker);place-items:center;display:grid}.participation-steps h3{font-size:var(--type-participation-heading-size);margin-bottom:var(--participation-heading-margin-bottom)}.participation-steps p{color:var(--text-secondary);font-size:var(--type-small-body-size);margin-bottom:0}.site-footer{max-width:var(--layout-header-max-width);margin:var(--footer-margin-top) auto 0;padding:var(--layout-footer-padding);justify-content:space-between;gap:var(--footer-gap);border-top:1px solid var(--border-strong);font-size:var(--type-footer-size);color:var(--text-secondary);display:flex}@media (max-width:1000px){.site-footer .actions a{position:relative}.site-footer .actions a:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.site-footer strong{font-size:var(--type-footer-heading-size);color:var(--text-primary)}.site-footer p{margin-bottom:var(--footer-copy-margin-bottom)}.page-title{padding:var(--page-title-padding)}.page-title p{color:var(--text-secondary);max-width:var(--page-title-copy-max-width);font-size:var(--type-page-intro-size)}.panel{border:1px solid var(--border-strong);background:var(--surface-panel);padding:var(--panel-padding);margin-bottom:var(--panel-margin-bottom);box-shadow:var(--depth-panel)}.panel h2{font-size:var(--type-panel-heading-size)}.panel .panel,.panel .boundary:not(.brand-panel),.panel .notice,.boundary .panel,.boundary .boundary:not(.brand-panel),.brand-panel .panel,.brand-panel .notice{box-shadow:none}.stack{gap:var(--stack-gap);display:grid}.form-grid{gap:var(--form-grid-gap);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--field-gap);min-width:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);flex-direction:column;display:flex}.field input,.field textarea,.field select{border:1px solid var(--border-input);border-radius:var(--control-radius);width:100%;padding:var(--field-padding);background:var(--surface-input);color:var(--text-primary);min-height:var(--control-min-height);font-size:var(--type-input-size);font-weight:var(--type-body-weight);box-shadow:var(--depth-inset);transition:var(--field-transition)}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-strong)}.field input:disabled,.field textarea:disabled,.field select:disabled{cursor:not-allowed;color:var(--action-disabled-text);background:var(--action-disabled-bg);border-color:var(--border-disabled);box-shadow:none}.field textarea{min-height:var(--field-textarea-min-height);resize:vertical}.field small{font-size:var(--type-hint-size);font-weight:var(--type-hint-weight)}.field:has(textarea){grid-column:1/-1}fieldset{border:1px solid var(--border-subtle);padding:var(--fieldset-padding);min-width:0;margin:0}legend{font-weight:var(--type-heading-weight);padding:var(--legend-padding)}.check{gap:var(--check-gap);min-height:var(--target-min-height);padding:var(--check-padding);cursor:pointer;font-size:var(--type-check-size);align-items:flex-start;display:flex}.check input{width:18px;height:18px;margin-top:var(--space-1);accent-color:var(--action-primary-bg);flex-shrink:0}.feedback{padding:var(--feedback-padding);margin:var(--feedback-margin);background:var(--surface-subtle);border-left:3px solid var(--border-strong)}.error{color:var(--text-danger);border-color:var(--border-danger)}section.panel>.badge+p,.panel>.actions+p.muted,.panel>div>.button+p.muted{margin-top:var(--space-3)}.success{color:var(--text-success)}.loading,.empty{padding:var(--status-padding);border:1px dashed var(--border-subtle);color:var(--text-secondary);margin:var(--status-margin)}.detail-grid{gap:var(--detail-grid-gap);grid-template-columns:minmax(0,1fr) 340px;display:grid}.detail-grid>*{min-width:0}.detail-grid aside{top:var(--space-6);align-self:start;position:sticky}.facts{gap:var(--facts-gap);font-size:var(--type-check-size);grid-template-columns:100px minmax(0,1fr);display:grid}.facts dt{color:var(--text-secondary)}.facts dd{margin:0}.prose{white-space:pre-line}.filters{gap:var(--filter-gap);margin-bottom:var(--filter-margin-bottom);flex-wrap:wrap;display:flex}.filters button[aria-pressed=true],.selection-list button[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong);box-shadow:var(--depth-pressed);transform:translate(1px,1px)}.tabs{border-bottom:1px solid var(--border-strong);margin-bottom:var(--tabs-margin-bottom);gap:0;display:flex;overflow-x:auto}.tabs a{min-height:var(--target-min-height);padding:var(--tabs-link-padding);white-space:nowrap;font-size:var(--type-nav-size);border:1px solid var(--border-subtle);border-bottom:0;align-items:center;text-decoration:none;display:inline-flex}.tabs a[aria-current=page]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong)}.admin-grid{gap:var(--admin-grid-gap);grid-template-columns:280px minmax(0,1fr);display:grid}.selection-list{align-content:start;gap:var(--selection-gap);display:grid}.selection-list button{text-align:left;justify-content:flex-start}.record{padding:var(--record-padding);border-top:1px solid var(--border-subtle)}.record:first-child{border-top:0}.record h3{font-size:var(--type-record-heading-size)}.record .actions{margin-top:var(--record-actions-margin-top)}.question-editor{padding:var(--editor-padding);border:1px solid var(--border-subtle);background:var(--surface-subtle)}.question-editor .field input,.question-editor .field select{background:var(--surface-input)}.inline{gap:var(--inline-gap);flex-wrap:wrap;align-items:center;display:flex}.inline>.field{flex:1;min-width:150px}.option-row{gap:var(--option-gap);margin-top:var(--option-margin-top);align-items:end;display:flex}.option-row .field{flex:1}.option-row button{flex-shrink:0}.question{padding:var(--question-padding);border-bottom:1px solid var(--border-subtle)}.question legend{font-size:var(--type-question-heading-size)}.question fieldset{border:0;padding:0}.survey-form{max-width:760px}.form-description,.form-confirmation{white-space:pre-line}.question:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.question small.form-help{white-space:pre-line;margin-bottom:var(--space-3);color:var(--text-secondary);font-size:var(--type-hint-size);font-weight:var(--type-hint-weight);display:block}.form-other{margin-top:var(--space-2)}.scale{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.scale-label{font-size:var(--type-meta-size);color:var(--text-secondary)}.scale-point{min-width:36px;font-size:var(--type-meta-size);flex-direction:column;align-items:center;display:flex}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;font-size:var(--type-small-body-size)}.data-table th,.data-table td{border:1px solid var(--border-subtle);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;min-width:96px}.data-table th{background:var(--surface-subtle)}.kakao-demo{background:var(--action-demo-kakao-bg);border-color:var(--border-strong)}.kakao-demo:hover{background:var(--action-demo-kakao-hover-bg)}.persona-grid{gap:var(--persona-gap);grid-template-columns:repeat(3,1fr);display:grid}.persona-grid .panel{flex-direction:column;margin:0;display:flex}.persona-grid .panel>.badge{align-self:flex-start}.kakao-login{border-radius:8px;line-height:0;display:inline-block}.kakao-login img{width:224px;height:46px;display:block}.persona-grid button{margin-top:auto}.persona-grid p{font-size:var(--type-small-body-size);color:var(--text-secondary)}.price{font-size:var(--type-price-size);font-weight:var(--type-heading-weight);letter-spacing:var(--type-statement-tracking)}.steps{padding-left:var(--steps-padding-inline)}.steps li{padding:var(--steps-item-padding)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:10;background:var(--surface-page);padding:var(--skip-padding);position:absolute;top:-100px}.skip-link:focus{top:10px}details{padding:var(--details-padding)}summary{cursor:pointer;font-weight:var(--type-summary-weight);min-height:var(--target-min-height)}.snapshot{background:var(--surface-subtle);padding:var(--snapshot-padding);margin-top:var(--snapshot-margin-top)}.snapshot dt{font-weight:var(--type-summary-weight);margin-top:var(--space-3)}.snapshot dd{margin:var(--space-1) 0 0;white-space:pre-wrap}.full-width{width:100%}@media (min-width:1440px){.hero{min-height:550px}}@media (max-width:1000px){.site-header{gap:var(--space-6);flex-wrap:wrap;padding:22px 28px}.site-header nav{gap:var(--space-6)}.account-nav{gap:14px}.detail-grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 290px}.persona-grid{grid-template-columns:1fr 1fr}.hero{column-gap:var(--space-6)}.hero h1{font-size:var(--type-hero-heading-size-tablet)}.admin-grid{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:700px){main{padding:0 var(--space-6)}.demo-banner{gap:var(--space-2);font-size:var(--type-banner-size-mobile);padding:var(--banner-padding-mobile);align-items:flex-start}.demo-banner span{max-width:var(--mobile-banner-span-max-width)}.site-header{padding:var(--mobile-header-padding);gap:var(--space-4);justify-content:space-between}.site-header nav{justify-content:space-between;gap:var(--mobile-nav-gap);width:100%;font-size:var(--type-nav-size-mobile);flex-wrap:wrap;order:3}.account-nav{font-size:var(--type-account-size-mobile);gap:var(--mobile-nav-gap);flex-wrap:wrap;justify-content:flex-end;margin-left:0}.account-nav .text-button{font-size:var(--type-account-size-mobile)}.brand-crop{width:var(--mobile-brand-crop-width);height:var(--mobile-brand-crop-height)}.brand-crop img{width:var(--mobile-brand-image-width);left:var(--mobile-brand-image-offset-x);top:var(--mobile-brand-image-offset-y)}.hero{padding:var(--mobile-hero-padding);gap:var(--mobile-hero-gap);grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""sign""actions"}.hero-copy,.hero-art,.hero-actions{align-self:start}.hero h1{font-size:var(--type-hero-heading-size-tablet);max-width:var(--mobile-hero-max-width)}.hero p{font-size:var(--type-hero-copy-size-mobile)}.hero-sign{aspect-ratio:var(--mobile-hero-sign-aspect)}.sign-caption{font-size:var(--type-caption-size-mobile)}.section{padding:var(--mobile-section-padding)}.section-head{align-items:center;gap:var(--mobile-section-head-gap)}.section-head a{font-size:var(--type-nav-size-mobile);white-space:nowrap}.course-row{gap:var(--mobile-course-row-gap);padding:var(--mobile-course-row-padding);grid-template-columns:1fr}.course-meta{align-items:center;gap:var(--mobile-course-meta-gap);display:flex}.course-meta strong{margin:0}.course-row>.button{justify-self:start}.course-row h3{font-size:var(--type-course-heading-size-mobile)}.split,.detail-grid,.form-grid,.admin-grid,.persona-grid{gap:var(--space-6);grid-template-columns:1fr}.detail-grid aside{position:static}.panel{padding:var(--mobile-panel-padding)}.boundary{padding:var(--mobile-boundary-padding)}.participation-steps{gap:var(--mobile-participation-gap)}.participation-steps li{grid-template-columns:var(--mobile-participation-step-columns);gap:var(--mobile-participation-step-gap);padding-top:var(--mobile-participation-step-padding-top)}.step-number{min-width:var(--mobile-participation-step-size);min-height:var(--mobile-participation-step-size)}.site-footer{padding:var(--mobile-footer-padding);margin-top:var(--mobile-footer-margin-top);gap:var(--mobile-footer-gap);flex-direction:column}.page-title{padding:var(--mobile-page-title-padding)}.page-title p{font-size:var(--type-page-intro-size-mobile)}.tabs{margin-left:var(--mobile-tabs-margin-inline);margin-right:var(--mobile-tabs-margin-inline);padding-left:var(--mobile-tabs-padding-left)}.tabs a{padding:var(--mobile-tabs-link-padding)}.selection-list{max-height:var(--mobile-selection-max-height);overflow:auto}.question-editor{padding:var(--mobile-editor-padding)}.actions{gap:var(--mobile-actions-gap)}.actions .button,.actions button{font-size:var(--type-button-size-mobile)}.facts{grid-template-columns:var(--mobile-facts-columns)}.option-row{align-items:end}.option-row button{padding:var(--mobile-option-button-padding)}.filters button{font-size:var(--type-nav-size-mobile);padding:var(--mobile-filter-button-padding)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:var(--motion-duration-reduced)!important;transition-duration:var(--motion-duration-reduced)!important;scroll-behavior:auto!important;animation-iteration-count:1!important}}.pwa-install-banner{background:var(--surface-subtle);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1rem,50vw - 600px);display:flex}.pwa-install-banner p{margin:.35rem 0 0;font-size:.875rem}.pwa-install-banner .actions{flex-shrink:0}@media (max-width:700px){.pwa-install-banner{flex-direction:column;align-items:stretch;gap:.75rem}}
:root{--layout-nav-gap:24px;--section-padding:40px 0;--page-title-padding:32px 0 20px;--mobile-page-title-padding:24px 0 16px;--mobile-section-padding:32px 0}.page-title h1{font-size:var(--type-page-title-size);margin-bottom:12px;line-height:1.25}.page-title p{margin-bottom:0}button:not(.primary),.button:not(.primary){box-shadow:none}.button:not(.primary):not([aria-disabled=true]):active{box-shadow:var(--depth-pressed)}.filters{gap:8px;margin-bottom:16px}.filters button{min-height:40px;box-shadow:none;padding:8px 14px}.home-intro{padding:32px 0 12px}.home-intro .eyebrow{color:var(--text-secondary);margin:0 0 8px}.home-intro h1{font-size:var(--type-home-title-size);margin:0}.home-current{padding-bottom:24px}.home-current>.text-button{margin-top:12px;display:inline-block}.home-community{align-items:center;gap:var(--space-3) var(--space-6);padding-block:var(--space-6);flex-wrap:wrap;display:flex}.home-community p{flex:280px;margin:0}.home-community a{min-height:var(--target-min-height);align-items:center;display:inline-flex}.application-course-card{max-width:340px;margin:16px auto 24px}.application-course-poster{text-decoration:none;position:relative}.application-course-poster img{object-fit:contain;max-height:280px}.application-course-poster span{color:var(--text-on-action);text-align:right;padding:6px 10px;font-size:12px;display:block}.application-course-body{gap:12px;padding:20px}.application-course-body h3{margin:0;font-size:21px;line-height:1.35}.application-course-body p{margin:0}.application-course-body small{font-size:13px;line-height:1.6}.application-course-body .course-key-facts{font-size:14px;line-height:1.7}.application-course-body .course-cost{font-size:14px;font-weight:700}.application-course-body .course-outcome{font-size:var(--type-small-body-size);line-height:1.6}.application-course-body .course-audience{font-size:var(--type-small-body-size);line-height:1.6;font-weight:var(--type-label-weight)}.application-course-body .course-meta{flex-wrap:wrap;gap:8px;font-size:12px}.site-footer{margin-top:28px;padding-block:28px}@media (max-width:640px){.site-header{grid-template-columns:1fr auto;gap:0 12px;padding:8px 16px 0}.brand-crop{transform-origin:0;transform:scale(.85)}.site-header nav{min-height:var(--target-min-height);flex-wrap:nowrap;grid-column:1/-1;justify-content:flex-start;gap:24px;padding:0 10px;overflow-x:auto}.site-header nav a{min-height:40px;padding-block:6px;font-size:14px}.account-nav{gap:10px;font-size:12px}.account-nav a{min-height:40px}.page-title{padding:24px 0 16px}.section{padding-block:32px}.home-intro{padding-top:24px}.home-intro .eyebrow{font-size:13px}.application-course-card:not(.application-course-featured){max-width:320px}.application-course-card:not(.application-course-featured) .application-course-poster img{max-height:280px}.course-grid>article.application-course-card{grid-template-columns:100px minmax(0,1fr)}.course-grid>.application-course-card .application-course-body{gap:10px;padding:14px}.course-grid>.application-course-card .application-course-body h3{font-size:19px}.course-grid>.application-course-card .application-course-poster span{padding:6px;font-size:10px}.course-grid>.application-course-card .application-course-body .course-key-facts,.course-grid>.application-course-card .application-course-body .course-cost{font-size:13px}.course-grid>.application-course-card .application-course-body small{font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:24px;margin:16px 0 24px;display:grid}.course-grid>.application-course-card,.course-grid>.course-row{flex-direction:column;width:100%;min-width:0;max-width:none;margin:0;display:flex}.course-grid .application-course-body{flex:1;padding:16px}.course-grid .application-course-body>.button{margin-top:auto}.course-grid>.course-row{border:1px solid var(--border-subtle);align-items:stretch;gap:16px;padding:20px}.course-grid>.course-row>.button{margin-top:auto}.course-grid h3{font-size:20px;line-height:1.4}@media (max-width:1199px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (max-width:700px){.course-grid{grid-template-columns:minmax(0,1fr);gap:20px}.course-grid>.application-course-card{grid-template-columns:200px minmax(0,1fr);align-items:start;display:grid}.course-grid>.application-course-card .application-course-poster img{max-height:none}.course-detail>aside{order:-1}}.data-table-wrap:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.course-price{white-space:nowrap}@media (max-width:1000px){.filters button,.section-head>a,.split>div>a:not(.button),a[href^=sms\:],.course-row h3>a,.application-course-body h3>a,.brand-panel .actions>a:not(.button),.privacy p>a{position:relative}.privacy p>a{white-space:nowrap}.filters button:after,.section-head>a:after,.split>div>a:not(.button):after,a[href^=sms\:]:after,.course-row h3>a:after,.application-course-body h3>a:after,.brand-panel .actions>a:not(.button):after,.privacy p>a:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}@media (max-width:700px){.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-table tr{border:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.data-table td{border:0;border-top:1px solid var(--border-subtle);min-width:0}.data-table td:first-child{background:var(--surface-subtle);font-weight:var(--type-label-weight);border-top:0}.data-table td:before{content:attr(data-label);content:attr(data-label) / "";color:var(--text-secondary);font-size:var(--type-caption-size);font-weight:var(--type-label-weight);display:block}}.voxel-stage{pointer-events:none;height:var(--voxel-stage-band-height);margin-bottom:var(--space-3)}.home-intro>.voxel-stage{height:var(--voxel-stage-band-height-home)}.voxel-stage canvas{width:100%;height:100%;display:block}.voxel-stage[data-variant=page]{--voxel-edge:var(--voxel-edge-page)}@media (min-width:1001px){:is(.page-title:has(>.voxel-stage),.home-intro:has(>.voxel-stage)){grid-template-columns:minmax(0, 1fr) var(--voxel-stage-page-width);column-gap:var(--space-8);align-items:center;display:grid}.home-intro:has(>.voxel-stage){grid-template-columns:minmax(0, 1fr) var(--voxel-stage-width)}.page-title>.voxel-stage,.home-intro>.voxel-stage{height:var(--voxel-stage-page-height);grid-area:1/2;margin:0}.home-intro>.voxel-stage{height:var(--voxel-stage-height)}.page-title-copy,.home-intro-copy{grid-area:1/1;min-width:0}}.seat-gauge{grid-template-columns:repeat(var(--seat-gauge-cells), minmax(0, 1fr));gap:var(--seat-gauge-gap);height:var(--seat-gauge-height);max-width:var(--seat-gauge-max-width);margin:var(--space-2) 0 var(--space-1);display:grid;position:relative}.seat-gauge i{border:1px solid var(--border-strong);background:var(--surface-panel)}.seat-gauge i.taken{background:var(--border-strong)}.seat-gauge:after{content:"";background:var(--surface-panel);transform-origin:100%;animation:seat-gauge-reveal var(--seat-gauge-duration) steps(20, end) both;position:absolute;inset:0}@keyframes seat-gauge-reveal{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.participation-steps li{animation:steps(4,end) both block-stack;animation-timeline:view();animation-range:entry entry 70%}.participation-steps li:nth-child(2){animation-range:entry 10% entry 80%}.participation-steps li:nth-child(3){animation-range:entry 20% entry 90%}}}@keyframes block-stack{0%{transform:translateY(var(--stack-rise))}to{transform:none}}.application-course-featured{grid-template-columns:var(--poster-stage-column) minmax(0, 1fr);align-items:stretch;max-width:none;margin:8px 0 0;display:grid}.application-course-featured .application-course-poster{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--poster-stage-padding);background:var(--surface-subtle);flex-direction:column;display:flex}.application-course-featured .application-course-poster img{width:100%;max-height:none;box-shadow:var(--depth-sign)}.application-course-featured .application-course-poster span{color:var(--text-secondary);font-size:var(--type-caption-size);text-align:center;padding:0;text-decoration:underline}.application-course-featured .application-course-body{justify-content:center;min-width:0}.application-course-featured .application-course-body h3{font-size:26px}.application-course-body .course-capacity{color:var(--text-secondary)}@media (max-width:700px){.application-course-featured{display:block}.application-course-featured .application-course-poster{padding:var(--poster-stage-padding-mobile);gap:var(--space-2)}.application-course-featured .application-course-poster img{width:var(--poster-stage-width-mobile)}.application-course-featured .application-course-body{gap:8px;padding:14px 16px}.application-course-featured .application-course-body h3{font-size:21px}.application-course-featured .application-course-body .course-key-facts,.application-course-featured .application-course-body .course-cost{font-size:14px}.application-course-featured .application-course-body small{font-size:12px}.home-intro>.voxel-stage{display:none}.application-course-explained{grid-template-columns:minmax(0, var(--poster-stage-width-mobile)) minmax(0, 1fr);gap:var(--space-2) var(--space-4);padding:var(--space-4);grid-template-areas:"meta meta""title title""poster outcome""audience audience""facts facts""cost cost""apply apply""capacity capacity";display:grid}.application-course-explained .application-course-body{display:contents}.application-course-explained .application-course-poster{grid-area:poster;align-self:start;padding:0}.application-course-explained .application-course-poster img{width:100%}.application-course-explained .course-meta{grid-area:meta}.application-course-explained h3{grid-area:title}.application-course-explained .course-outcome{grid-area:outcome;align-self:center}.application-course-explained .course-audience{grid-area:audience}.application-course-explained .course-key-facts{grid-area:facts}.application-course-explained .course-cost{grid-area:cost}.application-course-explained .button{grid-area:apply}.application-course-explained .course-capacity{grid-area:capacity}}.poster-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;padding:var(--poster-viewer-padding);background:var(--surface-media);border:0;margin:0}.poster-viewer[open]{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.poster-viewer::backdrop{background:var(--surface-media)}.poster-viewer img{max-width:100%;max-height:calc(100dvh - var(--poster-viewer-chrome));width:auto;height:auto;display:block}.poster-viewer-close{min-width:var(--target-min-height)}.public-form-page .form-intro:has(>.form-poster){grid-template-columns:var(--form-poster-width) minmax(0, 1fr);column-gap:var(--space-4);align-items:start;display:grid}.public-form-page .form-intro>.form-poster{grid-row:1/span 2;display:block}.public-form-page .form-intro>.form-poster img{border:1px solid var(--border-strong);width:100%;height:auto;box-shadow:var(--depth-marker);display:block}.public-form-page .form-intro>details{grid-column:1/-1}.public-form-page .form-intro>.form-poster{grid-row:1}.past-courses{padding:var(--section-padding);border-top:1px solid var(--border-strong)}.past-courses .section-head{margin-bottom:var(--space-2)}.past-courses>.muted{margin:0 0 var(--space-5)}.past-course-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.past-course-card{grid-template-columns:var(--past-poster-column) minmax(0, 1fr);border:1px solid var(--border-subtle);min-width:0;display:grid}.past-course-poster{padding:var(--space-4);background:var(--surface-subtle);justify-content:center;align-items:center;text-decoration:none;display:flex}.past-course-poster img{width:100%;height:auto;max-height:var(--past-poster-max-height);object-fit:contain;box-shadow:var(--depth-marker);display:block}.past-course-no-poster span{font-size:var(--type-caption-size);color:var(--text-secondary)}.past-course-body{justify-content:center;gap:var(--space-2);min-width:0;padding:var(--space-5);flex-direction:column;display:flex}.past-course-body h3{margin:0;font-size:19px;line-height:1.4}.past-course-body h3 a{text-decoration:none}.past-course-body p{margin:0}.past-course-date{color:var(--text-secondary);font-size:var(--type-small-body-size)}.past-detail-poster{padding:var(--space-4);margin:var(--space-4) 0;background:var(--surface-subtle);justify-content:center;display:flex}.past-detail-poster img{width:auto;max-width:100%;height:auto;max-height:var(--past-detail-poster-max-height);box-shadow:var(--depth-sign);display:block}@media (max-width:700px){.past-course-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.past-course-card{grid-template-columns:var(--past-poster-column-mobile) minmax(0, 1fr)}.past-course-poster{padding:var(--space-3)}.past-course-poster img{max-height:var(--past-poster-max-height-mobile)}.past-course-body{padding:var(--space-4);gap:var(--space-1)}.past-course-body h3{font-size:17px}}@media (max-width:1000px){.past-course-body h3>a,.detail-grid>div>h2>a{display:block}.past-course-body h3>a,.past-courses .section-head>a,.detail-grid>div>h2>a{position:relative}.past-course-body h3>a:after,.past-courses .section-head>a:after,.detail-grid>div>h2>a:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.course-apply-box{justify-items:start;gap:var(--action-gap);display:grid}.course-apply-box .course-facts{font-size:var(--type-small-body-size);margin:0;padding:0;line-height:1.6;list-style:none}.course-detail>div>.badge{margin-bottom:var(--space-4)}.poster-viewer-close:focus-visible{outline-offset:calc(var(--focus-width) * -2)}.events-controls{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--target-min-height);flex-wrap:wrap;display:flex}.events-month-navigation{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.events-month-navigation button{white-space:nowrap;padding-inline:var(--space-3)}.events-controls h2{font-size:var(--type-panel-heading-size);margin:0}.events-timezone{margin-block:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:var(--type-small-body-size)}.events-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.events-calendar-panel,.events-month,.events-selected{min-width:0}.events-weekdays,.events-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.events-days{border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle)}.events-day-blank{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.events-weekdays span{text-align:center;padding-block:var(--space-2);font-size:var(--type-small-body-size)}.events-day{width:100%;min-width:44px;min-height:80px;padding:var(--space-1) 0;border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);box-shadow:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.events-day[aria-current=date]>span{text-underline-offset:4px;text-decoration:underline}.events-day[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong)}.events-day small{font-size:var(--type-caption-size);color:inherit;line-height:1.3}.events-day:focus-visible{z-index:1;outline:var(--focus-ring);outline-offset:var(--focus-offset);position:relative}.events-day:active{transform:none}.events-selected h2{min-height:var(--target-min-height);border-bottom:1px solid var(--border-subtle);font-size:var(--type-panel-heading-size);align-items:center;margin:0;display:flex}.events-list{margin:0;padding:0;list-style:none}.events-list-item{padding-block:var(--space-5);border-bottom:1px solid var(--border-subtle)}.events-list-item .actions{margin:0}.events-list-item p:last-child{margin-bottom:0}.events-list-item h3{margin-block:var(--space-2)}.events-list-item h3 a{align-items:center;min-height:44px;display:flex}.events-list-item p{margin-block:var(--space-2)}.events-list-item,.event-detail-content{overflow-wrap:anywhere;word-break:keep-all}.event-back{margin-top:var(--space-5)}.event-facts{gap:var(--space-4);margin-block:var(--space-6);display:grid}.event-facts div{gap:var(--space-3);grid-template-columns:60px minmax(0,1fr);display:grid}.event-facts dt{font-weight:700}.event-facts dd{margin:0}.event-description{white-space:pre-wrap}.event-action{margin-block:var(--space-6)}@media (max-width:1000px){.events-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.events-calendar{margin-inline:min(0px, calc((100% - (7 * var(--target-min-height) + 2px)) / 2))}.events-controls{flex-direction:column;align-items:stretch}.events-month-navigation{width:100%}.events-controls{gap:var(--space-2)}.events-controls h2{font-size:var(--type-course-heading-size-mobile)}}
.public-form-page{max-width:760px;margin-inline:auto}.public-form-page .page-title{padding:28px 0 16px}.public-form-page .page-title h1{font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.3}.public-form-page .form-intro{margin-bottom:20px}.public-form-page .form-facts{font-size:var(--type-small-body-size);margin:0 0 12px;padding:0;line-height:1.6;list-style:none}.public-form-page summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;text-decoration:underline;display:flex}.public-form-page summary:before{content:"+"}.public-form-page details[open] summary:before{content:"−"}.public-form-page .form-description{line-height:1.6}.public-form-page .form-progress{font-size:var(--type-small-body-size);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.public-form-page progress{width:100%;height:6px;accent-color:var(--text-primary)}.public-form-page .form-group-title{margin:28px 0 0;font-size:1.15rem}.public-form-page .question{padding:20px 0;scroll-margin-block:130px}.public-form-page .question:focus{outline-offset:0}.public-form-page .question legend{font-size:1.05rem;line-height:1.5}.public-form-page .check{min-height:44px}.public-form-page .form-field-error{color:var(--text-danger);font-size:var(--type-small-body-size);margin:10px 0 0;line-height:1.5}.public-form-page [aria-invalid=true]:is(input,textarea):not(:disabled){border-color:var(--border-danger);outline-color:var(--border-danger)}.public-form-page .form-submit-bar{z-index:5;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--surface-page);border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.public-form-page .form-submit-bar>span{font-size:var(--type-small-body-size);line-height:1.5}.public-form-page .form-submit-bar button{width:100%}.public-form-page .survey-form:has(input:focus,textarea:focus) .form-submit-bar{position:static}.public-form-page .survey-form:has(:is(a,summary,button):focus-visible:not(.form-submit-bar *)) .form-submit-bar{position:static}.public-form-page .survey-form{padding-bottom:16px}@media (max-width:1000px){.form-privacy-link{position:relative}.form-privacy-link:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}@media (max-width:600px){.public-form-page .page-title{padding-top:20px}.public-form-page .form-facts{font-size:.875rem}}
.admin-forms{gap:12px;display:grid}.admin-forms>.field{gap:4px;margin:0}.admin-forms>.field>span{font-size:13px}.admin-forms input,.admin-forms select{min-height:40px;padding:8px 10px}.admin-form-panel{min-width:0;box-shadow:none;border-color:var(--border-subtle);padding:16px}.admin-form-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-form-heading h2{margin:4px 0 0;font-size:20px;line-height:1.4}.admin-form-heading .actions{gap:10px;margin:0}.admin-form-heading .actions a{font-size:13px}.admin-form-heading .actions button{min-height:40px;padding:8px 12px;font-size:13px}.admin-responses{min-width:0}.admin-summary.admin-response-filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 8px;display:grid}.admin-summary>button{border:1px solid var(--border-subtle);min-height:52px;box-shadow:none;border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;padding:8px;display:flex}.admin-summary strong{font-size:22px;line-height:1.2}.admin-summary span{font-size:12px;line-height:1.4}.admin-summary button[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong)}.admin-capacity{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.admin-response-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-response-tools .field{margin:0}.admin-response-tools .admin-search{flex:220px;min-width:0}.admin-response-tools .admin-sort{flex:0 130px;min-width:110px}.admin-response-tools>button,.admin-response-tools>.button{min-height:40px;padding:8px 12px;font-size:13px}.admin-export{font-size:13px}.admin-export>summary{cursor:pointer;align-items:center;min-height:40px;padding:8px;display:flex}.admin-export-menu{justify-content:flex-end;font-size:13px;display:flex}.admin-export-menu>a{background:var(--surface-panel);border:1px solid var(--border-subtle);padding:12px}.admin-list-caption{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.admin-list-caption p{margin:0;font-size:12px}.admin-list-caption .actions{gap:10px;margin:0}.admin-list-caption .text-button{min-height:36px;padding:4px 0;font-size:12px}.admin-copy-feedback{margin:4px 0;font-size:13px}.admin-copy-feedback:empty{display:none}.admin-response{border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin-bottom:6px}.admin-response>summary{cursor:pointer;grid-template-columns:minmax(140px,1.3fr) minmax(100px,.8fr) minmax(140px,1fr) 145px 65px;align-items:center;gap:10px;min-height:64px;padding:8px 12px;font-size:14px;line-height:1.5;list-style:none;display:grid}.admin-response>summary::-webkit-details-marker{display:none}.admin-response>summary small{margin-top:1px;font-size:12px;display:block}.admin-response>summary .badge{white-space:normal;font-size:12px}.admin-response time,.admin-payment-label{font-size:12px}.admin-detail-label{text-align:right;font-size:12px;text-decoration:underline}.admin-response>summary .when-open{display:none}.admin-response[open]>summary .when-open{display:inline}.admin-response[open]>summary .when-closed{display:none}.admin-response[open]>summary{background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle)}.admin-response summary:focus-visible,.admin-privacy summary:focus-visible,.admin-consents summary:focus-visible{outline:var(--focus-ring);outline-offset:2px}.admin-response-detail{overflow-wrap:anywhere;padding:12px 16px;font-size:14px}.admin-response-detail h3{margin:18px 0 8px;font-size:15px}.admin-response-detail>p{margin:8px 0}.admin-response-detail>small{display:block}.admin-contact-tools{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;display:flex}.admin-contact-tools .text-button{min-height:36px;font-size:13px}.admin-answer-list{gap:0;margin:0;display:grid}.admin-answer-list>div{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(160px,1fr) 2fr;gap:12px;padding:9px 0;display:grid}.admin-answer-list dt{font-weight:600}.admin-answer-list dd{white-space:pre-wrap;margin:0;line-height:1.6}.admin-privacy,.admin-consents{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:4px;font-size:13px}.admin-privacy>summary,.admin-consents>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.admin-privacy>summary:before,.admin-consents>summary:before{content:"+";margin-right:8px}.admin-privacy[open]>summary:before,.admin-consents[open]>summary:before{content:"−"}@media (max-width:1000px){.admin-form-panel{padding:12px}.admin-summary.admin-response-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-summary>button{gap:6px;min-height:48px;padding:6px}.admin-summary strong{font-size:20px}.admin-summary span{font-size:11px}.admin-form-heading h2{font-size:17px}.admin-response-tools .admin-search{flex-basis:calc(100% - 140px)}.admin-response>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 8px;padding:8px 10px}.admin-response>summary>span:first-child{grid-row:1/span 2}.admin-response>summary>.badge{grid-area:1/2}.admin-response>summary>.admin-payment-label{grid-area:2/2}.admin-response time{grid-area:3/1}.admin-detail-label{grid-area:3/2}.admin-response-detail{padding:10px}.admin-answer-list>div{grid-template-columns:1fr;gap:3px;padding:8px 0}.admin-list-caption .text-button{min-height:44px}.admin-forms input,.admin-forms select{min-height:var(--target-min-height)}.admin-form-heading .actions a{min-height:var(--target-min-height);align-items:center;display:inline-flex}.admin-form-heading .actions button,.admin-response-tools>button,.admin-response-tools>.button,.admin-export>summary,.admin-contact-tools .text-button{min-height:var(--target-min-height)}.admin-contact-tools a{min-height:var(--target-min-height);align-items:center;display:inline-flex}}main:has(nav[aria-label="운영 관리 탭"]) .page-title{padding:18px 0 12px}main:has(nav[aria-label="운영 관리 탭"]) .tabs{margin-bottom:12px}.admin-response,.admin-export{padding:0}.admin-privacy,.admin-consents{padding:4px 0 0}.admin-form-heading>div:first-child{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.admin-form-heading>div:first-child>.badge{flex-shrink:0}.admin-form-heading h2{margin:0}@media (min-width:1001px){.admin-forms>.field{flex-direction:row;align-items:center;gap:12px}.admin-forms>.field>span{flex:none}.admin-forms>.field>select{flex:1;min-width:0}}@media (max-width:1000px){.admin-form-heading>div:first-child{flex-basis:100%}.admin-summary span{font-size:12px}}.admin-publish-row{align-items:center;gap:var(--action-gap);flex-wrap:wrap;display:flex}.admin-disabled-reason{font-size:var(--type-caption-size);margin:0;line-height:1.5}@media (max-width:700px){.selection-list{grid-auto-rows:max-content}}.admin-events,.admin-event-editor{min-width:0}.admin-event-editor fieldset{border:0;min-width:0;margin:0;padding:0}.admin-event-editor h2{margin-top:0}.admin-event-editor input,.admin-event-editor select,.admin-event-editor textarea{width:100%;min-width:0}.admin-event-editor p{overflow-wrap:anywhere}.admin-events .selection-list button{gap:var(--space-1);overflow-wrap:anywhere;text-align:left;display:grid}.admin-event-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1000px){.admin-events button,.admin-events select,.admin-events input,.admin-event-editor a{min-height:var(--target-min-height)}.admin-event-editor a{align-items:center;display:inline-flex}}@media (max-width:700px){.admin-event-editor .form-grid{grid-template-columns:minmax(0,1fr)}}.admin-events .selection-list button[aria-pressed=true] small{color:inherit}.admin-certificates,.admin-certificate-main,.admin-certificate-detail{min-width:0}.admin-certificate-main,.admin-certificate-detail{gap:var(--space-4);align-content:start;display:grid}.admin-certificates .selection-list button{gap:var(--space-1);overflow-wrap:anywhere;word-break:keep-all;text-align:left;display:grid}.admin-certificates .selection-list button[aria-pressed=true] small{color:inherit}.admin-certificate-section{padding:var(--space-4);min-width:0;box-shadow:none;border-color:var(--border-subtle);overflow-wrap:anywhere;word-break:keep-all;margin:0}.admin-certificate-section h2{margin:0 0 var(--space-3);font-size:var(--type-question-heading-size);line-height:1.4}.admin-certificate-section h3{font-size:var(--type-compact-size);margin:0}.admin-certificate-section>p.muted{margin:var(--space-2) 0;font-size:var(--type-caption-size)}.admin-certificate-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-certificate-facts{margin:0 0 var(--space-3);font-size:var(--type-small-body-size);gap:0;display:grid}.admin-certificate-facts>div{gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(96px,1fr) 4fr;display:grid}.admin-certificate-facts dt{font-weight:var(--type-label-weight)}.admin-certificate-facts dd{min-width:0;margin:0}.admin-certificate-edit{border-top:1px solid var(--border-subtle);padding:0}.admin-certificate-edit>summary{font-size:var(--type-compact-size);align-items:center;display:flex}.admin-certificate-form{gap:var(--space-3);padding:var(--space-2) 0 0;min-width:0;display:grid}.admin-certificate-fields{gap:var(--space-3);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.admin-certificate-field{min-width:0}.admin-certificate-field .field{margin:0}.admin-certificate-field input,.admin-certificate-field select,.admin-certificate-field textarea{width:100%;min-width:0}.admin-certificate-field-error{margin:var(--space-1) 0 0;color:var(--text-danger);font-size:var(--type-small-body-size);padding:0;line-height:1.5;list-style:none}.admin-certificates [aria-invalid=true]:is(input,select,textarea){border-color:var(--border-danger)}.admin-certificate-submit{align-items:center;gap:var(--action-gap);flex-wrap:wrap;display:flex}.admin-certificate-candidates,.admin-certificate-rows{margin:var(--space-3) 0;gap:var(--space-2);min-width:0;padding:0;list-style:none;display:grid}.admin-certificate-candidate,.admin-certificate-row{gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);min-width:0;display:grid}.admin-certificate-candidate .check{font-size:var(--type-compact-size);align-items:center;margin:0;padding:0}.admin-certificate-candidate .check input{margin-top:0}.admin-certificate-candidate-main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.admin-certificate-candidate-meta{align-items:center;gap:var(--space-2);font-size:var(--type-caption-size);flex-wrap:wrap;display:flex}.admin-certificate-issue-row{gap:var(--space-2);margin-top:var(--space-3);display:grid}.admin-certificate-count{font-size:var(--type-small-body-size);margin:0}.admin-certificate-confirm{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);font-size:var(--type-small-body-size)}.admin-certificate-confirm p{margin:0 0 var(--space-2)}.admin-certificate-confirm .actions{margin:0}.admin-certificate-list-tools{align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.admin-certificate-row-head{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--type-compact-size);flex-wrap:wrap;display:flex}.admin-certificate-name{flex:160px;min-width:0}.admin-certificate-reason,.admin-certificate-note{font-size:var(--type-small-body-size);margin:0}.admin-certificate-row-actions{margin:var(--space-1) 0 0;gap:var(--space-2)}.admin-certificate-row-actions .danger,.admin-certificate-inline-form .danger{box-shadow:none}.admin-certificate-inline-form{gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);display:grid}.admin-certificate-inline-form>p{font-size:var(--type-small-body-size);margin:0}.admin-certificate-inline-form .actions{gap:var(--space-2);margin:0}@media (min-width:1001px){.admin-certificates button,.admin-certificates .button{min-height:var(--space-10);padding:var(--space-2) var(--space-3);font-size:var(--type-caption-size)}.admin-certificates input,.admin-certificates select{min-height:var(--space-10);padding:var(--space-2) 10px}.admin-certificate-edit>summary,.admin-certificate-candidate .check{min-height:var(--space-10)}}@media (max-width:1000px){.admin-certificate-section{padding:var(--space-3)}.admin-certificates button,.admin-certificates .button,.admin-certificates input,.admin-certificates select,.admin-certificate-edit>summary{min-height:var(--target-min-height)}}@media (max-width:700px){.admin-certificate-fields{grid-template-columns:minmax(0,1fr)}.admin-certificate-facts>div{grid-template-columns:minmax(0,1fr);gap:0}.admin-certificate-row-actions>*{flex:auto}}
main .admin-workspace>.page-title{padding:16px 0 12px}.admin-workspace>.page-title h1{margin:0 0 4px;font-size:clamp(1.4rem,2.4vw,1.8rem)}.admin-workspace>.page-title p{margin:0;font-size:.875rem;line-height:1.5}.admin-workspace .admin-desktop-navigation{margin-bottom:12px}.admin-workspace .admin-desktop-navigation a{min-height:44px;padding:8px 14px;font-size:.875rem}.admin-workspace .admin-mobile-navigation{display:none}.admin-workspace .admin-notifications{border:1px solid var(--border-subtle);background:var(--surface-subtle);box-shadow:none;margin:0 0 12px;padding:0}.admin-workspace .admin-notifications>summary{box-sizing:border-box;min-height:44px;padding:10px 12px;font-size:.875rem;line-height:24px}.admin-workspace .admin-notifications-body{padding:0 12px 12px}.admin-workspace .admin-notifications-toolbar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.admin-workspace .admin-notifications-toolbar h2{margin:0 auto 0 0;font-size:1rem}.admin-workspace .admin-notifications-toolbar .check{min-height:44px;margin:0;font-size:.875rem}.admin-workspace .admin-notifications button,.admin-workspace .admin-notifications .button{min-height:44px;box-shadow:none;padding:8px 12px;font-size:.8125rem}.admin-workspace .admin-notifications-list{overscroll-behavior:contain;max-height:340px;overflow-y:auto}.admin-workspace .admin-notification-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 0;display:flex}.admin-workspace .admin-notification-row>div:first-child{min-width:0}.admin-workspace .admin-notification-row strong{overflow-wrap:anywhere;font-size:.875rem}.admin-workspace .admin-notification-row p{margin:2px 0 0;font-size:.8125rem;line-height:1.5}.admin-workspace .admin-notification-row .actions{flex-shrink:0;gap:8px;margin:0}.admin-workspace .admin-notifications-device{box-shadow:none;border:0;margin-top:8px;padding:0}.admin-workspace .admin-notifications-device>summary{min-height:44px;padding:10px 0;font-size:.875rem;line-height:24px}.admin-workspace .admin-notifications-device .stack{gap:8px}.admin-workspace .admin-notifications-device p{margin:0;font-size:.875rem;line-height:1.5}@media (max-width:700px){.admin-workspace .admin-desktop-navigation{display:none}.admin-workspace .admin-mobile-navigation{align-items:center;gap:12px;margin:0 0 12px;font-size:.875rem;font-weight:650;display:flex}.admin-workspace .admin-mobile-navigation select{flex:1;width:auto;min-width:0;min-height:44px;padding:8px 12px;font-size:1rem}.admin-workspace .admin-notification-row{flex-direction:column;align-items:flex-start}.admin-workspace .admin-notifications-toolbar h2{width:100%}}.admin-workspace .admin-member-context{margin:0 0 12px;font-size:.875rem;line-height:1.5}@media (max-width:1000px){.admin-workspace .admin-member-context>a{white-space:nowrap;position:relative}.admin-workspace .admin-member-context>a:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}body:has(.admin-workspace) .pwa-install-banner{gap:8px 16px;padding-top:8px;padding-bottom:8px}body:has(.admin-workspace) .pwa-install-banner>div:first-child{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}body:has(.admin-workspace) .pwa-install-banner strong{font-size:.875rem}body:has(.admin-workspace) .pwa-install-banner p{margin:0;font-size:.8125rem;line-height:1.5}body:has(.admin-workspace) .pwa-install-banner .actions{gap:8px;margin:0}body:has(.admin-workspace) .pwa-install-banner button{min-height:44px;padding:8px 12px}@media (max-width:700px){body:has(.admin-workspace) .pwa-install-banner{flex-flow:wrap;align-items:center}}
.requests-page{max-width:900px;margin-inline:auto}.request-list{margin-bottom:var(--space-3);gap:12px;display:grid}.request-card{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-panel);padding:20px}.request-card h3{overflow-wrap:anywhere;margin:0 0 10px;font-size:1.15rem}.request-status{flex-wrap:wrap;gap:8px;display:flex}.request-card p{margin-block:10px}.member-form-records{margin-block:24px}.member-form-records>h2{margin-top:0}@media (max-width:1000px){.requests-page>p.muted>a,.deposit-requests-link{white-space:nowrap;position:relative}.requests-page>p.muted>a:after,.deposit-requests-link:after{content:"";height:max(100%, var(--target-min-height));position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}@media (max-width:600px){.request-card{padding:16px}.request-card .button{text-align:center;width:100%}}.request-status .badge.confirmed{border-color:var(--border-strong);font-weight:var(--type-heading-weight);animation:confirm-stamp var(--stamp-duration) steps(3, end) both}@keyframes confirm-stamp{0%{transform:scale(var(--stamp-scale)) rotate(var(--stamp-tilt))}to{transform:none}}
.roadmap-meta,.roadmap-thread-meta,.roadmap-card-facts{align-items:center;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}.roadmap-origin{margin:0 0 var(--space-4)}.roadmap-status-line{word-break:keep-all}.roadmap-multiline{white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}.roadmap-url{color:var(--text-secondary);overflow-wrap:anywhere;display:block}.roadmap-gated{align-items:flex-start;gap:var(--space-1);flex-direction:column;max-width:100%;display:inline-flex}.roadmap-gated small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-list-top{margin-top:0}.roadmap-filters{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.roadmap-search{align-items:flex-end;gap:var(--space-3);max-width:640px;display:flex}.roadmap-search .field{flex:1}.roadmap-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.roadmap-card{border:1px solid var(--border-strong);background:var(--surface-panel);padding:var(--space-5);min-width:0}.roadmap-card .course-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-card .course-meta strong{margin:0}.roadmap-card h3{margin:var(--space-2) 0;word-break:keep-all}.roadmap-card h3 a{color:var(--text-primary)}.roadmap-card-summary{color:var(--text-secondary);word-break:keep-all}.roadmap-card-reason{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--type-label-size);font-weight:var(--type-label-weight);word-break:keep-all}.roadmap-editor-steps,.roadmap-editor-questions{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.roadmap-route{max-width:100%;position:relative}.roadmap-route:before{content:"";top:calc(var(--target-min-height) / 2);bottom:calc(var(--target-min-height) / 2);left:calc(var(--space-8) / 2 - 1.5px);border-left:3px solid var(--border-strong);position:absolute}.roadmap-route-steps{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.roadmap-route-step{min-width:0;position:relative}.roadmap-route-step>details,.roadmap-route-step>.roadmap-route-static{scroll-margin-top:var(--space-4);padding:0}.roadmap-route-step summary,.roadmap-route-static{grid-template-columns:var(--space-8) minmax(0, 1fr) var(--space-6);align-items:start;column-gap:var(--space-3);min-height:var(--target-min-height);padding:calc((var(--target-min-height) - var(--space-8)) / 2) 0;font-weight:var(--type-body-weight);list-style:none;display:grid}.roadmap-route-step summary::-webkit-details-marker{display:none}.roadmap-route-number{width:var(--space-8);height:var(--space-8);border:2px solid var(--border-strong);background:var(--surface-panel);color:var(--text-primary);font-size:var(--type-label-size);font-weight:var(--type-heading-weight);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.roadmap-route-label{align-items:center;gap:var(--space-1) var(--space-2);min-height:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.roadmap-route-title{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-route-step summary:hover .roadmap-route-title{text-decoration:underline}.roadmap-route-start{border-color:var(--border-strong);font-weight:var(--type-label-weight)}.roadmap-route-toggle{height:var(--space-8);justify-content:center;align-items:center;display:flex}.roadmap-route-toggle:before{content:"";width:var(--space-2);height:var(--space-2);border-bottom:2px solid;border-right:2px solid;transform:translateY(-25%)rotate(45deg)}.roadmap-route-step details[open]>summary .roadmap-route-toggle:before{transform:translateY(25%)rotate(-135deg)}.roadmap-route-step details[open]>summary .roadmap-route-number{background:var(--action-primary-bg);color:var(--text-on-action)}.roadmap-route-body{gap:var(--space-3);padding:var(--space-2) 0 var(--space-5) calc(var(--space-8) + var(--space-3));justify-items:start;min-width:0;display:grid}.roadmap-route-body>.roadmap-step-body{justify-self:stretch}.roadmap-route-end{grid-template-columns:var(--space-8) minmax(0, 1fr);align-items:center;column-gap:var(--space-3);min-height:var(--target-min-height);margin:var(--space-2) 0 0;font-weight:var(--type-label-weight);display:grid}.roadmap-route-end-dot{width:var(--space-4);height:var(--space-4);background:var(--border-strong);justify-self:center;position:relative}.roadmap-route-hint{margin:0 0 var(--space-4);word-break:keep-all}.roadmap-route-hint a{white-space:nowrap}.roadmap-step-body{gap:var(--space-2) var(--space-4);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.roadmap-step-body dt{font-weight:var(--type-label-weight);font-size:var(--type-label-size)}.roadmap-step-body dd{min-width:0;margin:0}.roadmap-step-body ul{padding-left:var(--space-5);margin:0}.roadmap-resources{gap:var(--space-3);padding:0;list-style:none;display:grid}.roadmap-resource{align-items:baseline;gap:var(--space-2);border:1px solid var(--border-subtle);padding:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.roadmap-resource small{flex-basis:100%}.roadmap-past-course{grid-template-columns:var(--past-poster-column) minmax(0, 1fr);align-items:start;display:grid}.roadmap-poster-stage{background:var(--surface-subtle);min-height:var(--space-13);justify-content:center;align-items:center;display:flex}.roadmap-poster-stage img{max-width:100%;height:auto;max-height:var(--past-poster-max-height);object-fit:contain;display:block}.roadmap-past-course-body{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.roadmap-resource-missing{color:var(--text-secondary);border-style:dashed}.roadmap-thread-list{margin:var(--space-4) 0 0;gap:var(--space-4);padding:0;list-style:none;display:grid}.roadmap-thread{border-top:1px solid var(--border-subtle);padding-top:var(--space-4);min-width:0}.roadmap-reply{border-left:3px solid var(--border-strong);padding-left:var(--space-4);margin:var(--space-3) 0}.roadmap-row-actions,.roadmap-member-actions>.actions+p.muted{margin-top:var(--space-3)}.roadmap-comments{margin:var(--space-4) 0 0 var(--space-5)}.roadmap-comments ul{padding:0;list-style:none}.roadmap-comments-title,.roadmap-editor-list-title{font-weight:var(--type-label-weight);margin:0 0 var(--space-2)}.roadmap-placeholder{font-style:italic}.roadmap-choices{margin:0 0 var(--space-4);gap:var(--space-2);border:0;padding:0;display:grid}.roadmap-choices legend{font-weight:var(--type-label-weight);margin-bottom:var(--space-2)}.roadmap-write,.roadmap-dialog,.roadmap-result,.roadmap-owner{margin:var(--space-4) 0;gap:var(--space-3);display:grid}.roadmap-dialog h2,.roadmap-dialog h3{margin:0}.roadmap-name-gate p{margin:0 0 var(--space-2)}.roadmap-inline-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-compare{margin:var(--space-4) 0;gap:var(--space-6);padding:0;list-style:none;display:grid}.roadmap-compare-row h3,.roadmap-compare-row h4{margin:0 0 var(--space-3);word-break:keep-all}.roadmap-compare-cells{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roadmap-compare-cells.roadmap-three{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-compare-cell{border:1px solid var(--border-subtle);padding:var(--space-4);overflow-wrap:anywhere;min-width:0}.roadmap-compare-cell.changed{border:3px solid var(--border-strong)}.roadmap-compare-label{margin:0 0 var(--space-2);font-size:var(--type-label-size);font-weight:var(--type-label-weight)}.roadmap-mark{font-weight:var(--type-heading-weight)}.roadmap-compare del,.roadmap-struck-block{text-decoration:line-through;display:block}.roadmap-compare-pickers{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;display:grid}.roadmap-history{gap:var(--space-4);padding:0;list-style:none;display:grid}.roadmap-history-item{border-left:3px solid var(--border-strong);padding-left:var(--space-4)}.roadmap-editor{gap:var(--space-8);display:grid}.roadmap-editor-section{gap:var(--space-4);scroll-margin-top:var(--space-8);display:grid}.roadmap-editor-step,.roadmap-editor-question{scroll-margin-top:var(--space-8)}.roadmap-editor fieldset{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.roadmap-editor legend{font-weight:var(--type-heading-weight);font-size:var(--type-participation-heading-size);word-break:keep-all}.roadmap-editor-list{gap:var(--space-3);display:grid}.roadmap-editor-item{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.roadmap-editor-choice{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.roadmap-resource-adder{align-items:end;gap:var(--space-3);border:1px dashed var(--border-subtle);padding:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.roadmap-submit-bar{border-top:1px solid var(--border-strong);margin-top:var(--space-8);padding-top:var(--space-5)}.roadmap-status-notice{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-status-notice p{flex:260px;min-width:0;margin:0}.roadmap-stepper{gap:var(--space-2) var(--space-5);margin:0 0 var(--space-5);font-size:var(--type-meta-size);flex-wrap:wrap;padding:0;list-style:none;display:flex}.roadmap-stepper li[aria-current=step]{font-weight:var(--type-heading-weight);border-bottom:3px solid var(--border-strong)}.roadmap-footer-links p{margin:0 0 var(--space-2)}@media (max-width:1000px){.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-compare-cells.roadmap-three{grid-template-columns:minmax(0,1fr)}.roadmap-card h3 a,.roadmap-meta a,.roadmap-origin a,.roadmap-thread a,.roadmap-history a,.roadmap-resource a,.roadmap-footer-links a,.roadmap-guide-link a,.roadmap-card-facts a,.roadmap-comments a,.roadmap-result a,.roadmap-route-hint a,.roadmap-dialog p a{position:relative}.roadmap-card h3 a:after,.roadmap-meta a:after,.roadmap-origin a:after,.roadmap-thread a:after,.roadmap-history a:after,.roadmap-resource a:after,.roadmap-footer-links a:after,.roadmap-guide-link a:after,.roadmap-card-facts a:after,.roadmap-comments a:after,.roadmap-result a:after,.roadmap-route-hint a:after,.roadmap-dialog p a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:700px){.roadmap-grid,.roadmap-compare-cells,.roadmap-compare-pickers,.roadmap-step-body{grid-template-columns:minmax(0,1fr)}.roadmap-past-course{grid-template-columns:var(--past-poster-column-mobile) minmax(0, 1fr)}.roadmap-search .field{min-width:0}.roadmap-editor-item,.roadmap-editor-choice{grid-template-columns:minmax(0,1fr);align-items:start}.roadmap-comments{margin-left:0}}.roadmap-my-results{margin-top:var(--space-6)}.roadmap-row-actions button[aria-pressed=true],.roadmap-member-actions button[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong);box-shadow:var(--depth-pressed)}@media (max-width:1000px){.roadmap-link-row a:not(.button),.roadmap-link-list a{position:relative}.roadmap-link-row a:not(.button):after,.roadmap-link-list a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.roadmap-thread-meta{min-height:var(--target-min-height)}.roadmap-link-row:not(.actions),.roadmap-footer-links p,.roadmap-link-list li{align-items:center;column-gap:var(--space-2);min-height:var(--target-min-height);flex-wrap:wrap;display:flex}.roadmap-footer-links p{margin:0}.roadmap-link-row:not(.actions)>a:not(.button),.roadmap-link-list li>a{min-height:var(--target-min-height);align-items:center;display:inline-flex}}.roadmap-ladder-section{padding-top:var(--space-4)}.roadmap-ladder-note{margin:0 0 var(--space-3);font-weight:var(--type-label-weight);word-break:keep-all}.roadmap-ladder-hint{margin:0 0 var(--space-5);word-break:keep-all}.roadmap-ladder-frame.has-side{grid-template-columns:minmax(0, 1fr) var(--ladder-side-width);gap:var(--space-8);align-items:start;display:grid}.roadmap-ladder-board{min-width:0;position:relative}.roadmap-ladder-lines{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.roadmap-ladder-line,.roadmap-ladder-spine,.roadmap-ladder-dot path{fill:none;stroke:var(--border-strong);stroke-width:2px}.roadmap-ladder-line.is-strong{stroke-width:3px}.roadmap-ladder-line.is-dim,.roadmap-ladder-spine,.roadmap-ladder-dot.is-dim path{stroke:var(--border-subtle)}.roadmap-ladder-dot path{stroke-width:1px}.roadmap-ladder-arrow{fill:var(--border-strong)}.roadmap-ladder-arrow.is-dim{fill:var(--border-subtle)}.roadmap-ladder-dot circle{fill:var(--surface-panel);stroke:var(--border-strong);stroke-width:2px}.roadmap-ladder-dot.is-following circle{fill:var(--border-strong)}.roadmap-ladder-dot.is-dim circle{stroke:var(--border-subtle)}.roadmap-ladder{gap:var(--ladder-row-gap);margin:0;padding:0;list-style:none;display:grid;position:relative}.roadmap-ladder-level{grid-template-columns:var(--ladder-label-width) minmax(0, 1fr);column-gap:var(--space-6);align-items:start;display:grid}@media (prefers-reduced-motion:no-preference){.roadmap-ladder-level{animation:block-stack var(--stamp-duration) steps(4, end) backwards;animation-delay:calc(var(--ladder-level,0) * var(--ladder-stagger))}}.roadmap-ladder-level.is-alone{padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.roadmap-ladder-heading{padding-top:var(--space-3);font-size:var(--type-body-size);font-weight:var(--type-label-weight);word-break:keep-all;margin:0}.roadmap-ladder-row{grid-template-columns:repeat(auto-fill, var(--ladder-node-width));justify-content:center;gap:var(--space-5) var(--space-6);min-width:0;margin:0;padding:0;list-style:none;display:grid}.roadmap-ladder-item{gap:var(--space-3);min-width:0;display:grid}.roadmap-ladder-node{place-content:start stretch;justify-items:start;gap:var(--space-2);width:var(--ladder-node-width);max-width:100%;min-height:var(--target-min-height);padding:var(--space-3) var(--space-4);background:var(--surface-panel);text-align:left;font-weight:var(--type-body-weight);display:grid}.roadmap-ladder-node:hover{background:var(--surface-panel)}.roadmap-ladder-title{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-ladder-facts{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}.roadmap-ladder-node.is-following{border-width:2px}.roadmap-ladder-node.is-active,.roadmap-ladder-node.is-open{box-shadow:var(--depth-map-active), var(--depth-secondary)}.roadmap-ladder-node.is-way{box-shadow:var(--depth-map-near), var(--depth-secondary)}.roadmap-ladder-node.is-dim{border-color:var(--border-subtle);color:var(--text-secondary)}.roadmap-ladder-more{margin-top:var(--space-4);grid-column:2;justify-self:center}.roadmap-mini-route{align-items:center;gap:var(--mini-route-gap);flex-wrap:wrap;display:inline-flex}.roadmap-mini-route i{width:var(--mini-route-dot);height:var(--mini-route-dot);border:2px solid var(--border-strong);background:var(--surface-panel);border-radius:50%;position:relative}.roadmap-mini-route i+i:before{content:"";width:var(--mini-route-gap);border-top:2px solid var(--border-strong);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.roadmap-mini-route i.is-done{background:var(--border-strong)}.roadmap-ladder-preview{align-content:start;justify-items:start;gap:var(--space-3);min-width:0;padding:var(--space-5);border:1px solid var(--border-strong);background:var(--surface-panel);box-shadow:var(--depth-panel);display:grid}.roadmap-ladder-frame.has-side>.roadmap-ladder-preview{top:var(--space-6);position:sticky}.roadmap-ladder-preview.is-empty{box-shadow:none;border-style:dashed}.roadmap-ladder-preview h3,.roadmap-ladder-preview p{word-break:keep-all;overflow-wrap:anywhere;margin:0}.roadmap-ladder-steps{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.roadmap-ladder-links{gap:var(--space-1);justify-self:stretch;display:grid}.roadmap-ladder-links-label{font-weight:var(--type-label-weight)}.roadmap-ladder-links ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.roadmap-ladder-links .text-button{min-height:var(--target-min-height);text-align:left}.roadmap-continue{margin:var(--space-4) 0}.roadmap-continue h2{margin:0 0 var(--space-3);font-size:var(--type-heading-3-size)}.roadmap-continue ul{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.roadmap-continue-item{align-content:start;justify-items:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:2px solid var(--border-strong);background:var(--surface-panel);display:grid}.roadmap-continue-item p{word-break:keep-all;overflow-wrap:anywhere;margin:0}@media (max-width:1000px){.roadmap-ladder-level{row-gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.roadmap-ladder-heading{padding-top:0}.roadmap-ladder-more{grid-column:1}.roadmap-ladder-item:has(>.roadmap-ladder-preview){grid-column:1/-1;justify-items:center}.roadmap-ladder-item>.roadmap-ladder-preview{justify-self:stretch}.roadmap-continue ul{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.roadmap-ladder-board.is-track .roadmap-ladder-row,.roadmap-ladder-board.is-track .roadmap-ladder-heading,.roadmap-ladder-board.is-track .roadmap-ladder-more{margin-left:var(--ladder-track-width)}.roadmap-ladder-row{justify-content:stretch;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.roadmap-ladder-node{width:100%}.roadmap-ladder-item:has(>.roadmap-ladder-preview){justify-items:stretch}.roadmap-ladder-more{justify-self:start}}.roadmap-linked-step{border-style:dashed}.roadmap-linked-source{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;margin:0;display:flex}.roadmap-linked-note,.roadmap-linked-unavailable p{word-break:keep-all;margin:0}.roadmap-linked-unavailable{gap:var(--space-2);border:1px dashed var(--border-subtle);padding:var(--space-4);display:grid}.roadmap-linked-detach{justify-items:start;gap:var(--space-2);display:grid}.roadmap-linked-detach>small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-step-usage{word-break:keep-all;margin:0}.roadmap-optional-check{align-items:center}.roadmap-step-adders{align-items:flex-start}.roadmap-picker{gap:var(--space-4);border:1px dashed var(--border-subtle);padding:var(--space-4);min-width:0;display:grid}.roadmap-picker h3,.roadmap-picker h4,.roadmap-picker p{word-break:keep-all;margin:0}.roadmap-candidates,.roadmap-import-steps{gap:var(--space-3);min-width:0;display:grid}.roadmap-pick-list{margin:0;padding:0;list-style:none;display:grid}.roadmap-pick-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.roadmap-pick-item:last-child{border-bottom:1px solid var(--border-subtle)}.roadmap-pick-info{justify-items:start;gap:var(--space-1);word-break:keep-all;overflow-wrap:anywhere;min-width:0;display:grid}.roadmap-pick-info small{font-size:var(--type-meta-size)}.roadmap-pick-marks{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-compare-linked{gap:var(--space-1);margin:0;display:grid}.roadmap-compare-step-marks{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:1000px){.roadmap-pick-info a{min-height:var(--target-min-height);align-items:center;display:inline-flex;position:relative}.roadmap-pick-info a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:700px){.roadmap-pick-item{grid-template-columns:minmax(0,1fr);align-items:start}}.roadmap-route-step.is-optional .roadmap-route-number{border-style:dashed}.roadmap-route-step.is-unavailable .roadmap-route-number{border-color:var(--border-subtle);border-radius:var(--radius-control)}.roadmap-route-step.is-unavailable .roadmap-route-number,.roadmap-route-step.is-unavailable .roadmap-route-title{color:var(--text-secondary)}.roadmap-route-step.is-done .roadmap-route-number{background:var(--action-primary-bg);color:var(--text-on-action)}.roadmap-route-step.is-done .roadmap-route-number:before{content:"";width:var(--space-2);height:var(--space-4);border-bottom:3px solid;border-right:3px solid;transform:translateY(-15%)rotate(45deg)}.roadmap-route-step.is-current .roadmap-route-number{outline:2px solid var(--border-strong);outline-offset:2px;border-width:3px}.roadmap-route-current{border-color:var(--border-strong);font-weight:var(--type-label-weight)}.roadmap-route-changed{border-color:var(--border-strong)}.roadmap-route-change-note{padding-left:var(--space-2);border-left:3px solid var(--border-strong);font-weight:var(--type-label-weight);word-break:keep-all;margin:0}.roadmap-route-step details[open]>.roadmap-route-body{animation:route-open var(--route-open-duration) steps(3, end) backwards}.roadmap-route-step.is-just-done .roadmap-route-number,.roadmap-progress-blocks i.is-new{animation:route-stamp var(--stamp-duration) steps(3, end) backwards}@keyframes route-open{0%{transform:translateY(calc(-1 * var(--route-open-rise)));clip-path:inset(0 0 100%)}to{clip-path:inset(0);transform:none}}@keyframes route-stamp{0%{transform:scale(var(--stamp-scale)) rotate(var(--stamp-tilt))}to{transform:none}}.roadmap-progress-blocks{gap:var(--seat-gauge-gap);margin:var(--space-1) 0;flex-wrap:wrap;display:flex}.roadmap-progress-blocks i{width:var(--progress-block-width);height:var(--seat-gauge-height);border:1px solid var(--border-strong);background:var(--surface-panel)}.roadmap-progress-blocks i.is-done{background:var(--border-strong)}.roadmap-route-source{margin:0}.roadmap-current{gap:var(--space-2);margin:0 0 var(--space-5);justify-items:start;min-width:0;display:grid}.roadmap-current h3,.roadmap-current p{word-break:keep-all;overflow-wrap:anywhere;margin:0}.roadmap-progress-line{font-weight:var(--type-label-weight)}.roadmap-current .actions{margin-top:var(--space-2)}.roadmap-follow{gap:var(--space-2);margin:var(--space-4) 0;justify-items:start;display:grid}.roadmap-follow p{word-break:keep-all;margin:0}.roadmap-prereq-nav{align-items:baseline;gap:var(--space-1) var(--space-3);margin:var(--space-4) 0 0;flex-wrap:wrap;min-width:0;display:flex}.roadmap-prereq-label{margin:0}.roadmap-prereq-line{gap:var(--space-1) var(--space-5);flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.roadmap-prereq-line li{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.roadmap-prereq-line a{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-step-follow{gap:var(--space-2);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);justify-self:stretch;justify-items:start;display:grid}.roadmap-step-follow .field{justify-self:stretch}.roadmap-step-follow>small,.roadmap-step-follow form>small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-step-follow form.roadmap-step-follow{border-top:0;padding-top:0}.roadmap-step-done,.roadmap-my-result p,.roadmap-follow-first{word-break:keep-all;margin:0}.roadmap-my-result{gap:var(--space-1);min-width:0;display:grid}.roadmap-my-result-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-result-link{overflow-wrap:anywhere;min-width:0}.roadmap-step-results{gap:var(--space-2);min-width:0;margin-top:var(--space-3);justify-self:stretch;display:grid}.roadmap-step-results h3,.roadmap-step-results p{margin:0}.roadmap-result-list{margin:0;padding:0;list-style:none;display:grid}.roadmap-result-item{gap:var(--space-1);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);display:grid}.roadmap-result-item:last-child{border-bottom:1px solid var(--border-subtle)}.roadmap-result-meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}@media (max-width:1000px){.roadmap-prereq-line li,.roadmap-route-source,.roadmap-result-meta,.roadmap-result-link,.roadmap-result-report{min-height:var(--target-min-height);flex-wrap:wrap;align-items:center;display:flex}.roadmap-prereq-line a,.roadmap-route-source a,.roadmap-result-meta a,.roadmap-result-link a{position:relative}.roadmap-prereq-line a:after,.roadmap-route-source a:after,.roadmap-result-meta a:after,.roadmap-result-link a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}
.roadmap-admin{gap:var(--space-4);min-width:0;display:grid}.roadmap-admin-section{padding:var(--space-4);min-width:0;box-shadow:none;border-color:var(--border-subtle);margin:0}.roadmap-admin-section h2{font-size:var(--type-question-heading-size);margin:0;line-height:1.4}.roadmap-admin-section h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--type-compact-size)}.roadmap-admin-section>p.muted{margin:var(--space-2) 0;font-size:var(--type-caption-size)}.roadmap-admin-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-admin-filter{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.roadmap-admin-filter button[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong)}.roadmap-admin-list,.roadmap-admin-rows{gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.roadmap-admin-card{border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:var(--space-3);overflow-wrap:anywhere;word-break:keep-all;min-width:0}.roadmap-admin-card-head{align-items:center;gap:var(--space-2);font-size:var(--type-compact-size);flex-wrap:wrap;display:flex}.roadmap-admin-title{flex:200px;min-width:0}.roadmap-admin-count,.roadmap-admin-card-head time{font-size:var(--type-caption-size);color:var(--text-secondary)}.roadmap-admin-link{font-size:var(--type-caption-size)}.roadmap-admin-sentence{margin:var(--space-2) 0;font-size:var(--type-small-body-size);color:var(--text-secondary)}.roadmap-admin-detail{margin:var(--space-1) 0 0;font-size:var(--type-small-body-size);white-space:pre-wrap}.roadmap-admin-reporters{margin:var(--space-2) 0;border-top:1px solid var(--border-subtle);padding:0;list-style:none}.roadmap-admin-reporters>li{gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--type-small-body-size);flex-wrap:wrap;display:flex}.roadmap-admin-reporters>li>.roadmap-admin-detail{color:var(--text-secondary);flex-basis:100%}.roadmap-admin-reporters time{color:var(--text-secondary);font-size:var(--type-caption-size)}.roadmap-admin-reporter{font-weight:var(--type-label-weight)}.roadmap-admin-resolve{gap:var(--space-2);display:grid}.roadmap-admin-resolve .actions{gap:var(--space-2);margin:0}.roadmap-admin-reason{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.roadmap-admin-reason .field,.roadmap-admin-inline-form .field{margin:0}.roadmap-admin-reason textarea{resize:vertical;min-height:0}.roadmap-admin-field-error{margin:var(--space-1) 0 0;color:var(--text-danger);font-size:var(--type-small-body-size);line-height:1.5}.roadmap-admin [aria-invalid=true]:is(input,select,textarea){border-color:var(--border-danger)}.roadmap-admin-inline-form{align-items:flex-end;gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.roadmap-admin-inline-form>div:not(.roadmap-admin-feature-action),.roadmap-admin-inline-form>.field{flex:260px;min-width:0}.roadmap-admin-row,.roadmap-admin-found{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);flex-wrap:wrap;min-width:0;display:flex}.roadmap-admin-found{margin:var(--space-2) 0;background:var(--surface-subtle)}.roadmap-admin-row-main{gap:var(--space-1);overflow-wrap:anywhere;word-break:keep-all;flex:240px;min-width:0;display:grid}.roadmap-admin-row-main small{color:var(--text-secondary)}.roadmap-admin-row-main .roadmap-admin-sentence{margin:0}.roadmap-admin-feature-action{align-items:center;gap:var(--action-gap);flex-wrap:wrap;display:flex}.roadmap-admin-hide{margin:var(--space-3) 0;border-top:1px solid var(--border-subtle);padding:0}.roadmap-admin-hide>summary{cursor:pointer;font-size:var(--type-compact-size);font-weight:var(--type-summary-weight);align-items:center;display:flex}.roadmap-admin-hide>summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.roadmap-admin-hide>form{padding:var(--space-2) 0 var(--space-3);gap:var(--space-3)}.roadmap-admin-preview{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);font-size:var(--type-small-body-size)}.roadmap-admin-preview ul{padding-left:var(--space-5);margin:0}.roadmap-admin-preview p{margin:var(--space-2) 0 0}.roadmap-admin .actions .danger,.roadmap-admin-feature-action .danger{box-shadow:none}@media (min-width:1001px){.roadmap-admin button,.roadmap-admin .button{min-height:var(--space-10);padding:var(--space-2) var(--space-3);font-size:var(--type-caption-size)}.roadmap-admin-filter button{min-height:var(--space-9)}.roadmap-admin input,.roadmap-admin select{min-height:var(--space-10);padding:var(--space-2) 10px}.roadmap-admin-hide>summary{min-height:var(--space-10)}}@media (max-width:1000px){.roadmap-admin-section{padding:var(--space-3)}.roadmap-admin button,.roadmap-admin .button,.roadmap-admin input,.roadmap-admin select,.roadmap-admin-hide>summary{min-height:var(--target-min-height)}.roadmap-admin-link,.roadmap-admin-row-main>a{align-items:center;display:inline-flex;position:relative}.roadmap-admin-link:after,.roadmap-admin-row-main>a:after{content:"";min-height:var(--target-min-height);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.roadmap-admin-row-main>a{justify-self:start}}@media (max-width:700px){.roadmap-admin-reason{grid-template-columns:minmax(0,1fr)}.roadmap-admin-inline-form{flex-direction:column;align-items:stretch}.roadmap-admin-inline-form>div:not(.roadmap-admin-feature-action),.roadmap-admin-inline-form>.field{flex-basis:auto}.roadmap-admin-row,.roadmap-admin-found,.roadmap-admin-feature-action{flex-direction:column;align-items:stretch}}
.certificate-page{padding:var(--space-8) 0 var(--space-13)}.certificate-tools{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.certificate-page .certificate-tools-hint{color:var(--text-secondary);font-size:var(--type-small-body-size);margin:0}.certificate-stage{width:100%;max-width:760px;margin-inline:auto;container-type:inline-size}.certificate-sheet{--certificate-in:calc(100cqw / 8.268);--certificate-pt:calc(var(--certificate-in) / 72);aspect-ratio:210/297;background:var(--surface-page);width:100%;color:var(--text-primary);letter-spacing:normal;word-break:keep-all;overflow-wrap:anywhere;-webkit-print-color-adjust:exact;print-color-adjust:exact;line-height:1.3;position:relative}.certificate-sheet *,.certificate-sheet :before,.certificate-sheet :after{-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-shadow,.certificate-paper{width:calc(var(--certificate-in) * 7.308);height:calc(var(--certificate-in) * 10.733);position:absolute}.certificate-shadow{left:calc(var(--certificate-in) * .54);top:calc(var(--certificate-in) * .54);background:var(--border-strong)}.certificate-paper{left:calc(var(--certificate-in) * .42);top:calc(var(--certificate-in) * .42);background:var(--surface-panel);border:calc(var(--certificate-pt) * 2.5) solid var(--border-strong)}.certificate-frame{left:calc(var(--certificate-in) * .58);top:calc(var(--certificate-in) * .58);width:calc(var(--certificate-in) * 6.988);height:calc(var(--certificate-in) * 10.413);border:calc(var(--certificate-pt) * .75) solid var(--border-strong);padding:calc(var(--certificate-in) * .42) calc(var(--certificate-in) * .3) calc(var(--certificate-in) * .22);grid-template-rows:auto minmax(0,.9fr) auto auto minmax(0,.8fr) auto minmax(0,.45fr) auto minmax(0,.45fr) auto minmax(0,.9fr) auto minmax(0,.25fr) auto minmax(0,.45fr);grid-template-columns:minmax(0,1fr);justify-items:center;display:grid;position:absolute}.certificate-sheet p,.certificate-sheet h1{max-width:none;margin:0}.certificate-steps{width:calc(var(--certificate-in) * .32);height:calc(var(--certificate-in) * .32);position:absolute}.certificate-steps i{width:calc(var(--certificate-in) * .16);height:calc(var(--certificate-in) * .16);background:var(--border-strong);position:absolute}.certificate-steps-start{left:calc(var(--certificate-in) * .18);top:calc(var(--certificate-in) * .18)}.certificate-steps-start i:first-child{top:0;left:0}.certificate-steps-start i:nth-child(2){left:calc(var(--certificate-in) * .16);top:0}.certificate-steps-start i:nth-child(3){left:0;top:calc(var(--certificate-in) * .16)}.certificate-steps-end{right:calc(var(--certificate-in) * .18);bottom:calc(var(--certificate-in) * .18)}.certificate-steps-end i:first-child{bottom:0;right:0}.certificate-steps-end i:nth-child(2){right:calc(var(--certificate-in) * .16);bottom:0}.certificate-steps-end i:nth-child(3){right:0;bottom:calc(var(--certificate-in) * .16)}.certificate-head{justify-content:space-between;justify-self:stretch;align-items:center;gap:calc(var(--certificate-in) * .3);padding:0 calc(var(--certificate-in) * .3) 0 calc(var(--certificate-in) * .342);grid-row:1;display:flex}.certificate-wordmark{width:calc(var(--certificate-in) * 2);height:calc(var(--certificate-in) * .413);flex-shrink:0;display:block;position:relative;overflow:hidden}.certificate-wordmark img{left:calc(var(--certificate-in) * -.1703);top:calc(var(--certificate-in) * -.5456);width:calc(var(--certificate-in) * 2.315);max-width:none;height:auto;position:absolute}.certificate-sheet .certificate-number{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 11);text-align:right;white-space:nowrap}.certificate-sheet .certificate-title{font-size:calc(var(--certificate-pt) * 54);font-weight:var(--type-heading-weight);letter-spacing:calc(var(--certificate-pt) * 16);margin-right:calc(var(--certificate-pt) * -16);text-align:center;grid-row:3;line-height:1.3}.certificate-sheet .certificate-subtitle{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 10.5);font-weight:var(--type-heading-weight);letter-spacing:calc(var(--certificate-pt) * 5);margin-right:calc(var(--certificate-pt) * -5);text-align:center;grid-row:4;line-height:1.6}.certificate-sheet .certificate-name{width:fit-content;min-width:calc(var(--certificate-in) * 4.2);max-width:calc(var(--certificate-in) * 6.2);grid-row:6;grid-template-columns:calc(var(--certificate-in) * .8) minmax(0, 1fr) calc(var(--certificate-in) * .8);padding-bottom:calc(var(--certificate-in) * .08);border-bottom:calc(var(--certificate-pt) * 1.5) solid var(--border-strong);align-items:end;display:grid}.certificate-name-label{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 12);font-weight:var(--type-heading-weight)}.certificate-name-value{font-size:calc(var(--certificate-pt) * 28);font-weight:var(--type-heading-weight);text-align:center}.certificate-sheet .certificate-statement{max-width:calc(var(--certificate-in) * 5.4);font-size:calc(var(--certificate-pt) * 14);text-align:center;grid-row:8;line-height:1.7}.certificate-table{width:calc(var(--certificate-in) * 6.2);border-collapse:collapse;border-top:calc(var(--certificate-pt) * 1.25) solid var(--border-strong);border-bottom:calc(var(--certificate-pt) * 1.25) solid var(--border-strong);text-align:left;grid-row:10}.certificate-table tr+tr{border-top:calc(var(--certificate-pt) * .5) solid var(--border-subtle)}.certificate-table th,.certificate-table td{height:calc(var(--certificate-in) * .42);padding:calc(var(--certificate-in) * .06) calc(var(--certificate-in) * .08);vertical-align:middle}.certificate-table th{width:calc(var(--certificate-in) * 1.1);color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 11);font-weight:var(--type-heading-weight)}.certificate-table td{font-size:calc(var(--certificate-pt) * 12)}.certificate-table tr:first-child td{font-size:calc(var(--certificate-pt) * 13);font-weight:var(--type-heading-weight)}.certificate-sheet .certificate-date{font-size:calc(var(--certificate-pt) * 14);text-align:center;grid-row:12}.certificate-sheet .certificate-issuer{justify-content:center;align-items:center;gap:calc(var(--certificate-in) * .12);font-size:calc(var(--certificate-pt) * 18);text-align:center;grid-row:14;display:flex}.certificate-seal{width:calc(var(--certificate-in) * .75);height:calc(var(--certificate-in) * .75);object-fit:contain;flex-shrink:0;display:block}.certificate-issuer strong{font-weight:var(--type-heading-weight)}.certificate-issuer-role{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 13);white-space:pre}.certificate-status{padding:var(--space-8) 0}.certificate-status h1{font-size:var(--type-page-title-size);margin-bottom:var(--space-4);line-height:1.25}.certificate-page .certificate-status-number{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--type-small-body-size)}@media (max-width:700px){.certificate-page{padding:var(--space-6) 0 var(--space-11)}.certificate-tools{margin-bottom:var(--space-4)}}@page certificate{size:A4 portrait;margin:0}@media print{body:has(.certificate-sheet){background:var(--surface-page);margin:0}.certificate-page .certificate-tools{display:none}body:has(.certificate-sheet) .skip-link{display:none}body:has(.certificate-sheet) .pwa-install-banner{display:none}body:has(.certificate-sheet) .demo-banner{display:none}body:has(.certificate-sheet) .site-header{display:none}body:has(.certificate-sheet) .site-header+.feedback{display:none}body:has(.certificate-sheet) .site-footer{display:none}body:has(.certificate-sheet) .voxel-stage{display:none}body:has(.certificate-sheet) main{max-width:none;min-height:0;margin:0;padding:0}.certificate-page-issued{page:certificate;break-inside:avoid;justify-content:center;align-items:center;height:100vh;padding:0;display:flex;overflow:hidden}.certificate-page-issued .certificate-stage{width:min(100vw,70.7071vh);max-width:none}}
