/* LEAN STAR · Night Social · release 1.2 */
.daily-copy h1{color:#f3f4f7}.daily-copy p{color:#f3f4f7}
:root{color-scheme:light;--bg:#fffdfd;--panel:#ffffff;--panel2:#fffdfd;--line:#faf8fb;--text:#302735;--muted:#786a80;--mint:#eee7f0;--blue:#786a80;--danger:#b64d5b;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif}
body{background:var(--bg);color:var(--text)}button,input,textarea,select{font-family:var(--font)}
input,textarea,select{background:#0b0e14;border-color:#2b303b;color:#f3f4f7;border-radius:12px}input::placeholder,textarea::placeholder{color:#a8adb7}input[type=checkbox],input[type=range]{accent-color:#786a80}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#2b303b}
.topbar{background:#0b0e14ed;border-bottom:1px solid #2b303b;backdrop-filter:blur(18px)}.brand strong{color:#f3f4f7;font-weight:700;letter-spacing:.3px}.brand small{color:#a8adb7;letter-spacing:1.2px}.brand-mark{border-radius:11px}.admin-label{color:#a8adb7;border-color:#2b303b}
.search-box{background:#0b0e14;border-color:#2b303b;color:#a8adb7}.search-box input{background:none}.language{border-color:#2b303b;color:#f3f4f7;background:#0b0e14;border-radius:9px}.location-button{color:#f3f4f7}.location-button span{color:#a8adb7}
.primary{color:#f3f4f7;background:#171b23;border:1px solid #2b303b;border-radius:12px;font-weight:650}.primary:hover{background:#171b23}.secondary{color:#f3f4f7;border-color:#2b303b;background:#0b0e14;border-radius:12px}.secondary:hover{background:#0b0e14}.danger{color:#a8adb7;border-color:#2b303b;background:#0b0e14}.danger:hover{background:#171b23}
.sidebar{border-right:1px solid #2b303b;padding-right:14px}.nav-link{color:#f3f4f7;border-radius:13px}.nav-link:hover{background:#0b0e14}.nav-link.active{color:#f3f4f7;background:#0b0e14;font-weight:650}.nav-link.publish{background:#171b23;color:#f3f4f7;border-color:#2b303b}.sidebar-foot{color:#a8adb7}.sidebar-foot button,.sidebar-foot a{color:#a8adb7}.sidebar-foot span{color:#a8adb7}
.rail-card{background:#0b0e14;border-color:#2b303b;border-radius:16px;box-shadow:none}.rail-title h3{color:#f3f4f7}.rail-title>a,.rail-title>button{color:#a8adb7}.rail-empty{color:#a8adb7}.rail-scopes a{color:#a8adb7;background:#0b0e14;border-color:#2b303b}.rail-footer,.rail-footer a,.rail-footer button,.rail-footer p{color:#a8adb7}.mini-rank{border-color:#2b303b;color:#a8adb7}.mini-rank b{color:#a8adb7}
.feed-tabs button{color:#a8adb7;border-radius:10px}.feed-tabs button.active{background:#0b0e14;color:#f3f4f7;border-color:#2b303b}.sort-btn{color:#f3f4f7}.city-chips button{background:#0b0e14;color:#a8adb7;border-color:#2b303b;border-radius:30px}.section-title h2{color:#f3f4f7}.section-title button,.section-title a{color:#a8adb7}
.post-card{background:#0b0e14;border:1px solid #2b303b;border-radius:15px;overflow:hidden;padding-bottom:12px}.post-image{border-radius:0}.post-card h3{padding:0 12px;font-size:14px;line-height:1.55}.post-meta{padding:0 12px;color:#a8adb7}.post-location{padding:0 12px;color:#a8adb7}.avatar{background:#0b0e14;color:#f3f4f7;border-color:#2b303b}.heart{color:#a8adb7}.heart.active,.post-actions .active{color:#a8adb7}.post-image,.video-cover{background:#0b0e14}.image-count{background:#0b0e14dd;color:#f3f4f7}.video-cover{border:1px solid #2b303b;border-radius:14px}.video-card h3{color:#f3f4f7}.video-card p{color:#a8adb7}.video-cover .play{background:#0b0e14f0;color:#f3f4f7;border-color:#2b303b}.video-word{color:#f3f4f7;text-shadow:0 1px 5px #00000088}
.empty-state{background:#0b0e14;border:1px solid #2b303b;border-radius:16px}.empty-state h3{color:#f3f4f7}.empty-state p{color:#a8adb7}.load-more{border-color:#2b303b;color:#a8adb7;background:#0b0e14;border-radius:12px}.page-head h1{color:#f3f4f7}.page-head p,.eyebrow{color:#a8adb7}.scope-tabs button{background:#0b0e14;color:#a8adb7;border:1px solid #2b303b;border-radius:12px}.scope-tabs button.active{color:#f3f4f7;background:#0b0e14;border-color:#2b303b}
.rank-hero{background:linear-gradient(125deg,#0b0e14,#0b0e14);border-color:#2b303b;color:#f3f4f7;border-radius:18px}.rank-hero h2{color:#f3f4f7}.rank-hero p{color:#a8adb7}.rank-row{border-color:#2b303b}.rank-row>span:first-child{color:#a8adb7}.rank-row>b{color:#f3f4f7}.rank-user strong{color:#f3f4f7}.rank-user small,.rank-explain{color:#a8adb7}.status-chip{background:#0b0e14;color:#a8adb7;border-color:#2b303b}.status-chip.pending{background:#171b23;color:#a8adb7}.status-chip.hidden{background:#0b0e14;color:#a8adb7}
.form-section{background:#0b0e14;border-color:#2b303b;border-radius:16px}.form-section h2,.field>span,.field>label{color:#f3f4f7}.choice-line,.soft-note,.form-error{color:#a8adb7}.form-error{color:#a8adb7}.photo-upload{background:#0b0e14;border-color:#2b303b;color:#a8adb7;border-radius:14px}.photo-upload b{color:#f3f4f7}.photo-upload small{color:#a8adb7}.photo-preview{background:#0b0e14}.photo-preview button{background:#0b0e14;color:#a8adb7}
.profile-card{background:#0b0e14;border-color:#2b303b;border-radius:18px}.profile-info h1{color:#f3f4f7}.profile-info .username,.profile-info p,.profile-location{color:#a8adb7}.profile-stats{border-color:#2b303b}.profile-stats b{color:#f3f4f7}.profile-stats span{color:#a8adb7}.profile-tabs button{color:#a8adb7}.profile-tabs button.active{color:#f3f4f7;border-color:#2b303b}.settings-list{background:#0b0e14;border-color:#2b303b;border-radius:15px;overflow:hidden}.settings-list>button,.settings-list>a{color:#f3f4f7;border-color:#2b303b}.settings-list span{color:#a8adb7}
.detail-author>a,.detail-title{color:#f3f4f7}.detail-body,.comments h2{color:#f3f4f7}.detail-date,.detail-back,.comment small{color:#a8adb7}.tag-list{color:#a8adb7}.post-actions{border-color:#2b303b}.post-actions button{color:#a8adb7;border-color:#2b303b;background:#0b0e14}.post-actions .support-button{background:#0b0e14;color:#f3f4f7}.comment{border-color:#2b303b}.comment strong{color:#f3f4f7}.comment p{color:#a8adb7}.comment-form{background:none}.comment-form button{border-radius:12px}
.modal{color:#f3f4f7;background:#0b0e14;border-color:#2b303b;border-radius:20px;box-shadow:0 22px 90px #00000020}.modal::backdrop{background:#0b0e144a;backdrop-filter:blur(4px)}.modal-head{border-color:#2b303b}.modal-head h2{color:#f3f4f7}.icon-button{color:#a8adb7}.modal-intro,.modal-body-text,.auth-footer,.auth-footer button{color:#a8adb7}.modal-body-text h3{color:#f3f4f7}.auth-tabs button{color:#a8adb7;border-color:#2b303b}.auth-tabs button.active{color:#f3f4f7;border-color:#2b303b}.school-results{background:#0b0e14;border-color:#2b303b}.school-results button{color:#f3f4f7;border-color:#2b303b}.school-results button:hover{background:#0b0e14}.school-results small,.selected-school{color:#a8adb7}.selected-school{background:#0b0e14;border-color:#2b303b}.recovery-code,.invite-code{background:#0b0e14;border-color:#2b303b;color:#f3f4f7}.share-url{background:#0b0e14;border-color:#2b303b;color:#f3f4f7}.qr-box{background:#0b0e14}.video-source{color:#a8adb7}.video-player{background:#0b0e14}.video-play-start{color:#a8adb7}.toast{background:#0b0e14;color:#f3f4f7;box-shadow:0 10px 35px #0000001f}.poster-preview{background:#0b0e14;border-color:#2b303b;border-radius:12px}.ratio-choices button{background:#0b0e14;border-color:#2b303b;color:#a8adb7}.ratio-choices button.active{background:#0b0e14;color:#f3f4f7;border-color:#2b303b}
.pk-card{background:#0b0e14;border-color:#2b303b;border-radius:18px}.pk-card-head{background:#0b0e14;border-color:#2b303b;color:#a8adb7}.pk-duo{background:#0b0e14}.pk-side{background:#0b0e14}.pk-side p,.pk-invite>div{color:#f3f4f7}.pk-card-foot{color:#a8adb7}.pk-invite small{color:#a8adb7}.score-list>div{color:#a8adb7;border-color:#2b303b}.score-list b{color:#a8adb7}.score-list time{color:#a8adb7}
.admin-sidebar button{color:#a8adb7;border-radius:12px}.admin-sidebar button.active{background:#0b0e14;color:#f3f4f7}.admin-sidebar button:hover{background:#0b0e14}.admin-login,.admin-post{background:#0b0e14;border-color:#2b303b;border-radius:16px}.admin-post h3{color:#f3f4f7}.admin-post p{color:#a8adb7}.admin-post-meta{color:#a8adb7}.admin-images img{border-radius:10px}.admin-table{border-color:#2b303b;border-radius:15px;background:#0b0e14}.admin-table th{color:#a8adb7;background:#0b0e14}.admin-table td,.admin-table th{color:#a8adb7;border-color:#2b303b}.admin-table td button{color:#a8adb7}.admin-audit{color:#a8adb7;border-color:#2b303b}.admin-audit time{color:#a8adb7}.admin-section-title{color:#f3f4f7}.stat-box{background:#0b0e14;border-color:#2b303b;border-radius:16px}.stat-box b{color:#f3f4f7;font-family:var(--font);font-weight:650}.stat-box span{color:#a8adb7}.toggle-row{border-color:#2b303b;color:#f3f4f7}.admin-help{background:#0b0e14;border-color:#2b303b;color:#a8adb7;border-radius:15px}.admin-help a{color:#a8adb7}.comment-filter{margin-bottom:20px}.admin-comment .comment-body{font-size:15px;color:#f3f4f7;line-height:1.8}.comment-status{display:inline-block;margin-left:8px;background:#0b0e14;color:#a8adb7;padding:4px 9px;border-radius:20px;font-weight:500}.comment-status.hidden,.comment-status.deleted{background:#0b0e14;color:#a8adb7}.comment-source{color:#a8adb7;font-size:12px}.admin-comment .admin-buttons{justify-content:flex-end}.admin-post-meta span{line-height:1.8}
.bottom-nav{background:#0b0e14f2;border-color:#2b303b;box-shadow:0 -4px 20px #00000005}.bottom-nav .nav-link{color:#a8adb7}.bottom-nav .nav-link.active{color:#f3f4f7;background:none}.bottom-nav .nav-link.publish{background:#0b0e14;color:#f3f4f7;border-radius:13px}.bottom-nav .nav-link.publish svg{stroke:#5c466b}.server-notice{background:#171b23;border-color:#2b303b;color:#a8adb7}
.daily-top{background:#0b0e14;border-color:#2b303b;border-radius:17px}.daily-heading{background:#0b0e14;color:#a8adb7}.daily-heading b{color:#a8adb7}.daily-heading>span:last-child{color:#a8adb7}.daily-post{background:#0b0e14}.daily-controls{background:#0b0e14}.daily-controls>span{color:#a8adb7}.daily-controls>div:last-child button{color:#a8adb7}.daily-dots button:after{background:#171b23}.daily-dots button[aria-current=true]:after{background:#242934}.daily-empty{background:radial-gradient(ellipse at 100% 0,#0b0e14,transparent 75%),#0b0e14}.daily-kicker{color:#a8adb7}.daily-empty h1{color:#f3f4f7}.daily-empty p{color:#a8adb7}.play-guide .guide-lead{color:#a8adb7}.play-guide li strong{color:#f3f4f7}.play-guide li:before{color:#a8adb7}.play-guide li p{color:#a8adb7}.guide-invite{background:#0b0e14;color:#a8adb7;border-color:#2b303b}.guide-skip{color:#a8adb7}
@media(max-width:600px){.topbar{background:#0b0e14f5}.post-card h3{font-size:13px}.post-meta,.post-location,.city-chips button,.video-card p,.profile-location,.profile-info .username,.soft-note,.profile-stats span{font-size:11px}.post-meta{padding:0 9px}.post-card h3,.post-location{padding-left:9px;padding-right:9px}.bottom-nav .nav-link{font-size:10px}.bottom-nav .nav-link.publish{font-size:10px}.daily-heading>span:last-child{font-size:10px}.admin-post-meta,.admin-label{font-size:11px}.admin-comment .comment-body{font-size:14px}.comment-source{font-size:11px}.sidebar{border:0;padding:0}}

:root{--bg:#fcfbfd;--panel:#fff;--panel2:#f7f4f9;--line:#eee8f0;--text:#29242f;--muted:#756a7d;--mint:#f6d7e9;--blue:#8b61b0;--danger:#ca5171;--pink:#ec4f8e;--purple:#9d6cce;--yellow:#ffcf72;--prism:linear-gradient(125deg,#ffe0a4,#ffc9de 49%,#decaff)}
body{color:var(--text);background:#0b0e14}.topbar{background:#0b0e14ee;border-color:#2b303b}.brand strong{color:#f3f4f7;letter-spacing:-.4px}.brand small{color:#a8adb7}.location-button,.location-button span{color:#a8adb7}.language{color:#a8adb7}.search-box{background:#171b23;border-color:#2b303b;color:#a8adb7}.brand-mark{border-radius:11px}.primary{background:var(--prism);color:#f3f4f7;border-color:#2b303b;border-radius:13px}.primary:hover{background:linear-gradient(125deg,#242934,#242934,#242934)}.secondary{border-color:#2b303b;color:#a8adb7;border-radius:12px}.secondary:hover{background:#171b23}.danger{background:#0b0e14;color:#a8adb7;border-color:#2b303b}.language{border-color:#2b303b}.avatar{background:#171b23;color:#a8adb7;border-color:#2b303b}
.nav-link.active{background:#171b23;color:#a8adb7}.nav-link.publish{background:var(--prism);color:#f3f4f7}.nav-link:hover{background:#171b23}.feed-tabs button.active{background:none;color:#f3f4f7;font-weight:700;border-bottom:2px solid #2b303b;border-radius:0}.feed-tabs button{color:#a8adb7}.city-chips button{border-color:#2b303b;color:#a8adb7;background:#0b0e14}.city-chips button:nth-child(3){color:#a8adb7;background:#0b0e14;border-color:#2b303b}
.post-card{background:transparent;border:0;border-radius:0;padding-bottom:0;overflow:visible}.post-image{border-radius:14px;overflow:hidden;background:#171b23}.post-image img{width:100%;aspect-ratio:3/4;object-fit:cover}.post-card h3{padding:0;margin:9px 0 6px;font-size:14px;letter-spacing:-.2px}.post-meta{padding:0;color:#a8adb7;min-height:26px}.post-city{margin-left:auto;font-size:10px;color:#a8adb7;max-width:65px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-actions{display:flex;align-items:center;gap:13px;margin-top:5px;min-width:0}.card-actions button,.card-actions a{display:inline-flex;align-items:center;gap:4px;border:0;background:none;min-height:38px;padding:0;color:#f3f4f7;font-size:11px;min-width:0}.card-actions svg{width:20px;height:20px;stroke-width:1.75;flex:0 0 auto}.card-actions .card-share{margin-left:auto}.heart.active,.heart.active svg{color:#a8adb7;stroke:#f04472;fill:#f04472}.bookmark.active,.bookmark.active svg{color:#f3f4f7;stroke:#392b43;fill:#392b43}.heart.active svg{animation:social-heart .24s ease-out}.bookmark.active svg{animation:social-save .18s ease-out}.post-actions button:disabled,.card-actions button:disabled{opacity:.65;cursor:wait}
.detail{max-width:680px;margin:0 auto}.detail-back{color:#a8adb7}.detail-gallery{position:relative}.detail-images{background:#171b23;border:0;border-radius:17px;scrollbar-width:none}.detail-images::-webkit-scrollbar{display:none}.detail-images>button{background:#171b23;min-height:0;max-height:none;place-content:normal;display:block}.detail-images img{max-height:760px;max-width:100%;object-fit:contain;margin:auto}.detail-image-counter{position:absolute;right:13px;top:13px;background:#0b0e147a;border-radius:20px;color:#f3f4f7;font-size:11px;padding:5px 9px;pointer-events:none}.gallery-dots{display:flex;justify-content:center;gap:2px;margin:4px 0}.gallery-dots button{width:20px;min-height:27px;padding:0;position:relative}.gallery-dots button:after{content:"";display:block;width:5px;height:5px;background:#242934;border-radius:50%;margin:auto}.gallery-dots button[aria-current=true]:after{background:#0b0e14}.detail-author{margin:18px 0 12px}.detail-author .secondary{min-height:34px;border-radius:10px;padding:7px 16px;color:#a8adb7;background:#171b23;border-color:#2b303b}.detail-title{font-size:22px;color:#f3f4f7;letter-spacing:-.35px}.detail-body{color:#f3f4f7;font-size:14px;line-height:1.9}.detail-date{color:#a8adb7}.social-actions{gap:21px;align-items:center;border:0;padding:10px 0;margin:13px 0 8px;flex-wrap:nowrap}.social-actions button{padding:0;min-height:42px;gap:7px;color:#f3f4f7;border:0;background:none;border-radius:0;font-size:12px;min-width:28px}.social-actions svg{width:25px;height:25px;stroke-width:1.8}.social-actions #detail-save{margin-left:auto}.social-actions .more{margin:0;color:#a8adb7;min-width:25px}.support-row{border-top:1px solid #2b303b;border-bottom:1px solid #2b303b;padding:13px 0;display:flex;align-items:center;gap:13px;margin-bottom:24px}.support-row .support-button{display:flex;align-items:center;gap:7px;color:#a8adb7;background:#171b23;border:1px solid #2b303b;border-radius:12px;padding:8px 12px;min-height:40px;white-space:nowrap;font-size:12px}.support-row>span{color:#a8adb7;font-size:11px;line-height:1.7}.tag-list{color:#a8adb7}.comment-form input{background:#171b23;border-color:#2b303b;border-radius:30px}.comment-form .primary{border-radius:30px}.comments h2{font-size:16px;color:#f3f4f7}.comment strong{color:#a8adb7}.comment p{color:#a8adb7}.comment small{color:#a8adb7}
.profile-card{border:0;background:none;padding:12px 0 24px;border-radius:0}.profile-top{align-items:center;gap:22px}.profile-avatar{width:80px;height:80px;background:linear-gradient(#0b0e14,#0b0e14) padding-box,linear-gradient(35deg,#242934,#0b0e14,#0b0e14) border-box;border:3px solid transparent;color:#a8adb7;font-size:24px;flex:0 0 auto}.profile-info h1{font-size:24px;color:#f3f4f7}.profile-info p{font-size:13px;color:#a8adb7}.profile-location,.profile-info .username{color:#a8adb7}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;border-color:#2b303b}.profile-stats b{font-family:var(--font);font-size:23px;color:#f3f4f7;font-weight:650}.profile-stats span{color:#a8adb7;font-size:11px}.profile-tools{gap:8px}.profile-tools button,.profile-tools a{background:#171b23;border:0;color:#a8adb7;border-radius:10px;font-size:11px}.profile-tabs{border-bottom:1px solid #2b303b;gap:12px}.profile-tabs button{color:#a8adb7;font-size:12px;border-radius:0}.profile-tabs button.active{color:#a8adb7;border-color:#2b303b}#profile-posts .post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;columns:auto}#profile-posts .post-card{margin:0;overflow:hidden}#profile-posts .post-image{border-radius:0;width:100%;display:block}#profile-posts .post-image img{aspect-ratio:3/4;width:100%;height:auto}#profile-posts .post-card h3,#profile-posts .post-meta,#profile-posts .card-actions{display:none}
.daily-heading{background:#0b0e14;color:#a8adb7}.daily-heading b{color:#a8adb7}.daily-heading>span:last-child{color:#a8adb7}.daily-rank{color:#a8adb7}.daily-copy h1{color:#f3f4f7}.daily-copy p{color:#a8adb7}.daily-copy p span{color:#a8adb7}.daily-controls{background:#0b0e14}.daily-controls>span{color:#a8adb7}.daily-controls>div:last-child button{color:#a8adb7}.daily-dots button[aria-current=true]:after{background:#242934}.daily-empty{background:radial-gradient(ellipse at 100% 0,#171b23,transparent 75%),#0b0e14}.daily-empty h1{color:#f3f4f7}.daily-kicker{color:#a8adb7}.daily-empty p{color:#a8adb7}.rank-hero{background:linear-gradient(130deg,#171b23,#171b23 50%,#171b23);border-color:#2b303b}.rank-row>b{color:#a8adb7}.rank-hero h2{color:#f3f4f7}.rank-hero p{color:#a8adb7}.pk-card{border-color:#2b303b}.pk-card-head{background:linear-gradient(100deg,#0b0e14,#0b0e14,#171b23);color:#a8adb7}.pk-side p{color:#a8adb7}.scope-tabs button.active{color:#a8adb7;background:#171b23;border-color:#2b303b}.admin-sidebar button.active{color:#a8adb7;background:#171b23}.admin-sidebar button:hover{background:#0b0e14}.stat-box b{color:#a8adb7}.management-tabs{margin-bottom:20px}.report-card .admin-buttons{justify-content:flex-end}.admin-main .soft-note{line-height:1.8}.comment-status.published{color:#a8adb7;background:#171b23}.comment-status.deleted,.comment-status.hidden{background:#171b23;color:#a8adb7}.admin-help{background:#0b0e14;border-color:#2b303b}.toast{background:#0b0e14;color:#f3f4f7;box-shadow:0 12px 30px #00000022}
@keyframes social-heart{50%{transform:scale(1.18)}}@keyframes social-save{50%{transform:translateY(-2px)}}
@media(max-width:600px){.topbar{background:#0b0e14f7}.bottom-nav{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));padding:7px 8px;border:1px solid #2b303b;border-radius:25px;background:#0b0e14f0;box-shadow:0 6px 30px #00000023;backdrop-filter:blur(15px)}.bottom-nav .nav-link{color:#a8adb7;font-size:10px;min-height:46px}.bottom-nav .nav-link.active{color:#a8adb7}.bottom-nav .nav-link.publish{background:var(--prism);color:#f3f4f7;border-radius:16px}.bottom-nav .nav-link.publish svg{stroke:#7b4a89}.app-layout{padding-bottom:calc(114px + env(safe-area-inset-bottom))}.post-card h3{padding:0;font-size:13px}.post-meta{padding:0;font-size:11px}.post-city{font-size:10px}.card-actions{gap:10px}.card-actions svg{width:18px;height:18px}.card-actions button,.card-actions a{font-size:10px;gap:3px;min-height:37px}.detail-images{margin-left:-16px;margin-right:-16px;border-radius:0}.detail-image-counter{right:0;top:11px}.detail-title{font-size:20px}.social-actions{gap:20px}.social-actions svg{width:24px;height:24px}.support-row{gap:10px}.support-row>span{font-size:10px}.profile-top{gap:18px}.profile-avatar{width:72px;height:72px}.profile-info h1{font-size:23px}.profile-card{padding-top:8px}.profile-stats b{font-size:21px}.profile-tools button,.profile-tools a{font-size:11px;padding:9px 11px}.profile-tabs button{font-size:12px}.toast{bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.heart.active svg,.bookmark.active svg{animation:none}}

/* Readable secondary labels on the white social surface. */
.detail-images{align-items:flex-start}.detail-images img{height:auto}
.brand small,.location-button,.location-button span,.language,.city-chips button,.post-meta,.post-city,.detail-back,.detail-date,.profile-location,.profile-info .username,.profile-stats span,.profile-tools button,.profile-tools a,.profile-tabs button,.daily-heading,.daily-heading>span:last-child,.daily-controls>span,.daily-empty p,.comment small,.bottom-nav .nav-link{color:#a8adb7}
.daily-kicker,.daily-heading b{color:#a8adb7}.support-row>span{color:#a8adb7}.comment p,.comment-source{color:#a8adb7}
@media(pointer:coarse){.card-actions button,.card-actions a{min-height:44px;flex:1;justify-content:center}.card-actions{gap:0}.gallery-dots button{min-width:36px;min-height:44px}.social-actions button{min-width:36px;min-height:44px}.social-actions{gap:14px}}

/* Black canvas and neutral chrome; colour is reserved for meaningful actions. */
:root{color-scheme:dark;--bg:#0b0e14;--panel:#151920;--panel2:#20252e;--line:#2b303b;--text:#f3f4f7;--muted:#a8adb7;--mint:#ff5b9b;--blue:#6683ff;--danger:#ff7591;--pink:#ff5b9b;--purple:#8c9cff;--yellow:#ffd166;--prism:linear-gradient(125deg,#ffd166,#ff4e98 50%,#5a7cff)}
html,body{background:#0b0e14;color:var(--text)}
.topbar{background:#0b0e14f5;border-color:#252a33}.brand strong{color:#f7f7fa}.brand small{color:#a8adb7}.brand-mark{border-radius:11px}
.search-box,input,textarea,select{background:#191e26;border-color:#2b303b;color:#f3f4f7}.search-box input{background:none}.search-box,input::placeholder,textarea::placeholder{color:#9da5b2}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#7790ff}
input[type=checkbox],input[type=range]{accent-color:#6683ff}
.primary,.nav-link.publish{background:#465dff;color:#fff;border-color:transparent}.primary:hover,.nav-link.publish:hover{background:#5970ff}
.secondary,.language,.profile-tools button,.profile-tools a{background:#262b34;color:#f0f1f5;border-color:#303641}.secondary:hover,.language:hover{background:#303642}
.danger{background:#2b1820;color:#ff8bac;border-color:#553040}.danger:hover{background:#3b202c}
.sidebar{border-color:#252a33}.nav-link{color:#d5d8df}.nav-link:hover,.admin-sidebar button:hover{background:#1a1e26}.nav-link.active,.admin-sidebar button.active{background:#252a33;color:#fff}
.location-button,.location-button span,.language,.brand small,.post-city,.profile-location,.profile-info .username,.profile-stats span,.profile-tabs button,.daily-heading>span:last-child,.daily-controls>span,.detail-date,.comment small,.comment-source{color:#a8adb7}
.rail-card,.empty-state,.form-section,.settings-list,.admin-login,.admin-post,.admin-table,.stat-box,.pk-card{background:#14181f;border-color:#272d37;box-shadow:none}
.rail-title h3,.page-head h1,.section-title h2,.admin-section-title,.field>span,.field>label,.form-section h2,.admin-post h3,.admin-table th,.rank-user strong,.profile-info h1,.profile-stats b,.detail-title,.detail-author>a,.comments h2,.comment strong,.stat-box b{color:#f3f4f7}
.rail-empty,.rail-footer,.rail-footer a,.rail-footer button,.soft-note,.modal-intro,.modal-body-text,.modal-body-text h3,.detail-body,.comment p,.admin-post p,.admin-post-meta,.admin-audit,.admin-table td,.toggle-row,.auth-footer,.auth-footer button{color:#abb2bf}
.rail-scopes a,.city-chips button,.city-chips button:nth-child(3),.scope-tabs button,.status-chip,.ratio-choices button{background:#151a22;border-color:#303641;color:#bac0cb}
.feed-tabs button{color:#a8adb7}.feed-tabs button.active{color:#f6f7f9;border-color:#f6f7f9;background:none}.scope-tabs button.active,.ratio-choices button.active{background:#272d37;border-color:#414a5b;color:#fff}
.post-card{background:none}.post-image,.video-cover,.photo-preview{background:#171c24}.post-card h3,.post-card h3 a{color:#f4f5f8}.post-meta{color:#a8adb7}.avatar{background:#262b35;color:#d1d6e2;border-color:#3b424f}
.card-actions button,.card-actions a,.social-actions button{color:#edf0f6;background:none}.heart.active,.heart.active svg,.social-actions .heart.active{color:#ff4d88;stroke:#ff4d88;fill:#ff4d88}.bookmark.active,.bookmark.active svg{color:#f4f5f8;stroke:#f4f5f8;fill:#f4f5f8}.image-count{background:#0b0e14b8;color:#fff}
.detail-images,.detail-images>button{background:#11151c}.detail-images{align-items:flex-start}.detail-images img{height:auto}.detail-author .secondary{background:#465dff;color:#fff;border:0}.detail-back{color:#b3bbc8}.detail-image-counter{background:#0b0e14a6;color:#fff}
.gallery-dots button:after{background:#525967}.gallery-dots button[aria-current=true]:after{background:#6683ff}.tag-list{color:#86a0ff}
.support-row{border-color:#2b303b}.support-row .support-button{background:#242032;border-color:#42314a;color:#f0b5d1}.support-row>span{color:#a8adb7}.comment{border-color:#272d37}.comment-form input{background:#1b2029;border-color:#303641}.comment-form .primary{background:#465dff;color:#fff}
.profile-avatar{background:linear-gradient(#0b0e14,#0b0e14) padding-box,linear-gradient(35deg,#ffd166,#ff4e98,#5a7cff) border-box;color:#e0e3ec;border-color:transparent}.profile-card{background:none}.profile-stats,.profile-tabs{border-color:#2b303b}.profile-tabs button.active{color:#fff;border-color:#fff}
.profile-tabs button.active{background:none}.social-actions button.active{background:none;border:0}.video-card:nth-child(3) .video-cover{background:#191e27}.video-cover:after{background:linear-gradient(0deg,#05070bb0,transparent)}.empty-state .empty-symbol{color:#ffd166}.old-work a{color:#b7c1d4}
.daily-top{background:#11151c;border-color:#252a33}.daily-heading{background:#11151c;color:#d6dae3}.daily-heading b{color:#ffd166}.daily-post{background:#141922}.daily-post:after{background:linear-gradient(0deg,#05070bf2 0%,#05070b60 50%,#05070b05 100%)}.daily-copy h1{color:#fff}.daily-copy p{color:#dce0e8}.daily-copy p span{color:#ff97bd}.daily-rank{color:#ffd166}.daily-controls{background:#11151c}.daily-controls>div:last-child button{color:#dbe1ed}.daily-dots button:after{background:#4f5664}.daily-dots button[aria-current=true]:after{background:#ff5b9b}
.daily-empty{background:#131821}.daily-empty h1{color:#f4f5f8}.daily-kicker{color:#ffd166}.daily-empty p{color:#a8adb7}
.rank-hero{background:#171c26;border-color:#303744}.rank-hero h2,.rank-row>b{color:#f2f4fa}.rank-hero p,.rank-row>span:first-child{color:#acb5c6}.rank-row{border-color:#2b303b}.pk-card-head{background:#1b2029;color:#c7cedb}.pk-duo{background:#252b36}.pk-side{background:#151920}.pk-side p,.pk-invite>div{color:#e4e7ee}
.modal{background:#161b23;color:#f3f4f7;border-color:#343c49;box-shadow:0 22px 90px #0009}.modal::backdrop{background:#000a}.modal-head{border-color:#303641}.modal-head h2{color:#f5f6f9}.icon-button{color:#d5dbe5}.auth-tabs button{color:#a8adb7;border-color:#303641}.auth-tabs button.active{color:#fff;border-color:#fff}
.school-results{background:#161b23;border-color:#303641}.school-results button{color:#e6e9f0;border-color:#303641}.school-results button:hover{background:#252b35}.selected-school,.recovery-code,.invite-code,.share-url,.guide-invite{background:#202633;border-color:#364052;color:#e0e6f4}.qr-box{background:#fff}.qr-box img,.qr-box canvas{background:#fff}
.play-guide .guide-lead,.play-guide li strong{color:#f3f4f7}.play-guide li:before{color:#ffd166}.play-guide li p,.guide-skip{color:#b0b8c6}.admin-table th{background:#1d232d}.admin-table td,.admin-table th,.admin-audit{border-color:#303641}.admin-help{background:#1b2332;border-color:#35435f;color:#c3cce0}.admin-help a{color:#91a7ff}
.comment-status,.comment-status.published{background:#202735;color:#b9c5de}.comment-status.deleted,.comment-status.hidden{background:#2b2028;color:#dfa9c0}.status-chip.pending,.server-notice{background:#2a2416;border-color:#53452a;color:#e6c681}.form-error{color:#ff91b2}
.video-player,.poster-preview{background:#11151c;border-color:#303641}.video-play-start,.video-source{color:#b7c1d3}.video-cover .play{background:#131823dc;border-color:#6b7588;color:#fff}.toast{background:#e6eaf2;color:#141820;box-shadow:0 10px 35px #0007}
.bottom-nav{background:#10141cec;border-color:#323945;box-shadow:0 6px 30px #0007}.bottom-nav .nav-link{color:#a8b0bf}.bottom-nav .nav-link.active{color:#fff;background:#282e39;border-radius:18px}.bottom-nav .nav-link.publish{background:#465dff;color:#fff}.bottom-nav .nav-link.publish svg{stroke:#fff}
@media(max-width:600px){.topbar{background:#0b0e14f7}.bottom-nav{background:#10141cf5;border-color:#323945}.bottom-nav .nav-link.active{color:#fff;background:#282e39}.bottom-nav .nav-link.publish{background:#465dff;color:#fff}.bottom-nav .nav-link.publish svg{stroke:#fff}.card-actions button,.card-actions a{font-size:11px}}

/* v1.2.1: outlined wordmarks, softer UI type and consistent vector controls. */
@font-face{font-family:"Lean UI";src:url("assets/fonts/nunito-ui.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0020-024F,U+2013-2014,U+2018-201D,U+2026}
:root{--font:"Lean UI",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
body{font-family:var(--font);font-kerning:normal;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:var(--font)}
.brand{gap:10px;min-width:0;flex-shrink:0}.brand-wordmark{display:block;width:116px;height:34px;object-fit:contain;flex:0 0 auto}.brand-mark{object-fit:contain}
[data-locale=en] .brand-wordmark{width:124px;height:38px}.brand:active{opacity:.8}
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-link .ui-icon{width:23px;height:23px}.nav-link.active .ui-icon{stroke-width:2}.sort-btn .ui-icon{width:19px;height:19px}.location-button .ui-icon{width:17px;height:17px;color:#aab2c2}
.top-tools{min-width:0}.location-button{min-width:0;gap:6px}.location-button b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.language{font-family:var(--font);font-weight:600;min-width:38px}
.city-chips{align-items:center;gap:8px}.city-chips button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;font-size:12px;font-weight:500;padding:8px 12px;flex:0 0 auto;line-height:1.2}.city-chips .ui-icon{width:14px;height:14px;stroke-width:1.75;color:#a8b2c4}.city-chips .location-chip>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-title>button .ui-icon{width:17px;height:17px}.profile-tools .secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px}.profile-tools .ui-icon{width:15px;height:15px}
.post-card h3{font-weight:650;line-height:1.5;letter-spacing:0}.post-meta{font-weight:450}.card-actions{font-variant-numeric:tabular-nums}.card-actions .ui-icon{stroke-width:1.8}.detail-title{font-weight:700;line-height:1.45;letter-spacing:-.2px}.profile-info h1{font-weight:700;letter-spacing:-.6px}.profile-stats b{font-weight:700;letter-spacing:-.5px}.profile-stats span{font-size:12px}
.section-title{align-items:center;gap:12px}.section-title h2{min-width:0;line-height:1.4;font-weight:700;letter-spacing:-.25px}.section-title>button{flex:0 0 auto;font-size:11px}.feed-tabs button{font-weight:550}.feed-tabs button.active{font-weight:750}.daily-heading{font-size:12px}.daily-heading>span:last-child{font-size:11px}.daily-copy h1{font-weight:750;letter-spacing:-.4px}.daily-rank{font-family:"Lean UI",sans-serif;font-weight:800}.comment-form input{font-size:14px}
.modal-head h2,.form-section h2{font-weight:700;letter-spacing:-.25px}.admin-main .page-head h1{font-weight:750}.admin-post h3{font-weight:650}.admin-table,.soft-note{line-height:1.65}
@media(max-width:850px){.bottom-nav .nav-link{flex:1;min-width:0}.bottom-nav .nav-link span{white-space:nowrap}.bottom-nav .ui-icon{width:23px;height:23px}.bottom-nav .nav-link.publish{max-width:62px;margin:0 7px}.admin-body .brand-wordmark{width:108px}}
@media(max-width:600px){.topbar{padding:0 16px;gap:10px;flex-wrap:nowrap}.brand{gap:8px}.brand-mark{width:33px;height:33px}.brand-wordmark{width:109px;height:30px}[data-locale=en] .brand-wordmark{width:118px;height:35px}.top-tools{gap:8px;flex:1;justify-content:flex-end}.top-tools .location-button{max-width:112px;flex:0 1 auto;font-size:11px}.location-button b{max-width:86px}.location-button .ui-icon{width:15px;height:15px}.language{min-width:35px;min-height:35px;padding:0 8px;font-size:12px}.bottom-nav .nav-link{font-size:11px;gap:4px;line-height:1.15}.bottom-nav .nav-link.publish{font-size:11px}.bottom-nav .nav-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.bottom-nav{padding:8px 7px;border-radius:25px}.city-chips{gap:7px}.city-chips button{font-size:11px;padding:8px 10px}.city-chips .location-chip>span{max-width:135px}.feed-tabs button{font-size:13px;padding:8px 12px}.profile-tools button,.profile-tools a{font-size:12px;min-height:38px}.profile-tabs button{font-size:13px}.post-city{font-size:11px}.post-meta{font-size:12px}.card-actions button,.card-actions a{font-size:11px}.daily-heading>span:last-child{font-size:10px}.daily-copy p{font-size:11px}.daily-copy h1{font-size:21px}.admin-body .brand-wordmark{width:98px}.admin-body .topbar{gap:8px}.admin-label{padding-left:9px;font-size:11px}.admin-body .top-tools{gap:6px}.admin-body .top-tools>a{font-size:11px;padding:8px;min-height:36px}}
@media(max-width:360px){.topbar{padding:0 12px;gap:7px}.brand{gap:7px}.brand-mark{width:31px;height:31px}.brand-wordmark{width:96px}[data-locale=en] .brand-wordmark{width:101px}.top-tools{gap:6px}.top-tools .location-button{max-width:85px}.location-button b{max-width:64px}.city-chips button{font-size:10px;gap:5px}.city-chips .location-chip>span{max-width:105px}.bottom-nav{left:8px;right:8px}.bottom-nav .nav-link{font-size:10px}.bottom-nav .nav-link.publish{margin:0 3px}.feed-tabs button{padding:8px 9px;font-size:12px}.daily-copy h1{font-size:19px}.admin-label{display:none}}
@media(pointer:coarse){.language,.location-button{min-height:44px}.bottom-nav .nav-link{min-height:47px}.city-chips button{min-height:38px}.sort-btn{min-width:36px;min-height:40px}.card-actions button,.card-actions a{min-height:44px}}
@media(max-width:600px){.city-chips{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;overflow:visible;margin-right:0;padding-right:0}.city-chips button{min-width:0;padding-left:9px;padding-right:9px;gap:5px}.city-chips button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-chips .location-chip>span{max-width:none}.city-chips .ui-icon{width:13px;height:13px}}
@media(max-width:600px){.bottom-nav .nav-link{padding-left:2px;padding-right:2px}.feed-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible}.feed-tabs button{padding-left:4px;padding-right:4px}}
@media(max-width:360px){.feed-tabs button{font-size:11px}}
