.juice-flash--up{animation:juice-flash-up var(--duration-slow) var(--ease-out)}.juice-flash--down{animation:juice-flash-down var(--duration-slow) var(--ease-out)}.juice-flash--neutral{animation:juice-flash-neutral var(--duration-slow) var(--ease-out)}@keyframes juice-flash-up{0%{background-color:#4ade8038}to{background-color:#0000}}@keyframes juice-flash-down{0%{background-color:#f8717138}to{background-color:#0000}}@keyframes juice-flash-neutral{0%{background-color:var(--surface-3)}to{background-color:#0000}}.juice-enter{animation:juice-enter var(--duration-base) var(--ease-emphasized);animation-delay:var(--juice-enter-delay,0s);animation-fill-mode:both}@keyframes juice-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.juice-spark{display:block;overflow:visible}.juice-spark--draw polyline{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:juice-spark-draw var(--duration-slow) var(--ease-out) forwards}@keyframes juice-spark-draw{to{stroke-dashoffset:0}}.juice-ring{display:block}.juice-ring-fill{transition:stroke-dashoffset var(--duration-base) var(--ease-emphasized)}.juice-ring-label{fill:var(--ink-bright);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.juice-live{align-items:center;gap:var(--space-2xs);font-size:var(--text-2xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;display:inline-flex}.juice-live-dot{background:var(--ink-faint);width:7px;height:7px;transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border-radius:50%}.juice-live[data-state=connecting]{color:var(--warn)}.juice-live[data-state=connecting] .juice-live-dot{background:var(--warn);animation:juice-live-pulse 1.2s var(--ease-standard) infinite}.juice-live[data-state=live]{color:var(--success)}.juice-live[data-state=live] .juice-live-dot{background:var(--success);box-shadow:0 0 0 3px #4ade802e}.juice-live[data-state=error]{color:var(--danger)}.juice-live[data-state=error] .juice-live-dot{background:var(--danger)}@keyframes juice-live-pulse{0%,to{opacity:1}50%{opacity:.35}}.juice-ripple{position:relative;overflow:hidden}.juice-ripple:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);animation:juice-ripple var(--duration-slow) var(--ease-out);position:absolute;inset:0;transform:translate(-100%)}@keyframes juice-ripple{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.juice-flash--up,.juice-flash--down,.juice-flash--neutral,.juice-enter,.juice-spark--draw polyline,.juice-ripple:after,.juice-live[data-state=connecting] .juice-live-dot{animation:none}.juice-spark--draw polyline{stroke-dashoffset:0}.juice-ripple:after{display:none}}body{background:var(--bg-0);color:var(--ink);font-family:var(--font-body);margin:0;overflow-x:hidden}.mp-shell{max-width:1280px;padding:calc(var(--header-h) + var(--space-lg)) var(--space-lg) var(--space-2xl);margin:0 auto;position:relative}.mp-back{margin-bottom:var(--space-md);color:var(--ink-dim);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-standard);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.mp-back:hover,.mp-back:focus-visible{color:var(--ink-bright)}.mp-viewer{border:1px solid var(--stroke);border-radius:var(--radius-lg);background:radial-gradient(80% 100% at 50% 0%, var(--surface-2), transparent 70%), var(--surface-1);height:min(62vh,640px);min-height:320px;position:relative;overflow:hidden}.mp-viewer model-viewer{--poster-color:transparent;background:0 0;outline:none;width:100%;height:100%}.mp-viewer .mp-viewer-skeleton{color:var(--ink-faint);font-size:var(--text-sm);place-items:center;display:grid;position:absolute;inset:0}.mp-viewer-actions{right:var(--space-sm);bottom:var(--space-sm);z-index:2;gap:8px;display:flex;position:absolute}.mp-viewer-btn{appearance:none;border:1px solid var(--stroke);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-0) 72%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);align-items:center;gap:6px;padding:8px 12px;text-decoration:none;display:inline-flex}.mp-viewer-btn:hover,.mp-viewer-btn:focus-visible{border-color:var(--stroke-strong);color:var(--ink-bright);transform:translateY(-1px)}.mp-viewer-btn:active{transform:translateY(0)}.mp-viewer-btn--cta{border-color:var(--accent);color:var(--ink-bright)}.mp-viewer-btn--cta:hover,.mp-viewer-btn--cta:focus-visible{background:color-mix(in srgb, var(--accent) 24%, var(--bg-0));border-color:var(--accent)}.mp-viewer-btn--cta:active{background:color-mix(in srgb, var(--accent) 38%, var(--bg-0))}.mp-viewer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-columns{gap:var(--space-xl);margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr) 340px;display:grid}@media (width<=960px){.mp-columns{grid-template-columns:minmax(0,1fr)}}.mp-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink-bright);overflow-wrap:anywhere;margin:0 0 2px;line-height:1.15}.mp-kicker{margin:0 0 var(--space-md);color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.mp-creator{margin:var(--space-md) 0;align-items:center;gap:12px;display:flex}.mp-creator-avatar{border-radius:var(--radius-md);border:1px solid var(--stroke);background:var(--surface-2);object-fit:cover;width:44px;height:44px;color:var(--ink-dim);font-family:var(--font-display);font-size:var(--text-lg);flex:none;place-items:center;display:grid;overflow:hidden}.mp-creator-name{color:var(--ink-bright);font-weight:600;font-size:var(--text-md);text-decoration:none}a.mp-creator-name:hover,a.mp-creator-name:focus-visible{text-decoration:underline}.mp-creator-sub{color:var(--ink-faint);font-size:var(--text-xs)}.mp-follow{appearance:none;border-radius:var(--radius-md);border:1px solid var(--accent);background:var(--accent);color:var(--bg-0);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);margin-left:4px;padding:6px 14px;font-weight:600}.mp-follow:hover,.mp-follow:focus-visible{opacity:.85}.mp-follow[data-following=true]{color:var(--ink);border-color:var(--stroke-strong);background:0 0}.mp-actionbar{padding:var(--space-sm) 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);margin:var(--space-md) 0;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mp-action{appearance:none;border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);align-items:center;gap:7px;padding:8px 12px;text-decoration:none;display:inline-flex}.mp-action:hover,.mp-action:focus-visible{border-color:var(--stroke-strong);color:var(--ink-bright);transform:translateY(-1px)}.mp-action:active{transform:translateY(0)}.mp-action.is-liked{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.mp-action[disabled]{opacity:.5;cursor:not-allowed;transform:none}.mp-stat{color:var(--ink-dim);font-size:var(--text-sm);align-items:center;gap:6px;padding:0 4px;display:inline-flex}.mp-stat b{color:var(--ink-bright);font-weight:600}.mp-geo{align-items:center;gap:var(--space-md);color:var(--ink-dim);font-size:var(--text-sm);margin:var(--space-sm) 0 var(--space-md);flex-wrap:wrap;min-height:22px;display:flex}.mp-geo b{color:var(--ink-bright);font-weight:600}.mp-geo-more{appearance:none;color:var(--accent);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0}.mp-geo-more:hover,.mp-geo-more:focus-visible{text-decoration:underline}.mp-geo-detail{gap:8px var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);font-size:var(--text-sm);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.mp-geo-detail div{justify-content:space-between;gap:8px;display:flex}.mp-geo-detail span{color:var(--ink-faint)}.mp-sim,.mp-provenance{min-height:25px;margin:0 0 var(--space-md);align-items:center;display:flex}.mp-provenance-badge{font-size:var(--text-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:700;text-decoration:none;display:inline-flex}.mp-provenance-badge.verified{color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent);border-color:color-mix(in srgb, var(--success) 36%, transparent)}.mp-provenance-badge.tampered{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:color-mix(in srgb, var(--danger) 36%, transparent)}.mp-provenance-badge.unknown{color:var(--ink-faint);background:var(--surface-1);border-color:var(--border-subtle,transparent)}.mp-provenance-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-tools{gap:var(--space-sm);margin:0 0 var(--space-md);flex-direction:column;display:flex}.mp-tool{border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);transition:border-color var(--duration-fast) var(--ease-standard)}.mp-tool:hover,.mp-tool[open]{border-color:var(--stroke-strong)}.mp-tool>summary{align-items:baseline;gap:var(--space-sm);cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm);color:var(--ink-bright);border-radius:var(--radius-md);flex-wrap:wrap;padding:10px 14px;list-style:none;display:flex}.mp-tool>summary::-webkit-details-marker{display:none}.mp-tool>summary:after{content:"";border-right:1.5px solid var(--ink-dim);border-bottom:1.5px solid var(--ink-dim);width:7px;height:7px;transition:transform var(--duration-fast) var(--ease-standard);align-self:center;margin-left:auto;transform:rotate(45deg)}.mp-tool[open]>summary:after{transform:rotate(225deg)}.mp-tool>summary span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-dim)}.mp-tool>summary:hover{background:var(--surface-2)}.mp-tool>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-tool-body{font-size:var(--text-sm);color:var(--ink-dim);padding:4px 14px 14px}.mp-desc{color:var(--ink);font-size:var(--text-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 var(--space-md);line-height:1.6}.mp-published{color:var(--ink-faint);font-size:var(--text-sm);margin-bottom:var(--space-md);align-items:center;gap:8px;display:flex}.mp-chips{margin-bottom:var(--space-md);flex-wrap:wrap;gap:8px;display:flex}.mp-chip{border:1px solid var(--stroke);background:var(--surface-1);color:var(--ink-dim);font-size:var(--text-xs);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border-radius:999px;align-items:center;padding:4px 10px;text-decoration:none;display:inline-flex}a.mp-chip:hover,a.mp-chip:focus-visible{border-color:var(--stroke-strong);color:var(--ink-bright)}.mp-liked-line{color:var(--ink-dim);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.mp-described{margin:0 0 var(--space-md);border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);padding:12px 14px}.mp-described-text{color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0 0 10px;line-height:1.6}.mp-described-empty{color:var(--ink-dim);font-size:var(--text-sm);margin:0 0 10px}.mp-described .mp-tags{margin-bottom:10px}.mp-chip--tag{color:var(--ink)}.mp-chip--tag:active{transform:translateY(1px)}.mp-chip--tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-described-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-described-source{color:var(--ink-faint);font-size:var(--text-xs)}.mp-action--sm{font-size:var(--text-xs);padding:5px 10px}.mp-action--primary{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.mp-action--primary:hover,.mp-action--primary:focus-visible{color:var(--bg-0);filter:brightness(1.08)}.mp-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-tag-editor-label{color:var(--ink-bright);font-size:var(--text-sm);margin-bottom:8px;font-weight:600;display:block}.mp-tag-editor-label span{color:var(--ink-faint);font-weight:400;font-size:var(--text-xs);margin-left:6px}.mp-tag-field{border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--bg-0);transition:border-color var(--duration-fast) var(--ease-standard);flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.mp-tag-field:hover{border-color:var(--stroke-strong)}.mp-tag-field:focus-within{border-color:var(--accent)}.mp-tag-pill{border:1px solid var(--stroke);background:var(--surface-1);color:var(--ink);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:2px;padding:3px 4px 3px 10px;display:inline-flex}.mp-tag-remove{appearance:none;width:20px;height:20px;color:var(--ink-dim);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;border-radius:50%;place-items:center;font-size:14px;line-height:1;display:inline-grid}.mp-tag-remove:hover{background:var(--surface-2);color:var(--ink-bright)}.mp-tag-remove:active{transform:scale(.92)}.mp-tag-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mp-tag-input{min-width:0;color:var(--ink-bright);font-family:var(--font-body);font-size:var(--text-sm);background:0 0;border:0;flex:140px;padding:5px 6px}.mp-tag-input:focus{outline:none}.mp-tag-input:disabled{cursor:not-allowed;opacity:.6}.mp-tag-error{color:var(--danger);font-size:var(--text-sm);margin:8px 0 0}.mp-tag-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mp-comments{margin-top:var(--space-lg)}.mp-comments h2{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink-bright);margin:0 0 var(--space-md)}.mp-composer{margin-bottom:var(--space-lg);align-items:flex-start;gap:12px;display:flex}.mp-composer textarea{resize:vertical;border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);min-height:76px;color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard);flex:1;padding:10px 12px;line-height:1.5}.mp-composer textarea:focus{border-color:var(--stroke-strong);outline:none}.mp-composer-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.mp-composer-hint{color:var(--ink-faint);font-size:var(--text-xs)}.mp-signin-note{padding:var(--space-md);border:1px dashed var(--stroke);border-radius:var(--radius-md);color:var(--ink-dim);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.mp-signin-note a{color:var(--accent)}.mp-comment{padding:var(--space-sm) 0;border-bottom:1px solid var(--stroke);gap:12px;display:flex}.mp-comment:last-child{border-bottom:0}.mp-comment-avatar{border:1px solid var(--stroke);background:var(--surface-2);object-fit:cover;width:34px;height:34px;color:var(--ink-dim);font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.mp-comment-body{flex:1;min-width:0}.mp-comment-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.mp-comment-author{color:var(--ink-bright);font-weight:600;font-size:var(--text-sm);text-decoration:none}a.mp-comment-author:hover{text-decoration:underline}.mp-comment-when{color:var(--ink-faint);font-size:var(--text-xs)}.mp-comment-text{color:var(--ink);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;line-height:1.55}.mp-comment-delete{appearance:none;color:var(--ink-faint);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0}.mp-comment-delete:hover{color:var(--danger);text-decoration:underline}.mp-side h2{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0 0 var(--space-md)}.mp-suggested{gap:var(--space-sm);flex-direction:column;display:flex}.mp-sugg-card{border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface-1);transition:border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px;text-decoration:none;display:grid}.mp-sugg-card:hover,.mp-sugg-card:focus-visible{border-color:var(--stroke-strong);background:var(--surface-2);transform:translateY(-2px)}.mp-sugg-thumb{border-radius:var(--radius-sm);background:var(--surface-2);object-fit:cover;width:96px;height:72px;color:var(--ink-faint);place-items:center;font-size:20px;display:grid;overflow:hidden}.mp-sugg-title{color:var(--ink-bright);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.mp-sugg-meta{color:var(--ink-faint);font-size:var(--text-xs);gap:10px;margin-top:4px;display:flex}.mp-side-more{margin-top:var(--space-md);border:1px solid var(--stroke);border-radius:var(--radius-md);color:var(--ink);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);padding:8px 14px;text-decoration:none;display:inline-flex}.mp-side-more:hover,.mp-side-more:focus-visible{border-color:var(--stroke-strong);color:var(--ink-bright)}.mp-skeleton{border-radius:var(--radius-md);background:linear-gradient(100deg, var(--surface-1) 40%, var(--surface-2) 50%, var(--surface-1) 60%);background-size:200% 100%;animation:1.4s linear infinite mp-shimmer}@keyframes mp-shimmer{to{background-position:-200% 0}}.mp-skeleton--line{height:16px;margin:8px 0}.mp-skeleton--title{width:60%;height:30px;margin-bottom:12px}.mp-skeleton--card{height:92px}.mp-error,.mp-empty{padding:var(--space-xl);border:1px solid var(--stroke);border-radius:var(--radius-lg);text-align:center;color:var(--ink-dim)}.mp-error h1,.mp-empty h1{color:var(--ink-bright);font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 8px}.mp-error a,.mp-empty a,.mp-error button{color:var(--accent);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-body);background:0 0;border:0;text-decoration:underline}.mp-toast{border:1px solid var(--stroke-strong);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-bright);font-size:var(--text-sm);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);z-index:50;padding:10px 16px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(8px)}.mp-toast.is-on{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.mp-skeleton{animation:none}.mp-action,.mp-sugg-card,.mp-viewer-btn{transition:none}}.mp-edition{margin-top:var(--space-lg,24px);padding:var(--space-md,16px);border:1px solid var(--stroke,#ffffff14);border-radius:var(--radius-lg,16px);background:var(--surface-1,#ffffff08)}.mp-edition-title{margin:0 0 var(--space-2,8px);font-family:var(--font-mono);font-size:var(--text-2xs,11px);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--weight-medium,500);color:var(--ink-dim,#ffffff8c)}.mp-edition-line{font-size:var(--text-md,15px);color:var(--ink,#ffffffe0);margin:0}.mp-edition-form{align-items:center;gap:var(--space-2,8px);margin-top:var(--space-sm,12px);flex-wrap:wrap;display:flex}.mp-edition-label{font-size:var(--text-sm,13px);color:var(--ink-dim,#ffffff9e)}.mp-edition-input{border-radius:var(--radius-pill,999px);border:1px solid var(--stroke,#ffffff24);background:var(--surface-2,#ffffff0d);width:110px;color:var(--ink-bright,#fff);font:inherit;font-family:var(--font-mono);font-size:var(--text-sm,13px);padding:8px 12px}.mp-edition-input:focus-visible{outline:2px solid var(--accent,#7c9cff);outline-offset:1px}.mp-edition-help{font-size:var(--text-xs,12px);color:var(--ink-dim,#ffffff80);flex:100%;margin:0;line-height:1.6}.mp-error a,.mp-empty a,.mp-error button{transition:color var(--duration-fast) var(--ease-standard), text-decoration-thickness var(--duration-fast) var(--ease-standard)}.mp-error a:hover,.mp-empty a:hover,.mp-error button:hover{color:var(--ink-bright);text-decoration-thickness:2px}
