@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap";:root{--paper: #f4f1ea;--surface: #faf8f3;--white: #fffefa;--ink: #17201d;--muted: #6e756f;--line: #dcd8ce;--soft-line: #e9e5dc;--accent: #b65f4b;--accent-dark: #8f4333;--accent-soft: #efe0da;--danger: #a33e36;--shadow: 0 20px 60px rgba(36, 38, 34, .09);--serif: "Source Serif 4", "Noto Serif TC", serif;--sans: "Noto Sans TC", system-ui, sans-serif}*{box-sizing:border-box}html{color-scheme:light;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{color:var(--white);background:var(--accent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:13px}.brandMark{position:relative;display:grid;grid-template-columns:1fr 1fr;width:35px;height:35px;overflow:hidden;border-radius:10px;background:var(--ink);box-shadow:inset 0 0 0 1px #ffffff1a}.brandMark:before,.brandMark:after{content:"";position:absolute;background:var(--paper)}.brandMark:before{inset:8px 6px auto;height:4px}.brandMark:after{inset:auto 6px 8px;height:4px}.brandMark i:first-child{margin:0 2px 0 10px;background:var(--accent)}.brandMark i:last-child{margin:0 10px 0 2px;background:var(--paper)}.brand strong,.brand small{display:block}.brand strong{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1}.brand small{margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.homePage{display:flex;flex-direction:column;min-height:100svh;padding:38px clamp(24px,6vw,92px) 28px;background:linear-gradient(135deg,rgba(182,95,75,.05),transparent 45%),var(--paper)}.homeHeader,.homeFooter{display:flex;align-items:center;justify-content:space-between}.homeIntro{width:min(660px,100%);margin:auto auto 38px;padding-top:9vh;animation:rise .45s ease both}.homeIntro h1{margin:0;font-family:var(--serif);font-size:clamp(42px,6vw,78px);font-weight:500;letter-spacing:-.045em;line-height:1.05}.homeIntro>p:last-child{max-width:480px;margin:18px 0 0;color:var(--muted);font-size:17px;line-height:1.8}.portalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(1120px,100%);margin:0 auto auto;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;animation:rise .5s .05s ease both}.portal{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:end;min-height:285px;padding:30px;overflow:hidden;transition:background .2s ease}.portal+.portal{border-left:1px solid var(--line)}.portal:before{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-100px;border-radius:50%;background:var(--accent-soft);transition:transform .35s ease}.portal:hover{background:var(--white)}.portal:hover:before{transform:scale(1.18)}.portal:hover b{transform:translate(3px,-3px)}.portal.books{--accent: #56658f;--accent-soft: #e0e3ed}.portalIndex{align-self:start;color:var(--muted);font-family:var(--serif);font-size:14px}.portal div{position:relative}.portal div p{margin:0 0 8px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.15em}.portal h2{margin:0 0 10px;font-family:var(--serif);font-size:clamp(42px,5vw,64px);font-weight:500;letter-spacing:-.04em}.portal div span{color:var(--muted)}.portal b{position:relative;color:var(--accent);font-size:25px;transition:transform .2s ease}.homeFooter{margin-top:42px;color:var(--muted);font-size:9px;letter-spacing:.16em}.appShell.indigo{--accent: #56658f;--accent-dark: #3f4c74;--accent-soft: #e0e3ed}.appShell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100svh}.sideNav{position:sticky;top:0;display:flex;flex-direction:column;height:100svh;padding:28px 20px 22px;border-right:1px solid var(--line);background:#faf8f3db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sideNav nav{display:grid;gap:5px;margin-top:48px}.navBottom{display:grid;gap:14px;margin-top:auto}.navLink{display:flex;align-items:center;gap:13px;min-height:44px;padding:0 13px;border-radius:12px;color:var(--muted);transition:color .16s,background .16s}.navLink span{width:22px;font-size:20px;line-height:1;text-align:center}.navLink b{font-size:13px;font-weight:500}.navLink:hover{color:var(--ink);background:#17201d0b}.navLink.active{color:var(--accent-dark);background:var(--accent-soft)}.navLink.active b{font-weight:700}.accountActions{display:flex;align-items:center;gap:10px}.sideNav .accountActions{padding:2px 13px}.mainColumn{min-width:0}.mobileNav{display:none}.pageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:54px clamp(26px,4vw,58px) 30px;border-bottom:1px solid var(--line)}.pageHeader h1{margin:0;font-family:var(--serif);font-size:clamp(42px,5vw,65px);font-weight:500;letter-spacing:-.045em;line-height:1}.pageHeader>div:first-child>p:last-child{margin:12px 0 0;color:var(--muted)}.headerButtons{display:flex;gap:10px}.collectionPage,.managerPage{padding:28px clamp(26px,4vw,58px) 80px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:600;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button.primary{color:var(--white);background:var(--accent-dark);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 16%,transparent)}.button.primary:hover{background:var(--accent)}.button.secondary{border-color:var(--line);background:var(--white)}.button.secondary:hover{border-color:#bdb8ad}.button.danger{color:#fff;background:var(--danger)}.button.dangerGhost{color:var(--danger);border-color:#e1c5c2;background:#fff9f8}.button.small{min-height:34px;padding:0 13px}.button.large{min-height:50px;padding:0 24px}.textButton{padding:0;border:0;color:var(--muted);background:transparent;font-size:12px;font-weight:600}.textButton:hover{color:var(--ink)}.dangerText{color:var(--danger)}.searchPanel{position:sticky;top:0;z-index:10;padding:15px;border:1px solid var(--line);border-radius:19px;background:#faf8f3f0;box-shadow:0 9px 28px #2527230e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.searchMain{position:relative;display:flex;align-items:center;gap:10px}.searchMain>span{color:var(--muted);font-size:26px}.searchMain input{width:100%;height:43px;padding:0 72px 0 2px;border:0;outline:0;background:transparent;font-size:16px}.searchMain kbd{position:absolute;right:9px;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--paper);font:11px var(--sans)}.clearButton{position:absolute;right:7px;width:31px;height:31px;border:0;border-radius:50%;background:var(--soft-line)}.searchMain:has(.clearButton) kbd{display:none}.recentSearch{position:absolute;z-index:20;top:calc(100% + 10px);left:24px;right:0;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow)}.recentSearch header{display:flex;justify-content:space-between;padding:6px 9px 8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em}.recentSearch header button{border:0;color:var(--muted);background:transparent;font-size:10px}.recentSearch>button{display:block;width:100%;padding:9px;border:0;border-radius:7px;text-align:left;background:transparent}.recentSearch>button:hover{background:var(--accent-soft)}.filterRow{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--soft-line)}.selectControl{min-width:0}.selectControl select{height:38px;max-width:180px;padding:0 32px 0 12px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--white);font-size:12px}.viewToggle{display:flex;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--white)}.viewToggle button,.iconAction{width:31px;height:30px;border:0;border-radius:6px;color:var(--muted);background:transparent}.viewToggle button.active{color:var(--ink);background:var(--soft-line)}.iconAction{height:38px;border:1px solid var(--line);border-radius:9px;background:var(--white)}.resultLine{display:flex;justify-content:space-between;gap:15px;margin-top:12px;color:var(--muted);font-size:11px}.resultLine small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulkBar{position:sticky;top:132px;z-index:8;display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;margin:14px auto -4px;padding:9px 13px 9px 17px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:14px;background:var(--white);box-shadow:var(--shadow);font-size:12px}.itemGrid{display:grid;gap:18px;margin-top:24px}.itemGrid.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.itemGrid.list{grid-template-columns:1fr;gap:9px}.itemCard{position:relative;min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;animation:fadeUp .28s ease both}.itemCard:hover{transform:translateY(-2px);border-color:#c4bfb4;box-shadow:0 16px 40px #25272316}.itemCard.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.itemCard.dragging{opacity:.45}.cardOpen{display:block;width:100%;height:100%;padding:0;border:0;text-align:left;background:transparent}.cardOpen figure{position:relative;aspect-ratio:4 / 3;margin:0;overflow:hidden;background:#e9e5dc}.cardOpen figure img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.itemCard:hover figure img{transform:scale(1.025)}.imageFallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#aaa59a;font:10px var(--sans);letter-spacing:.14em}.broken img{display:none}.cardCopy{padding:16px 17px 18px}.cardMeta{margin:0 0 7px;overflow:hidden;color:var(--accent-dark);font-size:10px;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.cardCopy h2{display:-webkit-box;margin:0;overflow:hidden;font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.36;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cardCopy mark{padding:0 2px;color:inherit;background:#f4dca2}.bookLine,.cardNote{margin:9px 0 0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.openArrow{position:absolute;right:13px;top:13px;z-index:2;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:var(--ink);background:#fffefae0;opacity:0;transform:translate(-3px,3px);transition:.18s}.itemCard:hover .openArrow{opacity:1;transform:none}.selectCheck{position:absolute;left:12px;top:12px;z-index:4;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;color:#fff;background:#fffefaeb}.itemCard.selected .selectCheck{border-color:var(--accent);background:var(--accent)}.itemGrid.list .itemCard{min-height:112px}.itemGrid.list .cardOpen{display:grid;grid-template-columns:120px 1fr auto;align-items:center}.itemGrid.list .cardOpen figure{width:120px;height:110px;aspect-ratio:auto}.itemGrid.list .cardCopy{padding:16px 21px}.itemGrid.list .cardCopy h2{font-size:21px;-webkit-line-clamp:1}.itemGrid.list .openArrow{position:static;margin-right:22px;opacity:1;background:var(--soft-line);transform:none}.drawerLayer,.modalLayer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#1d232047;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .18s ease both}.detailDrawer{display:flex;flex-direction:column;width:min(480px,100%);height:100%;background:var(--surface);box-shadow:-30px 0 80px #20231f2e;animation:slideIn .23s ease both}.drawerHead,.editorPanel>header,.smallModal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 28px 18px}.closeButton{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--white);font-size:21px}.detailImage{min-height:300px;max-height:43vh;margin:0 28px;border-radius:17px;overflow:hidden;background:#e9e5dc}.detailImage img{width:100%;height:100%;object-fit:contain}.detailImage span{display:grid;place-items:center;height:300px;color:var(--muted);font-size:11px;letter-spacing:.14em}.detailBody{padding:24px 28px;overflow:auto}.detailType{color:var(--accent-dark);font-size:11px;font-weight:700}.detailBody h2{margin:8px 0 24px;font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:-.035em;line-height:1.2}.detailBody dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin:0}.detailBody dl div.full{grid-column:1 / -1}.detailBody dt{margin-bottom:5px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.detailBody dd{margin:0;line-height:1.65}.tag{display:inline-block;margin:2px 5px 2px 0;padding:3px 8px;border-radius:8px;background:var(--accent-soft);font-size:11px}.prewrap{white-space:pre-wrap}.drawerActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:18px 28px 26px;border-top:1px solid var(--line);background:var(--surface)}.drawerActions .button.primary{flex:1}.orderButtons{display:flex;width:100%;gap:8px}.orderButtons .button{flex:1}.modalLayer{align-items:center;justify-content:center;padding:20px}.editorPanel,.smallModal,.tinyModal{max-height:calc(100svh - 40px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);animation:modalIn .2s ease both}.editorPanel{display:flex;flex-direction:column;width:min(760px,100%)}.editorPanel h2,.smallModal h2,.tinyModal h2{margin:3px 0 0;font-family:var(--serif);font-size:30px;font-weight:600}.editorScroll{padding:5px 28px 10px;overflow:auto}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{position:relative;display:grid;align-content:start;gap:7px;min-width:0}.field.full{grid-column:1 / -1}.field>span{font-size:11px;font-weight:700}.field>span b{color:var(--danger)}.field small{color:var(--muted);font-size:10px}.field input,.field textarea,.tinyModal>input,.addControl input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--white);resize:vertical}.field input:focus,.field textarea:focus,.tinyModal>input:focus,.addControl input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.combobox{position:relative}.comboClear{position:absolute;right:7px;top:7px;width:30px;height:30px;border:0;border-radius:50%;background:var(--soft-line)}.comboMenu{position:absolute;z-index:10;top:calc(100% + 5px);left:0;right:0;max-height:220px;padding:5px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:var(--shadow)}.comboMenu button{display:block;width:100%;padding:10px;border:0;border-radius:7px;text-align:left;background:transparent}.comboMenu button:hover{background:var(--accent-soft)}.comboMenu p{margin:5px;color:var(--muted);font-size:11px}.uploadBox{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;min-height:125px;padding:13px;border:1px dashed #bdb8ad;border-radius:13px;background:var(--white)}.uploadBox img{width:120px;height:96px;border-radius:9px;object-fit:contain;background:var(--paper)}.uploadBox>span{color:var(--muted)}.duplicateWarning,.inlineError{margin-top:16px;padding:13px 15px;border:1px solid #e3c78e;border-radius:11px;background:#fff8e8}.duplicateWarning p{margin:6px 0;color:var(--muted);font-size:11px}.formError{color:var(--danger);font-size:12px}.editorPanel>footer,.smallModal>footer,.tinyModal>footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 28px 22px;border-top:1px solid var(--line)}.smallModal{width:min(520px,100%)}.smallModal .stack{display:grid;gap:17px;padding:10px 28px 25px}.tinyModal{width:min(440px,100%);padding:28px}.tinyModal>p{color:var(--muted);line-height:1.7}.tinyModal>footer{margin:24px -28px -28px}.managerGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.managerCard{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}.managerCard>header{display:flex;align-items:center;justify-content:space-between;padding:23px;border-bottom:1px solid var(--soft-line)}.managerCard h2{margin:0;font-family:var(--serif);font-size:30px}.managerCard>header>span{color:var(--muted);font-size:11px}.addControl{display:grid;grid-template-columns:1fr auto;gap:9px;padding:17px 20px;border-bottom:1px solid var(--soft-line)}.settingList{max-height:60vh;overflow:auto}.settingRow{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:66px;padding:12px 20px;border-bottom:1px solid var(--soft-line)}.settingRow:last-child{border-bottom:0}.settingRow strong,.settingRow small{display:block}.settingRow small{margin-top:3px;color:var(--muted);font-size:10px}.settingRow>div:last-child{display:flex;gap:13px;flex-shrink:0}.inlineError{display:flex;justify-content:space-between;margin:20px 0;color:var(--danger);border-color:#e4c2be;background:#fff7f6}.emptyState{display:grid;justify-items:center;margin-top:24px;padding:90px 20px;border:1px dashed var(--line);border-radius:18px;text-align:center}.emptyState>span{color:var(--accent);font-size:36px}.emptyState h2{margin:10px 0 6px;font-family:var(--serif);font-size:28px}.emptyState p{margin:0 0 18px;color:var(--muted)}.skeletonGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:24px}.skeletonCard{height:310px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.skeletonCard span,.skeletonCard i{display:block;border-radius:8px;background:linear-gradient(90deg,#e9e5dc,#f5f2ec,#e9e5dc);background-size:220% 100%;animation:shimmer 1.4s infinite}.skeletonCard span{height:205px;margin:-16px -16px 16px;border-radius:17px 17px 0 0}.skeletonCard i{width:80%;height:12px;margin-top:10px}.skeletonCard i:last-child{width:52%}.toastRegion{position:fixed;right:22px;bottom:22px;z-index:100;display:grid;gap:8px}.toast{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:230px;padding:13px 16px;border-radius:11px;color:#fff;background:var(--ink);box-shadow:var(--shadow);animation:toastIn .2s ease both}.toast button{padding:4px 0;border:0;color:#f2c6b9;background:transparent;font-weight:700}.toast.error{background:var(--danger)}.statusPage,.loginPage{min-height:100svh;padding:35px clamp(24px,6vw,90px);background:var(--paper)}.statusPage section,.loginPage section{width:min(620px,100%);margin:22vh auto 0}.statusPage h1,.loginPage h1{margin:15px 0 10px;font-family:var(--serif);font-size:clamp(42px,6vw,70px);font-weight:500;letter-spacing:-.04em}.statusPage p,.loginPage section>p{color:var(--muted);font-size:16px}.loginPage .button{margin-top:22px}.statusMark{display:block;width:11px;height:11px;border-radius:50%;background:var(--accent)}.statusMark.loading{animation:pulse 1s infinite alternate}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(7px)}}@keyframes fade{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(30px);opacity:.5}}@keyframes modalIn{0%{transform:translateY(10px) scale(.985);opacity:0}}@keyframes toastIn{0%{transform:translateY(8px);opacity:0}}@keyframes shimmer{to{background-position:-120% 0}}@keyframes pulse{to{transform:scale(1.65);opacity:.35}}@media(max-width:1000px){.appShell{grid-template-columns:78px minmax(0,1fr)}.sideNav{align-items:center;padding-inline:12px}.sideNav .brand>span:last-child,.navLink b,.sideNav .accountActions{display:none}.sideNav nav{width:100%}.navLink{justify-content:center;padding:0}.managerGrid{grid-template-columns:1fr}.resultLine small{display:none}}@media(max-width:720px){body{padding-bottom:calc(67px + env(safe-area-inset-bottom))}.homePage{padding:24px 18px 25px}.homeHeader .accountActions{display:none}.homeIntro{margin-top:11vh;padding:0}.homeIntro h1{font-size:44px}.portalGrid{grid-template-columns:1fr;border-radius:20px}.portal{min-height:205px;padding:23px}.portal+.portal{border-top:1px solid var(--line);border-left:0}.portal h2{font-size:42px}.homeFooter{display:none}.appShell{display:block}.sideNav{display:none}.mobileNav{position:fixed;z-index:30;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:5px;border:1px solid var(--line);border-radius:17px;background:#fffefaf0;box-shadow:0 14px 50px #1e211d2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobileNav .navLink{display:grid;justify-items:center;gap:2px;min-height:49px;padding:4px}.mobileNav .navLink span{font-size:19px}.mobileNav .navLink b{display:block;font-size:9px}.pageHeader{align-items:flex-start;padding:28px 17px 20px}.pageHeader h1{font-size:39px}.pageHeader>div:first-child>p:last-child{margin-top:7px}.headerButtons .secondary{display:none}.headerButtons .button{min-height:40px;padding-inline:13px}.collectionPage,.managerPage{padding:15px 12px 35px}.searchPanel{position:relative;top:auto;padding:12px;border-radius:15px}.filterRow{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filterRow::-webkit-scrollbar{display:none}.selectControl{flex:0 0 auto}.selectControl select{max-width:140px}.viewToggle{margin-left:0;flex:0 0 auto}.resultLine{margin-top:8px}.bulkBar{top:8px}.itemGrid{margin-top:13px}.itemGrid.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.itemGrid.grid .cardCopy{padding:12px}.itemGrid.grid .cardCopy h2{font-size:16px}.itemGrid.grid .cardMeta{font-size:9px}.itemGrid.grid .bookLine{font-size:10px}.itemGrid.list{gap:8px}.itemGrid.list .itemCard{min-height:94px}.itemGrid.list .cardOpen{grid-template-columns:92px 1fr 30px}.itemGrid.list .cardOpen figure{width:92px;height:92px}.itemGrid.list .cardCopy{padding:12px 13px}.itemGrid.list .cardCopy h2{font-size:17px;white-space:normal}.itemGrid.list .cardNote{display:none}.itemGrid.list .openArrow{width:27px;height:27px;margin-right:8px}.openArrow{opacity:1;transform:none}.detailDrawer{margin-top:7vh;height:93vh;border-radius:24px 24px 0 0;animation-name:sheetIn}.detailImage{min-height:230px;max-height:34vh}.detailBody h2{font-size:29px}.drawerActions{padding-bottom:calc(21px + env(safe-area-inset-bottom))}.modalLayer{align-items:flex-end;padding:0}.editorPanel,.smallModal,.tinyModal{width:100%;max-height:93svh;border-width:1px 0 0;border-radius:24px 24px 0 0;animation-name:sheetIn}.editorPanel>header,.smallModal>header{padding:20px 19px 15px}.editorScroll,.smallModal .stack{padding-inline:19px}.formGrid{grid-template-columns:1fr}.field.full{grid-column:auto}.field input,.field textarea{font-size:16px}.uploadBox{grid-template-columns:1fr}.editorPanel>footer,.smallModal>footer{padding:14px 19px calc(16px + env(safe-area-inset-bottom))}.tinyModal{padding:24px 20px}.tinyModal>footer{margin:24px -20px -24px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.managerGrid{gap:13px}.managerCard{border-radius:15px}.settingRow{align-items:flex-start;flex-direction:column}.toastRegion{right:12px;left:12px;bottom:calc(78px + env(safe-area-inset-bottom))}.toast{min-width:0}@keyframes sheetIn{0%{transform:translateY(30px);opacity:.5}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sortModeBar{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:17px;background:#fffefaf5;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sortModeBar h2{margin:0;font-family:var(--serif);font-size:24px}.sortModeBar p{margin:5px 0 0;color:var(--muted);font-size:12px}.sortModeBar strong{display:block;margin-top:8px;color:var(--danger);font-size:12px}.sortModeBar>div:last-child{display:flex;flex-shrink:0;gap:9px}.filterPicker{position:relative;flex:0 1 175px;min-width:128px}.filterPicker input{width:100%;height:38px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--white);font-size:12px}.filterPicker input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filterClear{position:absolute;z-index:2;right:6px;top:5px;width:28px;height:28px;border:0;border-radius:50%;color:var(--muted);background:var(--soft-line)}.filterMenu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:max(100%,250px);max-height:min(390px,55vh);padding:6px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow)}.filterMenu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;text-align:left;background:transparent;font-size:12px}.filterMenu button:hover{background:var(--accent-soft)}.filterMenu .allOption{margin-bottom:4px;color:var(--accent-dark);font-weight:700}.filterMenu p{margin:12px 9px;color:var(--muted);font-size:11px}.itemCard{display:grid;grid-template-rows:auto 1fr}.cardImageButton{display:block;width:100%;padding:0;border:0;background:transparent}.cardImageButton:disabled{cursor:grab}.cardImageButton figure{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;margin:0;overflow:hidden;background:linear-gradient(135deg,#ebe7de,#f5f2eb)}.cardImageButton figure img{position:relative;z-index:1;width:100%;height:100%;padding:7px;object-fit:contain;transition:transform .3s ease}.itemCard:not(.sortCard):hover .cardImageButton figure img{transform:scale(1.018)}.cardCopy{min-width:0}.cardMetaLinks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.cardMetaLinks button,.bookLine button,.cardTags button,.metaButton,.detailType,.tagButton{padding:0;border:0;color:var(--accent-dark);background:transparent;font:inherit;text-align:left}.cardMetaLinks button{font-size:10px;font-weight:700}.cardMetaLinks button+button:before{content:"·";margin-right:6px;color:var(--muted)}.cardMetaLinks button:not(:disabled):hover,.bookLine button:not(:disabled):hover,.metaButton:hover,.detailType:hover{text-decoration:underline;text-underline-offset:3px}.cardMetaLinks button:disabled,.bookLine button:disabled,.cardTags button:disabled{cursor:grab}.cardTitleButton{display:block;width:100%;padding:0;border:0;text-align:left;background:transparent}.cardTitleButton:disabled{cursor:grab}.bookLine{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bookLine button,.bookLine span{color:var(--muted)}.bookLine button+span:before{content:"·";margin-right:8px}.cardTags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.cardTags button,.cardTags>span{padding:3px 7px;border-radius:7px;color:var(--accent-dark);background:var(--accent-soft);font-size:9px}.cardTags button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--accent)}.openArrow{border:0}.dragHandle{position:absolute;z-index:5;left:11px;top:11px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffefaf0;font-size:23px;cursor:grab;box-shadow:0 5px 15px #1e211d1a;touch-action:none;-webkit-user-select:none;user-select:none}.sortCard{cursor:grab;border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.sortCard:active,.sortCard:active .dragHandle{cursor:grabbing}.sortCardActions{display:none;position:absolute;z-index:5;right:9px;top:9px;gap:5px}.sortCardActions button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fffefaf2}.sortCardActions button:disabled{opacity:.35}.itemGrid.list .itemCard{grid-template-columns:120px minmax(0,1fr) 42px;grid-template-rows:auto;align-items:stretch}.itemGrid.list .cardImageButton figure{width:120px;height:100%;min-height:110px;aspect-ratio:auto}.itemGrid.list .cardCopy{align-self:center}.itemGrid.list .openArrow{align-self:center;justify-self:center;margin:0}.drawerLayer{align-items:center;justify-content:center;padding:24px}.detailDrawer{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(330px,1.05fr);grid-template-rows:auto minmax(0,1fr) auto;width:min(940px,calc(100vw - 48px));height:min(760px,calc(100svh - 48px));border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface);box-shadow:0 35px 100px #1c201d40;animation:modalIn .22s ease both}.detailDrawer .drawerHead{grid-column:1 / -1;padding:20px 24px 14px;border-bottom:1px solid var(--soft-line)}.detailImage{grid-column:1;grid-row:2;min-height:0;max-height:none;height:auto;margin:20px 0 20px 24px;border-radius:16px}.detailImage img{width:100%;height:100%;padding:10px;object-fit:contain}.detailImage span{height:100%;min-height:300px}.detailBody{grid-column:2;grid-row:2;min-height:0;padding:25px 28px;overflow:auto}.detailBody .detailType{font-size:11px;font-weight:700}.detailBody .metaButton{color:var(--ink)}.tagButton{cursor:pointer}.tagButton:hover{box-shadow:inset 0 0 0 1px var(--accent)}.drawerActions{grid-column:1 / -1;grid-row:3;margin:0;padding:15px 24px 20px}.drawerActions .button.primary{margin-left:auto;flex:0 1 300px}@media(max-width:720px){.headerButtons .customSortButton{display:inline-flex}.headerButtons .batchSelectButton{display:none}.headerButtons{flex-wrap:wrap;justify-content:flex-end}.customSortButton{font-size:11px}.sortModeBar{position:relative;flex-direction:column;align-items:stretch;padding:15px}.sortModeBar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.filterPicker{flex-basis:145px}.filterPicker input{font-size:16px}.filterMenu{position:fixed;z-index:60;left:12px;right:12px;top:auto;bottom:calc(77px + env(safe-area-inset-bottom));width:auto;max-height:48vh;border-radius:16px}.itemGrid.list .itemCard{grid-template-columns:92px minmax(0,1fr) 30px;min-height:104px}.itemGrid.list .cardImageButton figure{width:92px;min-height:102px}.itemGrid.list .cardCopy{padding:11px 10px}.itemGrid.list .openArrow{margin:0}.sortCardActions{display:flex}.sortCard .dragHandle{left:7px;top:7px}.drawerLayer{align-items:center;padding:10px}.detailDrawer{display:flex;flex-direction:column;width:100%;height:min(880px,calc(100svh - 20px));max-height:calc(100svh - 20px);margin:0;border-radius:20px;animation-name:modalIn}.detailDrawer .drawerHead{flex:0 0 auto;padding:15px 16px 10px}.detailImage{flex:0 1 42vh;width:auto;min-height:220px;max-height:42vh;margin:10px 16px 0}.detailBody{flex:1 1 auto;padding:18px;overflow:auto}.detailBody h2{font-size:27px;margin-bottom:18px}.drawerActions{flex:0 0 auto;padding:12px 16px calc(13px + env(safe-area-inset-bottom))}.drawerActions .button.primary{margin-left:0;flex:1}}
