#inspect { position: fixed; inset: 0; z-index: 35; background: rgba(15,17,30,.6); overflow: hidden; }
body.inspecting #soundBtn { z-index: 36; }
.desk { position: absolute; inset: 3vh 2vw 0; border-radius: 22px 22px 0 0; overflow: hidden;
  background: repeating-linear-gradient(90deg, rgba(0,0,0,.04) 0 2px, transparent 2px 46px), linear-gradient(180deg, #b77b45, #9a6334);
  box-shadow: 0 -10px 40px rgba(0,0,0,.4), inset 0 6px 0 rgba(255,255,255,.18); }
.desk::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 40% 30%, rgba(255,230,180,.25), transparent 60%); pointer-events: none; }
.insp-close { position: absolute; right: 16px; top: 14px; z-index: 5; width: 38px; height: 38px; border-radius: 50%; border: none; background: rgba(0,0,0,.3);
  color: #fff; font-size: 18px; cursor: pointer; }
.insp-close:hover { background: rgba(0,0,0,.5); }
.desk-hint { position: absolute; left: 50%; top: 14px; transform: translateX(-50%); color: #ffe9c9; font-weight: 700; font-size: 13px; opacity: .85;
  background: rgba(0,0,0,.2); padding: 5px 12px; border-radius: 999px; }

.ib { position: absolute; left: 3vw; bottom: 5vh; width: 220px; height: 170px; }
.ib-body { position: absolute; left: 0; right: 0; bottom: 0; height: 140px; border-radius: 8px;
  background: linear-gradient(180deg, var(--cardboard-light), var(--cardboard) 30%, #c08245); box-shadow: inset 0 -10px 0 rgba(90,50,10,.18), 0 0 0 3px rgba(60,35,10,.55), 0 18px 28px rgba(0,0,0,.35); }
.ib-inside { position: absolute; left: 6px; right: 6px; top: 24px; height: 18px; background: #5a3412; border-radius: 4px; }
.ib-flap { position: absolute; top: 22px; width: 110px; height: 22px; background: linear-gradient(var(--cardboard-light), var(--cardboard)); box-shadow: 0 0 0 3px rgba(60,35,10,.55); z-index: 2; }
.ib-flap.l { left: 0; border-radius: 6px 0 0 6px; transform-origin: 0 100%; }
.ib-flap.r { right: 0; border-radius: 0 6px 6px 0; transform-origin: 100% 100%; }
.ib-label { position: absolute; left: 22px; right: 22px; bottom: 22px; height: 58px; background: var(--paper); border-radius: 5px; padding: 8px 10px; font-size: 12px;
  line-height: 1.2; overflow: hidden; color: #3b3f58; }
.ib-label b { display: block; color: var(--primary-dark); font-size: 15px; }
.ib-tape { position: absolute; left: -6px; right: -6px; top: 24px; height: 22px; background: rgba(240,220,170,.95); transform: scaleX(0); transform-origin: left; z-index: 3;
  box-shadow: 0 1px 0 rgba(0,0,0,.2); }
.ib-tape.strap { background: var(--red); }

.sheet { position: absolute; left: 50%; top: 6vh; bottom: 4vh; width: min(760px, 58vw); margin-left: max(-380px, -29vw); overflow-y: auto;
  background: #fffef9; border-radius: 4px; padding: 34px 40px 40px; color: #2b2f45; transform: rotate(-.6deg);
  box-shadow: 0 2px 0 #e8e2d0, 0 4px 0 #f3eee0, 0 24px 50px rgba(0,0,0,.35);
  background-image: linear-gradient(rgba(47,107,255,.07) 1px, transparent 1px); background-size: 100% 26px; }
.sheet::before { content: ''; position: absolute; left: 26px; top: 0; bottom: 0; width: 2px; background: rgba(232,69,60,.25); }
.sheet section { margin-bottom: 18px; position: relative; }
.sheet h2 { margin: 4px 0 4px; font-size: 24px; }
.sheet h4:not(.md-h) { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.sheet-head { border-bottom: 2px dashed #e3dccb; padding-bottom: 12px; margin-bottom: 18px; }
.sheet-kicker { font-family: var(--mono); font-size: 11px; color: var(--primary-dark); font-weight: 700; letter-spacing: .06em; }
.sheet-summary { line-height: 1.55; font-size: 15px; }
.sheet-commits { margin: 0; padding-left: 18px; line-height: 1.7; }
.sheet .comments { max-height: none; }
.sheet-log summary { cursor: pointer; font-weight: 700; color: var(--muted); margin-bottom: 8px; }
.sheet-log .log { max-height: none; }
.imprints { position: absolute; inset: 0; pointer-events: none; z-index: 4; }
.imprint-wrap { position: absolute; width: 280px; transform: translate(-50%, -50%) rotate(var(--rot)); animation: imprint-in .25s ease-out; }
@keyframes imprint-in { from { transform: translate(-50%, -50%) rotate(var(--rot)) scale(1.15); opacity: .3; } }
.imprint { display: block; width: 100%; mix-blend-mode: multiply; opacity: .88; }
.imprint.approved { color: #1f9d55; }
.imprint.rejected { color: #d6342b; }

.stamps { position: absolute; right: 2.5vw; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 4vh; z-index: 3; }
.stamp-slot { position: relative; width: 150px; height: 170px; cursor: grab; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.stamp-slot > span { color: #ffe9c9; font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: .1em; margin-top: 6px; }
.pad { position: absolute; bottom: 26px; width: 140px; height: 34px; border-radius: 10px; background: #3b3f58; box-shadow: inset 0 0 0 5px #23263a, 0 6px 10px rgba(0,0,0,.3); }
.pad.approved { background: radial-gradient(#2fbf6c, #1a7a44); }
.pad.rejected { background: radial-gradient(#f0584e, #a52a22); }
.stamp-slot .stamp { position: absolute; bottom: 44px; transition: transform .2s cubic-bezier(.34,1.56,.64,1); }
.stamp-slot:hover .stamp { transform: translateY(-10px) rotate(-4deg); }
.stamp-slot.empty .stamp { opacity: 0; }
.reject-form { position: absolute; right: 2vw; top: 14vh; width: min(380px, 30vw); background: var(--paper); border-radius: 14px; padding: 18px 20px; z-index: 6;
  box-shadow: 0 20px 50px rgba(0,0,0,.4); border-top: 6px solid var(--red); }
.reject-form h3 { margin: 0 0 6px; color: var(--red); }
.reject-form p { margin: 0 0 10px; font-size: 13px; }
.reject-form textarea { margin-bottom: 10px; }

.sheet-cx { margin-top: 8px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 700; }
.sheet-cx .cx-chip { font-size: 13px; }
.ib-body::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; border-radius: 0 0 8px 8px; background: var(--cx); }
