:root{--paper:#f4f5f7;--card:#fff;--ink:#1a2540;--ink-soft:#5b6478;--line:#e2e5eb;--marker:#ffd337;--marker-soft:#fff3c2;--danger:#d64545;--radius:14px;--shadow:0 1px 2px #1a25400f, 0 6px 20px #1a25400f}*{box-sizing:border-box;margin:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,-apple-system,sans-serif;line-height:1.55}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input{font:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f4f5f7eb;position:sticky;top:0}.header-inner{align-items:center;gap:24px;max-width:1040px;margin:0 auto;padding:14px 20px;display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;font-size:19px;font-weight:800}.brand mark{background:linear-gradient(transparent 58%, var(--marker) 58%);padding:0 2px}.tabs{gap:4px;display:flex}.tab{color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:14.5px;font-weight:600;transition:background .15s,color .15s}.tab:hover{background:#eceef2}.tab.active{background:var(--ink);color:#fff}.header-right{align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.login-id{color:var(--ink-soft)}.login-id strong{color:var(--ink)}.btn-outline{border:1.5px solid var(--ink);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:700;transition:background .15s,color .15s}.btn-outline:hover{background:var(--ink);color:#fff}.container{max-width:1040px;margin:0 auto;padding:28px 20px 80px}.page-title{letter-spacing:-.02em;margin-bottom:4px;font-size:26px;font-weight:800}.page-sub{color:var(--ink-soft);margin-bottom:22px;font-size:14.5px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:600;transition:all .15s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1a254014,0 12px 28px #1a25401a}.card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.major-tag{color:var(--ink-soft);white-space:nowrap;background:#eef0f4;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.major-tag.mine{background:var(--marker-soft);color:#9a6b00;border:1px solid var(--marker);font-weight:800}.card-title{letter-spacing:-.01em;font-size:17px;font-weight:750;line-height:1.4}.card.liked .card-title{background:linear-gradient(transparent 55%, var(--marker) 55%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px;display:inline}.card-body{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:14px;display:-webkit-box;overflow:hidden}.like-btn{border:1.5px solid var(--line);color:var(--ink-soft);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex}.like-btn:hover{border-color:var(--ink);color:var(--ink)}.like-btn.on{background:var(--marker);border-color:var(--marker);color:var(--ink)}.empty{text-align:center;color:var(--ink-soft);padding:64px 20px;font-size:15px}.empty strong{color:var(--ink);margin-bottom:6px;font-size:17px;display:block}.error-banner{color:var(--danger);background:#fdecec;border:1px solid #f5c6c6;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.overlay{z-index:50;background:#1a254073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:18px;width:100%;max-width:380px;padding:28px;box-shadow:0 24px 60px #1a254040}.modal h2{letter-spacing:-.02em;margin-bottom:18px;font-size:21px;font-weight:800}.field{margin-bottom:14px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.field input{border:1.5px solid var(--line);border-radius:10px;width:100%;padding:11px 14px;font-size:15px;transition:border-color .15s}.field input:focus{border-color:var(--ink);outline:none}.modal-error{color:var(--danger);margin-bottom:12px;font-size:13.5px}.btn-primary{background:var(--ink);color:#fff;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:750;transition:opacity .15s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:default}.modal-switch{text-align:center;color:var(--ink-soft);margin-top:14px;font-size:13.5px}.modal-switch button{color:var(--ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
