.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid transparent;border-radius:14px;font-weight:700;cursor:pointer;transition:opacity .15s ease}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{background:var(--color-accent);color:var(--color-bg)}.ui-button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-button--ghost{background:transparent;color:var(--color-muted)}.ui-input{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);outline:none}.ui-input:focus{border-color:var(--color-accent)}.ui-input::placeholder{color:var(--color-muted)}.ui-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c}.ui-modal__content{position:fixed;top:50%;left:50%;width:min(100% - 32px,420px);transform:translate(-50%,-50%);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);outline:none}.ui-modal__title{margin:0 0 var(--space-3);font-size:1.125rem}.login-screen{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-bottom));background:var(--color-bg)}.login-screen__panel{display:flex;flex-direction:column;gap:var(--space-3);width:min(100%,24rem);margin:0 auto}.login-screen__title{margin:0}.login-screen__logo{display:block;width:min(100%,16rem);height:auto}.login-screen__text{margin:0;color:var(--color-muted);line-height:1.45}.login-screen__link{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em}.login-screen__action{width:100%}.review-editor{display:flex;flex-direction:column;gap:var(--space-3)}.review-editor__hint{margin:0;color:var(--color-muted);font-size:.875rem}.review-editor__canvas{min-height:180px;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);background:var(--color-surface)}.review-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.review-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.review-card__title{margin:0;font-size:1rem}.review-card__rating{color:var(--color-accent);font-weight:600;white-space:nowrap}.review-card__excerpt{margin:0;color:var(--color-muted);line-height:1.45}.review-card__meta{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-muted);font-size:.8125rem}.feed{display:flex;flex-direction:column;gap:var(--space-4)}.feed__toolbar{display:flex;justify-content:flex-end}.feed__sort{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-muted);font-size:.8125rem}.feed__sort select{min-height:36px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.feed__filters{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.feed__chip{flex:0 0 auto;min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer}.feed__chip--active{border-color:var(--color-accent);color:var(--color-text);background:#3d8bfd24}.feed__list{display:flex;flex-direction:column;gap:var(--space-3)}.feed__empty{margin:0;color:var(--color-muted)}.notes__link{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--color-border)}.user-header{display:flex;gap:var(--space-4);align-items:center}.user-header__avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#3d8bfd33;color:var(--color-accent);font-weight:700}.user-header__info{display:flex;flex-direction:column;gap:var(--space-1)}.user-header__name{margin:0;font-size:1.25rem}.user-header__meta,.user-header__stats{margin:0;color:var(--color-muted);font-size:.875rem}.profile-page{display:flex;flex-direction:column;gap:var(--space-3)}.profile-page__note{margin:0;color:var(--color-muted)}.bottom-nav{position:fixed;bottom:0;left:50%;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;width:min(100%,var(--shell));padding:var(--space-2) var(--space-2) calc(var(--space-2) + var(--safe-bottom));transform:translate(-50%);border-top:1px solid var(--color-border);background:#101413f5}.bottom-nav__link{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:48px;border-radius:var(--radius-sm);color:var(--color-muted);font-size:.6875rem;font-weight:600;line-height:1.15;text-align:center}.bottom-nav__link--active{color:var(--color-text);font-weight:800;box-shadow:inset 0 -2px 0 var(--color-text)}.bottom-nav__create{justify-self:center;width:52px;height:52px;margin-top:-18px;border-radius:50%;background:var(--color-accent);color:var(--color-bg)}.bottom-nav__create.bottom-nav__link--active{box-shadow:0 0 0 2px var(--color-text)}.bottom-nav__icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{display:flex;flex-direction:column;width:min(100%,var(--shell));min-height:100dvh;margin:0 auto;background:var(--color-bg)}@media(min-width:520px){.app-shell{border-inline:1px solid var(--color-border)}}.app-shell__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;min-height:52px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:#101413eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell__back{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.app-shell__brand{display:inline-flex;align-items:center;line-height:0}.app-shell__logo{display:block;height:28px;width:auto}.app-shell__main{flex:1;padding:var(--space-4);padding-bottom:calc(96px + var(--safe-bottom))}.app-shell__main--solo{padding-bottom:calc(var(--space-4) + var(--safe-bottom))}:root{color-scheme:dark;--color-bg: #101413;--color-surface: #1b2220;--color-border: #303b35;--color-text: #f2f4f0;--color-muted: #929f99;--color-accent: #a4c8ac;--color-gold: #d3ac76;--color-danger: #e35d6a;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--font-sans: "Manrope", "Segoe UI", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--shell: 480px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);background:#0c0f0e;color:var(--color-text);line-height:1.45;-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}::selection{background:var(--color-accent);color:var(--color-bg)}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--color-muted)}.screen{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-5)}.screen ul,.screen ol{margin:0;padding:0;list-style:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.chip{flex:0 0 auto;min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);font-size:.875rem;font-weight:600}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px}.topbar h1{font-size:1rem;font-weight:700;text-align:center}.topbar__end{display:flex;justify-content:flex-end}.back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
