/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--ink:#173832;--ink-soft:#49645f;--forest:#285f55;--forest-dark:#17483f;--mint:#c7ddd4;--blue:#3049db;--blue-soft:#e7eaff;--paper:#f5f1e8;--paper-deep:#e9e2d4;--white:#fffefb;--amber:#d9952c;--amber-soft:#fff0cf;--coral:#c75c48;--coral-soft:#f9e0da;--line:#1738322e;--shadow:0 20px 60px #153a3321;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,sans-serif;font-size:16px;line-height:1.65}button,input,select,textarea{color:inherit;font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}img{max-width:100%;display:block}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:15px;font-weight:800;line-height:1.4}.primary-button,.secondary-button{text-align:center;border-radius:999px;min-height:48px;padding:11px 20px;font-weight:800;line-height:1.3;text-decoration:none;transition:transform .16s,background-color .16s,box-shadow .16s}.primary-button{border:1px solid var(--forest-dark);background:var(--forest-dark);color:#fff;box-shadow:0 8px 20px #17483f29}.secondary-button{border:1px solid var(--line);background:var(--white);color:var(--ink)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.loading-ring{border:3px solid var(--mint);border-top-color:var(--blue);border-radius:50%;width:24px;height:24px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.public-shell{background:radial-gradient(circle at 88% 12%, #3049db1c 0 8%, transparent 26%), var(--paper);min-height:100vh;overflow:hidden}.public-nav{z-index:10;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);min-height:84px;margin:0 auto;display:flex;position:relative}.wordmark{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.wordmark-mark,.staff-brand>span{background:var(--blue);color:#fff;border-radius:4px 9px 9px 4px;place-items:center;width:42px;height:48px;font-family:serif;font-size:22px;font-weight:800;display:grid;box-shadow:inset 5px 0 #fff3}.wordmark strong,.staff-brand strong{font-size:17px;line-height:1.35;display:block}.wordmark small,.staff-brand small{color:var(--ink-soft);font-size:15px;line-height:1.25;display:block}.event-link{color:var(--forest-dark);text-underline-offset:4px;font-size:15px;font-weight:800}.public-hero{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:center;gap:64px;width:min(1180px,100% - 48px);min-height:670px;margin:0 auto;padding:72px 0 100px;display:grid}.hero-copy h1{letter-spacing:-.04em;max-width:700px;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(54px,7vw,96px);font-weight:600;line-height:1.12}.hero-lead{max-width:560px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.9}.event-facts{color:var(--ink);flex-wrap:wrap;gap:12px 28px;margin-top:38px;font-size:15px;font-weight:800;display:flex}.event-facts span:first-child{color:var(--blue);letter-spacing:.08em}.time-orbit{aspect-ratio:1;border:1px solid var(--forest);background:repeating-radial-gradient(circle, transparent 0 38px, #285f5514 39px 40px), var(--mint);border-radius:50%;justify-self:end;max-width:490px;position:relative}.time-orbit:before,.time-orbit:after{content:"";border-radius:50%;position:absolute}.time-orbit:before{border:1px dashed #17383261;inset:17%}.time-orbit:after{background:var(--blue);width:14px;height:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.time-orbit p{z-index:1;text-align:center;width:190px;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(25px,3vw,36px);font-weight:700;line-height:1.45;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-year{z-index:2;background:var(--paper);color:var(--blue);letter-spacing:.07em;padding:5px 10px;font-size:17px;font-weight:900;position:absolute}.orbit-start{top:8%;left:-3%}.orbit-end{bottom:8%;right:-3%}.orbit-line{border-left:2px solid var(--blue);transform-origin:50%;width:70%;height:76%;position:absolute;top:12%;left:15%;transform:rotate(-40deg)}.orbit-line i{border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);width:12px;height:12px;position:absolute;bottom:-7px;left:-7px;transform:rotate(45deg)}.public-catalog{background:var(--white);border-top:1px solid var(--line);padding:104px max(24px,50vw - 590px) 120px;position:relative}.public-catalog:before{content:"";background:linear-gradient(90deg, var(--blue) 0 16%, var(--forest) 16% 72%, var(--amber) 72% 100%);width:min(1180px,100% - 48px);height:7px;position:absolute;top:0;left:50%;transform:translate(-50%)}.catalog-heading,.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.catalog-heading h2,.section-heading h1,.section-heading h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(34px,5vw,58px);line-height:1.2}.catalog-heading>p{color:var(--ink-soft);margin:0 0 8px;font-size:15px;font-weight:700}.catalog-tools{gap:12px;margin-top:44px;display:flex}.search-field{flex:1;display:block}.search-field input{border:1px solid var(--line);background:var(--paper);border-radius:999px;outline:none;width:100%;min-height:50px;padding:10px 18px}.search-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3049db1f}.year-reset{border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:999px;min-height:50px;padding:10px 20px;font-weight:800}.year-reset.is-active{border-color:var(--forest-dark);background:var(--forest-dark);color:#fff}.year-rail{overscroll-behavior-x:contain;scrollbar-color:var(--mint) transparent;gap:2px;margin:28px 0 42px;padding:7px 2px 14px;display:flex;overflow-x:auto}.year-rail button{color:#71817e;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1 0 52px;align-items:center;gap:6px;min-width:52px;padding:8px 4px;font-size:15px;font-weight:700;display:flex}.year-rail button i{background:var(--paper-deep);border-radius:50%;width:6px;height:6px}.year-rail button.has-books{color:var(--ink)}.year-rail button.has-books i{background:var(--blue)}.year-rail button.is-active{background:var(--blue-soft);color:var(--blue)}.public-books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.year-shelf{border:1px solid var(--line);border-radius:var(--radius);background:#fbfaf6;min-height:190px;padding:24px}.year-shelf.has-books{border-top:5px solid var(--forest);padding-top:20px}.year-shelf-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:16px;display:flex}.year-shelf-heading h3{margin:0;font-size:17px;font-weight:600}.year-shelf-heading h3 span{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:34px;font-weight:700}.year-shelf-heading>span{color:var(--ink-soft);font-size:15px;font-weight:700}.year-shelf ol{margin:0;padding:9px 0 0;list-style:none;display:grid}.year-shelf li{border-bottom:1px solid #17383217;grid-template-columns:8px minmax(0,1fr);gap:14px;padding:15px 0;display:grid}.year-shelf li:last-child{border-bottom:0}.book-spine{background:var(--blue);border-radius:2px;min-height:48px}.year-shelf li:nth-child(2n) .book-spine{background:var(--forest)}.year-shelf li:nth-child(3n) .book-spine{background:var(--amber)}.year-shelf h4{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:19px;line-height:1.45}.year-shelf li p,.year-shelf li small{color:var(--ink-soft);margin:3px 0 0;font-size:15px;display:block}.shelf-empty{color:#7c8885;margin:34px 0 10px;font-size:15px}.public-message,.staff-loading{min-height:220px;color:var(--ink-soft);text-align:center;justify-content:center;align-items:center;gap:12px;display:flex}.public-message.is-error{color:var(--coral)}.public-footer{background:var(--forest-dark);color:#fff;justify-content:space-between;align-items:center;gap:24px;min-height:130px;padding:30px max(24px,50vw - 590px);font-size:15px;display:flex}.staff-shell{background:#f3f5f1;min-height:100vh}.staff-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefbf0;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:10px max(20px,50vw - 640px);display:flex;position:sticky;top:0}.staff-brand{align-items:center;gap:11px;display:flex}.staff-brand>span{width:34px;height:38px;font-size:17px}.sync-indicator{background:var(--amber);border-radius:50%;width:8px;height:8px}.staff-tabs{z-index:25;border-bottom:1px solid var(--line);background:#fffefbf5;gap:24px;min-height:54px;padding:0 max(20px,50vw - 640px);display:flex;position:sticky;top:64px}.staff-tabs button{color:var(--ink-soft);background:0 0;border:0;padding:12px 2px 10px;font-size:15px;font-weight:800;position:relative}.staff-tabs button.is-active{color:var(--blue)}.staff-tabs button.is-active:after{content:"";background:var(--blue);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.staff-main{width:min(1040px,100% - 40px);margin:0 auto;padding:20px 0 80px}.staff-alert,.staff-notice{z-index:80;width:min(420px,100% - 40px);box-shadow:var(--shadow);border-radius:14px;padding:14px 18px;font-size:15px;font-weight:700;position:fixed;top:140px;right:20px}.staff-alert{background:var(--coral-soft);color:#823526;border:1px solid #e4a99b;justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-alert button{background:0 0;border:0;font-size:22px}.staff-notice{color:var(--forest-dark);background:#e3f3ed;border:1px solid #83bcaa}.staff-intro{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.staff-intro h1,.book-list-heading h1,.settings-page .section-heading h1{margin:0;font-size:28px;line-height:1.3}.add-book-button{min-width:160px}.summary-strip{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);grid-template-columns:2fr repeat(3,1fr);margin:38px 0 54px;display:grid;overflow:hidden;box-shadow:0 9px 30px #1738320f}.summary-strip>div{border-right:1px solid var(--line);justify-content:center;align-items:center;gap:16px;min-height:118px;padding:24px;display:flex}.summary-strip>div:last-child{border-right:0}.summary-strip>div:not(.progress-summary){flex-direction:column;gap:1px}.summary-strip strong{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:36px;line-height:1}.summary-strip span,.summary-strip p{color:var(--ink-soft);margin:0;font-size:15px;font-weight:700}.progress-summary{justify-content:flex-start!important}.progress-number{white-space:nowrap}.progress-number strong{color:var(--blue);font-size:48px}.progress-number span{color:var(--blue);font-size:17px}.progress-summary>div:last-child{flex:1}.progress-track{background:var(--paper-deep);border-radius:99px;height:9px;margin-top:10px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #6a7bf2);height:100%;transition:width .3s;display:block}.year-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.year-toolbar h1{margin:0;font-size:28px;line-height:1.3}.year-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.compact-button{border:1px solid var(--line);background:var(--white);border-radius:10px;min-height:44px;padding:8px 14px;font-size:15px;font-weight:700}.year-legend{color:var(--ink-soft);flex-wrap:wrap;gap:12px 20px;margin:12px 0 6px;font-size:15px;font-weight:700;display:flex}.year-legend span{align-items:center;gap:7px;display:inline-flex}.year-legend i{border-radius:2px;width:18px;height:9px;display:inline-block}.legend-selected{background:var(--forest)!important}.legend-candidate{background:var(--amber)!important}.legend-target{background:var(--blue)!important;width:2px!important;height:15px!important}.year-bars{border-top:1px solid var(--line)}.year-bar-item{border-bottom:1px solid var(--line);background:#fffefb85}.year-bar-item.is-expanded{background:var(--white)}.year-bar-toggle{text-align:left;background:0 0;border:0;grid-template-columns:20px 72px minmax(120px,1fr) 56px;align-items:center;gap:10px;width:100%;min-height:44px;padding:4px 10px;display:grid}@media (min-width:681px){.year-bar-toggle{grid-template-columns:20px 72px minmax(120px,600px) 56px;justify-content:start}}.year-bar-toggle:hover{background:#3049db0a}.year-bar-chevron{color:var(--ink-soft);text-align:center;font-size:22px;line-height:1;transition:transform .15s;transform:rotate(0)}.year-bar-item.is-expanded .year-bar-chevron{transform:rotate(90deg)}.year-bar-year{font-variant-numeric:tabular-nums;font-size:15px}.year-bar-track{background:#e3e6e1;border-radius:4px;height:9px;display:flex;position:relative}.year-bar-selected,.year-bar-candidate{height:100%;display:block}.year-bar-selected{background:var(--forest);border-radius:4px}.year-bar-candidate{background:var(--amber);border-radius:0 4px 4px 0}.year-bar-target{background:var(--blue);width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.year-bar-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:15px;font-weight:700}.year-bar-books{gap:4px;padding:2px 10px 8px 102px;display:grid}.year-bar-book{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:40px;padding:5px 9px;display:flex}.year-bar-book>span{min-width:0}.year-bar-book strong,.year-bar-book small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.year-bar-book strong{font-size:15px}.year-bar-book small,.year-empty{color:var(--ink-soft);font-size:15px}.year-book-status{border-radius:999px;flex:none;padding:2px 7px;font-size:15px;font-style:normal;font-weight:700}.year-book-status.status-selected{color:var(--forest-dark);background:#e0f1eb}.year-book-status.status-candidate{background:var(--amber-soft);color:#85580f}.year-book-status.status-rejected{color:#66736f;background:#eeeeeb}.year-empty{padding:4px 9px}.book-list-heading{align-items:center}.book-filters{grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;margin-top:22px;display:grid}.book-filters select,.status-select{border:1px solid var(--line);background:var(--white);border-radius:999px;min-height:44px;padding:7px 38px 7px 14px;font-size:15px;font-weight:700}.filter-clear{color:var(--blue);text-underline-offset:4px;background:0 0;border:0;padding:8px 14px;font-size:15px;font-weight:800;text-decoration:underline}.result-count{color:var(--ink-soft);margin:16px 0 8px;font-size:15px;font-weight:700}.staff-book-list{gap:6px;display:grid}.staff-book-card{border:1px solid var(--line);background:var(--white);border-radius:11px;grid-template-columns:minmax(0,1fr) auto;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.staff-book-card:hover{border-color:#3049db66;box-shadow:0 7px 20px #17383212}.book-card-main{text-align:left;background:0 0;border:0;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:grid}.book-year{color:var(--blue);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px;font-weight:900}.book-card-copy{min-width:0}.book-card-copy strong,.book-card-copy span,.book-card-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.book-card-copy strong{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:17px}.book-card-copy span,.book-card-copy small{color:var(--ink-soft);font-size:15px}.photo-badge{background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:4px 9px;font-size:15px;font-weight:800}.book-card-actions{border-left:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.book-card-actions button{background:0 0;border:0;padding:8px 4px;font-size:15px;font-weight:800}.book-card-actions button:not(.danger-button){color:var(--blue)}.danger-button{color:var(--coral)}.status-select{max-width:138px;min-height:38px}.status-select.status-selected{background:#e0f1eb;border-color:#8bb9aa}.status-select.status-candidate{background:var(--amber-soft);border-color:#e4be7c}.status-select.status-rejected{color:#66736f;background:#eeeeeb}.empty-records{border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);text-align:center;margin-top:18px;padding:60px 24px}.empty-records strong{color:var(--ink);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:24px;display:block}.empty-records p{margin:6px 0 0}.settings-page{max-width:960px}.settings-form,.access-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-top:22px;padding:24px}.settings-copy h2,.access-note h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:27px}.settings-copy p,.access-note p{color:var(--ink-soft);margin:6px 0 0}.settings-fields{grid-template-columns:1fr auto 1fr 1fr;align-items:end;gap:16px;margin:0 0 22px;display:grid}.range-separator{color:var(--ink-soft);padding-bottom:11px}.count-input{align-items:center;gap:10px;display:flex}.count-input input{flex:1}.access-note{background:var(--blue-soft)}.mobile-add-button{z-index:35;background:var(--blue);color:#fff;border:0;border-radius:50%;width:60px;height:60px;font-size:32px;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 30px #3049db4d}.editor-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f2a2594;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.book-editor{background:var(--white);border-radius:24px;flex-direction:column;width:min(920px,100%);max-height:min(900px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0b231f4d}.editor-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.editor-header h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:34px;line-height:1.2}.icon-button{border:1px solid var(--line);background:var(--white);border-radius:50%;place-items:center;width:44px;height:44px;font-size:26px;line-height:1;display:grid}.book-editor form{flex-direction:column;flex:1;min-height:0;display:flex}.editor-scroll{flex:1;min-height:0;padding:28px;overflow-y:auto}.photo-panel{border-radius:var(--radius);background:var(--paper);grid-template-columns:minmax(230px,.75fr) minmax(260px,1.25fr);gap:28px;padding:22px;display:grid}.photo-preview{aspect-ratio:4/3;background:var(--white);border:1px dashed #17383259;border-radius:14px;place-items:center;max-height:280px;display:grid;overflow:hidden}.photo-preview img{object-fit:contain;width:100%;height:100%}.photo-preview>div{color:var(--ink-soft);text-align:center}.photo-preview>div span{color:var(--blue);font-size:34px;line-height:1;display:block}.photo-preview>div p{margin:8px 0 0;font-weight:800}.photo-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:12px;display:flex}.ocr-read-button{color:#fff;background:#415f8f;border-color:#415f8f;box-shadow:0 8px 20px #415f8f33}.ocr-read-button:hover{background:#344f7b}.ocr-read-button:disabled{color:#64738d;box-shadow:none;opacity:1;background:#dfe6f1;border-color:#aab8cf;transform:none}.photo-source-buttons,.photo-rotation-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-rotation-buttons .secondary-button{min-height:44px;padding-block:8px}.file-button{cursor:pointer;place-items:center;min-width:0;display:grid}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.status-fieldset{border:0;margin:26px 0 0;padding:0}.status-fieldset legend,.field>span{margin-bottom:7px;font-size:15px;font-weight:800}.status-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.status-option{position:relative}.status-option input{opacity:0;position:absolute}.status-option span{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:12px;place-items:center;min-height:48px;font-size:15px;font-weight:800;display:grid}.status-option input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.status-selected input:checked+span{border-color:var(--forest);color:var(--forest-dark);background:#dff0ea}.status-candidate input:checked+span{background:var(--amber-soft);color:#7a4b00;border-color:#d69b3b}.status-rejected input:checked+span{color:#485651;background:#e9ecea;border-color:#87938f}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;display:grid}.field{flex-direction:column;min-width:0;display:flex}.field-wide{grid-column:1/-1}.field b{color:var(--coral);margin-left:4px;font-size:15px}.field input,.field textarea{border:1px solid var(--line);background:#fff;border-radius:11px;outline:none;width:100%;min-height:48px;padding:11px 13px}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3049db1a}.duplicate-warning{background:var(--amber-soft);color:#704a10;border:1px solid #e4be7c;border-radius:11px;padding:12px 14px;font-size:15px}.form-error{background:var(--coral-soft);color:#873b2c;border-radius:11px;margin:20px 0 0;padding:12px 14px;font-size:15px;font-weight:700}.editor-footer{border-top:1px solid var(--line);background:var(--white);justify-content:flex-end;gap:12px;margin-top:26px;padding:18px 0 0;display:flex}.candidate-save-button{background:var(--amber-soft);color:#704a10;border:1px solid #d69b3b;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:800}.rejected-save-button{color:#485651}.editor-delete-button{border:1px solid var(--coral);background:var(--white);min-height:44px;color:var(--coral);border-radius:999px;margin-right:auto;padding:10px 18px;font-weight:800}@media (max-width:980px){.public-hero{grid-template-columns:1fr;min-height:auto;padding:64px 0 82px}.time-orbit{justify-self:center;width:min(490px,78vw)}.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip .progress-summary{border-right:0;border-bottom:1px solid var(--line);grid-column:1/-1}.year-management-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.book-filters{grid-template-columns:1fr 1fr}.book-filters .search-field{grid-column:1/-1}.staff-book-card{grid-template-columns:1fr}.book-card-actions{border-top:1px solid var(--line);border-left:0}}@media (max-width:680px){.public-nav{width:calc(100% - 32px);min-height:74px}.event-link,.wordmark strong{font-size:15px}.wordmark-mark{width:36px;height:42px;font-size:18px}.public-hero{gap:58px;width:calc(100% - 36px);padding:54px 0 74px}.hero-copy h1{font-size:clamp(48px,14.5vw,66px)}.hero-lead{font-size:17px}.event-facts{flex-direction:column;gap:5px}.time-orbit{width:min(92vw,410px)}.public-catalog{padding:78px 18px 84px}.public-catalog:before{width:calc(100% - 36px)}.catalog-heading,.section-heading,.staff-intro{flex-direction:column;align-items:flex-start}.catalog-heading>p{margin:0}.catalog-tools{flex-direction:column;align-items:stretch}.year-reset{align-self:flex-start}.public-books-grid{grid-template-columns:1fr}.year-shelf{padding:20px}.public-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.public-footer p{margin:0}.staff-header{min-height:60px;padding:9px 16px}.staff-brand strong{font-size:17px}.staff-tabs{gap:20px;min-height:52px;padding:0 16px;top:60px;overflow-x:auto}.staff-main{width:calc(100% - 28px);padding:18px 0 80px}.staff-intro h1,.book-list-heading h1,.settings-page .section-heading h1{font-size:26px}.add-book-button,.book-list-heading>.primary-button{display:none}.mobile-add-button{display:block}.year-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.year-toolbar h1{font-size:26px}.year-toolbar-actions{justify-content:flex-start;width:100%}.year-toolbar-actions .compact-button{flex:1;padding-inline:8px}.year-legend{gap:8px 14px;margin-top:10px}.year-bar-toggle{grid-template-columns:18px 52px minmax(80px,1fr) 44px;gap:6px;min-height:44px;padding:3px 4px}.year-bar-year{font-size:15px}.year-bar-books{padding:2px 4px 8px 28px}.year-bar-book{gap:8px}.book-filters{grid-template-columns:1fr}.book-filters .search-field{grid-column:auto}.book-card-main{grid-template-columns:56px minmax(0,1fr);gap:8px;padding:9px 10px}.photo-badge{display:none}.book-card-actions{grid-template-columns:minmax(0,1fr) auto auto;padding:11px 14px;display:grid}.status-select{width:100%;max-width:none}.settings-form,.access-note{padding:22px}.settings-fields{grid-template-columns:1fr 1fr}.settings-fields .field:last-child{grid-column:1/-1}.range-separator{display:none}.editor-backdrop{align-items:flex-end;padding:0}.book-editor{border-radius:0;width:100%;height:100dvh;max-height:none}.editor-header{padding:18px}.editor-header h2{font-size:28px}.editor-scroll{padding:18px}.photo-panel{grid-template-columns:1fr;gap:16px;padding:16px}.photo-preview{max-height:250px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.status-options{gap:7px}.editor-footer{padding:18px 0 max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;display:grid}.editor-footer button{min-width:0;padding-inline:10px}.editor-footer .editor-cancel{order:2;grid-column:1/-1}.editor-footer .rejected-save-button{order:1;grid-column:1/-1}.editor-footer .editor-delete-button{order:3;grid-column:1/-1;margin-right:0}}@media (max-width:380px){.event-link{text-align:right;max-width:76px;line-height:1.25}.status-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
