:root{--primary:#52525b;--primary-dark:#3f3f46;--primary-light:#e4e4e7;--primary-50:#52525b14;--accent:#f59e0b;--accent-light:#fef3c7;--dark:#18181b;--warm:#6b7280;--bg:#f7f7f8;--card:#fff;--text:#27272a;--text-secondary:#52525b;--subtext:#a1a1aa;--border:#e4e4e7;--border-light:#f1f1f3;--success:#16a34a;--success-light:#dcfce7;--danger:#dc2626;--danger-light:#fee2e2;--info:#2563eb;--info-light:#dbeafe;--score-high:#16a34a;--score-mid:#2563eb;--score-low:#f59e0b;--score-bad:#dc2626;--shadow-xs:0 1px 2px #0000000f;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 1px 3px #0000000a;--shadow-lg:0 8px 24px #0000001f, 0 2px 6px #0000000a;--shadow-xl:0 16px 48px #00000029, 0 4px 12px #0000000f;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--radius-round:50%;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.15s}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;line-height:1.6}a{color:inherit;cursor:pointer;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}::selection{background:var(--primary-light);color:var(--primary-dark)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s var(--ease)}.toast{background:var(--dark);color:#fff;border-radius:var(--radius-full);z-index:9999;opacity:0;transition:.3s var(--ease);pointer-events:none;box-shadow:var(--shadow-lg);padding:12px 24px;font-size:14px;font-weight:500;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.logo{align-items:center;gap:10px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary) 0%, #71717a 100%);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:flex}.logo-text{color:var(--dark);letter-spacing:-.5px;font-size:18px;font-weight:800}.logo-text span{color:var(--primary)}.logo-img{width:auto;height:40px;display:none}.header{background:var(--card);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:fixed;top:0;left:240px;right:0}.header-left{align-items:center;gap:16px;display:flex}.header-right{align-items:center;gap:8px;display:flex}.search-bar{background:var(--bg);border-radius:var(--radius-full);width:280px;transition:var(--duration) var(--ease);border:1.5px solid #0000;align-items:center;gap:8px;padding:6px 14px;display:flex}.search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50);background:#fff}.search-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-bar input::placeholder{color:var(--subtext)}.search-bar svg{width:16px;height:16px;color:var(--subtext);flex-shrink:0}.user-menu{position:relative}.user-avatar{border-radius:var(--radius-round);background:var(--primary-light);width:32px;height:32px;color:var(--primary);cursor:pointer;transition:var(--duration) var(--ease);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-avatar:hover{box-shadow:0 0 0 3px var(--primary-50)}.user-dropdown{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:200;border:1px solid var(--border-light);min-width:220px;display:none;position:absolute;top:40px;right:0;overflow:hidden}.user-dropdown.show{display:block}.user-dropdown-item{color:var(--text-secondary);transition:var(--duration) var(--ease);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.user-dropdown-item:hover{background:var(--bg);color:var(--text)}.user-dropdown-item svg{opacity:.6}.user-dropdown-header{border-bottom:1px solid var(--border-light);color:var(--dark);padding:14px 16px;font-size:14px;font-weight:700}.user-dropdown-header small{color:var(--subtext);margin-top:2px;font-size:12px;font-weight:400;display:block}.sidebar{background:var(--card);border-right:1px solid var(--border-light);z-index:101;width:240px;padding:0 0 16px;position:fixed;top:0;bottom:0;overflow-y:auto}.sidebar-brand{cursor:pointer;border-bottom:1px solid var(--border-light);margin-bottom:6px;padding:14px 16px 12px;display:block}.sidebar-brand img{width:100%;max-width:208px;height:auto;display:block}.sidebar-title{color:var(--subtext);text-transform:uppercase;letter-spacing:1px;padding:12px 16px 6px;font-size:11px;font-weight:600}.sidebar-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--duration) var(--ease);cursor:pointer;align-items:center;gap:8px;margin:1px 8px;padding:8px 16px;font-size:13px;display:flex}.sidebar-item:hover{background:var(--bg);color:var(--text)}.sidebar-item.active{background:var(--primary-50);color:var(--primary);font-weight:600}.sidebar-item .e{text-align:center;flex-shrink:0;width:20px;font-size:15px}.sidebar-divider{background:var(--border-light);height:1px;margin:8px 16px}.layout{min-height:calc(100vh - 56px);margin-top:56px;display:flex;overflow-x:hidden}.main{flex:1;min-width:0;max-width:860px;margin-left:240px;padding:20px}.hot-tag{background:var(--danger);color:#fff;border-radius:var(--radius-xs);margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.new-tag{background:var(--primary);color:#fff;border-radius:var(--radius-xs);margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.back-btn{color:var(--subtext);cursor:pointer;transition:var(--duration) var(--ease);align-items:center;gap:4px;margin-bottom:12px;font-size:13px;display:inline-flex}.back-btn:hover{color:var(--primary)}.empty-state{text-align:center;color:var(--subtext);padding:48px 20px}.empty-state p{font-size:14px}.btn{border-radius:var(--radius-md);transition:var(--duration) var(--ease);align-items:center;gap:5px;padding:7px 16px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--card);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg);border-color:#c4c7cc}.btn-small{border-radius:var(--radius-sm);padding:5px 10px;font-size:12px}.btn-text{color:var(--subtext);border-radius:var(--radius-sm);background:0 0;padding:4px 8px;font-size:12px}.btn-text:hover{background:var(--bg);color:var(--text-secondary)}.btn-danger{color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger-light)}.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:hover{background:#b91c1c}.btn-like{border-radius:var(--radius-full);background:var(--bg);color:var(--text-secondary);transition:var(--duration) var(--ease);border:1px solid #0000;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-like:hover{background:var(--primary-light);border-color:var(--primary-light)}.btn-like.active{background:var(--primary-50);color:var(--primary);border-color:var(--primary-light);font-weight:600}.btn-dislike{border-radius:var(--radius-full);background:var(--bg);color:var(--text-secondary);transition:var(--duration) var(--ease);border:1px solid #0000;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-dislike:hover{background:var(--info-light);border-color:var(--info-light)}.btn-dislike.active{background:var(--info-light);color:var(--info);border-color:var(--info-light);font-weight:600}.form-group{margin-bottom:14px}.form-group label{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:600;display:block}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;transition:var(--duration) var(--ease);background:var(--card);color:var(--text);outline:none;padding:10px 14px;font-size:14px}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.form-input::placeholder{color:#c4c7cc}.form-row{gap:8px;display:flex}.form-row .form-input{flex:1}.validation-list{margin:6px 0 0;font-size:12px;list-style:none}.validation-list li{transition:color var(--duration);align-items:center;gap:5px;padding:2px 0;display:flex}.validation-list li.pass{color:var(--success)}.validation-list li.fail{color:var(--danger)}.validation-list li .vicon{text-align:center;width:14px;font-weight:700}.email-check-msg{margin-top:4px;font-size:12px;font-weight:500}.email-check-msg.ok{color:var(--success)}.email-check-msg.err{color:var(--danger)}.modal-overlay{z-index:500;opacity:0;pointer-events:none;transition:opacity .2s var(--ease);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--card);border-radius:var(--radius-xl);width:420px;max-width:92vw;box-shadow:var(--shadow-xl);transition:transform .2s var(--ease);padding:28px;transform:translateY(12px)scale(.98)}.modal-overlay.show .modal{transform:translateY(0)scale(1)}.modal h3{color:var(--dark);margin-bottom:16px;font-size:17px;font-weight:700}.modal-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--subtext);cursor:pointer;transition:var(--duration) var(--ease);justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.report-reasons{list-style:none}.report-reasons li{border-radius:var(--radius-md);cursor:pointer;transition:var(--duration) var(--ease);align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13px;display:flex}.report-reasons li:hover{background:var(--bg)}.report-reasons li.selected{background:var(--primary-50);color:var(--primary);font-weight:600}.report-reasons li .radio{border:2px solid var(--border);border-radius:var(--radius-round);width:16px;height:16px;transition:var(--duration) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-reasons li.selected .radio{border-color:var(--primary)}.report-reasons li.selected .radio:after{content:"";background:var(--primary);border-radius:var(--radius-round);width:8px;height:8px}.type-badge{border-radius:var(--radius-full);letter-spacing:-.2px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.type-movie{color:#6d28d9;background:#ede9fe}.type-drama{color:#1d4ed8;background:#dbeafe}.type-variety{color:#b45309;background:#fef3c7}.type-webtoon{color:#15803d;background:#dcfce7}.type-webnovel{color:#b45309;background:#fef3c7}.score-badge{align-items:baseline;gap:1px;font-weight:800;line-height:1;display:inline-flex}.score-badge .num{font-size:20px}.score-badge .max{color:var(--subtext);font-size:12px;font-weight:600}.score-pill{border-radius:var(--radius-full);color:#fff;align-items:center;gap:4px;padding:3px 9px;font-size:13px;font-weight:800;display:inline-flex}.stars{gap:1px;display:inline-flex}.stars svg{width:14px;height:14px}.rating-input{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.rating-input button{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--text-secondary);transition:var(--duration) var(--ease);font-size:15px;font-weight:700}.rating-input button:hover{border-color:var(--primary);color:var(--primary)}.rating-input button.active{background:var(--primary);border-color:var(--primary);color:#fff}.rating-current{font-size:28px;font-weight:800}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{border-radius:var(--radius-full);background:var(--bg);color:var(--text-secondary);border:1.5px solid var(--border);cursor:pointer;transition:var(--duration) var(--ease);padding:4px 10px;font-size:12px;font-weight:600}.tag-chip:hover{border-color:var(--primary);color:var(--primary)}.tag-chip.active{background:var(--primary-50);color:var(--primary);border-color:var(--primary-light)}.tag-chip.readonly{cursor:default;background:var(--primary-50);color:var(--primary);border-color:var(--primary-light)}.auth-page{background:linear-gradient(135deg,#1a0a10 0%,#4c0519 45%,#1a1a1e 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:radial-gradient(circle at 20% 30%,#52525b33,#0000 50%),radial-gradient(circle at 80% 70%,#71717a1f,#0000 40%);position:absolute;inset:0}.auth-card{background:var(--card);border-radius:var(--radius-xl);width:420px;max-width:92vw;box-shadow:var(--shadow-xl);z-index:1;padding:40px 36px;position:relative}.auth-logo-area{text-align:center;margin-bottom:16px}.auth-logo-big{background:linear-gradient(135deg, var(--primary), #71717a);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:12px;font-size:30px;font-weight:800;display:inline-flex;box-shadow:0 8px 24px #3f3f464d}.auth-card .logo{justify-content:center;margin-bottom:6px}.auth-card .logo-text{font-size:22px}.auth-subtitle{text-align:center;color:var(--subtext);margin-bottom:20px;font-size:13px}.auth-btn{background:linear-gradient(135deg, var(--primary), #71717a);color:#fff;border-radius:var(--radius-md);width:100%;transition:var(--duration) var(--ease);border:none;margin-top:6px;padding:12px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #3f3f4640}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3f3f4659}.auth-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-switch{text-align:center;color:var(--subtext);margin-top:16px;font-size:13px}.auth-switch a{color:var(--primary);cursor:pointer;font-weight:600}.auth-switch a:hover{text-decoration:underline}.auth-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-md);margin-bottom:12px;padding:8px 12px;font-size:13px}.feed-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.feed-title{color:var(--dark);font-size:18px;font-weight:800}.feed-sort{background:var(--bg);border-radius:var(--radius-full);gap:2px;padding:2px;display:flex}.feed-sort button{border-radius:var(--radius-full);color:var(--subtext);transition:var(--duration) var(--ease);background:0 0;padding:5px 14px;font-size:12px;font-weight:600}.feed-sort button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-xs)}.section-head{justify-content:space-between;align-items:center;margin:20px 0 10px;display:flex}.section-head h3{color:var(--dark);align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex}.section-head a{color:var(--subtext);font-size:12px}.section-head a:hover{color:var(--primary)}.review-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);transition:var(--duration) var(--ease);cursor:pointer;margin-bottom:8px;padding:16px 20px}.review-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.review-card-top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.review-content-title{color:var(--subtext);font-size:12px;font-weight:600}.review-card-title{color:var(--dark);align-items:center;gap:6px;margin-bottom:4px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.review-card-body{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.review-card-footer{color:var(--subtext);align-items:center;gap:14px;font-size:12px;display:flex}.review-card-footer span{align-items:center;gap:3px;display:flex}.review-card-footer svg{width:14px;height:14px}.spoiler-tag{background:var(--dark);color:#fff;border-radius:var(--radius-xs);padding:1px 6px;font-size:10px;font-weight:700}.trending-section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-bottom:12px;padding:16px 20px}.trending-item{cursor:pointer;transition:var(--duration) var(--ease);align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.trending-item:hover{color:var(--primary)}.trending-rank{color:var(--primary);text-align:center;flex-shrink:0;width:18px;font-size:14px;font-weight:800}.trending-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.announcement-card{background:var(--accent-light);border-radius:var(--radius-lg);cursor:pointer;transition:var(--duration) var(--ease);border:1px solid #fcd34d;margin-bottom:8px;padding:12px 16px;font-size:14px}.announcement-card:hover{border-color:var(--accent)}.announcement-badge{background:var(--accent);color:#fff;border-radius:var(--radius-xs);margin-right:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.hot-rank-row{scroll-snap-type:x mandatory;gap:14px;padding:4px 2px 10px;display:flex;overflow-x:auto}.hot-rank-row::-webkit-scrollbar{height:6px}.hot-rank-card{cursor:pointer;scroll-snap-align:start;transition:var(--duration) var(--ease);flex:0 0 132px}.hot-rank-card:hover{transform:translateY(-3px)}.hot-rank-poster{padding-left:20px;position:relative}.hot-rank-num{z-index:2;color:var(--card);-webkit-text-stroke:3px var(--primary);text-shadow:0 3px 10px #00000059;font-size:58px;font-style:italic;font-weight:900;line-height:.8;position:absolute;bottom:6px;left:-4px}.hot-rank-card .c-title{color:var(--dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.hot-rank-card .c-meta{color:var(--subtext);margin-top:2px;font-size:11px}.board-list{background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.board-head,.board-row{grid-template-columns:1fr 90px 56px 56px 56px;align-items:center;gap:10px;padding:10px 16px;display:grid}.board-head{color:var(--subtext);background:var(--bg);border-bottom:1px solid var(--border-light);font-size:12px;font-weight:700}.board-head .bh-author,.board-head .bh-score,.board-head .bh-stat{text-align:center}.board-row{border-bottom:1px solid var(--border-light);cursor:pointer;transition:var(--duration) var(--ease)}.board-row:last-child{border-bottom:none}.board-row:hover{background:var(--bg)}.br-title{align-items:center;gap:8px;min-width:0;display:flex}.br-tag{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-xs);white-space:nowrap;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700}.br-subject{color:var(--dark);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.br-comment{color:var(--primary);flex-shrink:0;align-items:center;gap:2px;font-size:11px;font-weight:700;display:inline-flex}.br-comment svg{width:12px;height:12px}.br-author{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.br-score{justify-content:center;display:flex}.br-stat{color:var(--subtext);justify-content:center;align-items:center;gap:3px;font-size:12px;display:inline-flex}.br-stat svg{width:13px;height:13px}.br-time{display:none}@media (width<=720px){.board-head{display:none}.board-row{grid-template-columns:1fr auto;grid-template-areas:"title score""meta score";row-gap:4px;padding:12px 14px}.br-title{grid-area:title}.br-subject{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.br-score{grid-area:score;align-self:center}.br-author{text-align:left;grid-area:meta;justify-self:start}.br-time{color:var(--subtext);grid-area:meta;justify-self:end;font-size:12px;display:inline}.board-row .br-stat{display:none}}.feed-summary{color:var(--subtext);flex-wrap:wrap;align-items:center;gap:14px;margin:2px 0 14px;font-size:13px;display:flex}.feed-summary b{color:var(--text);font-size:15px}.feed-quicklinks{gap:8px;margin-left:auto;display:flex}.feed-groupmode{border:1px solid var(--border);border-radius:var(--radius-full);gap:0;margin-bottom:12px;display:inline-flex;overflow:hidden}.feed-groupmode button{cursor:pointer;background:var(--card);color:var(--subtext);transition:var(--duration) var(--ease);border:none;padding:6px 14px;font-size:13px;font-weight:700}.feed-groupmode button+button{border-left:1px solid var(--border)}.feed-groupmode button:hover{color:var(--primary)}.feed-groupmode button.active{background:var(--primary);color:#fff}.feed-typefilter{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.feed-typefilter button{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card);color:var(--subtext);cursor:pointer;transition:var(--duration) var(--ease);padding:6px 12px;font-size:13px;font-weight:600}.feed-typefilter button:hover{border-color:var(--primary);color:var(--primary)}.feed-typefilter button.active{background:var(--primary);border-color:var(--primary);color:#fff}.feed-years{flex-direction:column;gap:22px;display:flex}.feed-year-group{flex-direction:column;gap:12px;display:flex}.feed-year-head{border-bottom:1px solid var(--border-light);align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.feed-year-label{color:var(--dark);font-size:16px;font-weight:800}.feed-year-count{color:var(--primary);font-size:13px;font-weight:600}.feed-year-sub{color:var(--subtext);font-size:12px}.watched-year-tag{border-radius:var(--radius-full);cursor:pointer;border:1px solid var(--border);background:var(--bg-soft,var(--card));color:var(--subtext);transition:var(--duration) var(--ease);align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:700}.watched-year-tag:hover{border-color:var(--primary);color:var(--primary)}.watched-card{position:relative}.watched-card .watched-remove{z-index:2;border-radius:var(--radius-full);color:#fff;cursor:pointer;background:#0009;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:none;position:absolute;top:6px;left:6px}.watched-card:hover .watched-remove{display:flex}.watched-card .watched-remove:hover{background:#dc2626}.watched-card .watched-editable{z-index:2;border-radius:var(--radius-full);text-align:center;pointer-events:none;background:#0000008c;width:24px;height:24px;font-size:12px;line-height:24px;display:none;position:absolute;top:6px;right:6px}.watched-card:hover .watched-editable{display:block}.poster{position:relative}.verified-badge{z-index:2;border-radius:var(--radius-full);background:var(--primary);color:#fff;padding:2px 7px;font-size:10px;font-weight:800;position:absolute;top:6px;left:6px;box-shadow:0 1px 4px #00000040}.admin-verified-tag{border-radius:var(--radius-full);border:1px solid;margin-left:6px;padding:0 7px;font-size:11px;font-weight:700}.admin-verified-tag.ok{color:var(--primary);border-color:var(--primary)}.admin-verified-tag.no{color:var(--danger);border-color:var(--danger)}.dup-warn{border-radius:var(--radius);color:var(--danger);border:1px solid var(--danger);margin:-4px 0 12px;padding:8px 10px;font-size:12px;line-height:1.5}.watched-year-field{align-items:center;gap:8px;margin-bottom:10px;display:flex}.watched-year-field>span{color:var(--text);white-space:nowrap;font-size:13px;font-weight:700}.watched-year-field select{flex:1}.manual-suggest{border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-soft,var(--card));padding:8px 10px}.manual-suggest-head{color:var(--primary);margin-bottom:6px;font-size:12px;font-weight:700}.manual-suggest-or{color:var(--subtext);text-align:center;margin-top:6px;font-size:11px}.tmdb-results{flex-direction:column;gap:8px;max-height:46vh;margin-top:12px;display:flex;overflow-y:auto}.tmdb-result{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:8px;display:flex}.tmdb-result:hover{background:var(--bg);border-color:var(--border)}.tmdb-result img,.tmdb-result .noimg{border-radius:var(--radius-sm);object-fit:cover;color:#fff;background:linear-gradient(135deg,#3f3f46,#18181b);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:68px;font-size:10px;display:flex}.tmdb-result .t{color:var(--text);font-size:14px;font-weight:600}.tmdb-result .m{color:var(--subtext);margin-top:2px;font-size:12px}.poster-uploader{border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--bg);cursor:text;outline:none;justify-content:center;align-items:center;min-height:96px;padding:10px;display:flex;position:relative}.poster-uploader:focus,.poster-uploader:focus-within{border-color:var(--primary);background:#fff}.poster-uploader-empty{color:var(--subtext);text-align:center;font-size:13px;line-height:1.5}.poster-uploader-preview{border-radius:var(--radius-sm);object-fit:contain;max-width:100%;max-height:180px}.poster-uploader-badge{color:#fff;border-radius:var(--radius-md);background:#00000073;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.cat-chips{flex-wrap:wrap;gap:8px;margin:4px 0 8px;display:flex}.cat-chips button{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600}.cat-chips button:hover{border-color:var(--primary);color:var(--primary)}.content-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;display:grid}.content-card{cursor:pointer;transition:var(--duration) var(--ease)}.content-card:hover{transform:translateY(-3px)}.poster{aspect-ratio:2/3;border-radius:var(--radius-md);object-fit:cover;color:#fff;width:100%;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#3f3f46,#18181b);align-items:flex-end;display:flex;position:relative;overflow:hidden}.poster-fallback{text-shadow:0 1px 4px #00000080;padding:12px;font-size:14px;font-weight:700;line-height:1.3}.poster .score-corner{border-radius:var(--radius-full);color:#fff;box-shadow:var(--shadow-sm);padding:2px 7px;font-size:12px;font-weight:800;position:absolute;top:6px;right:6px}.content-card .c-title{color:var(--dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.content-card .c-meta{color:var(--subtext);margin-top:2px;font-size:11px}.filter-bar{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.filter-btn{border-radius:var(--radius-full);background:var(--card);color:var(--text-secondary);border:1.5px solid var(--border);transition:var(--duration) var(--ease);padding:6px 14px;font-size:12px;font-weight:600}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.content-hero{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);gap:20px;padding:24px;display:flex}.content-hero .poster{flex-shrink:0;width:160px}.content-hero-info{flex:1;min-width:0}.content-hero-info h1{color:var(--dark);margin:6px 0;font-size:22px;font-weight:800;line-height:1.3}.content-hero-meta{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.content-hero-meta b{color:var(--text-secondary);font-weight:600}.content-genres{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.genre-tag{border-radius:var(--radius-full);background:var(--bg);color:var(--text-secondary);border:1px solid var(--border-light);padding:2px 9px;font-size:11px}.content-synopsis{color:var(--text-secondary);white-space:pre-wrap;margin-top:8px;font-size:13px;line-height:1.6}.score-box{text-align:center;padding:10px 0}.score-box .big{font-size:40px;font-weight:800;line-height:1}.score-box .cnt{color:var(--subtext);margin-top:4px;font-size:12px}.rating-dist{margin:14px 0}.dist-row{align-items:center;gap:8px;margin-bottom:3px;font-size:11px;display:flex}.dist-row .lbl{text-align:right;width:30px;color:var(--subtext)}.dist-bar-bg{background:var(--border-light);border-radius:4px;flex:1;height:7px;overflow:hidden}.dist-bar{background:var(--primary);border-radius:4px;height:100%;transition:width .3s}.dist-row .val{width:28px;color:var(--subtext)}.review-detail{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);padding:28px}.review-detail-title{color:var(--dark);margin:10px 0;font-size:21px;font-weight:800;line-height:1.4}.review-detail-meta{color:var(--subtext);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.review-detail-meta .author{color:var(--text-secondary);font-weight:600}.review-detail-body{color:var(--text);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);white-space:pre-wrap;margin:14px 0;padding:20px 0;font-size:15px;line-height:1.85}.review-detail-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;padding:8px 0;display:flex}.review-owner-actions{gap:4px;margin-left:auto;display:flex}.spoiler-cover{background:var(--dark);color:#fff;border-radius:var(--radius-md);text-align:center;cursor:pointer;margin:14px 0;padding:40px 20px;font-size:14px;font-weight:600}.spoiler-cover small{opacity:.7;margin-top:6px;font-size:12px;font-weight:400;display:block}.content-ref-card{background:var(--bg);border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-light);transition:var(--duration) var(--ease);align-items:center;gap:12px;margin-bottom:4px;padding:12px;display:flex}.content-ref-card:hover{border-color:var(--primary-light)}.content-ref-card .poster{aspect-ratio:2/3;border-radius:var(--radius-sm);width:46px}.content-ref-card .info{flex:1;min-width:0}.comments-section{margin-top:20px}.comments-title{align-items:center;gap:5px;margin-bottom:14px;font-size:15px;font-weight:700;display:flex}.comments-title span{color:var(--primary)}.comment-input-area{align-items:flex-end;gap:8px;margin-bottom:20px;display:flex}.comment-input-area textarea{border:1.5px solid var(--border);border-radius:var(--radius-md);resize:none;height:44px;transition:var(--duration) var(--ease);background:var(--card);color:var(--text);outline:none;flex:1;padding:10px 14px;font-size:13px}.comment-input-area textarea:focus{border-color:var(--primary);height:72px;box-shadow:0 0 0 3px var(--primary-50)}.comment-item{border-bottom:1px solid var(--border-light);padding:12px 0}.comment-item:last-child{border-bottom:none}.comment-item.reply{border-left:2px solid var(--border-light);margin-left:32px;padding-left:12px}.comment-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.comment-author{color:var(--text);font-size:13px;font-weight:600}.comment-author.is-op{color:var(--primary)}.comment-time{color:var(--subtext);font-size:11px}.comment-body{color:var(--text);margin-bottom:6px;font-size:14px;line-height:1.55}.comment-actions{align-items:center;gap:2px;display:flex}.reply-input-area{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.reply-input-area textarea{border:1.5px solid var(--border);border-radius:var(--radius-md);resize:none;background:var(--card);outline:none;flex:1;height:38px;padding:8px 12px;font-size:13px}.reply-input-area textarea:focus{border-color:var(--primary)}.write-page{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);padding:28px}.write-page h2{color:var(--dark);margin-bottom:20px;font-size:18px;font-weight:800}.write-page .form-group{margin-bottom:16px}.write-page select{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:100%;color:var(--text);outline:none;padding:10px 12px;font-size:14px}.write-page input[type=text]{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:100%;color:var(--text);outline:none;padding:10px 14px;font-size:15px}.write-page input:focus,.write-page select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.write-page textarea{border:1.5px solid var(--border);border-radius:var(--radius-md);resize:vertical;background:var(--card);width:100%;min-height:240px;color:var(--text);outline:none;padding:14px;font-size:14px;line-height:1.7}.write-page textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.write-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.checkbox-label{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.checkbox-label input{width:16px;height:16px;accent-color:var(--primary)}.settings-section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-bottom:12px;padding:20px}.settings-section h3{color:var(--dark);border-bottom:1px solid var(--border-light);margin-bottom:14px;padding-bottom:10px;font-size:15px;font-weight:700}.settings-row{align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.settings-row label{color:var(--text-secondary);min-width:70px;font-weight:600}.settings-row .val{color:var(--text)}.settings-section .form-group{margin-bottom:10px}.settings-section .form-input{padding:8px 12px;font-size:13px}.settings-section .btn{font-size:12px}.danger-zone{background:#fffbfb;border-color:#fecaca}.danger-zone h3{color:var(--danger);border-bottom-color:#fecaca}.notif-menu{position:relative}.notif-btn{border-radius:var(--radius-round);width:32px;height:32px;color:var(--subtext);transition:var(--duration) var(--ease);justify-content:center;align-items:center;display:flex;position:relative}.notif-btn:hover{background:var(--bg);color:var(--text)}.notif-badge{background:var(--danger);color:#fff;border-radius:var(--radius-full);border:2px solid var(--card);justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:1px;right:1px}.notif-panel{background:var(--card);border-radius:var(--radius-lg);width:340px;max-height:400px;box-shadow:var(--shadow-xl);z-index:200;border:1px solid var(--border-light);position:absolute;top:40px;right:-8px;overflow-y:auto}.notif-header{border-bottom:1px solid var(--border-light);color:var(--dark);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.notif-item{cursor:pointer;border-bottom:1px solid var(--border-light);transition:var(--duration) var(--ease);padding:10px 16px}.notif-item:hover{background:var(--bg)}.notif-item.unread{background:var(--primary-50)}.notif-msg{color:var(--text);font-size:13px;line-height:1.4}.notif-time{color:var(--subtext);margin-top:3px;font-size:11px}.admin-tabs{background:var(--bg);border-radius:var(--radius-full);gap:0;margin-bottom:16px;padding:3px;display:flex}.admin-tab{color:var(--subtext);border-radius:var(--radius-full);text-align:center;transition:var(--duration) var(--ease);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 16px;font-size:13px;font-weight:600}.admin-tab.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-xs)}.admin-tab:hover{color:var(--text)}.admin-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);transition:var(--duration) var(--ease);align-items:flex-start;gap:12px;margin-bottom:8px;padding:14px 16px;display:flex}.admin-card:hover{border-color:var(--border)}.admin-card-body{flex:1;min-width:0}.admin-card-body .label{color:var(--subtext);margin-bottom:2px;font-size:12px}.admin-card-body .value{color:var(--text);font-size:13px;font-weight:500}.admin-card-actions{flex-shrink:0;gap:4px;display:flex}.admin-stat{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.admin-stat-item{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border-light);text-align:center;flex:1;min-width:100px;padding:14px 16px}.admin-stat-num{color:var(--primary);font-size:24px;font-weight:800}.admin-stat-label{color:var(--subtext);margin-top:2px;font-size:11px}.mobile-nav{display:none}@media (width<=768px){.sidebar{display:none}.main{width:100%;max-width:100%;margin-left:0;padding:12px;overflow-x:hidden}.layout{min-height:calc(100vh - 52px);margin-top:52px;padding-bottom:56px}.header{height:52px;padding:0 12px;left:0}.search-bar{flex-shrink:1;width:auto;min-width:80px;max-width:calc(100vw - 200px)}.logo-text{display:none}.logo-img{width:auto;height:40px;display:block}.mobile-nav{background:var(--card);border-top:1px solid var(--border-light);z-index:100;justify-content:space-around;align-items:center;height:52px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--subtext);cursor:pointer;transition:var(--duration) var(--ease);flex-direction:column;align-items:center;gap:1px;padding:4px 8px;font-size:10px;display:flex}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item svg{width:20px;height:20px}.auth-card{padding:28px 20px}.feed-header{flex-wrap:wrap;gap:8px}.review-card{padding:14px 16px}.review-detail{padding:20px 16px}.review-detail-title{font-size:18px}.review-detail-actions{flex-wrap:wrap;gap:4px}.review-owner-actions{justify-content:flex-end;width:100%;margin-top:4px;margin-left:0}.comment-item.reply{margin-left:20px;padding-left:10px}.comment-input-area{flex-direction:column}.comment-input-area textarea{width:100%}.reply-input-area{flex-direction:column}.reply-input-area textarea{width:100%}.write-page{padding:20px 16px}.form-row{flex-wrap:wrap}.settings-row{flex-wrap:wrap;gap:4px}.modal{width:95vw;padding:24px 20px}.admin-card{flex-direction:column}.admin-card-actions{align-self:flex-end}.admin-stat-item{min-width:70px;padding:10px}.admin-stat-num{font-size:20px}.notif-panel{width:calc(100vw - 24px);right:-60px}.content-hero{flex-direction:column}.content-hero .poster{width:120px}.content-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.hot-rank-card{flex:0 0 108px}.hot-rank-num{-webkit-text-stroke:2.5px var(--primary);font-size:46px}}@media (width<=380px){.search-bar{max-width:calc(100vw - 160px);padding:5px 10px}.review-card{padding:12px 14px}.content-grid{grid-template-columns:repeat(3,1fr)}}.cal-wrap{animation:fadeIn .25s var(--ease)}.cal-hero{margin-bottom:16px}.cal-hero h1{letter-spacing:-.02em;color:var(--text);margin:0 0 4px;font-size:22px;font-weight:800}.cal-hero p{color:var(--subtext);margin:0;font-size:13px}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-monthnav{align-items:center;gap:6px;display:flex}.cal-monthnav .m-label{color:var(--text);text-align:center;min-width:128px;font-size:17px;font-weight:700}.cal-navbtn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);justify-content:center;align-items:center;font-size:16px;display:flex}.cal-navbtn:hover{background:var(--primary-50);border-color:var(--primary-light)}.cal-today-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);height:32px;color:var(--text-secondary);cursor:pointer;padding:0 12px;font-size:13px;font-weight:600}.cal-today-btn:hover{background:var(--primary-50)}.cal-filters{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.cal-subfilters{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.cal-subfilters .cal-filters{margin-left:0}.cal-ott-filters{flex:1}.cal-chip.sm{height:26px;padding:0 10px;font-size:12px}.cal-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card);height:30px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);padding:0 12px;font-size:12.5px;font-weight:600}.cal-chip:hover{border-color:var(--primary-light)}.cal-chip.active{background:var(--dark);color:#fff;border-color:var(--dark)}.cal-grid{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.cal-weekdays{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays div{text-align:center;color:var(--subtext);background:var(--bg);padding:10px 0;font-size:12px;font-weight:700}.cal-weekdays div.sun{color:var(--danger)}.cal-weekdays div.sat{color:var(--info)}.cal-week{grid-template-columns:repeat(7,1fr);display:grid}.cal-week:not(:last-child){border-bottom:1px solid var(--border-light)}.cal-cell{border-right:1px solid var(--border-light);flex-direction:column;gap:4px;height:132px;padding:6px;display:flex;position:relative;overflow:hidden}.cal-cell:nth-child(7n){border-right:none}.cal-cell.empty{background:var(--bg)}.cal-cell.has-items{cursor:pointer;transition:background var(--duration) var(--ease)}.cal-cell.has-items:hover{background:var(--primary-50)}.cal-daynum{color:var(--text-secondary);padding:2px;font-size:12px;font-weight:600}.cal-cell.sun .cal-daynum{color:var(--danger)}.cal-cell.sat .cal-daynum{color:var(--info)}.cal-cell.today .cal-daynum{background:var(--dark);color:#fff;border-radius:var(--radius-round);justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:flex}.cal-item{border-radius:var(--radius-sm);cursor:pointer;border-left:3px solid var(--c,var(--primary));background:var(--bg);color:var(--text);transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);flex-shrink:0;align-items:center;gap:5px;padding:4px 6px;font-size:11.5px;line-height:1.25;display:flex;overflow:hidden}.cal-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.cal-item .emoji{flex-shrink:0;font-size:12px}.cal-item .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.cal-more{color:var(--subtext);cursor:pointer;padding:2px 6px;font-size:11px;font-weight:600}.cal-more:hover{color:var(--text-secondary)}.ott-logos{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.ott-logo{object-fit:cover;background:var(--card);border-radius:4px;flex-shrink:0}.ott-logo-text{background:var(--dark);color:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.ott-more{color:var(--subtext);font-size:10.5px;font-weight:700}.cal-item .ott-logo{border-radius:3px}.type-movie{--c:#ef4444}.type-drama{--c:#6366f1}.type-variety{--c:#f59e0b}.type-webtoon{--c:#10b981}.type-webnovel{--c:#f59e0b}.cal-empty{text-align:center;color:var(--subtext);padding:60px 20px;font-size:14px}.cal-modal-back{z-index:1000;animation:fadeIn .15s var(--ease);background:#18181b8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cal-modal{background:var(--card);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:88vh;box-shadow:var(--shadow-xl);animation:popIn .18s var(--ease);overflow-y:auto}.cal-modal-top{gap:16px;padding:20px;display:flex}.cal-modal .poster{border-radius:var(--radius-md);flex-shrink:0;width:96px;height:138px}.cal-modal-info{flex:1;min-width:0}.cal-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.cal-badge{border-radius:var(--radius-full);padding:3px 8px;font-size:11px;font-weight:700}.cal-badge.dday{background:var(--dark);color:#fff}.cal-badge.type{background:var(--primary-50);color:var(--text-secondary)}.cal-badge.plat{background:var(--accent-light);color:#92400e}.cal-badge.ott-release{color:#fff;background:#1d1d28}.cal-badge.upcoming{background:var(--success,#10b981);color:#fff}.cal-modal-info h2{color:var(--text);letter-spacing:-.01em;margin:0 0 6px;font-size:18px;font-weight:800}.cal-modal-ott{margin:2px 0 8px}.cal-modal-date{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.cal-modal-date .cal-src{color:var(--subtext);font-weight:500}.cal-modal-pattern{color:var(--primary);margin:-4px 0 8px;font-size:13px;font-weight:600}.cal-modal-just{color:var(--subtext);margin:0;padding:0 20px 16px;font-size:11px}.cal-attribution{color:var(--subtext);text-align:center;margin-top:16px;font-size:11px;line-height:1.7}.cal-attribution a{color:var(--text-secondary);text-decoration:underline}.cal-modal-syn{color:var(--text-secondary);font-size:13px;line-height:1.6}.cal-detail{padding:4px 20px}.cal-detail-grid{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);grid-template-columns:max-content 1fr;gap:7px 14px;margin:0 0 12px;padding:12px 0;display:grid}.cal-detail-grid dt{color:var(--subtext);white-space:nowrap;font-size:12.5px;font-weight:700}.cal-detail-grid dd{color:var(--text);margin:0;font-size:13px;line-height:1.5}.cal-detail-sub{color:var(--subtext);font-size:11.5px;font-weight:500}.cal-detail-networks{flex-wrap:wrap;gap:6px 12px;display:flex}.cal-net{align-items:center;gap:5px;font-weight:600;display:inline-flex}.cal-net img{object-fit:cover;background:var(--card);border-radius:4px;width:18px;height:18px}.cal-cast{margin-bottom:12px}.cal-cast-label{color:var(--subtext);margin-bottom:8px;font-size:12.5px;font-weight:700}.cal-cast-list{scrollbar-width:thin;gap:12px;padding-bottom:6px;display:flex;overflow-x:auto}.cal-cast-item{text-align:center;flex-shrink:0;width:62px}.cal-cast-photo{border-radius:var(--radius-round);background:var(--bg);border:1px solid var(--border-light);justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 5px;display:flex;overflow:hidden}.cal-cast-photo img{object-fit:cover;width:100%;height:100%}.cal-cast-photo span{color:var(--subtext);font-size:22px;font-weight:800}.cal-cast-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;line-height:1.25;overflow:hidden}.cal-cast-role{color:var(--subtext);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10.5px;line-height:1.25;overflow:hidden}.cal-modal-actions{gap:8px;padding:0 20px 20px;display:flex}.cal-act{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background:var(--card);height:44px;color:var(--text);transition:all var(--duration) var(--ease);flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.cal-act:hover{background:var(--primary-50)}.cal-act.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.cal-act.primary:hover{background:var(--primary-dark)}.cal-act.on{background:var(--accent);border-color:var(--accent);color:#fff}.cal-admin-edit{border:1px dashed var(--border);border-radius:var(--radius-md);width:calc(100% - 40px);color:var(--subtext);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;margin:-8px 20px 12px;padding:8px 12px;font-size:13px;font-weight:600;display:block}.cal-admin-edit:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}.cal-modal-close{color:var(--subtext);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:14px;right:16px}.cal-daylist{background:var(--card);border-radius:var(--radius-xl);width:100%;max-width:420px;max-height:78vh;box-shadow:var(--shadow-xl);animation:popIn .18s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.cal-daylist-title{color:var(--text);letter-spacing:-.01em;border-bottom:1px solid var(--border-light);align-items:baseline;gap:8px;margin:0;padding:18px 44px 14px 20px;font-size:16px;font-weight:800;display:flex}.cal-daylist-count{color:var(--subtext);font-size:12.5px;font-weight:600}.cal-daylist-items{flex-direction:column;gap:4px;padding:8px;display:flex;overflow-y:auto}.cal-daylist-item{text-align:left;border:none;border-left:3px solid var(--c,var(--primary));border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);cursor:pointer;transition:background var(--duration) var(--ease);align-items:center;gap:8px;padding:9px 10px;font-size:13.5px;display:flex}.cal-daylist-item:hover{background:var(--primary-50)}.cal-daylist-item .emoji{flex-shrink:0;font-size:15px}.cal-daylist-t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.cal-daylist-type{color:var(--subtext);background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius-full);flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700}@keyframes popIn{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}@media (width<=720px){.cal-cell{height:104px;padding:4px}.cal-item .t{display:none}.cal-item{justify-content:center;padding:3px 4px}.cal-filters{width:100%;margin-left:0}}.disc-wrap{animation:fadeIn .2s var(--ease)}.disc-composer{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:16px;padding:12px}.disc-input{resize:vertical;width:100%;color:var(--text);background:0 0;border:none;outline:none;min-height:62px;font-family:inherit;font-size:14px;line-height:1.6}.disc-input::placeholder{color:var(--subtext)}.disc-composer-foot{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;display:flex}.disc-count{color:var(--subtext);font-size:12px}.disc-guest-row{gap:8px;margin-bottom:8px;display:flex}.disc-guest-input{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;height:34px;color:var(--text);background:var(--bg);outline:none;flex:1;padding:0 10px;font-size:13px}.disc-guest-input:focus{border-color:var(--primary-light);background:var(--card)}.disc-guest-badge{color:var(--text-secondary);background:var(--border-light);border-radius:var(--radius-full);padding:1px 6px;font-size:10px;font-weight:700}.disc-tag{cursor:pointer;border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.disc-tag-title{color:var(--text);font-size:13.5px;font-weight:700}.disc-tag-more{color:var(--primary);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:600}.disc-tag:hover .disc-tag-title{color:var(--primary)}.disc-list{flex-direction:column;gap:10px;display:flex}.disc-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:14px 16px}.disc-item-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.disc-author{color:var(--text);font-size:13.5px;font-weight:700}.disc-time{color:var(--subtext);font-size:12px}.disc-del{cursor:pointer;color:var(--subtext);background:0 0;border:none;margin-left:auto;font-size:12px}.disc-del:hover{color:var(--danger)}.disc-body{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.65}.disc-item-foot{margin-top:10px}.disc-like{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;align-items:center;gap:5px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.disc-like:hover{border-color:var(--danger);color:var(--danger)}.disc-like.on{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.disc-searchbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.disc-searchbar .form-input{flex:1}.disc-searchbar-count{color:var(--subtext);white-space:nowrap;font-size:12px}.disc-board{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.disc-row{cursor:pointer;border-bottom:1px solid var(--border-light);transition:background var(--duration) var(--ease);align-items:center;gap:8px;padding:11px 14px;display:flex}.disc-row:last-child{border-bottom:none}.disc-row:hover{background:var(--bg)}.disc-row-badge{flex-shrink:0}.disc-row-title{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:14px;font-weight:600;overflow:hidden}.disc-row-counts{flex-shrink:0;align-items:center;gap:9px;display:inline-flex}.disc-row-stat{color:var(--subtext);align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.disc-row-meta{color:var(--subtext);flex-shrink:0;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.disc-row-work{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--text-secondary);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg);transition:all var(--duration) var(--ease);padding:2px 9px;font-weight:600;overflow:hidden}.disc-row-work:hover{border-color:var(--primary-light);color:var(--primary);background:var(--primary-50)}.disc-row-meta .disc-author{font-size:12.5px}.disc-row-meta .disc-time{min-width:0}@media (width<=640px){.disc-row-work{display:none}.disc-row-meta{gap:7px}}.disc-detail-back{z-index:1000;animation:fadeIn .15s var(--ease);background:#18181b8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.disc-detail{background:var(--card);border-radius:var(--radius-xl);width:100%;max-width:620px;max-height:88vh;box-shadow:var(--shadow-xl);animation:popIn .18s var(--ease);padding:22px 22px 24px;position:relative;overflow-y:auto}.disc-detail-close{color:var(--subtext);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1;position:absolute;top:12px;right:14px}.disc-detail-title{color:var(--text);letter-spacing:-.01em;word-break:break-word;margin:10px 0 8px;font-size:20px;font-weight:800}.disc-detail-meta{align-items:center;gap:8px;margin-bottom:14px;display:flex}.disc-detail-body{color:var(--text);white-space:pre-wrap;word-break:break-word;border-bottom:1px solid var(--border-light);padding-bottom:14px;font-size:14.5px;line-height:1.75}.disc-detail-foot{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;display:flex}.disc-detail-work{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg);transition:all var(--duration) var(--ease);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:100%;padding:6px 12px;font-size:12.5px;font-weight:700;display:inline-flex;overflow:hidden}.disc-detail-work:hover{border-color:var(--primary-light);color:var(--primary);background:var(--primary-50)}.disc-detail-work-go{color:var(--primary);font-weight:600}.disc-comments{border-top:1px solid var(--border-light);padding-top:6px}.disc-comments-title{color:var(--text);margin:6px 0 12px;font-size:13.5px;font-weight:700}.disc-comment{border-bottom:1px solid var(--border-light);padding:10px 0}.disc-comment-head{align-items:center;gap:8px;margin-bottom:5px;display:flex}.disc-comment-body{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-bottom:6px;font-size:13.5px;line-height:1.6}.disc-clike{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--subtext);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.disc-clike:hover{border-color:var(--danger);color:var(--danger)}.disc-clike.on{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.disc-comment-composer{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:14px;padding:10px}
