@font-face{font-family:SUIT;src:url(/fonts/SUIT-Regular.ttf)format("truetype");font-weight:400}@font-face{font-family:SUIT;src:url(/fonts/SUIT-Medium.ttf)format("truetype");font-weight:500}@font-face{font-family:SUIT;src:url(/fonts/SUIT-SemiBold.ttf)format("truetype");font-weight:600}@font-face{font-family:SUIT;src:url(/fonts/SUIT-Bold.ttf)format("truetype");font-weight:700}@font-face{font-family:SUIT;src:url(/fonts/SUIT-ExtraBold.ttf)format("truetype");font-weight:800}@font-face{font-family:SUIT;src:url(/fonts/SUIT-Heavy.ttf)format("truetype");font-weight:900}@font-face{font-family:CookieRun;src:url(/fonts/CookieRun-Regular.woff2)format("woff2");font-weight:400}@font-face{font-family:CookieRun;src:url(/fonts/CookieRun-Bold.woff2)format("woff2");font-weight:700}@font-face{font-family:CookieRun;src:url(/fonts/CookieRun-Black.woff2)format("woff2");font-weight:900}:root{--bg:#fada97;--bg-deep:#f7c96f;--surface:#fff9;--surface-strong:#ffffffd9;--box:#ffffff6b;--box-strong:#ffffffb3;--divider:#2d426f24;--border:#2d426f2e;--red:#e34759;--red-soft:#e347591f;--green:#52b666;--green-soft:#52b66624;--blue:#0092c1;--blue-soft:#0092c124;--text:#2d426f;--text-dim:#2d426fa8;--white:#fffaf0;--col-head:#54708c;--col-head-soft:#54708c1f}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);background-image:repeating-linear-gradient(-35deg,#fff3 0 2px,#0000 2px 46px);min-height:100vh;margin:0;font-family:SUIT,-apple-system,BlinkMacSystemFont,Malgun Gothic,sans-serif}a{color:inherit}h1,h2,h3,h4{color:var(--text);margin:0 0 8px}button{cursor:pointer;font-family:inherit}.app-header{background:var(--white);border-bottom:3px solid var(--text);z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 20px;display:grid;position:sticky;top:0}.header-left{justify-self:start}.header-right{justify-self:end;align-items:center;gap:10px;display:flex}.header-auth{align-items:center;gap:8px;font-size:15.5px;display:flex}.app-header .brand{letter-spacing:-.3px;color:var(--text);white-space:nowrap;justify-self:center;font-family:CookieRun,SUIT,sans-serif;font-size:21.5px;font-weight:700;text-decoration:none}.app-header nav{flex-wrap:wrap;gap:6px;font-size:17px;display:flex}.app-header nav a{color:var(--text-dim);border-radius:20px;padding:7px 12px;font-weight:700;text-decoration:none}.app-header nav a.active,.app-header nav a:hover{background:var(--red);color:#fff}.page{max-width:920px;margin:0 auto;padding:24px 16px 60px}.page-wide{max-width:1200px}.card{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;margin-bottom:18px;padding:22px;box-shadow:0 10px 26px #2d426f1a}.hero{background:linear-gradient(135deg,#2d426f 0%,#3a5490 55%,#0092c1 130%);border-radius:22px;margin-bottom:18px;padding:32px 26px;position:relative;overflow:hidden}.hero-eyebrow{color:var(--text);background:#fff;border-radius:20px;margin-bottom:12px;padding:5px 12px;font-size:15px;font-weight:800;display:inline-block}.hero h1{color:#fff;letter-spacing:-.5px;margin:0 0 10px;font-size:36px;font-weight:900;line-height:1.25}.hero .accent{color:#ffd88a}.hero p{color:#ffffffd9;margin:0;font-size:18px}.hero-hashtags{color:#ffe6b3;letter-spacing:.2px;font-size:17.5px;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-head h2{margin-bottom:0}.menu-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=640px){.menu-grid{grid-template-columns:1fr}}.menu-card{background:var(--white);border:1px solid var(--border);color:var(--text);border-radius:18px;padding:20px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.menu-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #2d426f24}.menu-card-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.menu-card-disabled:hover{box-shadow:none;transform:none}.menu-num{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:10px;font-size:17px;font-weight:900;display:inline-flex}.c-red{background:var(--red)}.c-green{background:var(--green)}.c-blue{background:var(--blue)}.menu-card h3{margin-bottom:4px;font-size:20px}.menu-card p{color:var(--text-dim);margin:0;font-size:15.5px}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-item{background:var(--white);border:1px solid var(--border);color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.menu-item:hover{border-color:var(--red)}.btn{border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px 18px;font-size:17px;font-weight:800;text-decoration:none;display:inline-flex}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#c9384a}.btn-green{background:var(--green);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-ghost{background:var(--box);color:var(--text);border:1px solid var(--border)}.btn-sm{border-radius:10px;padding:7px 12px;font-size:14.5px}.btn:disabled{opacity:.5;cursor:not-allowed}label{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:700;display:block}input,textarea,select{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:16px}input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:none}textarea{resize:vertical;min-height:90px}.field{margin-bottom:14px}.field-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}table.form-table{border-collapse:collapse;width:100%;margin-bottom:4px}table.form-table th,table.form-table td{border:1px solid var(--border);text-align:left;vertical-align:middle;padding:7px 8px;font-size:15px}table.form-table th{background:var(--accent-soft,var(--blue-soft));color:var(--text);white-space:nowrap;border-bottom:2.5px solid var(--accent,var(--blue));font-size:14.5px;font-weight:900}table.form-table tbody tr:nth-child(2n){background:#2d426f09}table.form-table td input,table.form-table td textarea{border:1.5px solid var(--border);background:#fff;border-radius:7px;width:100%;padding:7px 9px;font-size:15px}table.form-table td input:focus,table.form-table td textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}table.form-table td input::placeholder{color:#2d426f59}.doc-title{text-align:center;letter-spacing:2px;color:var(--text);border-bottom:3px double var(--text);margin-bottom:20px;padding-bottom:12px;font-size:23.5px;font-weight:900}.resume-top-row{align-items:flex-start;gap:16px;display:flex}.resume-top-row .info-grid{flex:1;min-width:0;margin-bottom:0}@media (width<=640px){.resume-top-row{flex-direction:column}.resume-top-row .photo-box{align-self:center}}.info-grid{border:1.5px solid var(--border);border-radius:12px;margin-bottom:20px;overflow:hidden}.info-row{border-top:1.5px solid var(--border);grid-template-columns:96px 1fr;display:grid}.info-row:first-child{border-top:none}.info-row.split{grid-template-columns:96px 1fr 96px 1fr}.info-row.split .info-label:last-of-type{border-left:1.5px solid var(--border)}.info-row.split-wide{grid-template-columns:72px 1fr 118px 1fr}.info-row.split-wide .info-label:last-of-type{border-left:1.5px solid var(--border)}.info-label{background:var(--box);color:var(--text);border-right:1.5px solid var(--border);white-space:nowrap;align-items:center;padding:0 12px;font-size:14.5px;font-weight:800;display:flex}.info-value{background:#fff;align-items:center;padding:4px 10px;display:flex}.info-value input{background:0 0;border:none;border-radius:6px;width:100%;padding:8px 2px;font-size:15.5px}.info-value input:focus{background:var(--blue-soft);padding-left:8px}.photo-box{border:1.5px solid var(--border);cursor:pointer;background:#e7e9ef;border-radius:12px;flex:none;justify-content:center;align-items:center;width:132px;height:168px;display:flex;position:relative;overflow:hidden}.photo-box img{object-fit:cover;width:100%;height:100%;display:block}.photo-box .photo-placeholder{color:#9aa3b8;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex}.photo-box .photo-placeholder svg{width:52px;height:52px}.photo-box .photo-upload-hint{font-size:13px;font-weight:800;line-height:1.3}.photo-box:hover{border-color:var(--blue)}.photo-box:hover .photo-placeholder{color:var(--blue)}.photo-box input[type=file]{display:none}.photo-box-remove{color:#fff;cursor:pointer;background:#141a2e99;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14.5px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.photo-box-remove:hover{background:#e34759d9}.photo-box-overlay{color:#fff;text-align:center;opacity:0;background:#2d426fbf;padding:4px 0;font-size:12.5px;font-weight:700;transition:opacity .15s;position:absolute;inset:auto 0 0}.photo-box:hover .photo-box-overlay{opacity:1}.subtitle-bar{color:var(--text);align-items:center;gap:8px;margin-bottom:8px;font-size:16px;font-weight:800;display:flex}.subtitle-dot{background:var(--blue);border-radius:2px;flex:none;width:4px;height:15px}.essay-question{border:1.5px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}.essay-question-head{background:var(--accent-soft,var(--blue-soft));color:var(--text);border-bottom:2.5px solid var(--accent,var(--blue));border-left:4px solid var(--accent,var(--blue));align-items:center;gap:10px;padding:12px 16px 10px 18px;font-size:16px;font-weight:900;display:flex}.essay-question-time{color:var(--text-dim);margin-left:auto;font-size:14px;font-weight:700}.essay-question-body{background:#fff;padding:14px 16px 16px}.essay-question-body textarea{border:1.5px solid var(--border)}.essay-question-body textarea:focus{border-color:var(--blue)}.row-actions{gap:8px;margin:8px 0 18px;display:flex}.tag{border-radius:20px;padding:3px 10px;font-size:14px;font-weight:800;display:inline-block}.tag-red{background:var(--red-soft);color:var(--red)}.tag-green{background:var(--green-soft);color:var(--green)}.tag-blue{background:var(--blue-soft);color:var(--blue)}.tag-gray{color:var(--text-dim);background:#2d426f1a}.day-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.day-tab{border:1.5px solid var(--border);background:var(--white);color:var(--text-dim);border-radius:20px;padding:9px 16px;font-weight:800}.day-tab.active{background:var(--text);color:#fff;border-color:var(--text)}.tt-row{border-bottom:1px dashed var(--divider);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.tt-time{color:var(--text-dim);flex:0 0 96px;font-size:15px;font-weight:800}.tt-title{flex:1;font-size:16px}.gate{text-align:center;max-width:420px;margin:40px auto}.gate .card{text-align:left}.session-bar{background:var(--box);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:15.5px;display:flex}.score-bar-wrap{background:var(--box);border-radius:8px;height:10px;margin-top:6px;overflow:hidden}.score-bar-fill{background:var(--blue);border-radius:8px;height:100%}.score-item{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.score-total{text-align:center;padding:20px 0}.score-total .num{color:var(--red);font-size:54px;font-weight:900}.post-item{border-bottom:1px solid var(--divider);color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:14px 4px;text-decoration:none;display:flex}.post-item .pin{color:var(--red);margin-right:6px;font-weight:800}.pagination{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.pagination button{border:1.5px solid var(--border);background:var(--white);min-width:34px;color:var(--text-dim);border-radius:8px;padding:7px 10px;font-size:15px;font-weight:700}.pagination button.active{background:var(--text);color:#fff;border-color:var(--text)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.app-footer{text-align:center;color:#ffffffd9;background:linear-gradient(135deg,#2d426f 0%,#3a5490 55%,#0092c1 130%);padding:26px 16px 0;font-size:14.5px}.app-footer p{margin:0 0 6px}.footer-btn-row{justify-content:center;gap:10px;margin:14px 0 26px;display:flex}.footer-admin-btn{color:#fff;background:#ffffff24;border:1px solid #fff6;margin:0;display:inline-block}.footer-admin-btn:hover{background:#ffffff3d}.footer-btn-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.footer-logo-plate{background:var(--white);justify-content:center;align-items:center;padding:20px 16px;display:flex}.footer-logo-plate img{max-width:100%;height:auto;max-height:42px}.admin-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.admin-tabs button{border:1.5px solid var(--border);background:var(--white);color:var(--text-dim);border-radius:10px;padding:9px 14px;font-size:15px;font-weight:700}.admin-tabs button.active{background:var(--text);color:#fff;border-color:var(--text)}.admin-table-wrap{overflow-x:auto}table.admin-table{border-collapse:collapse;width:100%;font-size:15px}table.admin-table th,table.admin-table td{border:1px solid var(--border);text-align:left;padding:7px 9px}table.admin-table th{background:var(--box)}.muted{color:var(--text-dim);font-size:14.5px}.empty-state{text-align:center;color:var(--text-dim);padding:40px 20px}.eval-editor{margin-top:4px}.eval-total{background:var(--col-head-soft);border-radius:14px;justify-content:center;align-items:baseline;gap:6px;margin-bottom:14px;padding:14px;display:flex}.eval-total .num{color:var(--col-head);font-size:38px;font-weight:900}.eval-total .of{color:var(--text-dim);font-size:16px;font-weight:700}.eval-group{border:1.5px solid var(--border);border-radius:14px;margin-bottom:14px;overflow:hidden}.eval-group-head{background:var(--col-head);color:#fff;padding:9px 14px;font-size:15px;font-weight:800}.eval-group-body{background:#fff;padding:2px 14px}.eval-item-row{border-bottom:1px dashed var(--divider);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.eval-item-row:last-child{border-bottom:none}.eval-item-label{flex:1;min-width:0;font-size:14.5px}.eval-item-score{flex:none;align-items:center;gap:8px;display:flex}.eval-item-num{text-align:center;flex:none;width:56px;padding:6px 4px}@media (width<=640px){.eval-item-row{flex-direction:column;align-items:flex-start;gap:8px}}
