*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#fff;--bg2:#f8fafc;--bg3:#f1f5f9;--inp:#fff;--bd:#e2e8f0;--bd2:#cbd5e1;--t1:#1e293b;--t2:#475569;--t3:#94a3b8;--ac:#3b82f6;--ac2:#2563eb;--acg:#3b82f612;--acs:#3b82f608;--grn:#059669;--grn2:#047857;--grn-bg:#ecfdf5;--grn-bd:#a7f3d0;--amb:#d97706;--red:#dc2626;--r:12px;--rl:16px;--font:"Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"JetBrains Mono",monospace;--tr:.2s cubic-bezier(.4,0,.2,1);--sh:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shm:0 4px 12px rgba(0,0,0,.07);--shl:0 8px 24px rgba(0,0,0,.08)}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg2);color:var(--t1);line-height:1.75;min-height:100vh;-webkit-font-smoothing:antialiased}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.nav-inner{max-width:760px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.nav-links{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-links::-webkit-scrollbar{display:none}.nav-links a{padding:6px 11px;font-size:.85rem;color:hsla(0,0%,100%,.75);text-decoration:none;border-radius:8px;white-space:nowrap;transition:all var(--tr);font-weight:500}.nav-links a.active,.nav-links a:hover{color:#fff;background:hsla(0,0%,100%,.15)}.w{max-width:680px;margin:0 auto;padding:0 20px}header{padding:48px 0 20px;text-align:center}.badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--bd);padding:6px 16px 6px 10px;border-radius:40px;font-size:.78rem;color:var(--t3);margin-bottom:18px;box-shadow:var(--sh)}.badge .dot{width:7px;height:7px;background:var(--grn);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}h1{font-size:clamp(1.8rem,5vw,2.4rem);font-weight:900;letter-spacing:-.03em;line-height:1.25;color:var(--t1);margin-bottom:6px}h1 .ac{color:var(--ac)}.sub{color:var(--t2);font-size:.98rem;font-weight:400}.ad{background:var(--bg);border:1px dashed var(--bd);border-radius:var(--r);min-height:90px;margin:16px 0;display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:.78rem}.bn{display:block;margin:20px 0;border-radius:var(--rl);overflow:hidden;transition:all var(--tr);text-decoration:none;box-shadow:var(--sh)}.bn:hover{box-shadow:var(--shl);transform:translateY(-2px)}.bn .bi{display:flex;align-items:center;gap:16px;padding:18px 22px}.bn .bi.green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid var(--grn-bd)}.bn .bi.blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.bn .bi.amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a}.bn .bi.pink{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1px solid #fecdd3}.bn .bico{font-size:2rem;flex-shrink:0}.bn .bt{flex:1 1}.bn .bt h3{font-weight:700;font-size:.92rem;margin-bottom:2px}.bn .bt p{font-size:.8rem;opacity:.85}.bn .bi.green h3{color:#065f46}.bn .bi.green p{color:#047857}.bn .bi.blue h3{color:#1e40af}.bn .bi.blue p{color:#2563eb}.bn .bi.amber h3{color:#92400e}.bn .bi.amber p{color:#b45309}.bn .bi.pink h3{color:#9f1239}.bn .bi.pink p{color:#be123c}.bn .bcta{padding:8px 16px;border-radius:8px;font-size:.8rem;font-weight:600;flex-shrink:0;white-space:nowrap;color:#fff}.bn .bi.green .bcta{background:#059669}.bn .bi.blue .bcta{background:#2563eb}.bn .bi.amber .bcta{background:#d97706}.bn .bi.pink .bcta{background:#e11d48}.card{background:var(--bg);border:1px solid var(--bd);border-radius:var(--rl);padding:28px;margin-bottom:20px;box-shadow:var(--sh)}label{display:block;font-size:.84rem;color:var(--t2);margin-bottom:5px;font-weight:600}input[type=date],input[type=number],input[type=text],select{width:100%;background:var(--bg);border:1.5px solid var(--bd);border-radius:var(--r);color:var(--t1);font-family:var(--font);font-size:1rem;padding:12px 16px;outline:none;transition:border-color var(--tr),box-shadow var(--tr)}input:focus,select:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acg)}input::placeholder{color:var(--t3)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394A3B8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}input[type=date]{font-family:var(--font)}.fg{display:grid;grid-gap:14px;gap:14px}.fg2{grid-template-columns:1fr 1fr}.btn{width:100%;padding:14px;background:var(--ac);color:#fff;border:none;border-radius:var(--r);font-family:var(--font);font-size:.95rem;font-weight:700;cursor:pointer;margin-top:14px;transition:all var(--tr);box-shadow:0 2px 8px rgba(37,99,235,.25)}.btn:hover{background:var(--ac2);box-shadow:0 4px 16px rgba(37,99,235,.3);transform:translateY(-1px)}.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-top:18px}.si{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:16px;text-align:center;transition:all var(--tr)}.si:hover{border-color:var(--ac);box-shadow:var(--shm);transform:translateY(-2px)}.sv{font-family:var(--mono);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--t1)}.sv.ac{color:var(--ac)}.sl{font-size:.73rem;color:var(--t3);margin-top:4px}.faq{margin-top:36px}.faq h2{font-size:.82rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-weight:600}.fi{border-bottom:1px solid var(--bd);padding:16px 0}.fi:last-child{border-bottom:none}.fq{font-weight:700;font-size:.92rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--t1)}.fq:after{content:"+";font-size:1.2rem;color:var(--t3);transition:transform var(--tr);flex-shrink:0}.fi.open .fq:after{transform:rotate(45deg);color:var(--ac)}.fa{max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;color:var(--t2);font-size:.88rem;line-height:1.7}.fi.open .fa{max-height:1000px;padding-top:10px}.rel{margin-top:32px}.rel h2{font-size:.82rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-weight:600}.rg{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px}.rc,.rg{gap:10px}.rc{display:flex;align-items:center;background:var(--bg);border:1px solid var(--bd);border-radius:var(--r);padding:14px;text-decoration:none;color:var(--t1);transition:all var(--tr);box-shadow:var(--sh)}.rc:hover{border-color:var(--ac);box-shadow:var(--shm);transform:translateY(-2px)}.rc .ico{font-size:1.3rem;width:38px;height:38px;background:var(--acg);border-radius:8px;display:grid;place-items:center;flex-shrink:0}.rc .nm{font-weight:600;font-size:.88rem}.muted{color:var(--t2)}.hero{padding:52px 0 14px;text-align:center}.hero h1{margin-bottom:10px}.hero p{color:var(--t2);max-width:640px;margin:0 auto}.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 10px}.tab{border:1px solid var(--bd);background:var(--bg);color:var(--t2);padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all var(--tr);box-shadow:var(--sh)}.tab:hover{transform:translateY(-1px);box-shadow:var(--shm);border-color:var(--ac)}.tab.active{background:var(--ac);color:#fff;border-color:transparent}.section-title{margin:22px 0 10px;font-size:.82rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;font-weight:700;text-align:center}.featured-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:16px}.card-lg{background:var(--bg);border:1px solid var(--bd);border-radius:var(--rl);padding:18px 18px 16px;box-shadow:var(--sh);transition:all var(--tr);text-decoration:none;color:var(--t1);display:flex;flex-direction:column;min-height:168px}.card-lg:hover{box-shadow:var(--shl);transform:translateY(-2px);border-color:var(--ac)}.card-lg-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-lg-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--acs);font-size:1.45rem}.card-lg-vol{font-size:.74rem;color:var(--t3);font-weight:700}.card-lg h3{font-size:1.02rem;letter-spacing:-.02em;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card-lg p{font-size:.86rem;color:var(--t2);line-height:1.6;flex:1 1}.card-lg-cta{margin-top:12px;color:var(--ac);font-weight:800;font-size:.84rem}.brand-banner{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#fffbeb,#f1f5f9);border:1px solid var(--bd);border-radius:var(--rl);padding:16px 18px;box-shadow:var(--sh);text-decoration:none;color:var(--t1);transition:all var(--tr);margin:18px 0}.brand-banner:hover{box-shadow:var(--shl);transform:translateY(-2px);border-color:var(--ac)}.brand-img{width:84px;height:56px;border-radius:12px;object-fit:cover;background:var(--bg3);border:1px solid var(--bd);flex-shrink:0}.brand-copy h3{font-size:.95rem;margin-bottom:2px}.brand-copy p{font-size:.82rem;color:var(--t2)}.brand-cta{margin-left:auto;font-size:.82rem;font-weight:900;color:var(--ac);white-space:nowrap}.calc-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:6px}.calc-card{background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:10px;box-shadow:var(--sh);transition:all var(--tr);text-decoration:none;color:var(--t1)}.calc-card:hover{box-shadow:var(--shm);transform:translateY(-2px);border-color:var(--ac)}.calc-card .row{display:flex;align-items:center;gap:8px}.calc-card .ic{width:30px;height:30px;border-radius:10px;background:var(--acs);display:grid;place-items:center;font-size:1.05rem;flex-shrink:0}.calc-card .nm{font-weight:800;font-size:14px;letter-spacing:-.02em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.product-banner{margin:18px 0}.product-banner .bn-img{margin:0}@media(max-width:900px){.featured-grid{grid-template-columns:1fr}.calc-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.calc-grid{grid-template-columns:repeat(2,1fr)}.brand-banner{flex-direction:column;align-items:flex-start}.brand-cta{margin-left:0}}.hero-tools{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:20px 0}.hero-tools a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;background:var(--bg);border:1px solid var(--bd);border-radius:var(--rl);text-decoration:none;color:var(--t1);transition:all var(--tr);box-shadow:var(--sh);text-align:center}.hero-tools a:hover{border-color:var(--ac);box-shadow:var(--shm);transform:translateY(-3px)}.hero-tools .ht-emoji{font-size:2rem}.hero-tools .ht-name{font-weight:700;font-size:.88rem}.hero-tools .ht-vol{font-size:.72rem;color:var(--t3)}.info-section{background:var(--bg);border:1px solid var(--bd);border-radius:var(--rl);padding:24px;margin:20px 0;box-shadow:var(--sh)}.info-section h2{font-size:1.1rem;font-weight:700;margin-bottom:12px;color:var(--t1)}.info-section p{font-size:.9rem;color:var(--t2);margin-bottom:10px;line-height:1.8}footer{margin-top:48px;padding:24px 0;border-top:1px solid var(--bd);text-align:center;color:var(--t3);font-size:.76rem}footer a{color:var(--t2);text-decoration:none}footer a:hover{color:var(--ac)}@media(max-width:600px){.nav-logo{font-size:1rem}.w{padding:0 14px}header{padding:32px 0 14px}.card{padding:20px}.sg{grid-template-columns:repeat(2,1fr)}.fg2,.hero-tools,.rg{grid-template-columns:1fr}.nav-links a{font-size:.78rem;padding:4px 8px}}@keyframes fu{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ani{animation:fu .5s ease forwards;opacity:0}.d1{animation-delay:.1s}.d2{animation-delay:.15s}.bn-img{display:block;margin:20px 0;border-radius:var(--rl);overflow:hidden;text-decoration:none;box-shadow:var(--sh);transition:all var(--tr);position:relative}.bn-img:hover{box-shadow:var(--shl);transform:translateY(-2px)}.bn-img img{width:100%;height:220px;object-fit:cover;object-position:center 75%;display:block}.bn-img .bn-ov{position:absolute;top:0;left:0;right:0;padding:16px 20px;background:linear-gradient(rgba(0,0,0,.72),transparent)}.bn-img .bn-ov h3{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,.4)}.bn-img .bn-ov p{color:hsla(0,0%,100%,.88);font-size:.82rem}.bn-img .bn-tag{position:absolute;top:12px;right:12px;background:#059669;color:#fff;padding:5px 14px;border-radius:20px;font-size:.73rem;font-weight:700;letter-spacing:.02em}@media(max-width:600px){.bn-img img{height:180px;object-position:center 65%}}.hint{font-size:.85rem;color:var(--t2);line-height:1.6}#holdBandWrap{display:none;margin-top:12px}#holdBandWrap.show{display:block}.food-row{grid-template-columns:1fr 1fr auto;grid-gap:10px;align-items:end;margin-top:12px}.food-row,.gpa-row{display:grid;gap:10px}.gpa-row{grid-template-columns:1fr 90px 110px 40px;grid-gap:10px;align-items:center;margin-bottom:10px}.del-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--bd);background:var(--bg);color:var(--t3);cursor:pointer;font-size:1.2rem;transition:all var(--tr)}.del-btn:hover{border-color:var(--ac);color:var(--ac);box-shadow:var(--shm);transform:translateY(-1px)}@media(max-width:600px){.gpa-row{grid-template-columns:1fr 70px 100px 36px}}.geo-lead{margin:14px auto 0;max-width:640px;text-align:center;font-size:.98rem;color:var(--t2);line-height:1.75}.cta-bottom{text-align:center;margin:36px 0 20px;padding:20px;background:var(--bg);border:1px solid var(--bd);border-radius:var(--rl);box-shadow:var(--sh)}.cta-bottom a{color:var(--ac);font-weight:700;text-decoration:none}.cta-bottom a:hover{text-decoration:underline}.pwa-install{position:fixed;bottom:0;left:0;right:0;z-index:200;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--bd);box-shadow:0 -4px 24px rgba(0,0,0,.08)}.pwa-install-text{font-size:.84rem;color:var(--t2);margin-bottom:10px;line-height:1.55}.pwa-install-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwa-install-btn{padding:10px 18px;border:none;border-radius:var(--r);background:#3b82f6;color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;font-family:var(--font)}.pwa-install-btn:hover{filter:brightness(1.05)}.pwa-dismiss,.pwa-dismiss-only{padding:8px 14px;border-radius:var(--r);border:1px solid var(--bd);background:var(--bg2);color:var(--t2);font-size:.82rem;cursor:pointer;font-family:var(--font)}.pwa-dismiss-only{margin-top:8px}.pwa-install-ios .pwa-install-text{margin-bottom:0}