/* 2026-09-17 product polish: reduce slide/card feel, strengthen app hierarchy */
:root{--surface:#f4ead2;--surface-2:#eadbbb;--surface-3:#fff8e8;--hair:rgba(27,54,48,.18);--shadow:0 8px 22px rgba(13,45,39,.14)}
button{transition:transform .12s ease,filter .12s ease,background .12s ease}button:active{transform:translateY(1px) scale(.985)}
.masthead{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:0}.mast-frame{padding:7px 10px;border-color:rgba(242,231,200,.34)}.mast-frame:after{display:none}.brand-row{margin-top:2px;gap:7px}.brand-row h1{font-size:20px;letter-spacing:.03em}.shape-red{width:9px;height:9px}.shape-yellow{width:20px;height:20px}.mast-frame p{margin-top:3px;font-size:7px;opacity:.5}.mini-label{font-size:7px;opacity:.62}.main{padding-top:0;padding-left:14px;padding-right:14px}.screen-title{margin:10px 2px 8px;align-items:center}.screen-title h2{font-size:24px;margin-top:1px;line-height:1}.screen-title>b{font-size:15px}.screen-title span{font-size:7px;opacity:.68}
.toolbar-card{padding:5px;border:1px solid rgba(242,231,200,.18);background:rgba(246,237,218,.98);box-shadow:0 5px 14px rgba(13,45,39,.12)}.search-box{background:#fffaf0;border-color:var(--hair);border-radius:7px}.search-box input{height:34px}.toolbar-card button,.toolbar-card select{height:36px;border-radius:7px;background:#efe2c1}.segmented{margin:7px 0 9px;border-radius:9px;overflow:hidden;border-color:rgba(242,231,200,.62)}.segmented button{height:36px}.segmented button.active{background:var(--surface);color:var(--deep)}
/* Shelf: integrated display, not a framed poster/card */
.shelf-frame{position:relative;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden}.shelf-frame:before,.shelf-frame:after{display:none!important}.shelf-source-hidden{display:none!important}.shelf-canvas-art{display:block;width:100%;height:auto;max-height:286px;border-radius:12px;box-shadow:0 7px 18px rgba(13,45,39,.16);touch-action:manipulation;background:#e9dfc5}.shelf-grid{position:relative;min-height:296px;padding:18px 10px 19px;display:flex;align-content:flex-end;align-items:flex-end;gap:3px}.book-spine{width:29px!important;min-width:24px;padding:0 3px!important}.empty{padding:18px 14px;border-radius:10px;border-color:rgba(242,231,200,.35)}
.book-list,.wishlist-list{gap:7px}.book-list-row,.wishlist-row{border-radius:10px;box-shadow:0 6px 15px rgba(13,45,39,.12)}.book-list-row{padding:12px}.book-list-row strong,.wishlist-row strong{font-size:15px}.wishlist-row{padding:12px}.wishlist-row>div button{border-radius:7px}
.ticket-button{min-height:38px;padding:0 11px;border-radius:999px;box-shadow:none;border:1px solid rgba(242,231,200,.3)}
/* Stack / reading results: one strong surface, fewer nested boxes */
.poster{padding:18px 16px;border-radius:14px;box-shadow:var(--shadow)}.poster:before{display:none}.stats{padding-bottom:11px}.stats strong{font-size:25px}.stack-stage{min-height:275px;padding-top:18px}.stack-total{padding-top:12px}.stack-total strong{font-size:32px}.record-grid{gap:7px}.record-grid button{min-height:92px;border-radius:9px;background:#fffaf0}.period-tabs{margin-bottom:10px;border-radius:9px;overflow:hidden}.period-tabs button{height:35px}
/* Reader pass: identity card, not a slide */
.reader-pass{padding:18px 16px 15px;border-radius:15px;box-shadow:var(--shadow)}.pass-stripe{width:88px;height:88px;right:-28px;top:-30px}.pass-head strong{font-size:25px}.pass-person{margin:15px 0;grid-template-columns:74px 1fr;gap:12px}.avatar{width:68px;height:78px;border-radius:8px}.pass-stats{border-radius:9px;overflow:hidden}.menu-list{gap:7px;margin-top:12px}.menu-list button{padding:11px 12px;border-radius:10px;box-shadow:0 5px 14px rgba(13,45,39,.11)}
/* Editor: compact mobile sheet, reduce card-on-card look */
.editor-head{padding:calc(7px + env(safe-area-inset-top)) 15px 7px!important;min-height:58px}.editor-head h2{font-size:22px!important}.editor-head span{font-size:7px;opacity:.7}.editor-scroll{padding:10px 12px 16px!important}.search-card,.form-sheet{padding:12px!important;margin-bottom:8px!important;border:0!important;border-radius:13px!important;box-shadow:0 6px 16px rgba(13,45,39,.12)!important}.search-card .section-label{margin-bottom:7px}.lookup-row{gap:6px}.lookup-row input{height:40px;border-radius:8px}.lookup-row button{height:40px;padding:0 11px;border-radius:8px}.scan-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:34px!important;margin-top:7px!important;padding:0 11px!important;font-size:12px!important;font-weight:700!important;background:rgba(45,111,99,.06)!important;border:1px solid rgba(32,50,45,.35)!important;border-radius:8px!important;box-shadow:none!important}.book-form{overflow:hidden}.book-form .two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;width:100%}.book-form .field{min-width:0;width:100%}.book-form .field>span{font-size:11px}.book-form .field>input,.book-form .field>textarea,.book-form .field>.field-button{box-sizing:border-box;display:block;inline-size:100%;width:100%;min-width:0;max-width:100%;border-radius:8px!important}.book-form .field>input,.book-form .field>.field-button{height:40px!important}.book-form .dates input[type=date]{-webkit-appearance:none;appearance:none;inline-size:100%;width:100%;min-width:0;max-width:100%;height:40px!important;padding:0 6px!important;font-size:12px!important}.book-form .dates .field{overflow:hidden}.book-form .rating-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.book-form .recommend-button{min-width:122px;padding:8px 10px;border-radius:8px}.book-form .recommend-button.pending{background:#d6aa2d;color:#173f39;border-color:#173f39}.book-form #recommendStatus:empty{display:none}.rating-stars button{font-size:25px!important;line-height:1!important;padding:2px!important;background:transparent!important;border:0!important}.scanner-card{padding:11px!important;border-radius:13px}.scanner-head{margin-bottom:7px}.scanner-frame{max-height:44vh!important;aspect-ratio:4/3!important;border-radius:10px;overflow:hidden}.scanner-guide{left:13%!important;right:13%!important;top:35%!important;height:24%!important}.editor-foot{position:sticky!important;bottom:0!important;z-index:30!important;padding:8px 12px calc(12px + env(safe-area-inset-bottom))!important;gap:7px;pointer-events:auto!important}.editor-foot button{position:relative;z-index:31;border-radius:9px!important;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.08)}
/* Profile milestone: only achieved fact */
.pass-landmark:empty,.pass-landmark[hidden]{display:none!important}.pass-landmark{border-top:1px solid rgba(28,58,51,.14);padding-top:9px;margin-top:7px}.pass-landmark span{display:none}.pass-landmark b{font-weight:600}
/* Gacha: compact arcade machine with strong physical silhouette */
.gacha-sheet{padding-top:14px!important}.gacha-heading span{font-size:7px;opacity:.65}.gacha-heading h2{font-size:30px!important;margin-top:3px!important}.machine-wrap{position:relative;display:grid!important;grid-template-columns:108px 218px;gap:7px;align-items:end;justify-content:center;max-width:344px;margin:6px auto 14px!important}.gacha-machine{grid-column:2;grid-row:1;justify-self:end;position:relative!important;width:218px!important;height:324px!important;margin:0!important;transform:none!important}.coin-card{grid-column:1;grid-row:1;align-self:end;position:static!important;width:108px!important;min-width:0!important;margin:0 0 24px 0!important;padding:10px 8px!important;transform:none!important;z-index:1;border-radius:10px!important;box-shadow:0 5px 14px rgba(13,45,39,.12)!important}.coin-card strong{font-size:23px!important;line-height:1.05}.coin-card small{font-size:8px!important;line-height:1.3}.machine-body b{display:none!important}.machine-globe{position:absolute!important;left:10px!important;top:0!important;width:198px!important;height:198px!important;aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;background:radial-gradient(circle at 34% 24%,#fffaf0 0 18%,#eee5cf 55%,#ddd1b5 100%)!important;border:5px solid #173f39!important;box-sizing:border-box!important;box-shadow:inset 0 -12px 20px rgba(23,63,57,.08)!important}.machine-globe:before{content:"";position:absolute;left:29px;top:22px;width:50px;height:18px;border-radius:50%;background:rgba(255,255,255,.45);transform:rotate(-20deg);z-index:4}.machine-globe:after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:23px;border-radius:50%;background:rgba(23,63,57,.09);z-index:0}.machine-globe i{position:absolute!important;width:56px!important;height:36px!important;border:3px solid #173f39!important;border-radius:999px!important;overflow:hidden;background:#d6aa2d!important;z-index:1;box-shadow:0 2px 0 rgba(23,63,57,.16)}.machine-globe i:after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:54%;border-left:2px solid #173f39;background:#c64036}.machine-globe i:nth-child(1){left:13px!important;bottom:13px!important;top:auto!important;transform:rotate(9deg)!important}.machine-globe i:nth-child(2){left:64px!important;bottom:8px!important;top:auto!important;transform:rotate(-8deg)!important}.machine-globe i:nth-child(3){left:119px!important;bottom:14px!important;top:auto!important;transform:rotate(12deg)!important}.machine-globe i:nth-child(4){left:33px!important;bottom:44px!important;top:auto!important;transform:rotate(-14deg)!important}.machine-globe i:nth-child(5){left:91px!important;bottom:46px!important;top:auto!important;transform:rotate(7deg)!important}.machine-globe i:nth-child(6){left:65px!important;bottom:77px!important;top:auto!important;transform:rotate(-3deg)!important}.machine-body{position:absolute!important;left:20px!important;top:188px!important;width:178px!important;height:124px!important;border-radius:9px 9px 24px 24px!important;background:linear-gradient(180deg,#c74a3f,#ad372e)!important;border:5px solid #173f39!important;box-shadow:0 8px 16px rgba(13,45,39,.18)!important}.machine-body:before{content:"";position:absolute;left:-8px;right:-8px;top:-10px;height:13px;border-radius:4px;background:#173f39}.machine-mouth{position:absolute!important;left:60px!important;bottom:13px!important;width:50px!important;height:29px!important;border-radius:8px 8px 4px 4px!important;background:#173f39!important;box-shadow:inset 0 5px 0 rgba(255,255,255,.05)}.machine-knob{position:absolute!important;left:81px!important;top:216px!important;width:52px!important;height:52px!important;border-radius:50%!important;border:5px solid #173f39!important;background:radial-gradient(circle at 35% 30%,#efd15e,#d6aa2d 55%,#b58a18)!important;z-index:3;box-shadow:0 3px 0 rgba(23,63,57,.18)!important}.machine-knob:after{content:"";position:absolute;left:50%;top:9px;bottom:9px;width:6px;border-radius:5px;background:#173f39;transform:translateX(-50%) rotate(8deg)}.gacha-capsule{display:none!important}.gacha-pull{min-height:48px!important;border-radius:10px!important;font-weight:800}.draw-result{border-radius:12px!important}
/* Bottom navigation: app chrome */
.bottom-nav{height:calc(66px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);background:rgba(24,61,55,.97);backdrop-filter:blur(12px)}.bottom-nav button{gap:2px;font-size:7px}.bottom-nav i{font-size:17px}.bottom-nav .nav-add i{width:36px;height:36px;font-size:22px;box-shadow:0 3px 8px rgba(0,0,0,.2)}
@media(max-width:390px){.brand-row h1{font-size:19px}.screen-title h2{font-size:23px}.book-form .two-col{gap:7px}.book-form .dates input[type=date]{font-size:11px!important;padding:0 4px!important}.book-form .rating-row{grid-template-columns:1fr;gap:7px}.book-form .recommend-button{width:100%;min-width:0}.machine-wrap{grid-template-columns:98px 202px;gap:4px}.coin-card{width:98px!important}.gacha-machine{width:202px!important;height:310px!important;transform:scale(.94)!important;transform-origin:right bottom!important}.gacha-heading h2{font-size:28px!important}}
