.navbar{border-bottom:1px solid var(--color-border);background:var(--color-bg);position:sticky;top:0;z-index:100}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.navbar-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--color-text);letter-spacing:-.02em;text-decoration:none}.navbar-logo-img{width:40px;height:40px;border-radius:50%;display:block;flex-shrink:0}.navbar-actions{display:flex;align-items:center;gap:20px}.navbar-link{font-size:14px;color:var(--color-text-secondary);transition:color .15s}.navbar-link:hover{color:var(--color-text)}.navbar-name{font-size:13px;color:var(--color-text-secondary);position:relative}.navbar-notif-badge{position:absolute;top:-7px;right:-12px;background:#e53935;color:#fff;font-size:10px;font-weight:700;line-height:1;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;pointer-events:none}.navbar-cta-mobile-hidden{display:none!important}.mobile-bottom-bar{display:flex;align-items:center;gap:10px;position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--color-bg);border-top:1px solid var(--color-border);z-index:90}.mobile-icon-btn{position:relative;flex:0 0 calc(25% - 7px);display:flex;align-items:center;justify-content:center;height:48px;background:var(--color-cta);color:var(--color-cta-text);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}@media (min-width: 769px){.mobile-icon-btn{flex:0 0 56px}}.mobile-icon-btn.active{background:var(--color-bg);color:var(--color-cta);border:1.5px solid var(--color-border)}.mobile-icon-btn:active{opacity:.8}.mobile-funnel-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-accent);border:1.5px solid var(--color-bg)}.mobile-bottom-cta{flex:1}@media (min-width: 769px){.mobile-bottom-cta{max-width:200px}}.mobile-bottom-btn{display:block;width:100%;padding:14px;background:var(--color-cta);color:var(--color-cta-text);text-align:center;font-size:15px;font-weight:600;border-radius:var(--radius);text-decoration:none;letter-spacing:-.01em;border:none;cursor:pointer;font-family:inherit}.mobile-bottom-btn.ghost{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.mobile-bottom-btn.ghost:active{background:var(--color-surface)}.mobile-bottom-btn:active{opacity:.85}.mobile-bottom-btn.btn-share{display:flex;align-items:center;justify-content:center;gap:7px}.mobile-bottom-bar.form-mode{justify-content:center;gap:12px}.mobile-bottom-bar.form-mode .mobile-bottom-btn{flex:0 0 auto;width:auto;min-width:140px;padding:14px 28px}.mobile-bottom-bar.form-mode .form-cancel{background:var(--color-bg);color:var(--color-text);border:1.5px solid var(--color-border)}.ios-banner{position:fixed;bottom:90px;left:16px;right:16px;z-index:200;animation:ios-banner-in .3s ease}@keyframes ios-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ios-banner-content{display:flex;align-items:center;gap:12px;background:#1c1c1e;color:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 8px 32px #0000004d}.ios-banner-icon{flex-shrink:0;color:#fff;opacity:.85}.ios-banner-text{flex:1;display:flex;flex-direction:column;gap:2px}.ios-banner-text strong{font-size:14px;font-weight:600}.ios-banner-text span{font-size:12px;opacity:.75;line-height:1.4}.ios-banner-text b{opacity:1;font-weight:600}.ios-banner-close{background:none;border:none;color:#fff;opacity:.5;font-size:22px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.ios-banner-close:hover{opacity:1}.ios-banner-arrow{width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #1c1c1e;margin:0 auto}.card-wrapper{display:flex;flex-direction:column}.card{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-bg);transition:border-color .15s,transform .15s;cursor:pointer;text-decoration:none;color:inherit}.card:hover{border-color:var(--color-text-secondary);transform:translateY(-2px)}.card-cover{aspect-ratio:3 / 4;overflow:hidden;background:var(--color-surface)}.card-cover img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}.card-meta{display:flex;gap:6px;flex-wrap:wrap}.card-title{font-size:15px;font-weight:600;color:var(--color-text);line-height:1.3}.card-author{font-size:13px;color:var(--color-text-secondary)}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--color-border)}.card-shared-by{font-size:12px;color:var(--color-text-secondary)}.card-votes{display:flex;align-items:center;gap:6px}.vote-btn{display:flex;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:50px;color:var(--color-accent);font-size:11px;font-family:inherit;transition:background .12s;line-height:1}.vote-btn:hover:not(:disabled){background:#e8752a1a}.vote-btn.active{border:2px solid var(--color-accent);padding:1px 3px}.vote-btn:disabled{cursor:default;opacity:.6}.gallery-page{padding:32px 0}.gallery-header{margin-bottom:24px}.gallery-subtitle{font-size:15px;color:var(--color-text-secondary)}.search-row{display:flex;align-items:center;gap:8px;margin-bottom:20px;max-width:400px}.search-bar{position:relative;display:flex;align-items:center;flex:1}.search-icon{position:absolute;left:12px;color:var(--color-text-secondary);pointer-events:none;flex-shrink:0}.search-input{width:100%;padding:9px 36px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-text-secondary)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:10px;background:none;border:none;color:var(--color-text-secondary);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.search-clear:hover{color:var(--color-text)}.search-filter-btn{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.search-filter-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.search-filter-btn.active{background:var(--color-cta);color:var(--color-cta-text);border-color:var(--color-cta)}.search-filter-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--color-accent);border:1.5px solid var(--color-bg)}.filters{display:none;gap:12px;flex-wrap:wrap;margin-bottom:28px;padding:16px;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}.filters.filters--visible{display:flex}.filters-section{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filters-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);min-width:40px}.filters-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sort-buttons{display:flex;gap:8px}.sort-btn{display:flex;align-items:center;gap:4px;padding:7px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.sort-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.sort-btn.active{background:var(--color-cta);color:var(--color-cta-text);border-color:var(--color-cta)}.filters-section+.filters-section{padding-top:12px;border-top:1px dashed var(--color-border)}.filters select{border:1px solid var(--color-border);border-radius:var(--radius);padding:9px 14px;font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-bg);cursor:pointer;outline:none}.filters select:focus{border-color:var(--color-accent)}.zoom-bar{display:flex;align-items:center;gap:10px;width:100%;padding-top:8px;border-top:1px solid var(--color-border);margin-top:4px}.zoom-icon{font-size:16px;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;line-height:1}.zoom-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;max-width:200px;height:3px;border-radius:2px;background:var(--color-border);outline:none;cursor:pointer;touch-action:manipulation}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-cta);cursor:pointer;border:none}.zoom-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-cta);cursor:pointer;border:none}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.gallery-loading,.gallery-empty{text-align:center;padding:80px 0;color:var(--color-text-secondary);font-size:15px}.gallery-no-bubble{text-align:center;padding:80px 24px;max-width:420px;margin:0 auto}.gallery-no-bubble p{font-size:15px;color:var(--color-text);margin:0 0 8px;line-height:1.5}.gallery-no-bubble-hint{font-size:14px;color:var(--color-text-secondary)!important}.gallery-loader{text-align:center;padding:24px 0 8px;color:var(--color-text-secondary);font-size:14px;min-height:40px}.detail-page{padding:40px 0 100px}.detail-loading{padding:80px 0;color:var(--color-text-secondary)}.detail-back{font-size:14px;color:var(--color-text-secondary);display:inline-block;margin-bottom:28px;transition:color .15s}.detail-back:hover{color:var(--color-text)}.detail-layout{display:grid;grid-template-columns:260px 1fr;grid-template-areas:"sidebar identity" "sidebar content";gap:0 64px;align-items:start}.detail-sidebar{grid-area:sidebar}.zone-identity{grid-area:identity}.detail-content{grid-area:content}.detail-sidebar{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}.detail-cover{border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.detail-cover img{width:100%;display:block}.detail-edit-actions{display:flex;flex-direction:column;gap:8px}.detail-content{display:flex;flex-direction:column;gap:0}.detail-zone{padding:28px 0;border-bottom:1px solid var(--color-border)}.detail-zone:last-child{border-bottom:none}.zone-identity{padding-top:0;padding-bottom:28px;border-bottom:1px solid var(--color-border)}.zone-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);padding-left:12px;border-left:3px solid var(--color-accent);margin-bottom:20px;display:flex;align-items:center;gap:10px}.zone-label-count{font-size:11px;font-weight:500;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px;text-transform:none;letter-spacing:0;color:var(--color-text-secondary)}.zone-sublabel{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:14px;margin-top:24px;padding-top:24px;border-top:1px dashed var(--color-border)}.detail-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.detail-title{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:6px}.detail-author{font-size:17px;color:var(--color-text-secondary);margin-bottom:6px}.detail-shared{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-bubble-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:2px 10px}.detail-bubble-change{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.detail-bubble-change-label{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.detail-bubble-select{font-size:13px;font-family:inherit;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;outline:none}.detail-bubble-select:focus{border-color:var(--color-accent)}.detail-bubble-select:disabled{opacity:.6;cursor:wait}.detail-ratings{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-end}.detail-rating-item{display:flex;flex-direction:column;gap:5px}.detail-rating-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em}.detail-rating-item .rating{font-size:22px}.review-count{font-size:15px;font-weight:400;color:var(--color-text-secondary)}.collapsible{position:relative}.collapsible-body{font-size:16px;line-height:1.7;color:var(--color-text);white-space:pre-wrap;position:relative;overflow:hidden}.collapsible-fade{position:absolute;bottom:0;left:0;right:0;height:48px;background:linear-gradient(to bottom,transparent,var(--color-bg));pointer-events:none}.collapsible-toggle{display:inline-flex;align-items:center;margin-top:8px;background:none;border:none;color:var(--color-accent);font-size:13px;font-weight:500;cursor:pointer;padding:0;font-family:inherit;transition:opacity .15s}.collapsible-toggle:hover{opacity:.7}.reviews-list{display:flex;flex-direction:column;gap:0}.review-item{padding:16px 0;border-bottom:1px solid var(--color-border)}.review-item:first-child{padding-top:0}.review-item:last-child{border-bottom:none}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.review-header strong{font-size:14px}.review-comment{font-size:15px;line-height:1.6;color:var(--color-text)}.reviews-empty{font-size:14px;color:var(--color-text-secondary)}.review-form-wrap{margin-top:0}.review-form{display:flex;flex-direction:column;gap:12px}.review-form-row{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start}.my-review{display:flex;flex-direction:column;gap:8px}.btn-sm{font-size:12px;padding:5px 12px}.votes-section{display:flex;flex-direction:column;gap:16px}.votes-summary{display:flex;align-items:center;gap:16px}.vote-detail-btn{display:flex;align-items:center;gap:8px;background:none;border:2px solid transparent;border-radius:40px;padding:8px 16px;cursor:pointer;color:var(--color-accent);font-family:inherit;font-size:15px;font-weight:500;transition:background .15s,border-color .15s}.vote-detail-btn:hover:not(:disabled){background:#e8752a14}.vote-detail-btn.active{border-color:var(--color-accent);background:#e8752a0f}.vote-detail-btn:disabled{opacity:.5;cursor:default}.votes-count{font-size:16px;font-weight:600;color:var(--color-text)}.votes-detail{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}.votes-group{display:flex;align-items:flex-start;gap:8px}.votes-group-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-accent)}.votes-group-label svg{flex-shrink:0;opacity:.8}.detail-cover a{display:block}.detail-cover a img{transition:opacity .15s}.detail-cover a:hover img{opacity:.85}.link-preview{display:flex;align-items:center;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;text-decoration:none;color:var(--color-text);transition:border-color .15s}.link-preview:hover{border-color:var(--color-accent)}.link-preview-img{width:64px;height:48px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--color-surface)}.link-preview-img img{width:100%;height:100%;object-fit:cover}.link-preview-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.link-preview-domain{font-size:11px;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.link-preview-title{font-size:13px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-preview-arrow{font-size:16px;color:var(--color-text-secondary);flex-shrink:0}.link-preview-mobile{display:none}.link-preview-desktop{display:flex}@media (max-width: 768px){.detail-page{padding:20px 0 90px}.detail-back{margin-bottom:16px}.detail-layout{grid-template-columns:110px 1fr;grid-template-areas:"sidebar identity" "content content";gap:0 12px}.detail-sidebar{position:static;flex-direction:column;gap:10px;align-self:start}.detail-edit-actions{display:none}.zone-identity{padding-top:0;border-bottom:none}.detail-content{border-top:1px solid var(--color-border);margin-top:20px;padding-top:0}.detail-title{font-size:17px;line-height:1.25}.detail-author{font-size:13px;margin-bottom:4px}.detail-shared{font-size:12px;margin-bottom:12px}.detail-badges{margin-bottom:8px}.detail-ratings{gap:16px}.detail-rating-item .rating{font-size:17px}.detail-rating-label{font-size:10px}.detail-zone{padding:18px 0}.review-form-row{grid-template-columns:1fr}.link-preview-desktop{display:none}.link-preview-mobile{display:flex;margin:14px 0 4px}}.detail-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.share-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#3d1f0e;padding:6px;border-radius:8px;transition:background .15s}.share-btn:hover{background:#f0e8e0}.share-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.share-modal{background:#fff;border-radius:16px;padding:28px 24px 20px;max-width:360px;width:100%;text-align:center;box-shadow:0 8px 32px #0000002e}.share-modal p{font-size:15px;line-height:1.55;color:#3d1f0e;margin-bottom:20px}.form-page{padding:48px 0 80px}.form-container{max-width:760px}.form-container h1{font-size:26px;font-weight:600;margin-bottom:40px;letter-spacing:-.02em}.content-form{display:flex;flex-direction:column;gap:40px}.form-section{display:flex;flex-direction:column;gap:20px}.form-section h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding-bottom:12px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px}.optional-label{font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cover-upload{display:flex;gap:24px;align-items:flex-start}.cover-preview{width:120px;flex-shrink:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border)}.cover-preview img{width:100%;display:block}.form-footer{display:flex;gap:12px;padding-top:8px}.url-preview-row{display:flex;align-items:center;gap:10px}.url-input{flex:1;min-width:0}.url-preview-thumb{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;background:var(--color-surface);text-decoration:none}.url-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.url-preview-domain{font-size:9px;color:var(--color-text-secondary);text-align:center;padding:4px;word-break:break-all;line-height:1.2}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.auth-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:24px}.auth-box h1{font-size:24px;font-weight:600;letter-spacing:-.02em}.auth-box form{display:flex;flex-direction:column;gap:18px}.btn.full{width:100%}.auth-link{font-size:14px;color:var(--color-text-secondary);text-align:center}.auth-link a{color:var(--color-accent);font-weight:500}.admin-page{padding:48px 0 80px}.admin-page h1{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-bottom:40px}.admin-section{margin-bottom:48px}.admin-section h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding-bottom:12px;border-bottom:1px solid var(--color-border);margin-bottom:20px;display:flex;align-items:center;gap:10px}.admin-empty{font-size:14px;color:var(--color-text-secondary);padding:20px 0}.admin-loading{color:var(--color-text-secondary);padding:40px 0}.admin-table{display:flex;flex-direction:column;gap:1px;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.admin-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-bg);gap:16px}.admin-row:not(:last-child){border-bottom:1px solid var(--color-border)}.admin-user-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.admin-user-name{display:flex;align-items:center;gap:8px}.admin-user-info strong{font-size:14px}.admin-user-info span{font-size:13px;color:var(--color-text-secondary)}.admin-date{font-size:12px}.admin-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--color-cta);color:var(--color-cta-text);padding:2px 7px;border-radius:20px}.admin-login-stats{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;text-align:right}.admin-last-login{font-size:12px;color:var(--color-text-secondary)}.admin-login-count{font-size:12px;font-weight:600;color:var(--color-text)}.admin-delete-btn{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:none;color:#c62828;border:1px solid #FFCDD2;padding:2px 7px;border-radius:20px;cursor:pointer;font-family:inherit;line-height:1.4}.admin-delete-btn:hover{border-color:#c62828}.btn-ghost.danger{color:#c62828;border-color:#ffcdd2}.btn-ghost.danger:hover{border-color:#c62828}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag-item{display:flex;align-items:center;gap:4px}.tag-remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:16px;padding:0 2px;line-height:1}.tag-remove:hover{color:var(--color-text)}.tag-add{display:flex;gap:8px;align-items:center}.tag-add input{border:1px solid var(--color-border);border-radius:var(--radius);padding:9px 14px;font-size:14px;font-family:inherit;outline:none}.tag-add input:focus{border-color:var(--color-accent)}.activity-page{padding:24px 0 120px}.activity-header{margin-bottom:24px}.activity-header h1{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:4px}.activity-subtitle{color:var(--color-text-muted);font-size:15px}.activity-period-bar{display:flex;gap:8px;margin-bottom:20px}.activity-period-btn{padding:8px 18px;border-radius:var(--radius);border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.activity-period-btn.active{background:var(--color-cta);color:var(--color-cta-text);border-color:var(--color-cta)}.activity-view-bar{display:flex;gap:8px;margin-bottom:24px}.activity-view-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:all .15s}.activity-view-btn.active{background:var(--color-cta);color:var(--color-cta-text);border-color:var(--color-cta)}.activity-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--color-border)}.activity-table{width:100%;border-collapse:collapse;font-size:14px}.activity-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--color-text-muted);font-size:13px;border-bottom:1px solid var(--color-border);background:var(--color-surface);white-space:nowrap}.activity-table td{padding:12px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.activity-table tr:last-child td{border-bottom:none}.activity-table tr:hover td{background:var(--color-surface)}.col-title{min-width:160px}.col-num{text-align:center!important;white-space:nowrap;width:60px}.col-num.score{font-weight:700;color:var(--color-cta)}.activity-table a{color:var(--color-cta);text-decoration:none;font-weight:500}.activity-table a:hover{text-decoration:underline}.activity-contrib-link{background:none;border:none;color:var(--color-cta);font-size:14px;font-weight:500;cursor:pointer;padding:0;font-family:inherit;text-align:left}.activity-contrib-link:hover{text-decoration:underline}.activity-loading,.activity-empty{text-align:center;color:var(--color-text-muted);padding:48px 0;font-size:15px}.notifs-section{margin-bottom:24px}.notifs-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 14px;display:flex;align-items:center;gap:10px}.notifs-new-count{background:#e53935;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;line-height:1.4}.notifs-empty{font-size:13px;color:var(--color-text-secondary);margin:0}.notifs-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--color-border)}.notifs-table{width:100%;border-collapse:collapse;font-size:13px}.notifs-table thead tr{background:var(--color-surface, #f5f5f5)}.notifs-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap}.notifs-table td{padding:9px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.notifs-table tbody tr:last-child td{border-bottom:none}.notifs-table tbody tr:hover{background:var(--color-surface, #fafafa)}.notif-new td{background:#fff8e1}.notif-new:hover td{background:#fff3cd}.notif-date{white-space:nowrap;font-size:12px;color:var(--color-text-secondary)}.notif-link{background:none;border:none;padding:0;margin:0;font-size:13px;color:var(--color-primary, #1976d2);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.notif-link:hover{color:var(--color-primary-dark, #1565c0)}.notif-rating{white-space:nowrap}.notif-rating .rating{font-weight:600;color:var(--color-text)}.notif-vote{font-size:16px}.profile-divider{border:none;border-top:1px solid var(--color-border);margin:24px 0}.profile-page .profile-box{max-width:680px}.bubbles-section{margin-bottom:8px}.bubbles-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 14px}.bubbles-empty{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px}.bubbles-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.bubble-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1.5px solid var(--color-border);border-radius:20px;background:var(--color-bg);color:var(--color-text);font-size:14px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s;width:fit-content}.bubble-pill:hover{border-color:var(--color-accent)}.bubble-pill.active{border-color:var(--color-cta);background:var(--color-surface)}.bubble-count{font-size:11px;color:var(--color-text-secondary);font-weight:400}.bubble-panel{margin-top:8px;margin-left:8px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:10px}.bubble-invite-form{display:flex;gap:8px;flex-wrap:wrap}.bubble-invite-form input{flex:1;min-width:180px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:var(--color-bg);color:var(--color-text);outline:none}.bubble-invite-form input:focus{border-color:var(--color-accent)}.bubble-invite-ok{font-size:13px;color:#2e7d32;margin:0}.bubble-invite-err{font-size:13px;color:var(--color-error, #c62828);margin:0}.bubble-default-star{color:#f59e0b;font-size:13px;line-height:1}.bubble-setdefault-btn{background:none;border:none;padding:0;font-size:13px;color:#f59e0b;cursor:pointer;font-family:inherit;width:fit-content;font-weight:500}.bubble-setdefault-btn:hover{text-decoration:underline}.bubble-is-default{font-size:13px;color:#f59e0b;font-weight:500;margin:0}.bubble-leave-btn{background:none;border:none;padding:0;font-size:13px;color:var(--color-text-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;width:fit-content}.bubble-leave-btn:hover{color:var(--color-error, #c62828)}.bubble-create-toggle{font-size:13px;padding:8px 14px;margin-top:4px}.bubble-create-form{margin-top:8px;display:flex;flex-direction:column;gap:10px}.bubble-create-form input{padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:var(--color-bg);color:var(--color-text);outline:none}.bubble-create-form input:focus{border-color:var(--color-accent)}.bubble-create-actions{display:flex;gap:8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #FFFFFF;--color-surface: #F8F6F3;--color-text: #1A1A1A;--color-text-secondary: #6B6B6B;--color-accent: #E8752A;--color-cta: #3D1A00;--color-cta-hover: #5A2800;--color-cta-text: #FFFFFF;--color-border: #E8E3DC;--radius: 8px;--max-width: 1200px}body{font-family:Inter,system-ui,sans-serif;font-size:16px;color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-cta);color:var(--color-cta-text);border:none;padding:12px 24px;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap}.btn:hover{background:var(--color-cta-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:11px 24px;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:border-color .15s;font-family:inherit}.btn-ghost:hover{border-color:var(--color-text-secondary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--color-text)}.field input,.field textarea,.field select{border:1px solid var(--color-border);border-radius:var(--radius);padding:11px 14px;font-size:15px;font-family:inherit;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent)}.field textarea{resize:vertical;min-height:120px;line-height:1.6}.field .hint{font-size:12px;color:var(--color-text-secondary)}.field .counter{font-size:12px;color:var(--color-text-secondary);text-align:right}.field .counter.ok{color:#2e7d32}.field .counter.error{color:#c62828}.badge{display:inline-block;font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em}.badge.accent{background:#fef3ec;color:var(--color-accent);border-color:#fddcc8}.rating{font-size:13px;font-weight:600;color:var(--color-accent)}.msg-error{font-size:13px;color:#c62828;padding:10px 14px;background:#ffebee;border-radius:var(--radius);border:1px solid #FFCDD2}.msg-success{font-size:13px;color:#2e7d32;padding:10px 14px;background:#e8f5e9;border-radius:var(--radius);border:1px solid #C8E6C9}hr{border:none;border-top:1px solid var(--color-border)}
