:root{--bg-top:#f7f8fb;--bg-bottom:#eceff5;--ink-strong:#0f172a;--ink-base:#24324a;--ink-muted:#65758f;--line:rgba(149,163,186,0.34);--panel:rgba(255,255,255,0.72);--panel-strong:rgba(255,255,255,0.9)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;color:var(--ink-base);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif;background:radial-gradient(circle at 8% -15%,#ffffff 0,transparent 35%),radial-gradient(circle at 92% 0,rgba(222,231,246,.72) 0,transparent 32%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom));position:relative}.page-noise{position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:radial-gradient(circle at 1px 1px,rgba(40,53,78,.07) 1px,transparent 0);background-size:18px 18px}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;color:var(--ink-strong);letter-spacing:-.03em;font-weight:700}h1{font-size:clamp(2.1rem,6.6vw,4.2rem)}h2{font-size:clamp(1.3rem,3.1vw,1.95rem)}.shell{width:min(1160px,100% - 2rem);margin:0 auto;position:relative;z-index:1;display:grid;grid-gap:1.1rem;gap:1.1rem}.glass-panel{border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,var(--panel-strong),var(--panel));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 55px rgba(58,75,109,.12)}.home-shell{width:min(920px,100% - 2rem);min-height:100vh;padding:1rem 0 1.1rem}.home-actions{display:flex;justify-content:flex-end;align-items:center;padding:.15rem .3rem}.contact-icon-link{width:42px;height:42px;border:1px solid rgba(157,170,190,.4);border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.82);color:#1f293d}.contact-icon-link svg{width:18px;height:18px}.home-stage{position:relative;min-height:calc(100vh - 6rem);display:grid;justify-items:start;align-content:center;grid-gap:0;gap:0;padding:1rem clamp(1rem,4vw,2.4rem) 1.6rem;overflow:hidden;isolation:isolate}.home-stage:after,.home-stage:before{content:none}.home-kicker{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin:0 0 .55rem}.home-title{margin-bottom:5.1rem}.app-list{margin-top:.35rem;width:100%;display:flex;align-items:center;gap:2.1rem}.app-list:after{content:"";flex:1 1 auto}.app-icon-item{width:102px;display:grid;justify-items:center;grid-gap:.5rem;gap:.5rem}.app-icon-item.is-static{cursor:default}.app-icon-frame{position:relative;width:74px;height:74px;border-radius:20px;overflow:hidden;border:1px solid rgba(150,165,190,.4);box-shadow:0 8px 18px rgba(58,75,107,.15);background:rgba(255,255,255,.95)}.app-icon-frame img{object-fit:cover}.app-icon-label{font-size:.84rem;font-weight:600;color:#465775}.contact-page{width:100%;min-height:100vh;margin:0 auto;padding:1rem clamp(.9rem,3vw,2.2rem) 1.8rem;position:relative;z-index:1}.contact-shell{width:min(940px,100%)}.admin-shell{width:min(860px,100%);margin:2.3rem auto 3rem;padding:1.4rem}.section-head{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem}.eyebrow,.section-head p{margin:0;color:var(--ink-muted)}.eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.contact-form{display:grid;grid-gap:.9rem;gap:.9rem}.admin-login label,.contact-form label{display:grid;grid-gap:.42rem;gap:.42rem;color:#2f405f;font-weight:600}.form-field{margin:0}.gs-field{min-height:48px;border-radius:12px;border-color:rgba(146,162,187,.58);font-size:.95rem}.gs-field:focus{border-color:rgba(90,120,180,.7);box-shadow:0 0 0 .2rem rgba(90,120,180,.14)}.gs-textarea{min-height:170px;resize:vertical}.gs-submit{min-height:48px}.btn-ghost,.btn-primary{border-radius:999px;border:1px solid transparent;padding:.62rem 1rem;font-size:.92rem;font-weight:600;cursor:pointer}.btn-primary{background:#0f172a;color:#f8fafc;border-color:#0f172a}.btn-primary:hover{background:#0a1020}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:rgba(255,255,255,.84);color:#1f2d47;border-color:rgba(146,163,189,.58)}.locked-type{display:flex;align-items:center;gap:.45rem;padding:0 .9rem;background:rgba(255,255,255,.75)}.locked-type span{font-size:.86rem;color:var(--ink-muted)}.locked-type strong{font-size:.93rem;color:#1e2a42}.status-error,.status-ok{margin:0;border-radius:10px;padding:.66rem .85rem;font-size:.9rem;font-weight:600}.status-ok{background:rgba(9,170,108,.13);color:#0d7d50}.status-error{background:rgba(219,39,39,.12);color:#b91c1c}.back-link{margin-top:.85rem;width:-moz-fit-content;width:fit-content}.admin-login{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:1rem}.admin-login label{flex:1 1}.table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(142,159,186,.44);background:rgba(255,255,255,.84)}.table-headline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem;border-bottom:1px solid rgba(142,159,186,.36)}.table-headline h2{font-size:1.02rem}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{border-bottom:1px solid rgba(148,163,190,.28);text-align:left;vertical-align:top;padding:.7rem}.message-cell{min-width:260px;white-space:pre-wrap}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:.2rem .5rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-chip.is-pending{background:rgba(148,163,184,.18);color:#475569}.status-chip.is-done{background:rgba(34,197,94,.16);color:#15803d}.action-row{display:flex;flex-wrap:wrap;gap:.4rem;min-width:150px}@media (max-width:900px){.admin-login{flex-direction:column;align-items:stretch}}@media (max-width:640px){.shell{width:min(1160px,100% - 1.8rem)}.home-shell{width:min(920px,100% - 1.8rem);padding-top:.8rem}.contact-icon-link{width:38px;height:38px}.home-stage{min-height:calc(100vh - 6rem);padding:1.2rem 1.45rem 2rem}.home-stage:after{content:none}.app-icon-frame{width:64px;height:64px;border-radius:17px}.app-icon-item{width:90px}.home-title{font-size:clamp(2.45rem,11vw,3rem);margin-bottom:3.9rem}.home-kicker{font-size:.86rem;margin-bottom:.75rem}.app-list{gap:1.6rem}.contact-page{padding:.85rem .9rem 1.2rem}.admin-shell,.contact-shell{margin-top:1rem;padding:1rem}}