@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";
:root{--ink:#101216;--card:#1a1d24;--raised:#22262f;--line:#2c313c;--paper:#ede9e0;--mist:#8b909d;--dim:#5a5f6b;--accent:#a88bc9;--accent-soft:#a88bc924;--accent-line:#a88bc952;--accent-ink:#1a1226;--sans:"Pretendard", var(--font-noto-sans-kr), sans-serif;--serif:var(--font-noto-serif-kr), serif}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#0a0b0e;justify-content:center;min-height:100vh;padding:24px 16px;line-height:1.6;display:flex}.app{background:var(--ink);border:1px solid var(--line);border-radius:26px;width:100%;max-width:430px;min-height:760px;position:relative;overflow:hidden;box-shadow:0 30px 70px -30px #000}.view{padding:26px 22px 30px;animation:.32s fade;display:none}.view.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.top{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.title{font-family:var(--serif);letter-spacing:-.01em;font-size:25px;font-weight:700}.date{color:var(--mist);font-variant-numeric:tabular-nums;margin-top:3px;font-size:13px}.iconbtn{border:1px solid var(--line);background:var(--card);width:38px;height:38px;color:var(--mist);cursor:pointer;border-radius:10px;flex:none;place-items:center;font-size:16px;transition:all .2s;display:grid}.iconbtn:hover{color:var(--accent);border-color:var(--accent)}.iconbtn.spinning{color:var(--accent);border-color:var(--accent);animation:.6s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filter-tabs{gap:8px;margin-bottom:18px;display:flex}.filter-tab{border:1px solid var(--line);background:var(--card);color:var(--mist);font-family:var(--sans);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .18s}.filter-tab:hover{border-color:var(--accent);color:var(--accent)}.filter-tab.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.hero-k{letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.hero{background:linear-gradient(160deg, var(--accent-soft), transparent 70%), var(--card);border:1px solid var(--accent-line);cursor:pointer;border-radius:16px;margin-bottom:26px;padding:22px;transition:all .2s}.hero:hover{transform:translateY(-2px)}.hero .q{font-family:var(--serif);letter-spacing:-.01em;font-size:22px;font-weight:600;line-height:1.5}.hero .a{color:var(--mist);margin-top:14px;font-size:13px}.hero .a b{color:var(--paper);font-weight:600}.search-input{background:var(--card);border:1px solid var(--line);width:100%;color:var(--paper);font-family:var(--sans);border-radius:12px;margin-bottom:18px;padding:11px 14px;font-size:14px}.search-input::placeholder{color:var(--dim)}.search-input:focus{border-color:var(--accent);outline:none}.load-more{background:var(--card);border:1px solid var(--line);width:100%;color:var(--mist);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans);border-radius:12px;margin-top:8px;padding:12px;transition:all .18s}.load-more:hover{border-color:var(--accent);color:var(--accent)}.list-k{letter-spacing:.14em;color:var(--dim);text-transform:uppercase;justify-content:space-between;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.list-k span{color:var(--mist);letter-spacing:0;text-transform:none;font-weight:500}.row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:14px;padding:15px 4px;transition:all .15s;display:flex}.row:hover{padding-left:8px}.row:last-child{border-bottom:0}.num{font-family:var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;width:20px;font-size:14px;font-weight:600}.row-body{flex:1;min-width:0}.row-q{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:500;line-height:1.45;overflow:hidden}.row-a{color:var(--mist);margin-top:3px;font-size:12px}.row-star{color:var(--dim);flex:none;font-size:15px}.row-star.on{color:var(--accent)}.chev{color:var(--dim);flex:none;font-size:16px}.fc-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.back{color:var(--mist);cursor:pointer;font-size:14px;font-family:var(--sans);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;display:flex}.back:hover{color:var(--accent)}.fc-top-right{align-items:center;gap:12px;display:flex}.counter{color:var(--mist);font-variant-numeric:tabular-nums;font-size:13px}.counter b{color:var(--accent);font-weight:700}.flip{perspective:1400px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;margin-bottom:22px}.flip:active{cursor:grabbing}.flip-inner{width:100%;min-height:440px;transform-style:preserve-3d;cursor:pointer;transition:transform .55s cubic-bezier(.4,.15,.2,1);position:relative}.flip-inner.flipped{transform:rotateY(180deg)}.face{backface-visibility:hidden;border:1px solid var(--line);border-radius:20px;flex-direction:column;padding:32px 28px;display:flex;position:absolute;inset:0}.face.front{background:var(--card)}.face.back{background:linear-gradient(160deg, var(--accent-soft), transparent 60%), var(--card);border-color:var(--accent-line);transform:rotateY(180deg)}.face-k{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:auto;font-size:11px;font-weight:700}.fc-q{font-family:var(--serif);letter-spacing:-.01em;font-size:27px;font-weight:600;line-height:1.5}.fc-a{margin-top:20px}.fc-a .nm{font-size:16px;font-weight:700}.fc-a .rl{color:var(--mist);margin-top:2px;font-size:13px}.fc-insight{color:var(--paper);margin-top:16px;margin-bottom:auto;font-size:16px;line-height:1.75}.flip-hint{color:var(--dim);justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:12px;display:flex}.flip-hint .ic{color:var(--accent)}.fc-nav{align-items:center;gap:12px;display:flex}.navbtn{background:var(--card);border:1px solid var(--line);color:var(--paper);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--sans);border-radius:12px;flex:1;padding:14px;transition:all .18s}.navbtn:hover{border-color:var(--accent);color:var(--accent)}.navbtn:disabled{opacity:.35;cursor:default}.navbtn:disabled:hover{border-color:var(--line);color:var(--paper)}.fav{background:var(--card);border:1px solid var(--line);width:52px;color:var(--dim);cursor:pointer;border-radius:12px;flex:none;font-size:18px;transition:all .18s}.fav.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.hintbar{text-align:center;color:var(--dim);margin-top:26px;font-size:12px;line-height:1.7}.admin-wrap{flex-direction:column;gap:18px;width:100%;max-width:560px;margin:0 auto;padding:40px 20px;display:flex}.admin-topbar{justify-content:space-between;align-items:center;display:flex}.admin-title{font-family:var(--serif);font-size:20px;font-weight:700}.admin-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}.admin-login{flex-direction:column;gap:14px;max-width:320px;margin:80px auto 0;display:flex}.admin-list{flex-direction:column;gap:12px;display:flex}.admin-item,.admin-item-form{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.admin-item-header .row-q{white-space:normal}.admin-item-actions{gap:8px;display:flex}.admin-input{background:var(--raised);border:1px solid var(--line);color:var(--paper);font-family:var(--sans);border-radius:10px;padding:10px 12px;font-size:14px}.admin-input:focus{border-color:var(--accent);outline:none}.admin-textarea{resize:vertical;min-height:80px;font-family:var(--sans)}.admin-btn{background:var(--raised);border:1px solid var(--line);color:var(--paper);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans);border-radius:10px;padding:9px 16px;transition:all .18s}.admin-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-btn-primary{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.admin-btn-danger:hover{color:#d97b7b;border-color:#d97b7b}.admin-error{color:#d97b7b;font-size:13px}
