/* v5: semantic tokens applied to the complete editorial homepage.
   Historic v4 geometry and animation rules remain in index.html.
   Art-directed cover, brand SVG and fluid palettes are explicit preserved exceptions. */
:root{--ink:var(--dt-color-text-primary);--muted:var(--dt-color-text-secondary);--line:var(--dt-color-border-subtle);--green:var(--dt-color-action-primary-bg-default);--blue:var(--dt-color-text-working)}
body{font-family:var(--dt-font-family);font-size:var(--dt-font-body-size);font-weight:var(--dt-font-body-weight);line-height:var(--dt-font-body-line);letter-spacing:var(--dt-font-body-tracking);background:var(--dt-color-surface-page);color:var(--dt-color-text-primary)}
body button,body input,body h1,body h2,body h3,body .market-label,body .market-label .section-caption,body .academy-meta>span:first-child,body .career-inner .career-tag{font-family:var(--dt-font-family)}
.wrap{width:min(var(--dt-layout-content-max),calc(100% - 96px))}
.header{background:color-mix(in srgb,var(--dt-color-surface-page) 94%,transparent)}
.preview{background:var(--dt-color-surface-opening);color:var(--dt-color-text-secondary);font-size:12px;height:auto;min-height:28px;padding:4px 0}
.header .nav,.mobile-nav a{font-size:var(--dt-font-helper-size);font-weight:var(--dt-weight-500)}
.hero{background:var(--dt-color-surface-brand);color:var(--dt-color-text-inverse);padding:var(--dt-space-24) 0}
.signup-right-preview .hero-grid{grid-template-columns:minmax(0,1fr) var(--dt-login-width) var(--dt-member-column-width);gap:var(--dt-space-24)}
.signup-right-preview .hero-copy{padding-right:var(--dt-space-12)}
.signup-right-preview .hero-copy h1{font-size:clamp(42px,4vw,var(--dt-font-display-size));font-weight:var(--dt-font-display-weight);line-height:var(--dt-font-display-line);letter-spacing:var(--dt-font-display-tracking)}
.hero-single-line em{color:var(--dt-color-action-accent-bg-default)}
.hero-copy .eyebrow{font-size:var(--dt-font-label-size);font-weight:var(--dt-font-label-weight);line-height:var(--dt-font-label-line);letter-spacing:0;color:var(--dt-color-action-accent-bg-default);margin-bottom:var(--dt-space-20)}
.hero-copy>p{font-size:var(--dt-font-body-size);line-height:var(--dt-font-body-line);color:var(--dt-color-text-inverse-secondary);margin-top:var(--dt-space-24)}
.hero-copy .text-link{font-size:var(--dt-font-button-size);font-weight:var(--dt-weight-600);color:var(--dt-color-action-accent-bg-default);margin-top:var(--dt-space-12)}
.signup-right-preview .hero .login{background:var(--dt-color-surface-card);color:var(--dt-color-text-primary);border-radius:var(--dt-card-radius);padding:var(--dt-card-padding) var(--dt-space-20);box-shadow:none;min-height:460px}
.login h2,.signup-right-preview .member-box h2{font-size:var(--dt-font-card-size);font-weight:var(--dt-font-card-weight);line-height:var(--dt-font-card-line);letter-spacing:var(--dt-font-card-tracking)}
.login-intro,.or,.login-options,.login-options button,.report button{font-size:var(--dt-font-helper-size);line-height:var(--dt-font-helper-line);color:var(--dt-color-text-secondary)}
.login-intro{margin:var(--dt-space-4) 0 var(--dt-space-16)}
.or{gap:var(--dt-space-8);margin:var(--dt-space-12) 0}
.or:before,.or:after{background:var(--dt-color-border-subtle)}
.login input[type=text],.login input[type=password]{height:var(--dt-input-height);font-size:var(--dt-input-font-size);color:var(--dt-color-text-primary);background:var(--dt-color-surface-page);border-color:var(--dt-color-border-control);border-radius:var(--dt-input-radius);padding:0 var(--dt-space-12);margin-bottom:var(--dt-space-8)}
.login input::placeholder{color:var(--dt-color-text-secondary);opacity:1}
.login-options{gap:var(--dt-space-8);flex-wrap:wrap;margin-bottom:var(--dt-space-12)}
.login-options button,.report button{min-height:44px}
.report{border-color:var(--dt-color-border-subtle);margin-top:var(--dt-space-12);padding-top:var(--dt-space-4)}
.signup-right-preview .member-stack{gap:var(--dt-space-16)}
.signup-right-preview .member-box{padding:var(--dt-member-card-padding);border-radius:var(--dt-card-radius);background:var(--dt-color-surface-card-inverse);border-color:var(--dt-color-border-control)}
.signup-right-preview .member-box h2{color:var(--dt-color-text-inverse)}
.signup-right-preview .member-box p{font-size:var(--dt-font-helper-size);line-height:var(--dt-font-helper-line);color:var(--dt-color-text-inverse-secondary);margin:var(--dt-space-12) 0 var(--dt-space-20)}
.btn,.signup-right-preview .member-box .btn,.login .btn,.naver{font-size:var(--dt-font-button-size);font-weight:var(--dt-font-button-weight);line-height:var(--dt-font-button-line);min-height:var(--dt-button-height);border-radius:var(--dt-button-radius);padding:var(--dt-space-12) var(--dt-space-16)}
.btn,.login .btn,.academy-button{background:var(--dt-button-primary-background);color:var(--dt-button-primary-text)}
.btn:hover,.login .btn:hover,.academy-button:hover{background:var(--dt-color-action-primary-bg-hover);box-shadow:none}
.btn:active,.login .btn:active,.academy-button:active{background:var(--dt-color-action-primary-bg-pressed)}
.signup-right-preview .member-box .btn,.career-inner .btn{background:var(--dt-color-action-accent-bg-default);color:var(--dt-color-action-accent-text);border-color:transparent}
.signup-right-preview .member-box .btn:hover,.career-inner .btn:hover{background:var(--dt-color-action-accent-bg-hover)}
.signup-right-preview .member-box .btn-outline{background:var(--dt-color-surface-opening);color:var(--dt-color-text-primary)}
.signup-right-preview .member-box .btn-outline:hover{background:var(--dt-color-surface-card)}
.naver{background:#00AD55;color:#fff} /* External identity: retained, contrast exception in README */
.tactile-wrap,.member-box .tactile-wrap{border-radius:var(--dt-button-radius)}
.tactile-wrap>button{transition:background-color var(--dt-motion-ui-fast),color var(--dt-motion-ui-fast)}
.text-link,.pause-button{font-size:var(--dt-font-button-size);font-weight:var(--dt-weight-500);line-height:1.5}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--dt-focus-width) solid var(--dt-color-focus-on-light);outline-offset:var(--dt-focus-offset)}
.hero-copy :focus-visible,.member-box .btn:focus-visible,.career-band :focus-visible{outline-color:var(--dt-color-focus-on-dark)}
.academy{background:var(--dt-color-surface-academy);padding:var(--dt-layout-academy-padding) 0}
.academy-feature{gap:var(--dt-space-32);padding-bottom:var(--dt-space-32)}
.academy-main h2,.library-intro h2,.faq-intro h2{font-size:var(--dt-font-section-size);font-weight:var(--dt-font-section-weight);line-height:var(--dt-font-section-line);letter-spacing:var(--dt-font-section-tracking)}
.academy-main h2{font-size:var(--dt-font-academy-size)}
.market-label,.academy-meta>span:first-child,.career-inner .career-tag{font-size:var(--dt-font-label-size);font-weight:var(--dt-font-label-weight);line-height:var(--dt-font-label-line);letter-spacing:var(--dt-font-label-tracking)}
.market-label,.academy-meta>span:first-child{color:var(--dt-color-text-primary)}
.market-label .section-caption,.academy-meta>span+span,.lecture-heading>span,.lecture-image-slot,.partners-note,.partner-card small,.working-principle>span,.ad-label,.footer-note,.footer-links,.footer-links button,.intro-replay{font-size:var(--dt-font-helper-size);line-height:var(--dt-font-helper-line);color:var(--dt-color-text-secondary);font-weight:var(--dt-weight-400)}
.academy-copy-lead{font-size:var(--dt-font-body-size);font-weight:var(--dt-weight-600);line-height:var(--dt-font-body-line);color:var(--dt-color-text-primary)}
.academy-copy-body,.library-intro>p,.library-group>p,.market-head>p,.working-market .market-head>p,.action-card p,.work-service p,.career-inner p,.faq-intro p,details p,dialog p{font-size:var(--dt-font-body-size);font-weight:var(--dt-weight-400);line-height:var(--dt-font-body-line);letter-spacing:0;color:var(--dt-color-text-secondary)}
.lecture-companies{padding:var(--dt-space-16) 0 0;border-color:var(--dt-color-border-subtle)}
.lecture-heading{gap:var(--dt-space-12);flex-wrap:wrap}
.lecture-heading h3,.partner-heading h3{font-size:var(--dt-size-16);font-weight:var(--dt-weight-650)}
.lecture-images{gap:var(--dt-space-16)}
.lecture-image-slot{background:var(--dt-color-surface-page);border-color:var(--dt-color-border-subtle);padding:var(--dt-space-8);height:auto;min-height:84px;text-align:center}
.opening-library,.market,.working-market,.faq-section{padding:var(--dt-layout-section-padding) 0}
.opening-library{background:var(--dt-color-surface-page);border-color:var(--dt-color-border-subtle)}
.opening-market{background:var(--dt-color-surface-opening);border-color:var(--dt-color-border-subtle)}
.working-market{background:var(--dt-color-surface-working);color:var(--dt-color-text-working)}
.library-intro{gap:var(--dt-space-16);margin-bottom:var(--dt-space-32)}
.library-groups{gap:var(--dt-space-48);border-color:var(--dt-color-border-subtle)}
.library-group{padding-top:var(--dt-space-24)}
.library-group h3,.action-card h3,.work-service h3{font-size:var(--dt-font-card-size);font-weight:var(--dt-font-card-weight);line-height:var(--dt-font-card-line);letter-spacing:var(--dt-font-card-tracking)}
.library-group li{font-size:var(--dt-font-body-size);color:var(--dt-color-action-primary-bg-default);border-color:var(--dt-color-border-subtle)}
.market h2,.working-market h2{font-size:var(--dt-font-market-size);font-weight:var(--dt-font-market-weight);line-height:var(--dt-font-market-line);letter-spacing:var(--dt-font-market-tracking)}
.market-label{border-color:var(--dt-color-border-subtle);padding-bottom:var(--dt-space-16);margin-bottom:var(--dt-space-20)}
.market-head{margin-bottom:var(--dt-space-32)}
.market-head>p,.working-market .market-head>p{margin-top:var(--dt-space-24)}
.partner-block{margin-top:var(--dt-space-32);padding:var(--dt-card-padding);background:var(--dt-color-surface-card);border-radius:var(--dt-card-radius)}
.partner-heading{gap:var(--dt-space-16);flex-wrap:wrap}
.partner-actions{gap:var(--dt-space-12);flex-wrap:wrap}
.partner-card{background:var(--dt-color-surface-page);border-color:var(--dt-color-border-subtle);border-radius:var(--dt-radius-control);padding:var(--dt-space-16);min-height:104px}
.partner-card:hover{background:var(--dt-color-surface-opening)}
.partner-wordmark{font-size:var(--dt-font-card-size);font-weight:var(--dt-weight-600)}
.opening-actions{gap:var(--dt-space-32);margin-top:var(--dt-space-24)}
.action-card{border-color:var(--dt-color-border-subtle);padding:var(--dt-space-16) 0 var(--dt-space-24)}
.working-market .market-label,.work-service h3{color:var(--dt-color-text-working)}
.working-market .section-caption,.working-market .market-head>p,.work-service p,.working-principle>span{color:var(--dt-color-text-working-secondary)}
.working-principle{padding:var(--dt-space-24) 0;margin:var(--dt-space-32) 0}
.working-principle strong{font-size:var(--dt-font-card-size);font-weight:var(--dt-weight-500)}
.work-services{gap:var(--dt-space-32)}
.work-service h3{margin-bottom:var(--dt-space-16)}
.work-service+.work-service{padding-left:var(--dt-space-32)}
.work-service .text-link{font-size:var(--dt-font-button-size);color:var(--dt-color-text-working)}
.career-band{background:var(--dt-color-surface-brand);color:var(--dt-color-text-inverse);padding:var(--dt-space-40) 0}
.career-inner h2{font-size:var(--dt-font-section-size);font-weight:var(--dt-font-section-weight);line-height:var(--dt-font-section-line);letter-spacing:var(--dt-font-section-tracking)}
.career-inner .career-tag,.career-inner p{color:var(--dt-color-text-inverse-secondary)}
.sponsor-section{padding:var(--dt-space-32) 0 0}
.sponsor{background:var(--dt-color-surface-opening);border-radius:var(--dt-card-radius);padding:var(--dt-card-padding)}
.sponsor h3{font-size:var(--dt-font-card-size);font-weight:var(--dt-weight-600);line-height:1.4}
.faq-layout{gap:var(--dt-space-48)}
summary{font-size:var(--dt-font-body-size);font-weight:var(--dt-weight-500);padding:var(--dt-space-20) 0}
.footer{background:var(--dt-color-surface-opening);padding:var(--dt-space-32) 0 var(--dt-space-48);border-color:var(--dt-color-border-subtle)}
.footer-note{gap:var(--dt-space-24)}
dialog{border-radius:var(--dt-card-radius);padding:var(--dt-card-padding);background:var(--dt-color-surface-card)}
dialog h2{font-size:var(--dt-font-card-size);font-weight:var(--dt-weight-650)}
.intro-replay{border-radius:var(--dt-radius-control);background:var(--dt-color-surface-page);min-height:var(--dt-control-height)}
@media(max-width:1179px) and (min-width:701px){
 .wrap{width:calc(100% - 64px)}
 .signup-right-preview .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .signup-right-preview .hero-copy{padding:0 0 var(--dt-space-8)}
 .signup-right-preview .hero-copy h1{font-size:clamp(40px,5vw,var(--dt-font-display-size))}
}
@media(max-width:900px) and (min-width:701px){
 .academy-feature{grid-template-columns:minmax(0,1fr) 200px}
 .hero-copy .eyebrow{font-size:var(--dt-size-22)}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}
 .preview .wrap{gap:8px;font-size:12px}
 .signup-right-preview .hero-grid{grid-template-columns:minmax(0,1fr)}
 .signup-right-preview .hero-copy{padding:0}
 .signup-right-preview .hero-copy h1{font-size:var(--dt-font-display-size)}
 .hero-copy .eyebrow{font-size:clamp(16px,4.6vw,20px)}
 .signup-right-preview .hero .login{padding:var(--dt-card-padding);min-height:0}
 .signup-right-preview .member-box{padding:var(--dt-member-card-padding)}
 .academy-feature{grid-template-columns:minmax(0,1fr) 128px;gap:var(--dt-space-24) var(--dt-space-12)}
 .academy-meta>span+span{border:0;padding:0}
 .library-intro h2{font-size:clamp(17px,5.5vw,22px)}
 .library-groups{gap:var(--dt-space-24)}
 .library-group+.library-group{border-color:var(--dt-color-border-subtle)}
 .market-label{gap:var(--dt-space-12);align-items:flex-start;flex-wrap:wrap}
 .market-label .section-caption{font-size:var(--dt-font-helper-size)}
 .opening-actions{gap:0}
 .partner-actions .text-link,.pause-button{font-size:var(--dt-font-helper-size)}
 .partner-actions .text-link .icon{display:block}
 .working-principle>div{flex-wrap:wrap;gap:var(--dt-space-12);justify-content:flex-start}
 .working-principle strong{font-size:var(--dt-font-card-size)}
 .work-services{gap:0}
 .work-service,.work-service+.work-service{padding:var(--dt-space-24) 0}
 .career-inner h2{font-size:var(--dt-font-section-size)}
 .career-inner .btn{margin-top:var(--dt-space-24)}
 .footer-note{font-size:var(--dt-font-helper-size)}
}
@media(max-width:360px){.academy-feature{grid-template-columns:minmax(0,1fr) 112px;column-gap:var(--dt-space-8)}}
@media(prefers-reduced-transparency:reduce){.header{background:var(--dt-color-surface-page)}}
@media(prefers-contrast:more){.hero-copy>p,.member-box p{color:var(--dt-color-text-inverse)}.academy-copy-body,.library-intro>p,.market-head>p{color:var(--dt-color-text-primary)}}

/* Compact auth rhythm keeps academy action inside the 1440×900 first viewport. */
.signup-right-preview .hero .login{padding:var(--dt-space-20)}
.login-intro{margin-bottom:var(--dt-space-12)}
.or{margin:var(--dt-space-8) 0}
.login-options{margin-bottom:var(--dt-space-8)}
.report{margin-top:var(--dt-space-8)}
