/* Mobile object system: physical layers, hinged cover, native controls. */
:root{--touch-ink:#44344f;--cloth:#b4a2c9;--edge:#7d688e}
.desk-book{display:block;padding:0;border:0;background:none;box-shadow:none;perspective:1000px;transform:rotate(-2deg);min-height:360px;isolation:isolate;text-align:center}
.desk-book:hover{filter:none;transform:rotate(-2deg)}
.book-pages{position:absolute;inset:9px 4px -1px 8px;border:1px solid #b8acb8;border-radius:5px 15px 15px 5px;background:repeating-linear-gradient(0deg,#fff9e9 0 2px,#d9cec2 2px 3px);box-shadow:0 6px 0 #826d91,10px 20px 24px #44354e38;padding:50px 20px;color:#a496a2;display:flex;flex-direction:column;gap:30px;font-size:1rem;transform:translateZ(-7px)}
.book-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;min-height:360px;padding:26px 26px 28px 40px;border:1px solid #92809f;border-left:15px solid #8c799f;border-radius:5px 15px 15px 5px;background:repeating-linear-gradient(0deg,#ffffff09 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#4e365809 0 1px,transparent 1px 3px),linear-gradient(120deg,#ccbddb,#ab97c2);box-shadow:inset 3px 0 4px #eee2fa99,inset -2px -2px 6px #6f578333;transform-origin:left center;transform-style:preserve-3d;transition:transform .16s;backface-visibility:hidden}
.book-cover:before{content:'';position:absolute;inset:12px 12px 14px 9px;border:1px solid #eee0f075;border-radius:2px 10px 10px 2px;pointer-events:none}
.book-cover:after{content:'';position:absolute;inset:0 auto 0 0;width:9px;background:linear-gradient(90deg,#59456635,transparent);pointer-events:none}
.book-corner{position:absolute;right:0;width:26px;height:26px;border-right:5px solid #c9b5a0;border-radius:0 12px 0 0;filter:drop-shadow(-1px 1px 1px #54444c50)}.corner-top{top:0;border-top:5px solid #e0cfb5}.corner-bottom{bottom:0;transform:rotate(90deg);border-top:5px solid #e0cfb5}
.book-label{font-size:.72rem;letter-spacing:.08em;border-bottom:1px solid #7662807a;padding-bottom:9px}.desk-book strong{font-size:1.8rem;text-shadow:0 1px #e8d9ef}.book-diagram{height:87px;width:210px;color:#70567e}.book-diagram svg{display:block;width:100%;height:74px}.book-diagram b{bottom:-5px;left:0;width:100%;font-size:.8rem;letter-spacing:4px}.book-description{max-width:260px;font-size:.8rem}.book-open{font-size:.86rem;padding-top:12px}.ribbon{left:19px;background:linear-gradient(90deg,#854365,#c578a1,#914b75);width:17px;bottom:-27px;height:29px}
.is-pressed .book-cover{transform:rotateY(-9deg)}.desk-cards.is-pressed{transform:translateY(3px) rotate(-1deg)!important}.desk-game.is-pressed{transform:translateY(3px) rotate(1deg)!important}.primary.is-pressed,.secondary.is-pressed,.choice.is-pressed{translate:0 2px;box-shadow:inset 0 2px 4px #4e395029}
.desk-cards:before,.desk-cards:after{content:'';position:absolute;inset:3px -3px -5px 2px;background:#fcf6e9;border:1px solid #cbbfca;border-radius:7px;z-index:-1;transform:rotate(3deg);transition:transform .2s}.desk-cards:after{inset:6px -5px -9px 3px;z-index:-2;transform:rotate(-3deg)}.desk-cards{isolation:isolate;transform-style:preserve-3d}.desk-cards.is-pressed:before{transform:rotate(7deg)}.desk-cards.is-pressed:after{transform:rotate(-7deg)}
.desk-game{background:repeating-linear-gradient(45deg,#ffffff04 0 1px,transparent 1px 4px),#4a3b56}.tile-pieces i{border:1px solid #ffffff50;box-shadow:inset 0 1px 2px white,0 3px #aa99aa,2px 5px 5px #231a3340;transition:transform .18s}.desk-game.is-pressed .tile-pieces i:nth-child(1){transform:rotate(-12deg) translateY(-3px)}.desk-game.is-pressed .tile-pieces i:nth-child(3){transform:rotate(10deg) translateY(-2px)}
.study-card{position:relative;transform-origin:50% 80%;transition:none;background:radial-gradient(ellipse at 20% 10%,#fff,transparent 65%),#fffaf0;border:1px solid #c7bbc9;box-shadow:0 4px #d0c1d4,0 8px #fff6e8,0 11px #b8a8c1,5px 16px 22px #56436124}
.study-card .swipe-label{position:absolute;top:16px;font-size:1.1rem;font-weight:700;border:2px solid currentColor;border-radius:5px;padding:3px 12px;opacity:0;pointer-events:none}.study-card .swipe-no{left:15px;color:#91546d;transform:rotate(-10deg)}.study-card .swipe-yes{right:15px;color:#49745f;transform:rotate(10deg)}.study-card[data-swipe=no] .swipe-no,.study-card[data-swipe=yes] .swipe-yes{opacity:1}.study-card.dragging{box-shadow:0 5px #d0c1d4,8px 26px 30px #56436130}
.dial-housing{padding:7px;border-radius:50%;background:repeating-conic-gradient(#87768f 0 2deg,transparent 2deg 25deg),#e3d8e6;flex:none}.rotary{width:56px;height:56px;border-radius:50%;background:repeating-conic-gradient(#5d4d69 0 3deg,#75637e 3deg 9deg);border:2px solid #807087;box-shadow:0 4px 0 #4c3c59,2px 6px 8px #42344e40;touch-action:none;cursor:ns-resize;position:relative;outline-offset:5px}.rotary span{position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#9683a1,#655370);box-shadow:inset 0 1px 2px #d2bed3;transform:rotate(var(--angle))}.rotary span:after{content:'';width:3px;height:12px;background:#f3d0dc;position:absolute;left:calc(50% - 1.5px);top:3px;border-radius:2px}.rotary.turning{box-shadow:0 2px 0 #4c3c59,inset 0 0 5px #36253e;translate:0 2px}.rotary:focus-visible{outline:3px solid #765378}.slider-row{gap:9px}.slider-row input{min-width:35px}
@media(max-width:650px){
 body{background-size:auto 100svh;background-position:center top}.brand{padding:calc(7px + env(safe-area-inset-top)) 16px 0;min-height:44px}.brand a{min-height:36px;font-size:.78rem;padding:0 8px}.brand #connection{padding:3px 5px}
 main.workbench{padding:10px 21px 24px;margin:0 auto calc(86px + env(safe-area-inset-bottom));gap:14px}.desk-greeting{background:none;box-shadow:none;transform:none;padding:0;margin:0}.desk-greeting .eyebrow{font-size:.65rem;margin-bottom:4px;letter-spacing:.12em}.desk-greeting .heading{gap:3px}.desk-greeting .heading h1{font-size:1.5rem}.desk-greeting .heading p{font-size:.78rem;color:#5c5266}
 .desk-objects{gap:22px 18px;align-items:stretch;padding:0 4px}.desk-book{width:94%;min-height:0;grid-column:1 / -1;margin:0 0 4px;justify-self:center}.book-cover{min-height:260px;padding:20px 18px 20px 30px;gap:12px}.desk-book strong{font-size:1.65rem}.book-diagram{height:66px;width:180px}.book-diagram svg{height:58px}.book-description{font-size:.74rem;line-height:1.5}.book-open{font-size:.82rem;padding-top:9px}.book-label{font-size:.67rem;padding-bottom:7px}.book-pages{padding:35px 20px}
 .desk-cards{margin:0;padding:17px 8px 12px;gap:5px;min-height:137px;transform:rotate(-3deg)}.desk-cards .eyebrow{font-size:.65rem}.desk-cards strong{font-size:1.1rem}.desk-cards .clock-face{width:37px;height:37px;border-width:3px;margin:3px}.clock-face:before,.clock-face:after{left:15px;bottom:15px;height:12px}.clock-face:after{height:10px}.card-ring{height:28px;top:-13px;border-width:4px;width:15px;left:16px}.desk-game{margin:6px 0 0;padding:17px 10px 12px;gap:6px;justify-content:center;transform:rotate(2deg)}.tile-pieces{margin-bottom:6px;justify-content:center}.tile-pieces i{width:32px;height:32px}.desk-game strong{text-align:center;font-size:.95rem}.desk-game small{text-align:center}.desk-cards small,.desk-game small{font-size:.66rem}
 .desk-record{padding:13px 17px;gap:4px;margin-top:0}.desk-record .eyebrow{font-size:.66rem}.desk-record strong{font-size:.98rem}.desk-record>span:not(.eyebrow){font-size:.76rem}.desk-record small{font-size:.7rem}.challenge-tag{min-height:48px;padding:10px 14px;font-size:.82rem}.desk-caption{font-size:.65rem;margin-top:0}
 nav{bottom:0;width:100%;border-radius:17px 17px 0 0;padding:6px 10px calc(7px + env(safe-area-inset-bottom));border-bottom:0;box-shadow:0 -5px 20px #4e3f5815,inset 0 2px #fff;gap:5px}nav a{min-height:54px;font-size:.65rem;padding:5px 2px;gap:3px}nav svg{width:21px;height:21px}nav a[aria-current]:after{height:2px;width:17px}
 main:not(.workbench){margin:14px 12px calc(96px + env(safe-area-inset-bottom));padding:23px 22px 30px;gap:20px}main:not(.workbench):before{left:10px}.heading h1{font-size:1.5rem}.heading p{font-size:.85rem}.step-track{gap:4px}.step-track span{font-size:.67rem}.study-card{min-height:235px;padding:30px 22px}.study-card p{font-size:1.4rem}.slider-control{padding:12px 9px}.slider-row button{min-width:44px;padding:8px}.dial-housing{padding:5px}.rotary{width:48px;height:48px}.plot canvas{border-width:6px}.classify .choices{gap:6px}.classify .choice{font-size:.85rem;min-width:65px}.feedback{padding:17px}.primary,.secondary,.choice{min-height:48px}
}
@media(max-width:360px){main.workbench{padding-inline:16px}.book-cover{min-height:250px;padding-left:23px}.desk-book strong{font-size:1.45rem}.desk-objects{gap:21px 14px}.desk-game{padding-inline:5px}.tile-pieces i{width:27px;height:29px}.book-description{font-size:.7rem}.slider-row{flex-wrap:wrap}.slider-row input{flex:1;min-width:60px}.rotary{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.book-cover{transform:none!important}.is-pressed{translate:none!important}}.reduce-motion .book-cover{transform:none!important}.reduce-motion .is-pressed{translate:none!important}
