.nf-root{--hanji:#f8f5ec;--hanji-dim:#efe9dc;--surf:#f7f7f7;--ink:#1a1612;--ink-2:#3a332a;--ink-3:#6f665a;--ink-4:#867c6b;--rule:#cfc6b2;--rule-soft:#e3dbc9;--cheong:#1e5b82;--cheong-dk:#144261;--jeok:#b23a2e;background:var(--hanji);color:var(--ink-2);justify-content:center;align-items:center;min-height:calc(100vh - 128px);padding:4rem 1.5rem;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.nf-deco-char{color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Nanum Myeongjo,serif;font-weight:700;line-height:1;position:absolute}.nf-food-emoji{pointer-events:none;position:absolute}.nf-content{z-index:10;text-align:center;width:100%;max-width:540px;position:relative}.nf-bowl-wrap{background:var(--hanji-dim);border:1px solid var(--rule);border-radius:0;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 2rem;display:flex;position:relative}.nf-bowl-wrap:after{content:"";background:var(--rule);width:80px;height:2px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.nf-404{letter-spacing:-.04em;color:var(--jeok);margin-bottom:.25rem;font-size:clamp(80px,12vw,108px);font-weight:900;line-height:1}.nf-subtitle{color:var(--ink-4);letter-spacing:.12em;margin-bottom:1.25rem;font-family:Nanum Myeongjo,serif;font-size:14px}.nf-title{letter-spacing:-.02em;color:var(--ink);margin-bottom:.75rem;font-size:clamp(20px,4vw,26px);font-weight:800;line-height:1.25}.nf-desc{color:var(--ink-3);margin-bottom:2.5rem;font-size:15px;line-height:1.65}.nf-actions{flex-direction:column;align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}@media (min-width:480px){.nf-actions{flex-direction:row;justify-content:center}}.nf-btn-primary{background:var(--cheong);color:#fff;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--cheong);white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.75rem;font-family:Inter,sans-serif;font-size:13px;font-weight:700;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.nf-btn-primary:hover{background:var(--cheong-dk);border-color:var(--cheong-dk);color:#fff}@media (min-width:480px){.nf-btn-primary{width:auto}}.nf-btn-secondary{color:var(--cheong);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--cheong);white-space:nowrap;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.75rem;font-family:Inter,sans-serif;font-size:13px;font-weight:700;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.nf-btn-secondary:hover{background:var(--cheong);color:#fff}@media (min-width:480px){.nf-btn-secondary{width:auto}}.nf-guides{text-align:left;background:var(--surf);border:1px solid var(--rule);border-radius:0;padding:1.25rem}.nf-guides-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:.75rem;font-family:Inter,sans-serif;font-size:11px;font-weight:700}.nf-guide-row{color:var(--ink-2);background:0 0;border:none;border-radius:0;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:14px;font-weight:500;text-decoration:none;transition:background .1s,color .1s;display:flex}.nf-guide-row:hover{color:var(--cheong);background:#1e5b820f}.nf-guide-icon{background:var(--hanji-dim);border:1px solid var(--rule-soft);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.nf-guide-title{flex:1}.nf-guide-arrow{color:var(--rule);font-size:16px;transition:color .1s}.nf-guide-row:hover .nf-guide-arrow{color:var(--cheong)}@keyframes nf-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes nf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes nf-float-food{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(4deg)}}@keyframes nf-bowl-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.nf-content{animation:.7s cubic-bezier(.16,1,.3,1) both nf-slide-up}.nf-bowl-wrap{animation:3.5s ease-in-out infinite nf-bowl-bob}
