@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap");@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faf8f4;--cream-2:#f5f0e8;--cream-3:#ede8df;--brown-dark:#2c2420;--brown-mid:#5c4e3e;--brown-light:#9c8e7e;--brown-xlight:#c8b89a;--accent-dingu:#7c5cbf;--accent-yenarity:#bf5c8e;--accent-github:#3a7abf;--white:#fff;--border:rgba(92,78,62,.15);--border-strong:rgba(92,78,62,.3)}body{font-family:Pretendard,sans-serif;background:var(--cream);color:var(--brown-dark);min-height:100vh}.main{max-width:1200px;margin:0 auto;padding:0 24px 60px}.header{position:-webkit-sticky;position:sticky;top:0;background:var(--cream);z-index:100;border-bottom:.5px solid var(--border);padding-top:24px}.header-inner{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.logo{display:flex;align-items:baseline;gap:1px}.logo-mark{font-family:"DM Serif Display",serif;font-style:italic;font-size:28px;color:var(--brown-dark);line-height:1}.logo-text{font-size:22px;font-weight:300;color:var(--brown-mid);letter-spacing:-.5px}.add-btn,.logo-text{font-family:Pretendard,sans-serif}.add-btn{font-size:13px;font-weight:500;padding:8px 18px;background:var(--brown-dark);color:var(--cream);border:none;border-radius:20px;cursor:pointer;transition:opacity .15s}.add-btn:hover{opacity:.8}.project-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.project-nav::-webkit-scrollbar{display:none}.project-tab{font-family:Pretendard,sans-serif;font-size:13px;font-weight:400;padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--brown-light);cursor:pointer;white-space:nowrap;transition:all .15s}.project-tab:hover{color:var(--brown-mid)}.project-tab.active{color:var(--brown-dark);font-weight:500;border-bottom-color:var(--brown-dark)}.toolbar{align-items:center;gap:12px;padding:16px 0 12px}.toolbar,.type-filters{display:flex;flex-wrap:wrap}.type-filters{gap:6px;flex:1 1}.type-btn{font-family:Pretendard,sans-serif;font-size:12px;padding:4px 12px;border-radius:20px;border:.5px solid var(--border-strong);background:transparent;color:var(--brown-mid);cursor:pointer;transition:all .12s}.type-btn:hover{background:var(--cream-2)}.type-btn.active{background:var(--brown-dark);color:var(--cream);border-color:var(--brown-dark)}.search-input{font-family:Pretendard,sans-serif;font-size:13px;padding:6px 14px;border:.5px solid var(--border-strong);border-radius:20px;background:var(--white);color:var(--brown-dark);width:180px;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--brown-mid)}.search-input::placeholder{color:var(--brown-xlight)}.stats-bar{display:flex;gap:8px;align-items:center;padding-bottom:12px;font-size:12px}.stat-item{color:var(--brown-mid)}.stat-item.muted{color:var(--brown-light)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px}.card{background:var(--white);border:.5px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-2px);border-color:var(--brown-xlight)}.card-thumb{position:relative;aspect-ratio:1;background:var(--cream-2);overflow:hidden}.card-img{width:100%;height:100%;object-fit:cover}.card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;opacity:.5}.card-status{position:absolute;top:8px;right:8px;font-size:10px;font-weight:500;padding:3px 8px;border-radius:10px}.card-body{padding:10px 12px 8px}.card-title{font-size:13px;font-weight:500;color:var(--brown-dark);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.meta-chip{font-size:10px;padding:2px 7px;border-radius:10px;background:var(--cream-2);color:var(--brown-mid)}.card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.tag{font-size:10px;padding:2px 6px;border-radius:10px;background:var(--cream-3)}.card-link,.tag{color:var(--brown-mid)}.card-link{font-size:11px;text-decoration:none;display:block;margin-bottom:4px}.card-link:hover{color:var(--brown-dark)}.card-prompt{font-size:11px;color:var(--brown-light);line-height:1.5;margin-top:4px;font-style:italic}.card-actions{display:flex;gap:6px;padding:8px 12px 10px;border-top:.5px solid var(--border)}.action-btn{font-family:Pretendard,sans-serif;font-size:11px;padding:4px 10px;border-radius:6px;border:.5px solid var(--border-strong);background:transparent;color:var(--brown-mid);cursor:pointer;transition:all .12s}.action-btn:hover{background:var(--cream-2)}.action-btn.danger{color:#b91c1c;border-color:#fca5a5}.action-btn.danger:hover{background:#fee2e2}.empty,.loading{text-align:center;padding:80px 0;color:var(--brown-light);font-size:14px}.add-btn-empty{margin-top:16px;font-family:Pretendard,sans-serif;font-size:13px;padding:8px 18px;background:var(--brown-dark);color:var(--cream);border:none;border-radius:20px;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:rgba(44,36,32,.4);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--white);border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h2{font-family:"DM Serif Display",serif;font-size:20px;font-weight:400;color:var(--brown-dark)}.modal-close{background:none;border:none;font-size:16px;color:var(--brown-light);cursor:pointer}.modal-form{padding:20px 24px 24px;gap:14px}.form-row,.modal-form{display:flex;flex-direction:column}.form-row{gap:5px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-row label{font-size:11px;font-weight:500;color:var(--brown-light);text-transform:uppercase;letter-spacing:.5px}.form-row input,.form-row select,.form-row textarea{font-family:Pretendard,sans-serif;font-size:13px;padding:8px 12px;border:.5px solid var(--border-strong);border-radius:8px;background:var(--cream);color:var(--brown-dark);outline:none;transition:border-color .15s;resize:vertical}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--brown-mid);background:var(--white)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn-cancel{padding:8px 18px;border:.5px solid var(--border-strong);border-radius:20px;background:transparent;color:var(--brown-mid)}.btn-cancel,.btn-save{font-family:Pretendard,sans-serif;font-size:13px;cursor:pointer}.btn-save{font-weight:500;padding:8px 20px;background:var(--brown-dark);color:var(--cream);border:none;border-radius:20px}.btn-save:hover{opacity:.85}.tag-filter-bar{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px}.tag-filter-btn{font-family:Pretendard,sans-serif;font-size:12px;padding:4px 10px;border-radius:20px;border:.5px solid var(--border-strong);background:transparent;color:var(--brown-mid);cursor:pointer;transition:all .12s}.tag-filter-btn:hover{background:var(--cream-2)}.tag-filter-btn.active{background:var(--brown-mid);color:var(--cream);border-color:var(--brown-mid)}.tag-clear-btn{font-family:Pretendard,sans-serif;font-size:12px;padding:4px 10px;border-radius:20px;border:.5px solid #fca5a5;background:#fee2e2;color:#b91c1c;cursor:pointer}.card-date{position:absolute;bottom:8px;left:8px;font-size:10px;padding:2px 7px;border-radius:10px;background:hsla(0,0%,100%,.85);color:var(--brown-mid)}.detail-modal{max-width:600px}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.detail-meta-top{display:flex;align-items:center;gap:8px}.detail-project{font-size:13px;color:var(--brown-mid);font-weight:500}.detail-img-wrap{width:100%;max-height:320px;overflow:hidden;background:var(--cream-2)}.detail-img{width:100%;height:100%;object-fit:cover}.detail-body{padding:16px 24px}.detail-title{font-family:"DM Serif Display",serif;font-size:22px;font-weight:400;color:var(--brown-dark);margin-bottom:12px}.detail-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.detail-section{margin-bottom:16px;padding-bottom:16px;border-bottom:.5px solid var(--border)}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-label{font-size:11px;font-weight:500;color:var(--brown-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-prompt{color:var(--brown-mid);font-style:italic;background:var(--cream-2);padding:10px 14px;border-radius:8px}.detail-notes,.detail-prompt{font-size:13px;line-height:1.7;white-space:pre-wrap}.detail-notes{color:var(--brown-dark)}.detail-url{font-size:12px;color:var(--brown-mid);word-break:break-all;text-decoration:none}.detail-url:hover{color:var(--brown-dark);text-decoration:underline}@media (max-width:768px){.type-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.type-filters::-webkit-scrollbar{display:none}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.toolbar{flex-direction:column;align-items:stretch;gap:8px}.search-input{width:100%}.tag-filter-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tag-filter-bar::-webkit-scrollbar{display:none}.main{padding:0 14px 60px}}.calendar-list{gap:24px}.calendar-day,.calendar-list{display:flex;flex-direction:column}.calendar-day{gap:8px}.calendar-date-header{font-size:13px;font-weight:500;color:var(--brown-mid);padding:6px 0;border-bottom:.5px solid var(--border);margin-bottom:4px}.calendar-item{background:var(--white);border:.5px solid var(--border);border-radius:var(--border-radius-lg);padding:12px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;transition:border-color .15s}.calendar-item:hover{border-color:var(--brown-xlight)}.calendar-item-left{display:flex;gap:12px;align-items:flex-start;flex:1 1}.calendar-emoji{font-size:20px;margin-top:2px}.calendar-item-info{flex:1 1}.calendar-item-title{font-size:14px;font-weight:500;color:var(--brown-dark);margin-bottom:3px}.calendar-item-meta{font-size:12px;color:var(--brown-light);margin-bottom:4px}.calendar-item-notes{font-size:12px;color:var(--brown-mid);line-height:1.5}.calendar-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.calendar-status{font-size:11px;font-weight:500;padding:3px 8px;border-radius:10px;white-space:nowrap}.calendar-actions{display:flex;gap:4px}.logo{text-decoration:none}.nav-special{color:var(--brown-mid)}.view-toggle{display:inline-flex;align-items:center;gap:3px;border:.5px solid var(--border-strong);border-radius:999px;padding:2px;background:var(--white)}.view-btn{border:none;background:transparent;color:var(--brown-mid);border-radius:999px;padding:5px 11px;font-size:12px;cursor:pointer}.view-btn.active{background:var(--brown-dark);color:var(--cream)}.grid.list-view{display:flex;flex-direction:column;gap:10px}.grid.list-view .card{display:grid;grid-template-columns:120px 1fr auto;align-items:stretch;min-height:120px}.grid.list-view .card-thumb{aspect-ratio:auto;height:100%;min-height:120px}.grid.list-view .card-body{padding:14px 16px}.grid.list-view .card-title{font-size:15px;white-space:normal;overflow:visible;text-overflow:clip}.grid.list-view .card-prompt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grid.list-view .card-actions{border-top:none;border-left:.5px solid var(--border);flex-direction:column;justify-content:center;padding:12px;min-width:92px}@media (max-width:768px){.view-toggle{width:100%;justify-content:center}.view-btn{flex:1 1}.grid.list-view .card{grid-template-columns:92px 1fr}.grid.list-view .card-actions{grid-column:1/-1;border-left:none;border-top:.5px solid var(--border);flex-direction:row;justify-content:flex-start}}