:root{--font-body:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--bg:#f4efe6;--bg-strong:#fffaf2;--panel:#fffbf5f5;--line:#d8c9b2;--line-soft:#ebe1d3;--text:#1f2328;--muted:#66614f;--accent:#8f4f24;--danger:#b4362f;--shadow:0 22px 55px #4430191f}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#f4dbb073,#0000 28%),linear-gradient(#f7f2ea 0%,#efe5d6 100%)}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.lookup-page{min-height:100vh;padding:32px 16px 48px}.lookup-shell{width:min(920px,100%);margin:0 auto}.hero{padding:12px 4px 28px}.hero__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.95rem;font-weight:700}.hero h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.2}.hero__description{color:var(--muted);margin-top:14px;font-size:1.05rem;line-height:1.7}.panel,.result-panel{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #8f4f241f;border-radius:28px}.panel{padding:28px}.lookup-form{gap:20px;display:grid}.field{gap:10px;display:grid}.field span{font-size:1.05rem;font-weight:700}.field__input{border:1px solid var(--line);background:var(--bg-strong);width:100%;min-height:64px;color:var(--text);border-radius:18px;padding:16px 18px;font-size:1.15rem;line-height:1.4}.field__input:focus{border-color:var(--accent);outline:3px solid #8f4f242e}.field__hint{color:var(--muted);font-size:.95rem;line-height:1.6}.submit-button{color:#fffef9;cursor:pointer;background:linear-gradient(#9a582c 0%,#7d4019 100%);border:0;border-radius:18px;min-height:68px;font-size:1.2rem;font-weight:700}.submit-button:disabled{opacity:.72;cursor:wait}.status-message{border-radius:18px;margin-top:18px;padding:18px 20px;font-size:1.02rem;line-height:1.6}.status-message--error{color:var(--danger);background:#f4cfcd7a;border:1px solid #b4362f29}.result-panel{margin-top:24px;padding:28px}.result-summary{border-bottom:1px solid var(--line-soft);gap:12px;padding-bottom:22px;display:grid}.result-summary__row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.result-summary__row span{color:var(--muted);font-size:1rem}.result-summary__row strong{text-align:right;font-size:1.08rem}.result-section{margin-top:24px}.contact-notice{color:var(--text);background:#e8dac266;border-radius:16px;margin-top:18px;padding:16px 18px;line-height:1.7}.contact-notice--error{background:#f4cfcd57}.result-section h2{margin-bottom:18px;font-size:1.35rem}.assignment-table-wrap{border:1px solid var(--line-soft);border-radius:20px;overflow-x:auto}.assignment-table{border-collapse:collapse;background:#fffdf9e6;width:100%}.assignment-table th,.assignment-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:16px 14px;line-height:1.55}.assignment-table th{background:#e8dac28c;font-size:.98rem}.assignment-table tr:last-child td{border-bottom:0}.assignment-cards{gap:14px;display:grid}.assignment-card{border:1px solid var(--line-soft);background:#fffdf9eb;border-radius:20px;padding:18px}.assignment-card__header{justify-content:space-between;gap:12px;margin-bottom:14px;font-size:1.02rem;display:flex}.assignment-card__grid{gap:12px;display:grid}.assignment-card__grid dt{color:var(--muted);margin-bottom:4px;font-size:.95rem}.assignment-card__grid dd{line-height:1.6}.empty-message{color:var(--muted);padding:18px 0 4px;font-size:1rem}.result-footnote{color:var(--muted);margin-top:16px;font-size:.96rem;line-height:1.6}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:767px){.lookup-page{padding-top:24px}.panel,.result-panel{border-radius:22px;padding:20px}.hero{padding-bottom:22px}.hero__description{font-size:1rem}.field__input,.submit-button{min-height:60px;font-size:1.05rem}.result-summary__row{display:grid}.desktop-only{display:none}.mobile-only{display:grid}}
