:root{--sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--bg:#f6f5f2;--surface:#fff;--border:#e7e4de;--border-hover:#cfcac0;--text:#1a1917;--muted:#6b6760;--faint:#9a958c;--accent:#3867ff;--accent-soft:#3867ff1a;--wash-1:#3867ff1f;--wash-2:#1da9741a;--ease:cubic-bezier(.22, 1, .36, 1);--cat-개발:#7b5cff;--cat-정보:#3867ff;--cat-자동차:#e07820;--cat-일상:#0f9d6e;--cat-여행:#d94878;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-base:1rem;--fs-lg:1.25rem}:root[data-theme=dark]{--bg:#121110;--surface:#1c1b19;--border:#2e2c29;--border-hover:#4a4742;--text:#f3f1ec;--muted:#a8a49b;--faint:#6f6b63;--accent:#7d9bff;--accent-soft:#7d9bff21;--wash-1:#7d9bff1f;--wash-2:#47cb971a;--cat-개발:#a78bff;--cat-정보:#7d9bff;--cat-자동차:#f0a15a;--cat-일상:#3dcc9a;--cat-여행:#f078a0}*{box-sizing:border-box}html{font-size:16px}html,body,#root{min-height:100%;margin:0;padding:0}body{color:var(--text);background:var(--bg);font-family:var(--sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;letter-spacing:-.01em;line-height:1.5}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.page{touch-action:pan-y;background:radial-gradient(circle at 16% 10%, var(--wash-1), transparent 28rem), radial-gradient(circle at 88% 18%, var(--wash-2), transparent 24rem), var(--bg);min-height:100dvh}.wrap{max-width:960px;padding:16px max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toolbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);position:sticky;top:0}.toolbarInner{max-width:960px;padding:max(10px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.toolbarActions{flex-shrink:0;align-items:center;gap:10px;display:flex}.adminLink{font-size:var(--fs-sm);color:var(--muted);letter-spacing:-.02em;align-self:flex-end;margin-top:2px;padding:2px 4px;font-weight:600;text-decoration:none}.adminLink:hover{color:var(--accent);text-decoration:underline}.filters{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.filterBtn{--chip:var(--cat-정보);--chip-soft:color-mix(in srgb, var(--chip) 14%, var(--surface));--chip-border:color-mix(in srgb, var(--chip) 32%, var(--border));border:1px solid var(--chip-border);background:var(--chip-soft);color:var(--chip);font-size:var(--fs-sm);letter-spacing:-.02em;border-radius:999px;padding:7px 13px;font-weight:700;line-height:1.2;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,filter .2s}.filterBtn[data-category=개발]{--chip:var(--cat-개발)}.filterBtn[data-category=정보]{--chip:var(--cat-정보)}.filterBtn[data-category=자동차]{--chip:var(--cat-자동차)}.filterBtn[data-category=일상]{--chip:var(--cat-일상)}.filterBtn[data-category=여행]{--chip:var(--cat-여행)}:root[data-theme=dark] .filterBtn{--chip-soft:color-mix(in srgb, var(--chip) 22%, var(--surface));--chip-border:color-mix(in srgb, var(--chip) 42%, var(--border))}.filterBtn:hover{background:color-mix(in srgb, var(--chip) 22%, var(--surface));border-color:color-mix(in srgb, var(--chip) 55%, var(--border));filter:saturate(1.08)}.filterBtn:focus-visible{outline:2px solid color-mix(in srgb, var(--chip) 55%, transparent);outline-offset:2px}.filterBtnActive{background:var(--chip);border-color:var(--chip);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--chip) 36%, transparent)}.filterBtnActive:hover{background:var(--chip);border-color:var(--chip);color:#fff;filter:brightness(1.06)}:root[data-theme=dark] .filterBtnActive,:root[data-theme=dark] .filterBtnActive:hover{color:#121110}.themeSeg{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-shrink:0;gap:2px;padding:2px;display:inline-flex}.themeSeg button{color:var(--faint);background:0 0;border:0;border-radius:999px;place-items:center;width:30px;height:30px;transition:color .2s,background .2s;display:grid}.themeSeg button:hover{color:var(--muted)}.themeSeg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.grid{grid-template-columns:1fr;gap:12px;display:grid}.gridBlock{flex-direction:column;gap:10px;display:flex}@media (width>=640px){.grid{grid-template-columns:1fr 1fr}}.card{--card-accent:var(--cat-정보);--card-tint:color-mix(in srgb, var(--card-accent) 14%, transparent);border:1px solid var(--border);background:linear-gradient(135deg, var(--card-tint) 0%, transparent 68%), var(--surface);animation:fadeUp .55s var(--ease) both;animation-delay:calc(50ms + var(--i,0) * 40ms);border-radius:16px;flex-direction:column;gap:5px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.card[data-category=개발]{--card-accent:var(--cat-개발)}.card[data-category=정보]{--card-accent:var(--cat-정보)}.card[data-category=자동차]{--card-accent:var(--cat-자동차)}.card[data-category=일상]{--card-accent:var(--cat-일상)}.card[data-category=여행]{--card-accent:var(--cat-여행)}.card:before{content:"";background:var(--card-accent);opacity:.9;border-radius:999px;width:8px;height:8px;position:absolute;top:14px;right:14px}.cardLink{transition:border-color .2s ease, transform .2s var(--ease), box-shadow .2s var(--ease)}.cardLink:focus-visible{outline:2px solid color-mix(in srgb, var(--card-accent) 55%, transparent);outline-offset:2px}.cardLink:active{box-shadow:none;border-color:var(--border);transform:none}@media (hover:hover) and (pointer:fine){.cardLink:hover{border-color:color-mix(in srgb, var(--card-accent) 38%, var(--border-hover));box-shadow:0 14px 34px -20px color-mix(in srgb, var(--card-accent) 34%, #1a1917);transform:translateY(-2px)}.cardLink:hover:active{box-shadow:none;border-color:var(--border);transform:none}:root[data-theme=dark] .cardLink:hover{box-shadow:0 14px 36px -16px #0000008c}.cardLink:hover .cardArrow{color:var(--card-accent);transform:translate(2px,-2px)}.cardLink:hover:active .cardArrow{transform:none}}.cardSoon{opacity:.55}.cardTop{justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;display:flex}.cardMeta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.cardCategory{background:color-mix(in srgb, var(--card-accent) 14%, transparent);color:var(--card-accent);font-size:var(--fs-xs);letter-spacing:.01em;border-radius:999px;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.cardFlag{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 7px;font-size:.6875rem;font-weight:650;line-height:1.2;display:inline-flex}.cardFlagOwner{color:color-mix(in srgb, var(--muted) 82%, var(--text));background:color-mix(in srgb, var(--muted) 10%, transparent);border-color:color-mix(in srgb, var(--muted) 22%, var(--border))}.cardFlagAccess{color:#b45309;background:#b4530914;border-color:#b4530938}:root[data-theme=dark] .cardFlagAccess{color:#f0a15a;background:#f0a15a1f;border-color:#f0a15a47}.cardSoonLabel{color:var(--faint);font-size:var(--fs-xs);font-weight:600}.cardTitleRow{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.cardTitle{letter-spacing:-.03em;min-width:0;margin:0;font-size:1.125rem;font-weight:650;line-height:1.25}.cardLastRun{color:var(--faint);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;font-weight:500}.cardBlurb{color:var(--muted);font-size:var(--fs-sm);margin:0;line-height:1.45}.cardArrow{color:var(--card-accent);transition:color .2s ease, transform .2s var(--ease);flex-shrink:0}.empty{color:var(--muted);text-align:center;margin:48px 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.card{animation:none}.cardLink,.cardArrow,.filterBtn,.themeSeg button,.cardPick{transition:none}.cardLink:hover,.cardLink:hover:active,.cardPick:hover{transform:none}}.adminHome{font-size:var(--fs-sm);letter-spacing:-.03em;color:var(--text);flex-shrink:0;padding:6px 2px;font-weight:800}.adminHome:hover{color:var(--accent)}.adminNewBtn{border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:var(--fs-xs);letter-spacing:-.02em;border-radius:999px;padding:7px 12px;font-weight:700;transition:color .2s,border-color .2s,background .2s}.adminNewBtn:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-soft)}.adminStack{flex-direction:column;gap:16px;display:flex}.cardPick{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;transition:border-color .2s ease, transform .2s var(--ease), box-shadow .2s ease}.cardPick:hover{border-color:var(--border-hover);transform:translateY(-1px)}.cardPickActive{border-color:color-mix(in srgb, var(--card-accent) 55%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--card-accent) 28%, transparent)}.adminEditor{--card-accent:var(--cat-정보);--card-tint:color-mix(in srgb, var(--card-accent) 14%, transparent);--modal-max:min(560px, calc(100vw - 32px));width:var(--modal-max);border:1px solid var(--border);background:linear-gradient(135deg, var(--card-tint) 0%, transparent 68%), var(--surface);max-height:calc(100dvh - 48px);color:var(--text);animation:adminModalIn .28s var(--ease) both;box-shadow:0 24px 48px color-mix(in srgb, var(--text) 18%, transparent), 0 0 0 1px color-mix(in srgb, var(--border) 80%, transparent);border-radius:16px;flex-direction:column;gap:0;margin:0;padding:0;animation-delay:0s;display:flex;overflow:hidden}.adminEditor[data-category=개발]{--card-accent:var(--cat-개발)}.adminEditor[data-category=정보]{--card-accent:var(--cat-정보)}.adminEditor[data-category=자동차]{--card-accent:var(--cat-자동차)}.adminEditor[data-category=일상]{--card-accent:var(--cat-일상)}.adminEditor[data-category=여행]{--card-accent:var(--cat-여행)}.adminModalRoot{z-index:1000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);background:#1a191773;place-items:center;animation:.2s both adminBackdropIn;display:grid;position:fixed;inset:0}.adminEditorHead{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.adminEditorEyebrow{font-size:var(--fs-xs);color:var(--muted);letter-spacing:-.02em;margin:0 0 4px;font-weight:700}.adminEditorTitle{font-size:var(--fs-lg);letter-spacing:-.03em;margin:0;font-weight:800;line-height:1.25}.adminTextBtn{color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;padding:4px 2px;font-weight:600}.adminTextBtn:hover{color:var(--accent)}.adminEditorBody{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:0 18px 8px;display:flex;overflow:auto}.adminEditorGrid{grid-template-columns:1fr;gap:10px 12px;display:grid}@media (width>=640px){.adminEditorGrid{grid-template-columns:1fr 1fr}.adminFieldWide{grid-column:1/-1}}.adminField{font-size:var(--fs-xs);color:var(--muted);letter-spacing:-.02em;flex-direction:column;gap:5px;font-weight:700;display:flex}.adminField input,.adminField textarea{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 55%, var(--surface));color:var(--text);font:inherit;font-size:var(--fs-sm);letter-spacing:-.01em;border-radius:12px;padding:10px 12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.adminField input:focus,.adminField textarea:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 3px var(--accent-soft);outline:none}.adminField textarea{resize:vertical;min-height:64px}.adminChipBlock{flex-direction:column;gap:8px;display:flex}.adminChipLabel{font-size:var(--fs-xs);color:var(--muted);letter-spacing:-.02em;margin:0;font-weight:700}.adminChipHint{color:var(--faint);letter-spacing:-.01em;margin:0;font-size:.75rem;font-weight:500}.adminChips{flex:none}.adminEditorActions{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 92%, var(--bg));flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:12px 18px 16px;display:flex}.adminPrimary,.adminDanger{font-size:var(--fs-sm);letter-spacing:-.02em;border:1px solid #0000;border-radius:999px;padding:8px 16px;font-weight:700}.adminPrimary{background:var(--accent);border-color:var(--accent);color:#fff}.adminPrimary:disabled{opacity:.45;cursor:not-allowed}.adminDanger{color:#b42318;border-color:color-mix(in srgb, #b42318 35%, var(--border));background:0 0}:root[data-theme=dark] .adminDanger{color:#f97066}.adminMsg,.adminErr{font-size:var(--fs-sm);font-weight:600}.adminMsg{color:var(--accent)}.adminErr{color:#b42318}@keyframes adminBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes adminModalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.adminModalRoot,.adminEditor{animation:none}}@media (width<=639px){.toolbarInner .adminNewBtn{display:none}.adminEditor{--modal-max:100%;border-radius:20px 20px 16px 16px;align-self:end;max-height:calc(100dvh - 24px)}.adminModalRoot{padding-bottom:max(8px, env(safe-area-inset-bottom));place-items:end center}}
