:root{--bb-blue: #1B3F8B;--bb-blue-dark: #122a5e;--bb-yellow: #FFC72C;--bb-yellow-dark: #d8a615;--bb-cream: #f7f1de;--bb-paper: #fffdf6;--bb-ink: #1a1a1a;--bb-shadow: 0 6px 18px rgba(0, 0, 0, .18);--bb-radius: 6px;--bb-font-display: "Impact", "Oswald", "Arial Narrow", sans-serif;--bb-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bb-font-handwritten: "Caveat", "Marker Felt", "Comic Sans MS", cursive}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--bb-font-body);background:var(--bb-cream);color:var(--bb-ink);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit}.hb-app{min-height:100vh;display:flex;flex-direction:column}.hb-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 20px 60px}.hb-header{background:var(--bb-blue);color:#fff;position:sticky;top:0;z-index:10;box-shadow:var(--bb-shadow)}.hb-header__inner{max-width:1400px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hb-logo{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:var(--bb-font-display);letter-spacing:1px}.hb-logo__ticket{background:var(--bb-yellow);color:var(--bb-blue);padding:4px 10px;border-radius:3px;font-size:18px;transform:rotate(-2deg);box-shadow:0 2px 0 var(--bb-yellow-dark)}.hb-logo__word{color:#fff;font-size:24px}.hb-nav{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.hb-nav__link{text-decoration:none;color:#fff;padding:8px 14px;border-radius:999px;border:2px solid transparent;font-weight:600;font-size:14px;letter-spacing:.4px;text-transform:uppercase}.hb-nav__link:hover{background:#ffffff1a}.hb-nav__link.is-active{background:var(--bb-yellow);color:var(--bb-blue)}.hb-search{position:relative;flex:1 1 240px;max-width:360px;min-width:180px}.hb-search__input{width:100%;background:#fffffff2;border:2px solid var(--bb-yellow);border-radius:999px;padding:8px 14px;font-size:14px;font-family:var(--bb-font-body);color:var(--bb-ink)}.hb-search__input:focus{outline:2px solid var(--bb-yellow);outline-offset:1px}.hb-search__dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bb-paper);border:2px solid var(--bb-blue);border-radius:8px;box-shadow:0 10px 30px #00000040;max-height:380px;overflow-y:auto;z-index:50}.hb-search__hint{padding:12px 14px;font-size:13px;color:#555;font-style:italic}.hb-search__section{padding:8px 12px 4px;background:var(--bb-blue);color:var(--bb-yellow);font-family:var(--bb-font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;position:sticky;top:0;z-index:1}.hb-search__result{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent;border:0;border-bottom:1px dashed rgba(27,63,139,.15);text-align:left;padding:8px 10px;display:flex;gap:10px;align-items:center;cursor:pointer}.hb-search__result:hover{background:#ffc72c2e}.hb-search__result:last-child{border-bottom:0}.hb-search__thumb{width:40px;height:60px;object-fit:cover;border-radius:3px;border:1.5px solid var(--bb-blue);flex:0 0 auto}.hb-search__meta{min-width:0;flex:1}.hb-search__title{font-weight:700;color:var(--bb-blue);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-search__sub{font-size:12px;color:#444}.hb-search__providers{color:var(--bb-blue);font-weight:600}.hb-search__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hb-search__badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.hb-search__badge--rent{background:#fff;color:var(--bb-blue);border:1.5px dashed var(--bb-blue)}.hb-search__badge--none{background:#eee;color:#777;font-weight:600;font-style:italic}.hb-search__result.is-dim{opacity:.78}.hb-search__result.is-dim .hb-search__title{color:#444}.hb-search__result.is-dim:hover{opacity:1;background:#ffc72c2e}.hb-header__me{display:flex;align-items:center;gap:10px;font-size:13px}.hb-header__greet{color:#fff;font-weight:600;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.hb-header__greet:hover{text-decoration:underline}.hb-header__memberno{background:var(--bb-yellow);color:var(--bb-blue);padding:1px 6px;border-radius:3px;font-family:var(--bb-font-display);font-size:12px;letter-spacing:1px;margin-right:4px}.hb-header__signout{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.hb-header__signout:hover{background:#ffffff1a}.hb-header__tear{height:12px;background:radial-gradient(circle at 6px 12px,var(--bb-cream) 6px,transparent 7px) repeat-x;background-size:12px 12px}.hb-floor__chips{margin-bottom:24px}.hb-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hb-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:2px solid var(--bb-blue);color:var(--bb-blue);padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:transform .08s ease}.hb-chip:hover{transform:translateY(-1px)}.hb-chip.is-active{background:var(--bb-blue);color:#fff}.hb-shelf{margin:30px 0}.hb-shelf__sign{background:var(--bb-yellow);color:var(--bb-blue);padding:8px 16px;display:inline-block;font-family:var(--bb-font-display);text-transform:uppercase;border-radius:4px 4px 0 0;box-shadow:inset 0 -3px 0 var(--bb-yellow-dark);transform:rotate(-.5deg);margin-bottom:8px}.hb-shelf__sign--staff{background:var(--bb-blue);color:var(--bb-yellow);box-shadow:inset 0 -3px 0 var(--bb-blue-dark)}.hb-shelf__title{margin:0;font-size:22px;letter-spacing:1.5px}.hb-shelf__subtitle{margin:2px 0 0;font-size:12px;font-family:var(--bb-font-body);font-weight:600;text-transform:none;letter-spacing:.2px;opacity:.85}.hb-shelf__rail{display:flex;gap:14px;overflow-x:auto;padding:12px 4px 22px;scroll-snap-type:x proximity;border-bottom:4px solid var(--bb-blue);box-shadow:0 6px 0 -2px var(--bb-blue-dark)}.hb-shelf__empty{padding:20px;color:var(--bb-blue);font-style:italic}.hb-poster{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:pointer;flex:0 0 auto;width:160px;scroll-snap-align:start;text-align:left;transition:transform .12s ease}.hb-poster:hover{transform:translateY(-4px)}.hb-poster__art{width:100%;aspect-ratio:2/3;background:var(--bb-blue);border-radius:var(--bb-radius);overflow:hidden;border:2px solid var(--bb-ink);box-shadow:3px 3px 0 var(--bb-blue-dark)}.hb-poster__art img{width:100%;height:100%;object-fit:cover;display:block}.hb-poster__spine{margin-top:6px;display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:12px}.hb-poster__title{font-weight:700;color:var(--bb-blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-poster__year{color:#555;font-variant-numeric:tabular-nums}.hb-poster--skeleton{background:#e6dfc6;border-radius:var(--bb-radius);width:160px;height:240px;flex:0 0 auto;animation:hb-pulse 1.4s ease-in-out infinite}@keyframes hb-pulse{0%,to{opacity:.6}50%{opacity:1}}.hb-staffpick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--bb-paper);padding:8px 8px 10px;cursor:pointer;flex:0 0 auto;width:180px;scroll-snap-align:start;text-align:left;border-radius:var(--bb-radius);box-shadow:2px 2px 0 var(--bb-blue-dark);border:2px solid var(--bb-blue);transition:transform .12s ease}.hb-staffpick:hover{transform:translateY(-4px) rotate(-.3deg)}.hb-staffpick__art{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:3px;display:block}.hb-staffpick__note{margin-top:8px;font-family:var(--bb-font-handwritten);font-size:16px;line-height:1.2;color:var(--bb-ink)}.hb-browse{display:flex;flex-direction:column;gap:18px}.hb-browse__aisle-sign{color:#fff;padding:14px 20px;border-radius:var(--bb-radius);box-shadow:var(--bb-shadow);display:flex;align-items:baseline;gap:14px}.hb-browse__aisle-label{text-transform:uppercase;font-size:12px;letter-spacing:1px;opacity:.8}.hb-browse__aisle-title{margin:0;font-family:var(--bb-font-display);font-size:32px;letter-spacing:1px}.hb-browse__service-switcher{display:flex;flex-wrap:wrap;gap:8px}.hb-browse__filters{display:flex;flex-wrap:wrap;gap:14px;background:#fff;padding:14px;border:2px dashed var(--bb-blue);border-radius:var(--bb-radius)}.hb-browse__filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--bb-blue);text-transform:uppercase;letter-spacing:.5px}.hb-browse__filters input,.hb-browse__filters select{padding:6px 8px;border:1.5px solid var(--bb-blue);border-radius:4px;font-size:14px;min-width:110px;background:var(--bb-paper);font-family:var(--bb-font-body)}.hb-browse__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.hb-browse__count{margin-left:auto;background:#ffffff2e;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.hb-browse__sentinel,.hb-browse__end{text-align:center;padding:24px 16px 8px;font-size:13px;color:var(--bb-blue);font-weight:600;letter-spacing:.4px;text-transform:uppercase}.hb-browse__end{font-family:var(--bb-font-display);font-size:16px;letter-spacing:1px;opacity:.7}.hb-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1eb8;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.hb-modal__panel{background:var(--bb-paper);border-radius:10px;width:min(900px,100%);position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080;border:3px solid var(--bb-blue)}.hb-modal__close{position:absolute;top:10px;right:10px;z-index:2;background:var(--bb-yellow);border:2px solid var(--bb-blue);color:var(--bb-blue);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}.hb-modal__backdrop{height:220px;background-size:cover;background-position:center;filter:brightness(.55)}.hb-modal__body{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:18px}.hb-modal__poster{width:100%;border-radius:4px;border:2px solid var(--bb-blue);box-shadow:3px 3px 0 var(--bb-blue-dark)}.hb-modal__title{margin:0 0 8px;font-family:var(--bb-font-display);font-size:28px;color:var(--bb-blue);letter-spacing:.8px}.hb-modal__year{font-weight:400;color:#555;font-family:var(--bb-font-body);font-size:18px}.hb-modal__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--bb-blue);font-weight:600;border-top:1px dashed var(--bb-blue);border-bottom:1px dashed var(--bb-blue);padding:6px 0}.hb-modal__tagline{font-style:italic;color:#555;margin:10px 0}.hb-modal__overview{line-height:1.5;color:#222}.hb-modal__loading,.hb-modal__error{padding:40px;text-align:center;color:var(--bb-blue)}.hb-love{margin-top:16px}.hb-love__label{font-size:12px;font-weight:700;color:var(--bb-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.hb-love__buttons{display:flex;flex-wrap:wrap;gap:8px}.hb-love__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:2px solid var(--bb-blue);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .08s ease}.hb-love__btn:hover{transform:translateY(-1px)}.hb-love__btn span{font-size:16px;line-height:1}.hb-love--locked{font-size:13px;color:#555}.hb-shelf__sign--foryou{background:linear-gradient(95deg,#e50914,#1b3f8b);color:#fff;box-shadow:inset 0 -3px #0003}.hb-admin{background:var(--bb-paper);border:2px dashed var(--bb-blue);border-radius:var(--bb-radius);padding:16px;margin:12px 0 20px}.hb-admin__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.hb-admin__header h3{margin:0;font-family:var(--bb-font-display);color:var(--bb-blue);letter-spacing:1px}.hb-admin__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}.hb-admin__form label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--bb-blue);text-transform:uppercase;letter-spacing:.4px}.hb-admin__form input[type=text],.hb-admin__form input[type=email],.hb-admin__form input[type=number]{padding:8px 10px;border:1.5px solid var(--bb-blue);border-radius:4px;font-size:14px;background:#fff;font-family:var(--bb-font-body)}.hb-admin__check{flex-direction:row!important;align-items:center;gap:8px!important;text-transform:none!important;font-weight:600!important;font-size:13px!important}.hb-admin__form button[type=submit]{grid-column:1 / -1}.hb-admin__ok{grid-column:1 / -1;background:#e6f7e8;border:1.5px solid #1d8a3a;color:#155f28;padding:8px 10px;border-radius:4px;font-size:13px}.hb-profile{display:flex;flex-direction:column;gap:20px}.hb-profile__header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;background:var(--bb-blue);color:#fff;border-radius:var(--bb-radius);box-shadow:var(--bb-shadow)}.hb-profile__label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--bb-yellow);font-weight:700}.hb-profile__name{margin:4px 0 2px;font-family:var(--bb-font-display);font-size:32px;letter-spacing:1px}.hb-profile__slug{font-size:13px;opacity:.8}.hb-profile__badge{background:var(--bb-yellow);color:var(--bb-blue);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.hb-profile__badge--visitor{background:#fff}.hb-signin{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:24px}.hb-signin__card{background:var(--bb-paper);border:3px solid var(--bb-blue);border-radius:10px;padding:28px 26px;max-width:440px;width:100%;box-shadow:6px 6px 0 var(--bb-blue-dark);position:relative}.hb-signin__sticker{position:absolute;top:-14px;right:14px;background:var(--bb-yellow);color:var(--bb-blue);padding:4px 10px;font-family:var(--bb-font-display);letter-spacing:2px;font-size:14px;border-radius:3px;transform:rotate(2deg);box-shadow:0 2px 0 var(--bb-yellow-dark)}.hb-signin__title{font-family:var(--bb-font-display);color:var(--bb-blue);margin:0 0 8px;font-size:26px;letter-spacing:1px}.hb-signin__sub{color:#444;font-size:14px;margin:0 0 18px;line-height:1.4}.hb-signin__form{display:flex;flex-direction:column;gap:12px}.hb-signin__form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--bb-blue);text-transform:uppercase;letter-spacing:.5px}.hb-signin__form input{padding:10px 12px;border:2px solid var(--bb-blue);border-radius:4px;font-size:16px;font-family:var(--bb-font-body);background:#fff}.hb-signin__btn{margin-top:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bb-blue);color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:800;font-size:15px;letter-spacing:.6px;text-transform:uppercase;cursor:pointer}.hb-signin__btn:disabled{opacity:.6;cursor:progress}.hb-signin__err{background:#ffe7e7;border:1.5px solid #c2261c;color:#8a1812;padding:8px 10px;border-radius:4px;font-size:13px}.hb-watch{margin-top:16px}.hb-watch__label{font-size:12px;font-weight:700;color:var(--bb-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.hb-watch__buttons{display:flex;flex-wrap:wrap;gap:8px}.hb-watch__btn{text-decoration:none;padding:8px 14px;border-radius:4px;font-weight:800;font-size:14px;border:2px solid rgba(0,0,0,.2);box-shadow:2px 2px #0000002e}.hb-watch__btn:hover{transform:translateY(-1px)}.hb-watch--empty{font-size:14px;color:#444}.hb-footer{background:var(--bb-blue);color:#fff;padding:24px 20px 30px;margin-top:auto;text-align:center}.hb-footer__rewind{display:inline-block;background:var(--bb-yellow);color:var(--bb-blue);padding:6px 14px;border-radius:4px;font-family:var(--bb-font-display);letter-spacing:2px;margin-bottom:10px;transform:rotate(-1.2deg)}.hb-footer__line{font-size:13px;opacity:.85}.hb-footer__line a{color:var(--bb-yellow)}.hb-empty{padding:40px;text-align:center;color:var(--bb-blue)}.hb-404 h1{font-family:var(--bb-font-display);color:var(--bb-blue);letter-spacing:1px}@media (max-width: 640px){.hb-modal__body{grid-template-columns:1fr}.hb-modal__poster{max-width:220px}.hb-logo__word{font-size:18px}.hb-logo__ticket{font-size:14px}.hb-shelf__title{font-size:18px}}
