.tbr-app{min-height:100vh;padding:clamp(1.2rem,3vw,2.5rem) clamp(1rem,4vw,3rem) 3rem;background:repeating-linear-gradient(to bottom,transparent 0 31px,var(--rule) 31px 32px),var(--cream)}.tbr-app .tbr-head,.tbr-app .tbr-stage,.tbr-app .tbr-stack-wrap,.tbr-app .tbr-add,.tbr-app .tbr-mine-wrap{max-width:1280px;margin-left:auto;margin-right:auto}.tbr-app .tbr-head{text-align:center;margin-bottom:1rem}.tbr-app .tbr-eyebrow{font-family:var(--font-eyebrow);font-size:.78rem;letter-spacing:.12em;text-transform:lowercase;color:var(--stone);margin:0 0 .3rem}.tbr-app h1{margin:0;font-size:clamp(2.2rem,5vw,3.8rem)}.tbr-app h1 em{font-family:var(--font-hand);font-style:normal;color:#9e3b2a;font-size:1.15em}.tbr-app .tbr-intro{max-width:34rem;margin:.6rem auto 0;color:var(--stone);font-size:1.05rem}.tbr-app .tbr-add{max-width:760px;margin-top:1.4rem;margin-bottom:1.6rem}.tbr-app .tbr-drop{display:grid;place-items:center;gap:.2rem;text-align:center;cursor:pointer;padding:1.6rem 1rem;border:2px dashed #B8743A;border-radius:14px;background:#f5efe1d9;transition:background .15s,transform .15s}.tbr-app .tbr-drop.tbr-over{background:#efe0c4;transform:scale(1.01)}.tbr-app .tbr-drop-big{font-family:var(--font-hand);font-size:2rem;color:#9e3b2a;line-height:1.1}.tbr-app .tbr-drop-small{font-family:var(--font-eyebrow);font-size:.75rem;color:var(--stone)}.tbr-app .tbr-private{font-family:var(--font-eyebrow);font-size:.72rem;color:var(--mist);text-align:center;margin:.6rem 0 0}.tbr-app .tbr-type{margin-top:.8rem;text-align:center}.tbr-app .tbr-type summary{cursor:pointer;font-family:var(--font-hand);font-size:1.35rem;color:var(--ink-pen)}.tbr-app .tbr-type form{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.6rem}.tbr-app input:not([type=file]){font:inherit;font-size:1rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--cream);color:var(--charcoal);min-width:0}.tbr-app .tbr-pending{display:grid;gap:.8rem;margin-top:.9rem}.tbr-app .tbr-pending-card{display:flex;gap:1rem;align-items:center;background:var(--ivory);border:1px solid var(--border);border-radius:12px;padding:.8rem}.tbr-app .tbr-pending-card img{width:86px;aspect-ratio:2 / 3;object-fit:cover;border-radius:3px;box-shadow:0 6px 12px #0003;flex:none}.tbr-app .tbr-fields{display:grid;gap:.4rem;flex:1}.tbr-app .tbr-fields .tbr-pick-actions{justify-content:flex-start;margin-top:.2rem}.tbr-app .tbr-chips{display:flex;flex-wrap:wrap;gap:.3rem}.tbr-app .tbr-chips:empty{display:none}.tbr-app .tbr-chip{font-family:var(--font-eyebrow);font-size:.72rem;padding:.25rem .55rem;border-radius:999px;border:1px solid #B8743A;background:#f5e6cc;color:var(--charcoal);cursor:pointer}.tbr-app .tbr-chip-used{opacity:.4}.tbr-app .tbr-status{margin:0;font-family:var(--font-hand);font-size:1.25rem;color:var(--ink-pen)}.tbr-app .tbr-stage{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem)}.tbr-app .tbr-wheel-wrap{position:relative;width:min(78vh,92vw,640px);aspect-ratio:1;padding-top:1.2rem}.tbr-app #tbr-wheel{width:100%;height:100%;display:block;filter:drop-shadow(0 18px 30px rgba(74,50,34,.28))}.tbr-app .tbr-ribbon{position:absolute;top:-.4rem;left:50%;width:44px;transform:translate(-50%);z-index:2;filter:drop-shadow(0 4px 4px rgba(0,0,0,.3))}.tbr-app .tbr-hub{position:absolute;top:calc(50% + .6rem);left:50%;width:27%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #D4BC7D;background:radial-gradient(circle at 35% 30%,#b8483a,#7c2b1e 70%);color:#faf5ec;cursor:pointer;display:grid;place-content:center;box-shadow:inset 0 -6px 12px #0000004d,0 4px 10px #00000040;transition:transform .15s ease}.tbr-app .tbr-hub:hover{transform:translate(-50%,-50%) scale(1.04)}.tbr-app .tbr-hub:active{transform:translate(-50%,-50%) scale(.97)}.tbr-app .tbr-hub-word{font-family:var(--font-hand);font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1}.tbr-app .tbr-hub-sub{font-family:var(--font-eyebrow);font-size:.62rem;letter-spacing:.08em;opacity:.8}.tbr-app .tbr-pick{width:min(340px,90vw);background:var(--ivory);border:1px solid var(--border);padding:1.4rem 1.4rem 1.2rem;text-align:center;box-shadow:0 14px 30px #4a32222e;position:relative;transform:rotate(-1.2deg)}.tbr-app .tbr-pick:before{content:"";position:absolute;top:-12px;left:50%;width:110px;height:26px;transform:translate(-50%) rotate(2deg);background:var(--tape)}.tbr-app .tbr-pick.tbr-land{animation:tbr-land .55s cubic-bezier(.2,.9,.3,1.2)}@keyframes tbr-land{0%{opacity:0;transform:translateY(24px) rotate(4deg) scale(.92)}to{opacity:1;transform:rotate(-1.2deg)}}.tbr-app .tbr-pick-cover img,.tbr-app .tbr-pick-cover .tbr-blank{width:62%;aspect-ratio:2 / 3;object-fit:cover;display:block;margin:.6rem auto 1rem;box-shadow:0 10px 20px #00000047;border-radius:3px}.tbr-app .tbr-blank{background:var(--cream);display:grid;place-content:center;padding:.6rem;text-align:center;font-family:var(--font-display);font-style:italic;font-size:1.3rem;border:1px solid var(--border)}.tbr-app .tbr-pick h2{margin:0;font-size:1.6rem;line-height:1.15}.tbr-app .tbr-pick-author{font-family:var(--font-eyebrow);font-size:.85rem;color:var(--stone);margin:.4rem 0 0}.tbr-app .tbr-pick-note{font-family:var(--font-hand);font-size:1.3rem;color:var(--ink-pen);margin:.2rem 0 0}.tbr-app .tbr-pick-actions{display:flex;gap:.6rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}.tbr-app .tbr-btn{font-family:var(--font-body);font-size:.95rem;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--stone);background:transparent;color:var(--charcoal);cursor:pointer}.tbr-app .tbr-btn-keep{background:#5f6b3e;border-color:#5f6b3e;color:#faf5ec}.tbr-app .tbr-btn:disabled{opacity:.5}.tbr-app .tbr-stack-wrap,.tbr-app .tbr-mine-wrap{max-width:1000px;margin-top:2.5rem}.tbr-app .tbr-stack-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.tbr-app .tbr-stack-head h3{margin:0;font-family:var(--font-hand);font-size:2.2rem;font-weight:600}.tbr-app .tbr-count{color:var(--mist)}.tbr-app .tbr-link{font-family:var(--font-eyebrow);font-size:.75rem;background:none;border:none;color:var(--mist);cursor:pointer;text-decoration:underline}.tbr-app .tbr-shelf{list-style:none;margin:.8rem 0 0;padding:0 1rem;min-height:200px;display:flex;align-items:flex-end;gap:3px;overflow-x:auto}.tbr-app .tbr-spine{flex:none;background:var(--c);border-radius:3px 3px 1px 1px;position:relative;box-shadow:inset -4px 0 6px #0000002e,inset 3px 0 4px #ffffff1f;display:flex;align-items:center;justify-content:center;animation:tbr-slot .5s ease-out}.tbr-app .tbr-spine:before,.tbr-app .tbr-spine:after{content:"";position:absolute;left:4px;right:4px;height:2px;background:#d4bc7db3}.tbr-app .tbr-spine:before{top:12px}.tbr-app .tbr-spine:after{bottom:12px}.tbr-app .tbr-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-size:.8rem;color:#faf5ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:85%}@keyframes tbr-slot{0%{transform:translateY(-40px);opacity:0}to{transform:none;opacity:1}}.tbr-app .tbr-plank{height:16px;background:linear-gradient(#6b4a33,#4a3222);border-radius:2px;box-shadow:0 8px 14px #4a322240}.tbr-app .tbr-left{font-family:var(--font-hand);font-size:1.4rem;color:var(--stone);text-align:right;margin:.4rem 0 0}.tbr-app .tbr-mine{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem}.tbr-app .tbr-mine-item{display:flex;gap:.7rem;align-items:center;background:var(--ivory);border:1px solid var(--border);border-radius:10px;padding:.5rem}.tbr-app .tbr-mine-item img,.tbr-app .tbr-mine-item .tbr-blank{width:44px;aspect-ratio:2 / 3;object-fit:cover;border-radius:2px;flex:none;font-size:.45rem;padding:2px}.tbr-app .tbr-mine-item div{display:grid;flex:1;min-width:0}.tbr-app .tbr-mine-item strong{font-size:.9rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.tbr-app .tbr-mine-item span{font-family:var(--font-eyebrow);font-size:.7rem;color:var(--stone)}.tbr-app .tbr-x{background:none;border:none;font-size:1.4rem;color:var(--mist);cursor:pointer;line-height:1;padding:0 .3rem}.tbr-app .tbr-x:hover{color:#9e3b2a}
