@font-face{font-family:PortalFallback;src:local('Pretendard'),local('Noto Sans KR')}*{box-sizing:border-box}body{margin:0;background:#faf9f5;color:#242f2a;font-family:PortalFallback,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #ac6419;outline-offset:5px}header,main,footer{max-width:1160px;margin:auto}header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd6;padding:0 4px}.brand{display:flex;gap:12px;align-items:center;font-weight:750;font-size:20px;letter-spacing:-.6px}.brand small{display:block;font-size:11px;color:#6b746c;font-weight:500;letter-spacing:1px;margin-top:5px}nav{display:flex;gap:6px}nav a{padding:12px 20px;border-radius:50px;font-size:15px;color:#59645b}nav a:hover,nav a[aria-current]{background:#e8eddf;color:#245345}main{min-height:calc(100vh - 212px)}.welcome{display:flex;align-items:center;justify-content:space-between;padding:66px 0 58px;gap:36px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#4d6a50;font-weight:700;display:flex;align-items:center;gap:9px;margin:0 0 20px}.eyebrow>span{width:7px;height:7px;background:#63805d;border-radius:50%}h1{font-size:46px;line-height:1.36;font-weight:750;letter-spacing:-2px;margin:0}h1 em{color:#487650;font-style:normal}.intro{font-size:16px;line-height:1.85;color:#687168;margin:20px 0 0;letter-spacing:-.3px}.garden-art{width:360px;flex-shrink:0;margin-top:44px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.section-heading h2{font-size:21px;letter-spacing:-.6px;margin:0}.section-heading>span{font-size:13px;color:#777f74}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.role-card{padding:28px 28px 22px;border-radius:23px;border:1px solid #dce3d5;transition:transform .18s,box-shadow .18s;background:#edf2e7}.role-card.orange{background:#f8eee0;border-color:#eadfce}.role-card.neutral{background:#efefea;border-color:#e0e1d9}.role-card:hover,.app-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #2638270d}.role-top,.role-bottom,.app-top,.app-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.tile-icon{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;background:#fff9;color:#335c3e;flex-shrink:0}.icon{width:24px;height:24px}.tile-icon .icon{width:28px;height:28px}.role-en{font-size:10px;letter-spacing:1.1px;color:#687260}.role-card h3{font-size:29px;margin:26px 0 12px;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.role-card p{font-size:16px;color:#67705f;line-height:1.75;margin:0 0 29px}.role-bottom{border-top:1px solid #cbd3c3;padding-top:18px;font-size:12px;color:#66705d}.orange .role-bottom{border-color:#e0d3c0}.neutral .role-bottom{border-color:#d4d7cc}.round-arrow{width:33px;height:33px;background:#fff8;border-radius:50%;display:grid;place-items:center}.round-arrow .icon{width:18px;height:18px}.locked-badge{font-size:11px;letter-spacing:0;background:#e1e3da;color:#63705f;padding:5px 9px;border-radius:20px;font-weight:500}.home-note{display:flex;justify-content:center;align-items:center;gap:9px;color:#7b8375;padding:25px 0 17px;font-size:13px}.home-note .icon{width:17px;height:17px}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dedfd6;color:#7a8277;font-size:11px;height:90px;margin-top:20px;letter-spacing:.2px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;padding:52px 0 45px;gap:24px}.dashboard-head h1{font-size:37px;line-height:1.4}.dashboard-head .intro{margin-top:16px}.head-emblem{width:132px;height:132px;border-radius:42px;background:#e9efdf;display:grid;place-items:center;transform:rotate(-6deg);margin-right:38px}.head-emblem.orange{background:#f5ead7}.head-emblem .icon{width:66px;height:66px;color:#4c7050;transform:rotate(6deg)}.apps-heading{align-items:flex-end}.apps-heading p{font-size:13px;color:#7b8375;margin:9px 0 0}.number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e7eddf;color:#55724f;font-size:13px;margin-left:5px;vertical-align:2px}.sort-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#6e7869}select{padding:10px 32px 10px 14px;border:1px solid #d8ddcf;border-radius:9px;background:#fffdf8;color:#475643;font-size:13px;cursor:pointer}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-card{background:#fffefb;border:1px solid #e0e3d8;border-radius:19px;padding:22px 24px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;min-height:232px}.app-card .tile-icon{background:#edf2e5;color:#4c724c;width:48px;height:48px;border-radius:15px}.app-card.orange .tile-icon{background:#f9ede2;color:#a76b3c}.app-card.yellow .tile-icon{background:#f7f0d7;color:#8b7a35}.app-card.blue .tile-icon{background:#e8eff1;color:#597c91}.app-card.purple .tile-icon{background:#f0ebf6;color:#8a70a6}.app-tag{font-size:11px;color:#7b8276}.app-card h3{font-size:22px;margin:20px 0 8px;letter-spacing:-.6px}.app-card p{font-size:13px;line-height:1.7;color:#788170;margin:0 0 20px;word-break:keep-all}.app-bottom{margin-top:auto;font-size:12px;color:#526d4b;padding-top:13px;border-top:1px solid #edf0e6}.app-bottom>span:nth-child(2){font-size:20px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-grid .app-card{min-height:270px;padding:30px}.student-grid h3{font-size:28px}.student-grid p{font-size:15px}.usage-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:11px;color:#7b8375}.text-button{background:transparent;border:0;color:#64725d;padding:10px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px}.status{font-size:12px;color:#4a6943;min-height:16px;margin:4px 0}.locked-space{padding:70px 20px 62px;text-align:center}.lock-symbol{margin:0 auto 30px;width:88px;height:88px;background:#e9eddf;color:#59734c;display:grid;place-items:center;border-radius:29px}.lock-symbol .icon{width:36px;height:36px}.locked-space .eyebrow{justify-content:center;font-size:11px}.locked-space h1{font-size:35px;letter-spacing:-1.1px}.locked-space>p:not(.eyebrow){font-size:15px;color:#74806a;line-height:1.9;margin-top:22px}.lock-status{display:flex;align-items:center;justify-content:center;gap:8px;color:#7b8273;font-size:12px;margin:28px 0}.lock-status>span{width:6px;height:6px;background:#a7ae9a;border-radius:50%}.primary-button{display:inline-flex;align-items:center;gap:25px;background:#245345;color:white;font-size:14px;border-radius:12px;padding:15px 23px}.primary-button .icon{width:18px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:#245345;color:white;z-index:10}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{padding:80px 0;color:#687168}.unavailable{opacity:.65}
@media(min-width:1600px){header,main,footer{max-width:1240px}.welcome{padding-top:80px;padding-bottom:72px}.role-card{padding:34px}h1{font-size:50px}}
@media(max-width:1240px){header,main,footer{margin-left:40px;margin-right:40px}.garden-art{width:300px}.role-card{padding:24px}.role-bottom{font-size:11px}}
@media(max-width:800px){header,main,footer{margin-left:24px;margin-right:24px}header{height:94px}.brand{font-size:17px}.brand img{width:36px;height:36px}nav a{padding:10px 12px;font-size:13px}.welcome{padding:42px 0 35px;gap:10px}h1{font-size:35px}.garden-art{width:220px}.intro{font-size:14px}.role-card{padding:22px 19px}.role-en{display:none}.role-card h3{font-size:25px}.role-card p{font-size:14px}.role-bottom{align-items:flex-end}.role-bottom>span:first-child{max-width:100px;line-height:1.8}.section-heading>span{font-size:11px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-head h1{font-size:32px}.head-emblem{width:100px;height:100px;margin-right:10px}.app-card{padding:20px}.app-card h3{font-size:20px}}
@media(max-width:540px){header,main,footer{margin-left:20px;margin-right:20px}header{height:auto;min-height:88px;gap:15px;flex-wrap:wrap;padding:19px 0 13px}.brand{font-size:17px}.brand small{font-size:10px;letter-spacing:.4px}nav{gap:0}nav a{font-size:12px;padding:9px 10px}.brand img{width:34px;height:34px}.brand{gap:9px}.welcome{padding:36px 0 32px;position:relative}.welcome>div{position:relative;z-index:1}h1{font-size:32px;letter-spacing:-1.5px;line-height:1.4}.eyebrow{font-size:11px;margin-bottom:16px}.intro{font-size:13px;line-height:1.8;margin-top:16px}.garden-art{position:absolute;right:-2px;bottom:28px;width:116px;opacity:.55}.welcome .intro{max-width:240px}.section-heading{margin-bottom:16px;align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2{font-size:19px}.roles{grid-template-columns:1fr;gap:12px}.role-card{padding:20px 22px;display:grid;grid-template-columns:1fr auto;column-gap:12px;border-radius:18px;position:relative}.role-top{grid-column:2;grid-row:1/3;align-self:center}.tile-icon{width:58px;height:58px}.role-card h3{grid-column:1;grid-row:1;margin:0 0 8px;font-size:25px}.role-card p{grid-column:1;grid-row:2;margin:0 0 14px;font-size:13px}.role-card p br{display:none}.role-bottom{grid-column:1/-1;padding-top:12px;align-items:center}.role-bottom>span:first-child{max-width:none;font-size:11px}.round-arrow{width:26px;height:26px}.home-note{font-size:11px;padding:18px 0 5px}.home-note .icon{flex-shrink:0}footer{height:auto;min-height:83px;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;font-size:10px;margin-top:16px}.dashboard-head{padding:36px 0 30px;position:relative}.dashboard-head h1{font-size:29px;letter-spacing:-1.3px}.dashboard-head .intro{font-size:12px;max-width:270px;word-break:keep-all}.head-emblem{width:64px;height:64px;border-radius:22px;margin:0;position:absolute;right:0;top:46px;opacity:.55}.head-emblem .icon{width:34px;height:34px}.apps-heading{flex-direction:row;align-items:flex-start;gap:6px}.apps-heading p{font-size:11px;max-width:210px;line-height:1.6}.sort-label{font-size:0}select{font-size:11px;padding:8px 3px 8px 8px;max-width:105px}.app-grid,.student-grid{grid-template-columns:1fr;gap:12px}.app-card{padding:19px 20px;min-height:0;display:grid;grid-template-columns:1fr auto;gap:0 12px;border-radius:17px}.app-top{grid-column:2;grid-row:1/3;align-self:center}.app-tag{display:none}.app-card h3{grid-column:1;grid-row:1;margin:0 0 7px;font-size:20px}.app-card p{grid-column:1;grid-row:2;font-size:12px;margin:0 0 14px}.app-bottom{grid-column:1/-1;padding-top:10px}.app-card .tile-icon{width:47px;height:47px}.student-grid .app-card{min-height:190px;padding:24px}.student-grid h3{font-size:25px}.student-grid p{font-size:13px}.usage-note{font-size:10px;align-items:flex-start}.usage-note p{max-width:210px;line-height:1.7}.text-button{font-size:10px;white-space:nowrap}.locked-space{padding:54px 0}.locked-space h1{font-size:29px}.locked-space>p:not(.eyebrow){font-size:12px}.locked-space>p br{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.role-card:hover,.app-card:hover{transform:none}}
@media(max-width:540px){.dashboard-head{padding:27px 0 22px}.dashboard-head h1{font-size:27px}.dashboard-head .eyebrow{margin-bottom:12px}.dashboard-head .intro{margin-top:12px}.head-emblem{top:32px}.app-grid:not(.student-grid){gap:9px}.app-grid:not(.student-grid) .app-card{padding:17px 16px;min-height:91px}.app-grid:not(.student-grid) .app-card h3{font-size:18px;margin-bottom:5px}.app-grid:not(.student-grid) .app-card p{font-size:11px;margin:0;line-height:1.65}.app-grid:not(.student-grid) .app-bottom{display:none}.app-grid:not(.student-grid) .tile-icon{width:42px;height:42px;border-radius:13px}.app-grid:not(.student-grid) .tile-icon .icon{width:24px;height:24px}.app-grid:not(.student-grid) .sr-only{display:block}}
@media(min-width:801px){.dashboard-head{padding:32px 0 28px}.dashboard-head h1{font-size:32px}.dashboard-head .eyebrow{margin-bottom:12px}.dashboard-head .intro{margin-top:12px;font-size:14px}.head-emblem{width:110px;height:110px}.app-grid:not(.student-grid) .app-card{min-height:196px;padding:18px 22px}.app-grid:not(.student-grid) .tile-icon{width:42px;height:42px;border-radius:13px}.app-grid:not(.student-grid) h3{font-size:20px;margin-top:14px}.app-grid:not(.student-grid) p{margin-bottom:14px;font-size:12px}.app-grid:not(.student-grid) .app-bottom{padding-top:10px}.apps-heading{margin-bottom:18px}}
@media(min-width:541px) and (max-width:800px){.dashboard-head{padding:26px 0 24px}.dashboard-head h1{font-size:29px}.dashboard-head .eyebrow{margin-bottom:12px}.dashboard-head .intro{font-size:13px;margin-top:12px}.app-grid:not(.student-grid) .app-card{padding:17px;min-height:178px}.app-grid:not(.student-grid) .tile-icon{width:36px;height:36px;border-radius:12px}.app-grid:not(.student-grid) .tile-icon .icon{width:23px;height:23px}.app-grid:not(.student-grid) h3{font-size:19px;margin:13px 0 7px}.app-grid:not(.student-grid) p{font-size:11px;margin-bottom:12px}.app-grid:not(.student-grid) .app-bottom{padding-top:8px}}
