:root{--bg:#020908;--bg2:#061413;--text:#eceae4;--muted:#aab1ad;--line:rgba(230,239,235,.16);--panel:rgba(5,17,16,.82);--accent:#d9e7e1;--danger:#d6a8a8;--jp:"Hina Mincho","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Instrument Sans",sans-serif;--serif:"Instrument Serif",serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:var(--sans);font-weight:300;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0}.view{display:none;min-height:100vh;position:relative}.view.is-active{display:block}.ambient-bg{position:fixed;inset:0;overflow:hidden;z-index:0;background:#020908}.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bg-mobile{display:none}.bg-shade{position:absolute;inset:0;background:rgba(1,8,7,.37)}.collection-ambient .bg-video{filter:brightness(.22) saturate(.55);opacity:.55}.collection-ambient .bg-shade{background:rgba(1,8,7,.72)}.bg-grain{position:absolute;inset:0;opacity:.09;background-image:radial-gradient(rgba(255,255,255,.25) .45px,transparent .55px);background-size:4px 4px;mix-blend-mode:soft-light}.menu-trigger{position:fixed;top:30px;right:34px;width:46px;height:46px;z-index:35;cursor:pointer}.menu-trigger span{position:absolute;left:12px;width:22px;height:1px;background:rgba(238,234,228,.92);transition:.3s}.menu-trigger span:first-child{top:19px}.menu-trigger span:last-child{top:26px}.home-center{position:relative;z-index:3;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.object-button{width:min(46vw,560px);aspect-ratio:16/10;display:grid;place-items:center;position:relative;cursor:pointer}.hero-object{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 25px rgba(207,226,219,.08))}.object-halo{position:absolute;width:70%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(218,230,225,.06),transparent 70%);filter:blur(18px)}.brand-lockup{text-align:center;margin-top:-2px;animation:brandIn 2s ease 1.15s both}.brand-lockup h1{font-family:var(--serif);font-size:clamp(46px,6vw,86px);font-weight:400;letter-spacing:.02em;margin:0}.enter,.text-tool,.mini-brand{font-family:var(--sans);font-weight:300;letter-spacing:.24em;cursor:pointer}.enter{font-size:12px;margin-top:18px;color:var(--muted);padding:12px 18px}.site-header,.admin-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:30px 34px}.mini-brand{font-family:var(--serif);font-size:24px;letter-spacing:.04em}.collection-view .menu-trigger{position:fixed}.collection-tools{position:relative;z-index:3;display:flex;justify-content:space-between;padding:45px 5vw 0}.text-tool{font-size:12px;color:var(--muted);padding:12px 0}.search-panel,.filter-panel{position:relative;z-index:3;display:none;padding:18px 5vw 0}.search-panel.is-open,.filter-panel.is-open{display:block}.search-panel input{width:min(680px,100%);border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 2px;outline:none;font-family:var(--jp);font-size:16px}.filter-list{display:flex;flex-wrap:wrap;gap:10px}.filter-chip{border:1px solid var(--line);padding:8px 14px;border-radius:999px;color:var(--muted);cursor:pointer;font-family:var(--jp)}.filter-chip.is-active{background:rgba(223,234,230,.11);color:var(--text)}.collection-main{position:relative;z-index:2;padding:11vh 5vw 100px}.masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px;align-items:start}.work-card{min-width:0;transition:transform .5s ease,opacity .5s ease;animation:workIn .8s ease both}.work-card button{width:100%;display:block;cursor:pointer;text-align:left}.work-card img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:rgba(0,0,0,.08)}.work-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:10px;font-size:11px;color:var(--muted);letter-spacing:.08em}.work-title{font-family:var(--jp);font-size:13px;color:var(--text);opacity:0;transform:translateY(4px);transition:.35s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-card:hover .work-title{opacity:.88;transform:none}.empty-state{display:none;color:var(--muted);text-align:center;padding:90px 0}.empty-state.is-visible{display:block}.load-sentinel{height:1px}.menu-overlay{position:fixed;inset:0;z-index:100;background:rgba(1,8,7,.96);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.6s;overflow:hidden}.menu-overlay.is-open{opacity:1;visibility:visible}.menu-water{position:absolute;inset:-20%;background:radial-gradient(circle at 50% 50%,rgba(120,170,160,.14),transparent 45%),repeating-radial-gradient(circle at 50% 50%,rgba(210,235,226,.025) 0 2px,transparent 3px 26px);filter:blur(2px);transform:scale(.75);transition:1s}.menu-overlay.is-open .menu-water{transform:scale(1.2)}.menu-links{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}.menu-link{font-family:var(--serif);font-size:clamp(26px,3.8vw,48px);cursor:pointer;letter-spacing:.04em}.menu-close,.detail-close{position:absolute;top:28px;right:34px;width:46px;height:46px;z-index:3;cursor:pointer}.menu-close span{position:absolute;left:10px;top:22px;width:26px;height:1px;background:var(--text)}.menu-close span:first-child{transform:rotate(45deg)}.menu-close span:last-child{transform:rotate(-45deg)}.detail-overlay{position:fixed;inset:0;z-index:90;background:rgba(1,8,7,.985);opacity:0;visibility:hidden;transition:.45s;overflow:auto;padding:90px 7vw 80px}.detail-overlay.is-open{opacity:1;visibility:visible}.detail-card{width:min(1020px,100%);margin:auto;text-align:center}.detail-image{max-width:100%;max-height:72vh;object-fit:contain;display:block;margin:0 auto}.detail-info{width:min(720px,100%);margin:34px auto 0;text-align:left}.detail-no{font-size:11px;letter-spacing:.16em;color:var(--muted)}.detail-title{font-family:var(--jp);font-weight:400;font-size:clamp(22px,3vw,38px);margin:16px 0 0}.detail-desc{font-family:var(--jp);line-height:2;color:#d7d8d3;margin-top:20px;white-space:pre-wrap}.detail-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.detail-cat{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-family:var(--jp);font-size:13px;cursor:pointer}.favorite-btn{margin-top:28px;font-size:28px;color:var(--muted);cursor:pointer}.favorite-btn.is-on{color:#f0eee8;text-shadow:0 0 18px rgba(221,235,229,.22)}.detail-nav{position:fixed;top:50%;font-family:var(--serif);font-size:44px;color:rgba(238,234,228,.72);cursor:pointer;z-index:2}.detail-nav.prev{left:24px}.detail-nav.next{right:24px}.detail-close{font-size:30px;color:var(--text)}
.admin-view{background:linear-gradient(160deg,#020908 0%,#061412 52%,#020908 100%)}.admin-bg{position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(117,154,146,.07),transparent 30%),radial-gradient(circle at 80% 60%,rgba(169,139,166,.05),transparent 34%);pointer-events:none}.admin-shell{position:relative;z-index:1;min-height:100vh}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-link,.add-btn,.batch-bar button,.admin-tab{border:1px solid var(--line);padding:9px 13px;cursor:pointer;font-size:12px;background:rgba(255,255,255,.015)}.add-btn{background:rgba(225,237,232,.1)}.admin-tabs{position:relative;z-index:1;display:flex;gap:10px;padding:18px 34px 0}.admin-tab.is-active{background:rgba(225,237,232,.12)}.admin-main{position:relative;z-index:1;padding:28px 34px 80px}.admin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.admin-card{border:1px solid var(--line);background:rgba(1,8,7,.28);padding:10px;min-width:0}.admin-thumb{position:relative;aspect-ratio:1/1;background:rgba(255,255,255,.025);overflow:hidden}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-check{position:absolute;top:8px;left:8px;width:20px;height:20px}.admin-card-info{padding-top:10px}.admin-card-title{font-family:var(--jp);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-card-sub{font-size:11px;color:var(--muted);margin-top:4px}.admin-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.admin-card-actions button{border:1px solid var(--line);padding:6px 8px;font-size:11px;cursor:pointer}.batch-bar{position:relative;z-index:2;margin:18px 34px 0;padding:10px;border:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(1,8,7,.68)}.batch-bar select{background:#071210;border:1px solid var(--line);padding:7px}.admin-empty{padding:60px;text-align:center;color:var(--muted)}.admin-gate{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:20px}.gate-box{width:min(420px,100%);border:1px solid var(--line);padding:30px;background:rgba(1,8,7,.6)}.gate-box h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 18px}.gate-box p{font-family:var(--jp);color:var(--muted);line-height:1.8}.gate-box input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 2px;outline:none;margin:10px 0 20px}.gate-box button{width:100%;border:1px solid var(--line);padding:11px;cursor:pointer}.gate-error{color:#dcb0b0;font-family:var(--jp);font-size:13px;margin-top:12px}.modal-layer{position:fixed;inset:0;z-index:150;background:rgba(0,6,5,.78);display:none;place-items:center;padding:22px}.modal-layer.is-open{display:grid}.modal{width:min(820px,100%);max-height:88vh;overflow:auto;background:#071311;border:1px solid var(--line);padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.modal-head h2{font-family:var(--jp);font-weight:400;margin:0}.modal-close{font-size:24px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-family:var(--jp);font-size:13px;color:var(--muted)}.field input,.field textarea,.field select{background:rgba(255,255,255,.025);border:1px solid var(--line);padding:11px;outline:none}.field textarea{min-height:120px;resize:vertical;font-family:var(--jp)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}.modal-actions button{border:1px solid var(--line);padding:10px 15px;cursor:pointer}.upload-drop{border:1px dashed rgba(226,237,232,.25);padding:30px;text-align:center;cursor:pointer}.upload-drop input{display:none}.upload-queue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.queue-item{border:1px solid var(--line);padding:7px}.queue-item img{width:100%;aspect-ratio:1/1;object-fit:cover}.queue-actions{display:flex;justify-content:space-between;margin-top:6px}.queue-actions button{font-size:11px;cursor:pointer;color:var(--muted)}.category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.category-row button{border:1px solid var(--line);padding:5px 8px;cursor:pointer;font-size:11px}.category-add{display:flex;gap:8px;margin-top:16px}.category-add input{flex:1;background:transparent;border:1px solid var(--line);padding:10px}.cursor-light{position:fixed;z-index:200;pointer-events:none;width:104px;height:104px;border-radius:50%;opacity:0;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(240,245,242,.12) 0 7%,rgba(204,226,217,.07) 18%,transparent 58%);box-shadow:0 0 0 1px rgba(224,237,231,.08),0 0 26px rgba(188,216,207,.08);filter:blur(.2px);mix-blend-mode:screen;transition:opacity .2s,width .3s,height .3s}.cursor-light.is-visible{opacity:1}.cursor-light.is-hover{width:132px;height:132px;background:radial-gradient(circle,rgba(245,248,246,.18),rgba(203,228,219,.09) 20%,transparent 62%)}.ripple-layer{position:fixed;inset:0;z-index:199;pointer-events:none}.ripple{position:absolute;width:12px;height:12px;border:1px solid rgba(226,238,233,.28);border-radius:50%;transform:translate(-50%,-50%) scale(.2);animation:ripple .85s ease-out forwards}.entering-flash{position:fixed;inset:0;z-index:80;pointer-events:none;background:radial-gradient(circle at center,rgba(210,229,221,.14),rgba(1,8,7,.98) 58%);animation:enterFlash 1s ease forwards}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:300;background:rgba(7,20,18,.94);border:1px solid var(--line);padding:10px 16px;font-family:var(--jp);font-size:13px;animation:toast 2.4s ease forwards}
@keyframes brandIn{from{opacity:0;transform:translateY(12px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes workIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes ripple{to{transform:translate(-50%,-50%) scale(8);opacity:0}}@keyframes enterFlash{0%{opacity:0;transform:scale(.5)}40%{opacity:1}100%{opacity:0;transform:scale(1.8)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,12px)}15%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
@media(max-width:1100px){.masonry{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.bg-desktop{display:none}.bg-mobile{display:block}.menu-trigger{top:18px;right:14px}.home-center{min-height:100svh}.object-button{width:min(88vw,520px)}.brand-lockup h1{font-size:50px}.site-header,.admin-header{padding:20px}.collection-tools{padding:36px 20px 0}.search-panel,.filter-panel{padding-left:20px;padding-right:20px}.collection-main{padding:10vh 20px 80px}.masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.detail-overlay{padding:78px 20px 60px}.detail-nav{display:none}.admin-actions{width:100%;justify-content:flex-start}.admin-header{align-items:flex-start;gap:14px;flex-direction:column}.admin-tabs{padding:10px 20px 0;overflow:auto}.admin-main{padding:22px 20px 70px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.batch-bar{margin:14px 20px 0}.form-grid{grid-template-columns:1fr}.upload-queue{grid-template-columns:repeat(2,1fr)}.menu-link{font-size:30px}.work-title{opacity:.78;transform:none}.cursor-light{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bg-video{display:none}.ambient-bg{background:#020908}}
