/* 수능하루 · shared design system. Loaded after page-specific styles. */
:root{--ink:#132139;--ink-2:#1c2e49;--ink-3:#253e5f;--red:#c82d45;--red-deep:#aa2036;--paper:#f4f6f9;--text:#17243b;--text-2:#455269;--muted:#637086;--line:#dce2eb;--w:1200px;--radius:16px}
body{font-size:16px;line-height:1.65;letter-spacing:-.025em;overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c82d45;outline-offset:4px}
[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 18px;background:#fff;color:var(--ink);z-index:9999;border:2px solid var(--ink)}.skip-link:focus{top:10px}
.wrap{padding-inline:32px}section{padding:64px 0}h1,h2,h3{line-height:1.3;letter-spacing:-.045em}p{line-height:1.8}small{font-size:14px}em{font-style:normal}
.hd,.hd.solid{position:sticky;top:0;height:88px;background:#fff;border-bottom:1px solid var(--line);z-index:100;flex-shrink:0}
.hd .in{max-width:var(--w);padding:0 32px;gap:28px;height:100%;justify-content:initial}
.hd .logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.hd .logo img{width:52px;height:46px;object-fit:contain;margin:0}.hd .logo span{font-size:23px;font-weight:850;letter-spacing:-.07em;color:var(--ink);line-height:1.2}.hd .logo small{display:block;color:var(--muted);font-size:10px;letter-spacing:0;font-weight:500;margin-top:6px}
.hd nav{transform:none;gap:28px;margin-left:auto}.hd nav a{color:var(--text-2);margin:0;font-size:15px;font-weight:650}.hd nav a:hover,.hd nav a.on,.hd nav a[aria-current="page"]{color:var(--red)}
.hd .login{border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 17px;font-size:14px;white-space:nowrap;line-height:1.5}.hd .login:hover{background:var(--paper)}.hd .mypage{color:var(--ink);font-size:14px;margin-left:0}.hd .menu{width:40px;height:40px;padding:11px 9px;gap:5px;flex-shrink:0}.hd .menu i{background:var(--ink);width:22px;height:2px;display:block}.drawer{z-index:1000;padding-top:90px;overflow-y:auto}.drawer a{font-size:20px;padding:12px 0}.drawer .drawer-label{font-size:14px;color:#c7d1e1}.drawer .x{width:48px;height:48px}
.btn{border-radius:9px;min-height:52px;height:auto;padding:14px 24px;font-size:16px;line-height:1.4;gap:18px;box-shadow:none;transition:background .15s,color .15s,transform .15s}.btn-red{background:var(--red);box-shadow:none}.btn-red:hover{background:var(--red-deep);transform:translateY(-1px)}.btn-line{border:1px solid var(--line);background:#fff}.btn-line:hover{background:#edf1f6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none}.text-link:hover{color:var(--red)}
.eyebrow,.pagehero .eyebrow{display:block;font-size:12px;font-weight:750;color:var(--red);letter-spacing:.14em;margin-bottom:18px}.pagehero{background:#fff;color:var(--ink);padding:46px 0 40px;border-bottom:1px solid var(--line)}.pagehero h1{font-size:40px;font-weight:800}.pagehero .lead{color:var(--muted);font-size:16px;max-width:720px;margin-top:16px}.pagehero .photo{display:none}.pagehero h1 em{background:none;color:var(--red)}
.ft{background:var(--ink);color:#b6c0cf;padding:48px 0 28px;font-size:13px;line-height:1.9}.ft .cols{grid-template-columns:1fr 1fr 1.3fr;gap:36px}.ft h3{font-size:15px}.ft .legal{align-items:center;font-size:12px}.ft .legal img{width:46px;height:42px;object-fit:contain}.ft .footer-logo img{width:46px}
/* Home: editorial first screen, practical information immediately below. */
.home-hero{background:#fff;padding:56px 0 52px}.hero-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:stretch}.hero-copy{padding:15px 0 4px}.hero-copy h1{font-size:clamp(40px,4.7vw,62px);line-height:1.22;letter-spacing:-.065em;font-weight:850}.hero-copy h1 em{color:var(--red)}.hero-copy>p{font-size:17px;color:var(--text-2);margin:25px 0 29px;line-height:1.85}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hero-actions .text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.hero-note{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px;font-size:13px;font-weight:700;color:var(--muted)}.hero-note span{font-weight:400;padding-left:12px;border-left:1px solid var(--line)}
.hero-visual{position:relative;min-height:490px;overflow:hidden;border-radius:3px 3px 80px 3px;background:var(--ink)}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.hero-visual:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(9,20,36,.9))}.photo-caption{position:absolute;bottom:35px;left:32px;right:24px;color:#fff;z-index:1}.photo-caption>span{font-size:14px;color:#d8e1ed}.photo-caption strong{display:block;font-size:44px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px}.photo-caption i{font-size:26px;font-style:normal;color:#d8e1ed;padding:0 10px}.photo-caption p{font-size:14px;color:#d8e1ed;margin-top:2px}
.session-strip{background:var(--ink);color:#fff;padding:29px 0}.session-grid{display:grid;grid-template-columns:1.1fr 1.1fr .85fr 1.2fr}.session-grid>div{padding:0 24px;border-left:1px solid #41506a}.session-grid>div:first-child{padding-left:0;border:0}.session-grid span{display:block;font-size:13px;color:#b5c1d3;margin-bottom:7px}.session-grid strong{display:block;font-size:20px;font-weight:650;letter-spacing:-.035em}.session-grid small{font-size:13px;font-weight:450;margin-left:3px}
.home-section{padding:88px 0;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.section-heading h2,.help-layout h2{font-size:34px;font-weight:800}.section-heading>p,.help-layout>div>p{font-size:16px;color:var(--muted)}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefit{border-top:2px solid var(--ink);padding:26px 22px 22px;background:#f5f7fa;transition:background .2s}.benefit:hover{background:#edf1f7}.benefit .number{font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:650}.benefit h3{font-size:23px;margin:25px 0 13px}.benefit p{font-size:15px;color:var(--text-2);line-height:1.85}.benefit-link{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;display:flex;justify-content:space-between;font-size:14px;font-weight:700}.benefit-link>span{font-size:20px;color:var(--red)}
.exam-section{background:var(--paper)}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.exam-card{background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:94px 1fr;gap:24px;padding:28px}.exam-date{border-right:1px solid var(--line);padding-right:20px}.exam-date b{display:block;font-size:54px;font-weight:750;line-height:1.1;color:var(--red)}.exam-date span{display:block;font-size:12px;margin-top:12px;color:var(--muted)}.exam-copy h3{font-size:21px}.exam-copy p{font-size:15px;color:var(--text-2);margin:14px 0 12px}.exam-copy>span{font-size:13px;color:var(--muted)}.exam-card>.text-link{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.section-note{font-size:14px;color:var(--muted);margin-top:21px}.help-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.help-layout>div>p{margin-top:18px}.help-links>a{display:flex;justify-content:space-between;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);font-size:22px;font-weight:700}.help-links small{display:inline-block;width:82px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.help-links>a:hover{color:var(--red)}.closing-banner{background:var(--ink);color:white;padding:56px 0;border-bottom:1px solid #405069}.closing-banner>.wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}.closing-banner h2{font-size:34px}.closing-banner .eyebrow{color:#e8a3b0}
/* Application workspace */
.application-layout{display:grid;grid-template-columns:292px minmax(0,1fr);gap:36px;align-items:start}.application-section{padding:40px 0 68px}.exam-overview{position:sticky;top:112px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.exam-overview h2{font-size:22px}.exam-overview dl{margin:22px 0;font-size:14px}.exam-overview dt{color:var(--muted);margin-top:18px;font-size:13px}.exam-overview dd{font-weight:600;margin-top:4px}.overview-price{border-top:1px solid var(--line);padding-top:18px}.overview-price>span{font-size:13px;color:var(--muted)}.overview-price strong{display:block;font-size:34px;line-height:1.5;font-weight:800}.overview-price small{font-size:16px;margin-left:4px}.overview-price p,.overview-window{font-size:13px;color:var(--muted)}.overview-window{margin:18px 0;padding:13px;background:var(--paper);border-radius:6px}.exam-overview .text-link{font-size:14px;width:100%}.application-workspace{min-width:0}.application-workspace #load{background:#fff;border:1px dashed var(--line);border-radius:14px;min-height:160px;padding:50px 24px}.steps{border-radius:12px;padding:6px;margin-top:0;overflow:visible;background:#e9eef5;border:0}.steps .s{min-width:0;font-size:14px;height:48px;border-radius:8px;gap:6px}.steps .s i{background:#d6dfeb;color:#53647b;font-size:12px}.steps .s.on{background:#fff;color:var(--ink);box-shadow:0 2px 5px #15243b12}.steps .s.on i{color:#fff;background:var(--red)}.steps .s.dn i{color:white}.stage{margin-top:18px}.pnl,.done2,.lock{border-radius:14px;padding:28px;box-shadow:none}.pnl>h2{font-size:24px}.pnl>.d{font-size:15px}.pick{border:1px solid var(--line);border-radius:10px;padding:22px 20px}.pick .ttl{font-size:19px}.pick .meta{font-size:14px}.pick .cap{font-size:13px}.pick.sel{border-color:var(--red);background:#fff6f7;box-shadow:0 0 0 1px var(--red)}.pick .bar{height:4px}.pick .left{color:var(--ink)}.sum{border-radius:9px;background:#f3f6fa}.sum dl{font-size:15px}.nav2{gap:12px}.nav2 .btn{border-radius:9px}.pnl label{font-size:15px}.hint,.prog,.pnl .cls p,.pay label small{font-size:14px}.acc .hd2,.acc .bd{font-size:15px}.acc .hd2{min-height:54px}.acc .hd2 .ar{font-size:13px}.pay label span{font-size:15px;border-radius:9px}.pay input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}.pay input{width:1px;height:1px;opacity:0}.pnl input,.pnl select{min-width:0;border-width:1px;border-radius:8px}.ph-row input,.cp-row input,.vrow input{min-width:0}.stucard{font:inherit;color:inherit;width:100%;text-align:left}.lock p,.done2 p{font-size:16px}.lock .cd{font-size:40px}.done2 .code{font-size:clamp(19px,3vw,29px);overflow-wrap:anywhere}
/* Login & account */
.auth{max-width:1120px;width:100%;margin:0 auto;padding:56px 32px 72px;display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center;background:transparent}.auth-story h2{font-size:36px}.auth-story>p{font-size:16px;color:var(--muted);margin:18px 0 28px}.auth-story img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:10px}.auth>.card{width:100%;max-width:none;padding:36px 32px;border-radius:16px;border:1px solid var(--line);box-shadow:0 8px 32px #12223808;text-align:left}.auth .mark{display:none}.auth h1{font-size:30px;line-height:1.3}.auth .sub{font-size:15px;line-height:1.75;margin-top:15px}.auth .sns-lead{font-size:14px;margin-top:26px}.auth button.kakao,.auth button.naver{border-radius:9px;min-height:54px;font-size:16px}.auth .why-login{font-size:14px;line-height:1.85;margin-top:24px;padding:18px;background:var(--paper);border-radius:8px}.auth .back{font-size:14px;display:inline-block;margin-top:20px}.page-mypage .mp{grid-template-columns:256px minmax(0,1fr);gap:32px}.who{border-radius:14px;position:sticky;top:112px}.tabs{gap:0;flex-wrap:nowrap;overflow:auto}.tabs button{white-space:nowrap;font-size:16px;min-height:54px;padding:12px 20px}.card,.ap,.stu,.danger{border-radius:12px}.ap .t{background:#eef2f7;color:var(--ink);border-bottom:1px solid var(--line)}.ap .st{font-size:13px}.ap .st.paid{background:#e2f2e9;color:#226445}.ap .st.wait{background:#fff0ce;color:#875709}.ap .st.cancel{background:#f8e4e7;color:#9b283b}.ap dl{font-size:15px}.page-mypage .empty{font-size:16px}.mod{z-index:1200}.mod .in2{border-radius:14px}.page-mypage section{padding:40px 0 64px}.page-mypage .who .mail{font-size:14px}.page-mypage .who dl{font-size:14px}.page-mypage .card>summary{cursor:pointer;font-weight:700}.page-mypage .card>p{font-size:14px;color:var(--muted);margin-top:16px}
/* Editorial and supporting pages */
.pg{width:100%;max-width:1160px;margin:0 auto;padding:55px 32px 72px}.pg>h1{font-size:40px;color:var(--ink)}.pg>.lead{font-size:17px;color:var(--muted);margin:16px 0 30px}.wy{gap:22px}.wy article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.wy h2{font-size:24px}.wy p,.wy li{font-size:16px;line-height:1.85}.wy .no{color:var(--red)}.page-why .cta{border-radius:12px;background:var(--ink);color:#fff}.page-why .cta a{background:var(--red);border-radius:8px}.page-why .cta p{font-size:24px}.page-why article{cursor:default!important}.page-why #practice-detail-shared{padding:0 32px 64px;max-width:1160px}.page-why .detail-toggle{margin-top:22px}.page-faq details,.page-guide .box,.page-notice .tile{border-radius:12px}.page-faq summary{min-height:54px}.page-terms main p,.page-privacy main p{font-size:16px;line-height:1.9}.page-ticket .lookup{border-radius:12px}.page-ticket .ticket{border-radius:12px}.page-notify .formcard{border-radius:14px}
@media(min-width:1000px){.page-info .pagehero .wrap{display:flex;align-items:center;column-gap:36px;flex-wrap:wrap}.page-info .pagehero .eyebrow{width:100%;margin-bottom:10px}.page-info .pagehero .lead{margin-top:0}.page-info .pagehero #schedule{width:0}}
@media(max-width:1050px){.hd .in{gap:18px}.hd nav{gap:18px}.hd nav a{font-size:14px}.hd .logo small{display:none}.hero-layout{gap:30px}.hero-visual{min-height:470px}.session-grid>div{padding:0 16px}.session-grid strong{font-size:17px}.auth{gap:40px}.application-layout{grid-template-columns:255px minmax(0,1fr);gap:24px}}
@media(max-width:820px){.wrap{padding-inline:22px}.hd,.hd.solid{height:72px}.hd .in{padding-inline:22px;gap:14px}.hd nav{display:none}.hd .logo img{width:43px;height:38px}.hd .logo span{font-size:21px}.hd .login{margin-left:auto;font-size:14px;padding:8px 13px}.hd .menu{display:flex}.hd .mypage{display:none}.pagehero{padding:34px 0 30px}.pagehero h1{font-size:32px}.pagehero .lead{font-size:15px}.home-hero{padding:32px 0}.hero-layout{gap:28px;grid-template-columns:1fr 1fr}.hero-copy h1{font-size:40px}.hero-copy .eyebrow{font-size:10px}.hero-copy>p{font-size:15px}.hero-visual{min-height:410px;border-bottom-right-radius:48px}.photo-caption{left:20px;bottom:25px}.photo-caption strong{font-size:32px}.photo-caption p{font-size:12px}.hero-actions{gap:18px}.hero-note{display:block}.hero-note span{display:block;border:0;padding:0;margin-top:4px}.session-grid{grid-template-columns:1fr 1fr;gap:24px}.session-grid>div{padding:0}.session-grid>div:nth-child(odd){border:0}.session-grid>div:nth-child(even){padding-left:22px}.session-grid strong{font-size:20px}.home-section{padding:56px 0}.section-heading{display:block}.section-heading h2,.help-layout h2{font-size:28px}.section-heading>p,.section-heading>.text-link{margin-top:18px}.benefit-grid{gap:14px}.benefit{padding:22px 16px}.benefit p{font-size:14px}.benefit h3{font-size:21px}.benefit .number{font-size:10px}.exam-card{grid-template-columns:72px 1fr;gap:16px;padding:22px}.exam-date b{font-size:44px}.exam-copy h3{font-size:18px}.exam-copy p{font-size:14px}.exam-copy>span{font-size:12px}.help-layout{gap:32px}.closing-banner h2{font-size:28px}.application-layout{grid-template-columns:1fr;gap:24px}.exam-overview{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:24px}.exam-overview .eyebrow{grid-column:1/-1}.exam-overview h2{font-size:23px}.exam-overview dl{grid-column:2;grid-row:2/6;margin:0}.exam-overview dt:first-child{margin-top:0}.overview-price{margin-top:18px}.overview-window{margin:14px 0}.exam-overview .text-link{font-size:14px;justify-content:flex-start}.steps .s{font-size:14px}.auth{gap:28px;padding:40px 22px}.auth-story h2{font-size:30px}.auth>.card{padding:28px 24px}.page-mypage .mp{grid-template-columns:1fr;gap:24px}.who{position:static}.page-mypage .who{display:grid;grid-template-columns:80px 1fr;column-gap:18px;text-align:left;padding:22px}.who .ph{grid-row:1/4;margin:0}.who .idbox{display:none}.who>dl:not(.idbox){grid-column:1/-1;grid-template-columns:70px 1fr 50px 1fr}.ft .cols{grid-template-columns:1fr;gap:26px}.pg{padding:36px 22px 50px}.pg>h1{font-size:32px}.wy article{padding:24px}.mod .in2{max-height:85dvh}.closing-banner>.wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.hero-layout{grid-template-columns:1fr;gap:30px}.hero-copy{padding:6px 0 0}.hero-copy h1{font-size:43px;line-height:1.2}.hero-copy .eyebrow{font-size:11px}.hero-copy>p{margin:20px 0 25px;font-size:16px}.hero-actions{gap:20px}.hero-actions .btn{font-size:15px;padding:15px 18px}.hero-visual{min-height:260px;max-height:300px;border-bottom-right-radius:48px}.hero-visual>img{object-position:48% 40%}.photo-caption strong{font-size:36px}.photo-caption>span{font-size:13px}.photo-caption p{font-size:13px}.hero-note{font-size:12px;margin-top:22px}.session-strip{padding:24px 0}.session-grid{gap:22px 12px}.session-grid strong{font-size:17px}.session-grid span{font-size:12px}.session-grid>div:nth-child(even){padding-left:14px}.session-grid small{font-size:12px}.benefit-grid,.exam-grid,.help-layout{grid-template-columns:1fr}.benefit{padding:24px}.benefit .number{font-size:12px}.benefit h3{font-size:24px;margin-top:18px}.benefit p{font-size:16px}.benefit-link{margin-top:20px}.exam-card{grid-template-columns:84px 1fr;padding:24px}.exam-copy h3{font-size:20px}.exam-copy p{font-size:15px}.exam-copy>span{font-size:13px}.help-links>a{font-size:21px}.help-links small{width:72px}.closing-banner{padding:40px 0}.exam-overview{padding:20px;gap:0 18px}.exam-overview h2{font-size:20px}.exam-overview dl{font-size:13px}.overview-price strong{font-size:28px}.overview-price>span,.overview-price p,.overview-window{font-size:12px}.overview-window{padding:10px}.exam-overview .text-link{grid-column:1/-1;margin-top:12px}.application-section{padding-top:24px}.steps .s{flex-direction:column;height:62px;font-size:12px;gap:3px;line-height:1.3}.steps .s i{width:20px;height:20px}.pnl,.done2,.lock{padding:23px 18px}.pnl>h2{font-size:22px}.pnl>.d{font-size:14px}.pick{padding:18px 16px;gap:12px}.pick .ttl{font-size:17px}.pick .meta{font-size:13px}.pick .left{font-size:18px}.pick .cap{font-size:12px}.sum{padding:18px 16px}.sum dl{grid-template-columns:80px 1fr;font-size:14px;gap:12px}.sum .tot b{font-size:24px}.pay{grid-template-columns:1fr}.ph-row,.cp-row{gap:8px}.ph-row .btn,.cp-row .btn{padding-inline:14px}.acc .hd2,.acc .bd{font-size:14px}.hint{font-size:13px}.auth{display:block;padding:30px 22px 48px}.auth-story{display:none}.auth>.card{padding:30px 24px}.auth h1{font-size:30px}.auth .sub{font-size:15px}.auth .why-login{font-size:13px}.tabs button{font-size:14px;padding:12px 13px}.page-mypage .who>dl:not(.idbox){grid-template-columns:70px 1fr}.ap .t,.ap .b{padding:18px}.ap .t b{font-size:15px}.ap dl{font-size:14px;grid-template-columns:72px 1fr;gap:12px}.card{padding:22px 18px}.mod{padding:12px}.mod .mh,.mod .mb{padding:20px}.mod .mf{padding:16px 20px}.page-why .cta p{font-size:21px}.ft{padding-top:36px}.ft .cols{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.hd,.drawer,.skip-link,.ft,.pagehero{display:none!important}.page-ticket{background:white}}
#stepbar,#apply,#schedule,#diff,.wy article{scroll-margin-top:112px}
.page-oauth .auth{display:block;max-width:600px;text-align:center;padding:64px 24px}.page-oauth .auth img{width:76px;height:auto;margin:0 auto 24px}
@media(max-width:820px){#stepbar,#apply,#schedule,#diff,.wy article{scroll-margin-top:92px}}

/* 환불 안내: 클릭 가능한 파란색 버튼과 느린 강조 효과 */
.refund-action, .policy-item.refund-full > summary{display:inline-flex;align-items:center;gap:12px;padding:14px 20px;border:2px solid #2563eb;border-radius:10px;color:#1255c7;background:#eff6ff;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px;animation:refund-emphasis 2.4s ease-in-out infinite}
.policy-item.refund-full > summary::after{content:'＋';font-size:22px}
.policy-item.refund-full[open] > summary::after{content:'−'}
.refund-action:hover,.policy-item.refund-full > summary:hover{background:#dbeafe}
.refund-action:focus-visible,.policy-item.refund-full > summary:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
@keyframes refund-emphasis{50%{color:#1d4ed8;box-shadow:0 0 0 5px #2563eb26;background:#dbeafe}}
@media(prefers-reduced-motion:reduce){.refund-action,.policy-item.refund-full > summary{animation:none}}
