:root{--bg: #000000;--text: #ffffff;--hint: #8e8e93;--link: #ff9500;--button: #ff3b30;--button-text: #ffffff;--secondary-bg: #1c1c1e;--accent-grad: linear-gradient(90deg, #ff3b30, #ff9500);--accent-glow: 0 6px 20px rgba(255, 59, 48, .35);--success: #30d158;--success-bg: rgba(48, 209, 88, .16);--danger: #ff453a;--danger-bg: rgba(255, 69, 58, .16);--warning: #ff9f0a;--warning-bg: rgba(255, 159, 10, .16);--radius-lg: 20px;--radius-md: 16px;--radius-sm: 10px;--shadow-card: 0 4px 16px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;padding:16px 16px 32px}h1{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:4px 0}h2{font-size:15px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.02em;margin:20px 0 10px}p{line-height:1.45}button,input,select{font-family:inherit;font-size:15px}.button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:15px;margin-top:10px;border:none;border-radius:999px;background:var(--accent-grad);color:var(--button-text);font-weight:700;font-size:15px;cursor:pointer;box-shadow:var(--accent-glow);transition:opacity .15s ease,transform .05s ease;text-decoration:none}.button:active{transform:scale(.98)}.button.secondary{background:var(--secondary-bg);color:var(--text);box-shadow:none;border:1px solid rgba(255,255,255,.08)}.button.danger{background:var(--danger-bg);color:var(--danger);box-shadow:none}.button.success{background:var(--success-bg);color:var(--success);box-shadow:none}.button:disabled{opacity:.45;cursor:default;transform:none}.button-row{display:flex;gap:8px}.button-row .button{margin-top:0}.field{display:block;margin-top:14px}.field label{display:block;margin-bottom:6px;color:var(--hint);font-size:13px;font-weight:500}.field input,.field select{width:100%;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--secondary-bg);color:var(--text);transition:border-color .15s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--button)}.segmented{display:flex;flex-direction:column;gap:6px;margin-top:4px}.segmented-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--secondary-bg);box-shadow:var(--shadow-card);cursor:pointer;border:2px solid transparent;transition:border-color .15s ease}.segmented-option.active{border-color:var(--button)}.segmented-option .dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--hint);flex-shrink:0;position:relative}.segmented-option.active .dot{border-color:var(--button)}.segmented-option.active .dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--button)}.card{padding:14px;margin-top:10px;border-radius:var(--radius-lg);background:var(--secondary-bg);box-shadow:var(--shadow-card)}.card.clickable{cursor:pointer;transition:transform .08s ease}.card.clickable:active{transform:scale(.98)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title-row strong{font-size:16px}.rules{margin-top:18px;border-radius:var(--radius-lg);background:var(--secondary-bg);padding:14px}.rules summary{cursor:pointer;font-weight:700;font-size:15px;list-style:none}.rules summary::-webkit-details-marker{display:none}.rules summary:after{content:"▾";float:right;color:var(--hint);transition:transform .15s ease}.rules[open] summary:after{transform:rotate(180deg)}.rules ul{margin:12px 0 0;padding-left:18px;color:var(--text)}.rules li{font-size:14px;line-height:1.5;margin-bottom:8px}.rules li:last-child{margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.neutral{background:var(--bg);color:var(--hint)}.badge.success{background:var(--success-bg);color:var(--success)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-grad);color:var(--button-text);font-weight:700;font-size:14px;flex-shrink:0}img.avatar{object-fit:cover}.avatar-lg{width:84px;height:84px;font-size:30px}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.app-logo{display:flex;align-items:center;gap:5px}.app-logo span{font-size:16px;font-weight:800;letter-spacing:.03em;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.app-header-user{display:flex;align-items:center;gap:8px;background:none;border:none;padding:4px;border-radius:999px;cursor:pointer;color:var(--text);font-size:13px;font-weight:600;max-width:200px}.app-header-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-header{display:flex;align-items:center;gap:14px;margin:8px 0 16px}.profile-name{font-size:20px;margin:0}.ring-hero{display:flex;justify-content:center;margin:12px 0 8px}.ring-wrap{position:relative}.ring-wrap svg{display:block}.ring-segment{cursor:pointer;transition:opacity .15s ease}.ring-segment:hover{opacity:.85}.ring-caption{position:absolute;left:0;right:0;bottom:4%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;pointer-events:none}.ring-value{font-size:22px;font-weight:700}.ring-label{font-size:12px;color:var(--hint);margin-top:2px}.ring-card{background:var(--secondary-bg);border-radius:var(--radius-lg);padding:12px 8px 4px;display:flex;flex-direction:column;align-items:center}.ring-stats{display:flex;gap:28px;padding-bottom:10px;margin-top:4px}.ring-stats>div{text-align:center}.ring-stats .ring-stat-value{font-size:15px;font-weight:700}.ring-stats .ring-stat-label{font-size:11px;color:var(--hint);margin-top:2px}.week-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 10px;margin:0 -4px;-webkit-overflow-scrolling:touch}.week-carousel::-webkit-scrollbar{display:none}.week-card{flex:0 0 auto;width:100%;scroll-snap-align:center;background:var(--secondary-bg);border-radius:var(--radius-lg);padding:14px 8px 6px;display:flex;flex-direction:column;align-items:center}.week-card-header{display:flex;align-items:center;gap:6px;align-self:flex-start;padding-left:8px}.week-card-title{font-weight:700;font-size:14px}.week-card .hint{align-self:flex-start;padding-left:8px;margin-bottom:4px}.hint{color:var(--hint);font-size:13px}.error{color:var(--danger);font-size:14px;margin-top:8px}.back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--link);padding:0;margin-bottom:12px;cursor:pointer;font-size:15px;font-weight:500}.nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.nav-row .back{margin-bottom:0}.home-chip{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:var(--accent-grad);color:#fff;box-shadow:var(--accent-glow);cursor:pointer;flex-shrink:0;transition:transform .05s ease}.home-chip:active{transform:scale(.92)}.progress-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bg)}.progress-row:last-child{border-bottom:none}.progress-row .place{width:18px;color:var(--hint);font-size:13px;font-weight:600;text-align:center;flex-shrink:0}.progress-row .info{flex:1;min-width:0}.progress-row .info .name-line{display:flex;align-items:center;gap:6px;font-weight:600}.progress-bar{height:6px;border-radius:3px;background:var(--secondary-bg);margin-top:6px;overflow:hidden}.progress-bar>div{height:100%;background:var(--accent-grad);border-radius:3px;transition:width .3s ease}.empty-state{text-align:center;padding:40px 16px;color:var(--hint)}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton{border-radius:var(--radius-lg);background:var(--secondary-bg);height:56px;margin-top:10px;animation:skeleton-pulse 1.2s ease-in-out infinite}.review-screenshot{width:100%;border-radius:var(--radius-md);margin-top:10px;display:block;background:var(--bg)}
