.card{display:flex;flex-wrap:wrap;align-items:center;position:relative;background-color:#1e1e1e;border:1px solid #333;border-radius:12px;padding:20px;max-width:100%;box-sizing:border-box;overflow:hidden}.card *{min-width:0}.card{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.card:hover{background-color:#2a2a2a}.card.selected{border-color:#ff6aa0;box-shadow:0 0 0 2px rgba(255,106,160,.3)}.card-content{flex-grow:1}.restaurant-name{color:#fff;font-size:18px;font-weight:600;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-row{display:flex;gap:6px;align-items:center;font-size:14px;color:#888;margin-bottom:10px}.meta-category,.meta-sep{flex-shrink:0}.meta-location{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-text{width:100%;margin-top:15px;padding-top:15px;border-top:1px solid #333;color:#ccc;font-size:14px;line-height:1.6}.card-actions{margin-left:auto;align-items:center;flex-wrap:wrap}.btn-primary,.btn-secondary{border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap;transition:background-color .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#444;color:#ccc}.btn-secondary:hover{background-color:#555}.restaurant-header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.restaurant-name{font-size:20px;font-weight:700;color:#e0e0e0}.rating-stars{margin-left:8px;font-size:16px;vertical-align:middle}.half-star{display:inline-block;width:.5em;overflow:hidden;line-height:1}.rating-stars{color:#f0c419}.rating-score{margin-left:4px;color:#ccc;font-weight:600}.badge-pink{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#ff6aa5,#ff8bd1);color:#fff;font-weight:700;font-size:.8rem;box-shadow:0 6px 14px rgba(255,90,150,.25);margin-right:8px}.badge-pink img{width:20px;height:20px;border-radius:6px;display:block;object-fit:cover}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.tag-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;line-height:1;color:#e0e0e0;background:linear-gradient(145deg,#3a3a3a,#2a2a2a);border:1px solid hsla(0,0%,100%,.08);box-shadow:inset 0 1px 2px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);white-space:nowrap;cursor:default;transition:transform .15s ease,background .15s ease}.tag-pill:hover{transform:translateY(-1px);background:linear-gradient(145deg,#444,#2e2e2e)}.tag-emoji{font-size:15px;line-height:1}.tag-text{display:inline-block;max-width:18ch;overflow:hidden;text-overflow:ellipsis}@media (max-width:420px){.tag-text{max-width:14ch}}.addr-box{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#1f1f22;border:1px solid hsla(0,0%,100%,.06);margin-bottom:10px}.addr-label{color:#bdbdbd;font-size:12px}.addr-text{color:#e6e6e6;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addr-actions{display:flex;gap:6px}.btn-copy,.btn-map{padding:6px 10px;border-radius:10px;font-size:12px;line-height:1;border:1px solid #3a3a3a;background:#2b2b2b;color:#eaeaea;cursor:pointer}.btn-copy:hover,.btn-map:hover{background:#343434}.card-actions{margin-top:16px;display:flex;gap:8px}.btn-heart{margin-left:auto;background:none;border:none;cursor:pointer;font-size:20px;padding:2px 4px;transition:transform .15s ease;flex-shrink:0}.btn-heart:hover{transform:scale(1.2)}.btn-heart.active{animation:heart-pop .3s ease}@keyframes heart-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.category-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#c4b5fd;background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.25);margin-bottom:8px}.review-preview{color:#888;font-size:13px;line-height:1.5;margin-top:8px}.review-more{color:#a78bfa;font-size:13px;cursor:pointer;margin-left:6px;white-space:nowrap}.review-more:hover{color:#c4b5fd;text-decoration:underline}.btn-share{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid #3a3a3a;background:#2b2b2b;color:#ccc;cursor:pointer;transition:background .15s ease}.btn-share:hover{background:#3a3a3a;color:#fff}.btn-detail{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid rgba(139,92,246,.3);background:rgba(139,92,246,.1);color:#c4b5fd;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease}.btn-detail:hover{background:rgba(139,92,246,.2);border-color:rgba(139,92,246,.5);color:#e0d4ff}.memo-section{margin-top:10px;width:100%}.memo-display{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:8px;background:#1a1a1a;border:1px solid #2a2a2a;font-size:13px;color:#bbb;line-height:1.5}.memo-icon{flex-shrink:0;color:#888;margin-top:2px}.memo-text{flex:1 1;word-break:break-word}.memo-edit-btn{flex-shrink:0;background:none;border:none;color:#a78bfa;font-size:12px;cursor:pointer;padding:0}.memo-edit-btn:hover{text-decoration:underline}.memo-add-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px dashed #3a3a3a;border-radius:8px;padding:6px 10px;color:#777;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}.memo-add-btn:hover{color:#aaa;border-color:#555}.memo-editor{width:100%}.memo-input{width:100%;padding:8px 10px;border-radius:8px;background:#1a1a1a;border:1px solid #3a3a3a;color:#e0e0e0;font-size:13px;line-height:1.5;resize:vertical;font-family:inherit;box-sizing:border-box}.memo-input:focus{outline:none;border-color:#a78bfa}.memo-input::placeholder{color:#555}.memo-actions{display:flex;gap:6px;margin-top:6px}.memo-cancel-btn,.memo-delete-btn,.memo-save-btn{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:background .15s}.memo-save-btn{background:#a78bfa;color:#fff}.memo-save-btn:hover{background:#8b5cf6}.memo-delete-btn{background:#ef4444;color:#fff}.memo-delete-btn:hover{background:#dc2626}.memo-cancel-btn{background:#333;color:#aaa}.memo-cancel-btn:hover{background:#444}