*{box-sizing:border-box;margin:0;padding:0}body{font-family:Apple SD Gothic Neo,Noto Sans KR,sans-serif;background:#fffaf6;color:#333}.app{max-width:900px;margin:0 auto;padding:0 1rem}.hero{padding:3rem 1rem 2rem;text-align:center}.hero-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.profile-img-wrap{width:200px;height:200px;border-radius:50%;overflow:hidden;border:4px solid #f9c74f;box-shadow:0 4px 20px #0000001a}.profile-img{width:100%;height:100%;object-fit:cover}.hello{font-size:1.1rem;color:#888;margin-bottom:.2rem}.name{font-size:3rem;font-weight:800;color:#f3722c;margin-bottom:.8rem}.profile-tags{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.tag{background:#fff0d6;color:#c05e00;padding:.3rem .8rem;border-radius:999px;font-size:.9rem;font-weight:600}.bio{color:#666;line-height:1.6;max-width:400px}.section-title{font-size:1.6rem;font-weight:800;text-align:center;margin-bottom:1.5rem;color:#333}.likes-section{padding:3rem 1rem}.likes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.likes-card{border-radius:16px;padding:1.5rem}.likes-card.love{background:#fff8e1;border:2px solid #f9c74f}.likes-card.hate{background:#f3f3f3;border:2px solid #ddd}.likes-card h3{font-size:1.1rem;margin-bottom:1rem;color:#333}.likes-card ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}.likes-card li{font-size:.95rem;line-height:1.5;color:#555}.likes-card small{color:#999;font-size:.8rem}.gallery-section{padding:3rem 1rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.gallery-item{aspect-ratio:1;overflow:hidden;border-radius:12px;cursor:pointer;transition:transform .2s}.gallery-item:hover{transform:scale(1.03)}.gallery-item img{width:100%;height:100%;object-fit:cover}.guestbook-section{padding:3rem 1rem}.guestbook-sub{text-align:center;color:#999;margin-bottom:1.5rem;font-size:.95rem}.gb-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;background:#fff;border:1px solid #eee;border-radius:16px;padding:1.2rem;box-shadow:0 2px 8px #0000000a}.gb-input,.gb-textarea{border:1px solid #e0e0e0;border-radius:10px;padding:.7rem .9rem;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s;resize:none}.gb-input:focus,.gb-textarea:focus{border-color:#f9c74f}.gb-submit{align-self:flex-end;background:#f3722c;color:#fff;border:none;border-radius:999px;padding:.5rem 1.2rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s}.gb-submit:hover{background:#d45e1a}.guestbook-list{display:flex;flex-direction:column;gap:.8rem}.guestbook-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:1rem 1.2rem;box-shadow:0 2px 8px #0000000a}.gb-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.gb-name{font-weight:700;font-size:.95rem;color:#f3722c}.gb-date{font-size:.8rem;color:#bbb}.gb-message{color:#555;font-size:.95rem;line-height:1.5}.footer{text-align:center;padding:2rem 1rem;color:#bbb;font-size:.9rem;border-top:1px solid #eee;margin-top:2rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px}.lb-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.2);border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px}.lb-prev{left:1rem}.lb-next{right:1rem}@media (max-width: 600px){.likes-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.name{font-size:2.2rem}}.auth-corner{position:fixed;top:1rem;right:1rem;z-index:200;display:flex;align-items:center;gap:.5rem}.auth-corner-name{font-size:.8rem;color:#888}.auth-corner-btn{background:none;border:1px solid #ddd;border-radius:20px;padding:.3rem .75rem;font-size:.8rem;color:#666;cursor:pointer;transition:all .2s}.auth-corner-btn:hover{border-color:#c8956c;color:#c8956c}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:300}.auth-wrap{padding:0}.auth-box{position:relative;background:#fff;border-radius:16px;padding:2rem;width:90%;max-width:380px;box-shadow:0 8px 32px #00000026}.auth-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1rem;color:#aaa;cursor:pointer}.auth-close:hover{color:#333}.auth-title{text-align:center;margin-bottom:1.5rem;color:#3d2b1f}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-message{margin-top:1rem;text-align:center;color:#c8956c;font-size:.9rem}.auth-switch{margin-top:1.25rem;text-align:center;font-size:.9rem;color:#888}.auth-switch button{background:none;border:none;color:#c8956c;cursor:pointer;text-decoration:underline}.guestbook-login-notice{text-align:center;color:#aaa;font-size:.9rem;margin-bottom:1.5rem}.guestbook-login-link{background:none;border:none;color:#c8956c;cursor:pointer;text-decoration:underline;font-size:.9rem}.auth-divider{text-align:center;margin:1rem 0 .75rem;position:relative;color:#ccc;font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#eee}.auth-divider:before{left:0}.auth-divider:after{right:0}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.9rem;color:#333;cursor:pointer;transition:background .2s}.google-btn:hover{background:#f5f5f5}.gb-status{text-align:center;color:#bbb;font-size:.9rem;padding:2rem 0}.gb-status-error{color:#e57373}.gb-actions{display:flex;gap:.5rem;margin-top:.6rem}.gb-action-btn{background:none;border:1px solid #ddd;border-radius:20px;padding:.2rem .6rem;font-size:.78rem;color:#aaa;cursor:pointer;transition:all .2s}.gb-action-btn:hover{border-color:#c8956c;color:#c8956c}.gb-action-delete:hover{border-color:#e57373;color:#e57373}.gb-edit-form{display:flex;flex-direction:column;gap:.5rem}.gb-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.gb-cancel{background:none;border:1px solid #ddd;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;color:#aaa;cursor:pointer}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fffaf6}
