:root{--color-bg:#141414;--color-surface:#1f1f1f;--color-border:#333;--color-text:#fff;--color-text-muted:#b3b3b3;--color-primary:#e50914;--color-primary-text:#fff;--color-positive-bg:#46c47429;--color-positive-text:#4ac47a;--color-neutral-bg:#2a2a2a;--color-neutral-text:#b3b3b3;--color-negative-bg:#e5091429;--color-negative-text:#ff6b6b;--radius-md:12px;--radius-lg:20px;--shadow-card:0 2px 4px #0006, 0 8px 20px #00000073}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:Noto Sans KR,Pretendard,Apple SD Gothic Neo,-apple-system,BlinkMacSystemFont,sans-serif}h1,h2{margin:0 0 .5rem}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:10;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.site-logo{color:var(--color-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:800;text-decoration:none}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .3rem;transition:border-color .2s;display:flex}.user-menu-trigger:hover{border-color:var(--color-primary)}.user-menu-trigger svg{border-radius:50%;display:block}.user-menu-nickname{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.85rem;font-weight:600;overflow:hidden}.user-menu-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-card);z-index:20;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-menu-link,.user-menu-logout{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.7rem 1rem;font-size:.85rem;text-decoration:none;transition:background .2s;display:block}.user-menu-link:hover,.user-menu-logout:hover{background:var(--color-neutral-bg)}.user-menu-link+.user-menu-link,.user-menu-logout{border-top:1px solid var(--color-border)}.nickname-edit-form{flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.nickname-edit-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.nickname-edit-error{color:var(--color-negative-text);margin:0;font-size:.78rem}.nickname-edit-actions{gap:.5rem;display:flex}.nickname-edit-save,.nickname-edit-cancel{border-radius:var(--radius-md);cursor:pointer;flex:1;padding:.4rem .6rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s}.nickname-edit-save{background:var(--color-primary);color:var(--color-primary-text);border:none}.nickname-edit-save:disabled{background:var(--color-neutral-bg);color:var(--color-text-muted);cursor:not-allowed}.nickname-edit-cancel{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.nickname-edit-cancel:hover{border-color:var(--color-text-muted)}.page{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 4rem}.back-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:.4rem 0;font-size:.95rem;transition:color .2s}.back-button:hover{color:var(--color-text)}.home-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 6rem);display:flex}.home-mascot{margin-bottom:.5rem}.home-page h1{font-size:2rem}.subtitle{color:var(--color-text-muted);margin:0 0 2.5rem}.situation-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.situation-button{border-radius:var(--radius-lg);border:1px solid var(--color-border);min-width:200px;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-card);background:linear-gradient(160deg,#2a2a2a 0%,#1a1a1a 100%);padding:2.5rem 3rem;font-size:1.3rem;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s}.situation-button:hover{border-color:var(--color-primary);color:var(--color-primary-text);background:linear-gradient(160deg,#e50914 0%,#8b060d 100%);transform:scale(1.06);box-shadow:0 10px 30px #e5091459}.message{color:var(--color-text-muted);padding:2rem 0}.message.error{color:var(--color-negative-text)}.loading-mascot{flex-direction:column;align-items:center;gap:.5rem;padding:3rem 0;display:flex}.loading-mascot svg{animation:1.4s ease-in-out infinite mascot-bounce}.loading-mascot .message{padding:0}@keyframes mascot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.content-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-card);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:block;overflow:hidden}.content-card:hover{border-color:var(--color-primary);z-index:1;position:relative;transform:scale(1.05);box-shadow:0 12px 32px #0009}.content-card-poster{aspect-ratio:2/3;background:var(--color-neutral-bg)}.content-card-poster img{object-fit:cover;width:100%;height:100%;display:block}.content-card-body{flex-direction:column;gap:.5rem;padding:.9rem 1rem 1.1rem;display:flex}.content-card-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.fit-score-badge{color:var(--color-primary);background:#3b5bfd1a;border-radius:999px;align-self:flex-start;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.tag-list{flex-wrap:wrap;gap:.4rem;display:flex}.tag{color:var(--color-text-muted);background:var(--color-neutral-bg);border-radius:999px;padding:.2rem .6rem;font-size:.78rem}.sentiment-badge{border-radius:999px;align-self:flex-start;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.sentiment-badge.sentiment-positive,.tag.sentiment-positive{background:var(--color-positive-bg);color:var(--color-positive-text)}.sentiment-badge.sentiment-neutral,.tag.sentiment-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.sentiment-badge.sentiment-negative,.tag.sentiment-negative{background:var(--color-negative-bg);color:var(--color-negative-text)}.detail-layout{gap:2rem;margin-top:1rem;display:flex}.detail-poster{aspect-ratio:2/3;border-radius:var(--radius-md);background:var(--color-neutral-bg);box-shadow:var(--shadow-card);flex:0 0 260px;overflow:hidden}.detail-poster img{object-fit:cover;width:100%;height:100%;display:block}.detail-body{flex:1;min-width:0}.detail-body h1{font-size:1.6rem}.star-rating{align-items:baseline;gap:.5rem;margin:.4rem 0 .85rem;display:flex}.star-rating-icons{color:#f5a623;letter-spacing:.1rem;font-size:1.25rem}.star-rating-value,.star-rating-empty{color:var(--color-text-muted);font-size:.85rem}.detail-body h2{margin-top:1.75rem;font-size:1.05rem}.fit-score-heading{align-items:center;gap:.4rem;display:flex}.info-tooltip-wrapper{outline:none;display:inline-flex;position:relative}.info-tooltip-icon{color:var(--color-text-muted);cursor:help;font-size:.85rem}.info-tooltip-bubble{width:max-content;max-width:220px;color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-card);opacity:0;visibility:hidden;z-index:5;pointer-events:none;background:#2a2a2a;border-radius:8px;padding:.55rem .75rem;font-size:.78rem;font-weight:400;line-height:1.5;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tooltip-wrapper:hover .info-tooltip-bubble,.info-tooltip-wrapper:focus .info-tooltip-bubble,.info-tooltip-wrapper:focus-within .info-tooltip-bubble{opacity:1;visibility:visible}.runtime{color:var(--color-text-muted);margin:.75rem 0 0}.overview{color:var(--color-text);margin-top:.75rem;line-height:1.6}.fit-score-list{flex-direction:column;gap:.6rem;display:flex}.fit-score-row{grid-template-columns:88px 1fr 36px;align-items:center;gap:.75rem;display:grid}.fit-score-name{color:var(--color-text-muted);font-size:.9rem}.fit-score-bar-track{background:var(--color-neutral-bg);border-radius:999px;height:8px;overflow:hidden}.fit-score-bar-fill{background:var(--color-primary);border-radius:999px;height:100%}.fit-score-value{text-align:right;font-size:.9rem;font-weight:600}.review-section{margin-top:3rem}.review-quote-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1rem;display:grid}.review-quote-card{background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin:0;padding:1.1rem 1.3rem}.review-quote-rating{color:#f5a623;letter-spacing:.08rem;border-bottom:1px solid var(--color-border);margin-bottom:.6rem;padding-bottom:.6rem;font-size:.85rem;display:block}.review-quote-text{color:var(--color-text);margin:0;font-size:.95rem;line-height:1.6}.review-more-button{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;margin:1.25rem auto 0;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:border-color .2s,color .2s;display:block}.review-more-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.empty-review-message{text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);margin:1rem 0 0;padding:2rem}.empty-reviews-mascot{text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0 0;padding:2.5rem 2rem;display:flex}.empty-reviews-mascot p{margin:0}.user-review-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:center;gap:2rem;margin-top:1rem;padding:1.25rem;display:flex}.user-review-mascot{flex-shrink:0}.user-review-form{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.star-picker{gap:.25rem;display:flex}.star-picker-star{color:#f5a623;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.6rem;line-height:1;transition:transform .2s}.star-picker-star:hover{transform:scale(1.15)}.user-review-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:.7rem .9rem;font-family:inherit;font-size:.92rem}.user-review-hint{color:var(--color-text-muted);margin:-.4rem 0 0;font-size:.8rem}.user-review-error{color:var(--color-negative-text);margin:0;font-size:.85rem}.user-review-submit{color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;align-self:flex-start;padding:.6rem 1.5rem;font-size:.92rem;font-weight:600;transition:background .2s,transform .2s}.user-review-submit:hover:not(:disabled){transform:scale(1.03)}.user-review-submit:disabled{background:var(--color-neutral-bg);color:var(--color-text-muted);cursor:not-allowed}.toast{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-card);z-index:50;background:#2a2a2a;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;animation:2.5s forwards toast-fade;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,8px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,8px)}}.not-found-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:calc(100vh - 6rem);display:flex}.not-found-message{color:var(--color-text);margin:0;font-size:1.3rem;font-weight:700}.not-found-home-button{color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;padding:.7rem 1.75rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s}.not-found-home-button:hover{transform:scale(1.05);box-shadow:0 10px 30px #e5091459}.user-review-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.user-review-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.5rem;padding:1.1rem 1.3rem;display:flex}.user-review-card-header{justify-content:space-between;align-items:center;display:flex}.user-review-identity{align-items:center;gap:.4rem;display:flex}.user-review-identity svg{border-radius:50%;flex-shrink:0;display:block}.user-review-nickname{font-size:.9rem;font-weight:600}.user-review-card-rating{color:#f5a623;letter-spacing:.08rem;font-size:.85rem}.user-review-text{color:var(--color-text);margin:0;font-size:.92rem;line-height:1.6}.user-review-date{color:var(--color-text-muted);font-size:.78rem}.my-review-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.my-review-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-card);gap:1rem;padding:1rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.my-review-card:hover{border-color:var(--color-primary);transform:scale(1.02);box-shadow:0 12px 32px #0009}.my-review-card-poster{aspect-ratio:2/3;background:var(--color-neutral-bg);border-radius:8px;flex:0 0 80px;overflow:hidden}.my-review-card-poster img{object-fit:cover;width:100%;height:100%;display:block}.my-review-card-body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.my-review-card-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.my-review-card-rating{color:#f5a623;letter-spacing:.08rem;font-size:.85rem}.my-review-card-text{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.my-review-card-date{color:var(--color-text-muted);font-size:.75rem}.auth-page{flex-direction:column;align-items:center;min-height:100vh;padding:2.5rem 1.5rem 4rem;display:flex}.auth-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-card);flex-direction:column;gap:.85rem;margin-top:2rem;padding:2rem;display:flex}.auth-form h1{text-align:center;margin-bottom:.5rem;font-size:1.3rem}.auth-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);padding:.7rem .9rem;font-family:inherit;font-size:.92rem}.auth-avatar-label{color:var(--color-text-muted);margin:.25rem 0 -.4rem;font-size:.85rem}.auth-submit{color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:.5rem;padding:.7rem 1rem;font-size:.95rem;font-weight:700;transition:background .2s,transform .2s}.auth-submit:hover:not(:disabled){transform:scale(1.02)}.auth-submit:disabled{background:var(--color-neutral-bg);color:var(--color-text-muted);cursor:not-allowed}.auth-switch-link{text-align:center;color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem}.auth-switch-link a{color:var(--color-primary);text-decoration:none}.auth-switch-link a:hover{text-decoration:underline}.avatar-picker{grid-template-columns:repeat(5,1fr);gap:.6rem;display:grid}.avatar-picker-item{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:border-color .2s,transform .2s;display:flex}.avatar-picker-item:hover{transform:scale(1.08)}.avatar-picker-item.selected{border-color:var(--color-primary)}.avatar-picker-item svg{display:block}.splash-screen{z-index:1000;position:fixed;inset:0;overflow:hidden}.splash-backdrop{background:var(--color-bg);justify-content:center;align-items:center;animation:50ms 2.95s forwards splash-backdrop-out;display:flex;position:absolute;inset:0}.splash-mascot-wrap svg{max-width:88vw;height:auto}.splash-flash{opacity:0;pointer-events:none;background:#fff;animation:.1s ease-out 2s forwards splash-flash;position:absolute;inset:0}.splash-mascot-wrap{opacity:0;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards splash-mascot-in,.3s 2.1s forwards splash-mascot-out;display:inline-flex;position:relative}.splash-mascot-wrap .mascot-remote{animation:1.4s ease-in-out .6s splash-remote-press}.splash-ripple{border:2px solid var(--color-primary);opacity:0;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.1s ease-out 2s forwards splash-ripple;position:absolute;top:72.9%;left:37.5%}.splash-logo{color:var(--color-primary);letter-spacing:-.02em;opacity:0;margin:0;font-size:5.5rem;font-weight:800;animation:50ms linear 2.1s forwards splash-logo-flash-on,.8s cubic-bezier(.4,0,.2,1) 2.1s forwards splash-logo-zoom,50ms 2.9s forwards splash-logo-out;position:absolute;top:50%;left:50%}@keyframes splash-mascot-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes splash-mascot-out{0%{opacity:1}to{opacity:0}}@keyframes splash-remote-press{0%{transform:translate(232px,323px)rotate(-8deg)}35%{transform:translate(235px,329px)rotate(-16deg)}60%{transform:translate(235px,329px)rotate(-16deg)}to{transform:translate(232px,323px)rotate(-8deg)}}@keyframes splash-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(9)}}@keyframes splash-flash{0%{opacity:0}50%{opacity:.6}to{opacity:0}}@keyframes splash-logo-flash-on{0%{opacity:0;text-shadow:none}to{opacity:1;text-shadow:0 0 4px #e50914e6,0 0 14px #e5091473}}@keyframes splash-logo-zoom{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(2.5)}}@keyframes splash-logo-out{0%{opacity:1}to{opacity:0}}@keyframes splash-backdrop-out{0%{opacity:1}to{opacity:0;visibility:hidden}}@media (width<=640px){.detail-layout{flex-direction:column}.detail-poster{flex-basis:auto;max-width:220px}.review-quote-grid{grid-template-columns:1fr}.user-review-panel{flex-direction:column}.auth-form{padding:1.5rem}}
