:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.gallery-root{--ivory:#f3f0e8;--paper:#faf8f2;--ink:#292824;--muted:#77736a;--line:#d8d2c6;--wine:#7c403d;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;--sans:"PingFang SC", "Microsoft YaHei", sans-serif;background:var(--ivory);color:var(--ink);font-family:var(--sans);min-height:100vh;font-size:13px}.gallery-root:before{content:"";pointer-events:none;opacity:.22;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:fixed;inset:0}.gallery-shell{max-width:1420px;margin:auto;padding:0 5.2vw}.gallery-page{animation:.55s gallery-fade}@keyframes gallery-fade{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.gallery-utility{height:42px;color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:11px;display:flex}.gallery-avatar{border:1px solid var(--line);width:25px;height:25px;font-family:var(--serif);border-radius:50%;place-items:center;font-style:italic;display:grid}.gallery-user-btn{color:var(--muted);font-size:11px;font-family:var(--sans);cursor:pointer;background:0 0;border:0;padding:2px 0;transition:color .3s;position:relative}.gallery-user-btn:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .42s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.gallery-user-btn:hover{color:var(--ink)}.gallery-user-btn:hover:after{transform:scaleX(1)}.gallery-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.gallery-header{text-align:center;padding:46px 0 23px}.gallery-brand{font:400 31px/1 var(--serif);letter-spacing:.02em;margin:0}.gallery-brand small{font:9px/1.3 var(--sans);letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin-top:9px;display:block}.gallery-nav{justify-content:center;gap:42px;margin-top:25px;display:flex}.gallery-nav button{color:var(--muted);font:11px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 0;transition:color .3s;position:relative}.gallery-nav button:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .42s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.gallery-nav button:hover,.gallery-nav button.active{color:var(--ink)}.gallery-nav button:hover:after,.gallery-nav button.active:after{transform:scaleX(1)}.gallery-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(240px,380px) 1fr;align-items:center;gap:22px;height:54px;display:grid}.gallery-filters{align-items:center;gap:20px;display:flex}.gallery-filter{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:11px;transition:color .3s;position:relative}.gallery-filter:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .42s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.gallery-filter:hover,.gallery-filter.active{color:var(--ink)}.gallery-filter:hover:after,.gallery-filter.active:after{transform:scaleX(1)}.gallery-search{border:0;border-bottom:1px solid var(--line);text-align:center;height:30px;font:11px var(--serif);color:var(--ink);background:0 0;outline:none}.gallery-search::placeholder{color:var(--muted)}.gallery-grid{columns:3;column-gap:18px;width:min(100%,1000px);margin:0 auto;padding:44px 0 90px}.gallery-case{break-inside:avoid;cursor:pointer;text-align:left;background:#d8d1c5;border:0;width:100%;margin:0 0 18px;padding:0;display:block;position:relative;overflow:hidden}.gallery-photo{background-color:#cfc8bc;width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.gallery-photo img{width:100%;height:auto;display:block}.fade-img{opacity:0;transition:opacity .6s}.fade-img.loaded{opacity:1}.fade-img.broken{opacity:1;visibility:hidden}.gallery-photo.placeholder{aspect-ratio:4/3}.gallery-case:hover .gallery-photo{transform:scale(1.025)}.gallery-photo:after{content:"";opacity:0;background:linear-gradient(#0000 50%,#1916126b);transition:all .35s;position:absolute;inset:0}.gallery-case:hover .gallery-photo:after{opacity:1}.gallery-meta{color:#fff;z-index:2;opacity:0;transition:all .35s;position:absolute;bottom:17px;left:18px;right:18px;transform:translateY(5px)}.gallery-case:hover .gallery-meta{opacity:1;transform:none}.gallery-meta h3{font:400 17px/1.2 var(--serif);margin:0 0 5px}.gallery-meta p{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:9px}.gallery-photo.placeholder{background:linear-gradient(135deg,#505b4e26,#0000 60%),linear-gradient(90deg,#beb6a8 0 22%,#e8e1d6 22% 76%,#8c9184 76%)}.gallery-empty{text-align:center;color:var(--muted);font:13px var(--serif);padding:90px 0}.detail-back-row.detail-sticky-bar{z-index:10;background:var(--ivory);padding-bottom:8px;position:sticky;top:0}.detail-back-row.detail-sticky-bar+.detail-head{padding-top:14px}.detail-back-row{justify-content:space-between;align-items:center;padding:30px 0 0;display:flex}.detail-head{padding:22px 0 20px}.detail-title{font:400 33px/1.2 var(--serif);letter-spacing:.01em;margin:0}.detail-title em{color:var(--wine);font-style:italic;font-weight:400}.case-facts{flex-wrap:wrap;align-items:flex-start;gap:52px;margin-top:24px;display:flex}.case-fact{min-width:112px}.case-fact-label{color:var(--muted);font:11px/1 var(--sans);letter-spacing:.08em;margin-bottom:9px;display:block}.case-fact-value{color:var(--ink);font:400 18px/1.25 var(--serif);letter-spacing:.02em;white-space:nowrap;display:block}.case-more-btn{cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:3px;margin:3px 0 0 -5px;padding:3px 5px;transition:color .3s;display:flex}.case-more-btn:hover{color:var(--wine)}.case-more-dot{background:currentColor;border-radius:50%;width:2.5px;height:2.5px}.price-fact{text-align:left;cursor:pointer;background:0 0;border:0;min-width:112px;padding:0;animation:.4s price-fade}.price-fact:hover .case-fact-value{color:var(--wine)}.price-fact .case-fact-value{transition:color .3s}@keyframes price-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.gallery-intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:13px/2 var(--serif);color:#4b4943;position:relative}.intro-content{padding:22px 0 18px;transition:max-height .55s cubic-bezier(.22,.61,.36,1);overflow:hidden}.gallery-intro p{white-space:pre-line;max-width:1140px;margin:0}.chevron-btn{background:var(--ivory);cursor:pointer;width:34px;height:34px;color:var(--ink);border:0;border-radius:50%;padding:0;transition:color .3s,transform .3s;position:absolute;bottom:-17px;left:50%;transform:translate(-50%)}.chevron-btn:after{content:"";border-bottom:.75px solid;border-right:.75px solid;width:8px;height:8px;position:absolute;top:11px;left:50%;transform:translate(-50%)rotate(45deg)}.chevron-btn:hover{color:var(--wine);transform:translate(-50%,2px)}.gallery-subnav{border-bottom:1px solid var(--line);align-items:center;gap:32px;padding:14px 0;display:flex}.gallery-subnav button{color:var(--muted);font:11px var(--sans);cursor:pointer;background:0 0;border:0;padding:8px 0;transition:color .3s;position:relative}.gallery-subnav button:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .42s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.gallery-subnav button:hover,.gallery-subnav button.active{color:var(--ink)}.gallery-subnav button:hover:after,.gallery-subnav button.active:after{transform:scaleX(1)}.gallery-subnav .tab-count{color:inherit;font:400 13px/1 var(--serif);letter-spacing:.02em;margin-left:5px}.detail-grid{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:18px;padding:20px 0 80px;display:grid}.detail-col{gap:18px;display:grid}.detail-img{cursor:pointer;background:#d8d1c5;border:0;width:100%;min-height:140px;padding:0;display:block;overflow:hidden}.detail-img .gallery-photo{height:auto;transition:all .8s}.detail-img .gallery-photo img{width:100%;height:auto;display:block}.detail-img:hover .gallery-photo{transform:scale(1.02)}.gallery-icon-btn{--icon-size:34px;width:var(--icon-size);height:var(--icon-size);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .3s,transform .3s;display:inline-grid;position:relative}.gallery-icon-btn:before{content:"";opacity:0;background:#7c403d17;border-radius:50%;transition:opacity .3s,transform .35s cubic-bezier(.22,.61,.36,1);position:absolute;inset:2px;transform:scale(.72)}.gallery-icon-btn:hover{color:var(--wine);transform:translateY(-2px)}.gallery-icon-btn:hover:before{opacity:1;transform:scale(1)}.gallery-icon-btn svg{z-index:1;width:21px;height:21px;position:relative}.gallery-icon-btn .tip{z-index:5;background:var(--ink);color:var(--paper);font:9px/1.2 var(--sans);letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;padding:4px 7px;transition:opacity .25s,transform .25s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,3px)}.gallery-icon-btn:hover .tip{opacity:1;transform:translate(-50%)}.settings-icon{--icon-size:30px}.settings-icon svg{width:17px;height:17px;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.settings-icon:hover svg{transform:rotate(28deg)}.gallery-icon-btn.back-home svg{width:27px;height:27px}.lightbox-root{background:var(--ivory);min-height:100vh;padding:18px 0;overflow-y:auto}.lightbox-shell{max-width:none;padding:0 18px}.stage{background:0 0;border:0;place-items:center;height:calc(100dvh - 174px);min-height:460px;display:grid;position:relative}.art-frame{outline:1px solid var(--line);background:#faf8f2;border:8px solid #faf8f2;place-self:center;width:auto;height:auto;overflow:hidden;box-shadow:0 18px 55px #342e261f}.art-frame img{background:#faf8f2;width:auto;max-width:calc(100vw - 80px);height:auto;max-height:calc(100dvh - 200px);display:block}.round-btn{color:#29282459;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;transition:color .3s,opacity .35s;display:grid;position:absolute}.stage:hover .round-btn,.round-btn:focus-visible{opacity:1;pointer-events:auto}.round-btn:hover,.round-btn:focus-visible{color:var(--ink)}.round-btn:focus-visible,.film-arrow:focus-visible,.film-thumb:focus-visible{outline-offset:3px;outline:2px solid #29282466}.round-btn.prev{left:28px}.round-btn.next{right:28px}.round-btn.close{width:68px;height:68px;top:18px;right:18px}.lightbox-pager{font:12px var(--sans);color:var(--muted);letter-spacing:.1em;justify-content:center;padding:10px 0;display:flex}.filmstrip-wrap{position:relative}.filmstrip{border:1px solid var(--line);background:var(--paper);scroll-snap-type:x mandatory;border-top:0;justify-content:flex-start;align-items:center;gap:10px;height:104px;padding:14px 58px;display:flex;overflow:auto hidden}.filmstrip:before,.filmstrip:after{content:"";margin:auto}.filmstrip::-webkit-scrollbar{display:none}.film-thumb{cursor:pointer;opacity:.62;scroll-snap-align:center;background:0 0;border:1px solid #0000;min-width:56px;height:72px;padding:3px;transition:all .25s}.film-thumb.active{border-color:var(--wine);opacity:1}.film-thumb .gallery-photo{background:#d8d1c5;width:auto;height:100%}.film-thumb .gallery-photo img{width:auto;height:100%;display:block}.film-arrow{z-index:2;color:#29282459;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:50%;width:50px;height:50px;transition:color .3s,opacity .35s;position:absolute;top:50%;transform:translateY(-50%)}.filmstrip-wrap:hover .film-arrow,.film-arrow:focus-visible{opacity:1;pointer-events:auto}.film-arrow:hover,.film-arrow:focus-visible{color:var(--ink)}.film-arrow.left{left:14px}.film-arrow.right{right:14px}.case-form-shell{max-width:880px;padding-bottom:72px}.form-head{padding:26px 0 30px}.form-head .detail-title{font-size:26px}.form-sub{color:var(--muted);letter-spacing:.02em;margin:12px 0 0;font-size:12px}.form-section{background:var(--paper);border:1px solid var(--line);margin-bottom:22px;padding:26px 30px 10px}.form-section-title{font:400 15px/1 var(--serif);letter-spacing:.06em;color:var(--ink);margin:0 0 20px}.form-field{margin-bottom:20px}.form-label{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:11px;display:block}.form-required{color:var(--wine)}.form-input,.form-select{border:1px solid var(--line);width:100%;color:var(--ink);font:13px/1.5 var(--sans);box-sizing:border-box;background:#fffdf8;border-radius:0;padding:10px 12px;transition:border-color .25s}.form-input:focus,.form-select:focus{border-color:var(--ink);outline:none}.form-input::placeholder{color:#b5afa2}.form-input-mono{font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.form-textarea{resize:vertical;min-height:96px}.form-grid-2{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.form-hint{color:var(--muted);margin:2px 0 16px;font-size:11.5px}.form-hint-inline{text-transform:none;letter-spacing:0;color:#a29c8f;margin-left:8px}.form-add-row{color:var(--muted);font:12px var(--sans);cursor:pointer;background:0 0;border:0;margin-bottom:14px;padding:4px 0;transition:color .25s}.form-add-row:hover{color:var(--ink)}.order-field{position:relative}.order-status-note{color:var(--muted);margin-top:6px;font-size:11.5px;display:block}.order-suggestions{z-index:10;border:1px solid var(--line);background:#fffdf8;position:absolute;top:calc(100% - 12px);left:0;right:0;box-shadow:0 14px 32px #2928241a}.order-suggestion-item{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;gap:3px;width:100%;padding:10px 14px;transition:background .2s;display:flex}.order-suggestion-item:last-child{border-bottom:0}.order-suggestion-item:hover{background:#f4efe4}.suggestion-main{color:var(--ink);font-size:12.5px}.suggestion-main i{color:var(--muted);font-style:normal}.suggestion-sub{color:#a29c8f;letter-spacing:.04em;font:10.5px JetBrains Mono,Consolas,monospace}.team-rows{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.team-row{align-items:center;gap:8px;display:flex}.team-role{flex:none;width:130px}.team-name{flex:1}.team-remove{color:#29282459;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:28px;height:28px;transition:color .25s;display:grid}.team-remove:hover{color:var(--wine)}.file-checklist{border:1px solid var(--line);flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.file-check-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:9px 14px;transition:background .2s;display:flex}.file-check-item:last-child{border-bottom:0}.file-check-item:hover{background:#f4efe4}.file-check-item input{accent-color:var(--wine);flex:none}.file-check-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.file-check-meta{color:var(--muted);flex:none;font-size:11px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.photo-tile{aspect-ratio:1;border:1px solid var(--line);background:#e6e0d4;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.photo-tile.is-cover{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.photo-tile.is-dragging{opacity:.45}.photo-tile.is-drag-over{border-color:var(--wine);box-shadow:0 0 0 2px var(--wine)}.cover-badge{background:var(--wine);color:#faf8f2;letter-spacing:.1em;padding:4px 10px;font-size:10.5px;position:absolute;bottom:0;left:0}.photo-action{cursor:pointer;border:0;transition:opacity .2s,background .2s;position:absolute}.photo-action.set-cover{color:#faf8f2;letter-spacing:.04em;background:#292824b8;padding:5px 9px;font-size:10.5px;bottom:0;right:0}.photo-action.set-cover:hover{background:var(--ink)}.photo-action.remove{color:#faf8f2;background:#2928248c;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;top:6px;right:6px}.photo-action.remove:hover{background:var(--wine)}.upload-progress{color:var(--ink);background:#faf8f2b8;place-items:center;font:12px JetBrains Mono,Consolas,monospace;display:grid;position:absolute;inset:0}.photo-grid.is-locked,.video-grid.is-locked{pointer-events:none;opacity:.75}.order-clear-btn{color:var(--wine);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-left:10px;padding:0;font-size:11.5px;text-decoration:underline}.order-clear-btn:hover{color:var(--ink)}.doc-preview-root{z-index:45;background:var(--ivory);flex-direction:column;animation:.4s gallery-fade;display:flex;position:fixed;inset:0}.doc-preview-shell{flex-direction:column;flex:1;width:100%;max-width:1420px;min-height:0;margin:auto;display:flex}.doc-preview-bar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 18px;display:flex}.doc-preview-name{font:400 15px/1.4 var(--serif);letter-spacing:.04em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doc-preview-scroll{flex:1;min-height:0;padding:26px 18px 40px;overflow-y:auto}.doc-preview-pdf-page{border:1px solid var(--line);background:var(--paper);width:fit-content;margin:0 auto 18px;box-shadow:0 10px 26px #2928240f}.doc-preview-pdf-page canvas{display:block}.docx-scroll{background:0 0}.docx-scroll section.docx-preview-wrap{border:1px solid var(--line);background:#fff;margin:0 auto 24px;box-shadow:0 10px 26px #2928240f}.doc-preview-pager{text-align:center;font:12px var(--sans);color:var(--muted);letter-spacing:.1em;flex:none;padding:10px 0 16px}.pptx-preview-layout{flex:1;min-height:0;display:flex;position:relative}.pptx-thumb-panel{border-right:1px solid var(--line);background:var(--paper);flex-direction:column;flex:none;gap:12px;width:216px;padding:16px 12px 24px;display:flex;overflow-y:auto}.pptx-thumb-panel::-webkit-scrollbar{width:6px}.pptx-thumb-panel::-webkit-scrollbar-thumb{background:var(--line)}.pptx-thumb{border:1px solid var(--line);cursor:pointer;opacity:.65;background:#fff;padding:4px;transition:border-color .25s,opacity .25s}.pptx-thumb:hover{opacity:1}.pptx-thumb.active{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine);opacity:1}.pptx-thumb img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.pptx-thumb span{text-align:center;color:var(--muted);letter-spacing:.04em;margin-top:3px;font:10.5px JetBrains Mono,Consolas,monospace;display:block}.pptx-preview-main{flex:1;place-items:center;min-width:0;padding:24px 84px 40px;display:grid;position:relative}.pptx-slide-frame{place-items:center;max-width:100%;max-height:100%;animation:.35s gallery-fade;display:grid}.pptx-slide-frame img{border:1px solid var(--line);background:var(--paper);max-width:100%;max-height:calc(100dvh - 160px);box-shadow:0 14px 40px #2928241a}.pptx-preview-main .round-btn{opacity:1;pointer-events:auto}.pptx-preview-main .doc-preview-pager{position:absolute;bottom:0;left:0;right:0}.dirty-confirm-mask{z-index:50;background:#29282452;place-items:center;animation:.25s price-fade;display:grid;position:fixed;inset:0}.dirty-confirm-card{background:var(--paper);border:1px solid var(--line);text-align:center;min-width:330px;max-width:90vw;padding:30px 36px 26px;box-shadow:0 18px 55px #342e2626}.dirty-confirm-title{font:400 16px/1.6 var(--serif);letter-spacing:.04em;color:var(--ink);margin:0 0 24px}.dirty-confirm-actions{justify-content:center;gap:12px;display:flex}.upload-tile{aspect-ratio:1;border:1px dashed var(--line);color:var(--muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;transition:color .25s,border-color .25s,background .25s;display:flex}.upload-tile:hover{color:var(--ink);border-color:var(--ink);background:#faf8f299}.video-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.video-tile{border:1px solid var(--line);background:#e6e0d4;position:relative;overflow:hidden}.video-tile video{aspect-ratio:16/9;object-fit:cover;background:#26241f;width:100%;display:block}.video-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;font-size:11.5px;display:block;overflow:hidden}.form-footer{justify-content:flex-end;gap:12px;padding-top:6px;display:flex}.form-btn{min-width:128px;font:13px var(--sans);letter-spacing:.08em;cursor:pointer;padding:11px 26px;transition:all .25s}.form-btn.primary{border:1px solid var(--ink);background:var(--ink);color:#faf8f2}.form-btn.primary:hover:not(:disabled){background:var(--wine);border-color:var(--wine)}.form-btn.primary:disabled{opacity:.4;cursor:not-allowed}.form-btn.ghost{border:1px solid var(--line);color:var(--muted);background:0 0}.form-btn.ghost:hover{color:var(--ink);border-color:var(--ink)}.form-btn.danger{color:#faf8f2;background:#a05252;border:1px solid #a05252}.form-btn.danger:hover{background:#8a4545;border-color:#8a4545}.gallery-confirm-content{color:var(--muted);margin:-12px 0 22px;font-size:12.5px;line-height:1.8}.share-confirm-mask{z-index:10;position:absolute;inset:0}.video-block{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;padding:26px 0;display:grid}.video-card{border:1px solid var(--line);background:var(--paper);padding:8px;box-shadow:0 10px 26px #2928240f}.video-card video{aspect-ratio:16/9;background:#26241f;width:100%;display:block}.team-block{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:26px 0;display:grid}.team-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;gap:5px;padding:16px 18px;display:flex}.team-role-label{letter-spacing:.14em;text-transform:uppercase;color:var(--wine);font-size:10.5px}.team-name{font:400 15px/1.4 var(--serif);letter-spacing:.04em;color:var(--ink)}.docs-block{border:1px solid var(--line);background:var(--paper);flex-direction:column;margin:26px 0;display:flex}.doc-item{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;font:12.5px var(--sans);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:13px 18px;transition:background .2s;display:flex}.doc-item:last-child{border-bottom:0}.doc-item:hover{background:#f4efe4}.doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.doc-meta{color:var(--muted);flex:none;font-size:11px}.doc-item svg{color:var(--muted);flex:none}@media (width<=900px){.gallery-shell{padding:0 20px}.gallery-brand{font-size:25px}.gallery-nav{gap:20px}.gallery-toolbar{grid-template-columns:1fr;height:auto;padding:14px 0}.gallery-filters{flex-wrap:wrap;justify-content:center}.gallery-search{width:100%}.gallery-grid,.gallery-grid.cols-4{columns:2}.case-facts{gap:24px}.case-fact{min-width:92px}.detail-grid{grid-template-columns:1fr}.lightbox-shell{padding:0 10px}.stage{height:calc(100dvh - 162px);min-height:380px}.art-frame{border-width:6px}.art-frame img{max-width:calc(100vw - 56px);max-height:calc(100dvh - 174px)}.round-btn.prev{left:10px}.round-btn.next{right:10px}.form-section{padding:20px 18px 6px}.form-grid-2{grid-template-columns:1fr;gap:0}.video-block{grid-template-columns:1fr}}.gallery-grid.cols-4{columns:4;width:min(100%,1240px)}.gallery-logo{object-fit:contain;width:auto;height:22px;display:block}.gallery-root.theme-dark{--ivory:#1e1d1a;--paper:#27251f;--ink:#e8e4da;--muted:#9a9384;--line:#3d3a33;--wine:#b06a5f}.gallery-root.theme-dark:before{filter:invert();opacity:.14}.gallery-root.theme-dark .gallery-case,.gallery-root.theme-dark .gallery-photo{background-color:#35322b}.gallery-root.theme-dark .gallery-photo.placeholder{background:linear-gradient(135deg,#8c968233,#0000 60%),linear-gradient(90deg,#4a463d 0 22%,#2c2a25 22% 76%,#555a4c 76%)}.gallery-root.theme-dark .gallery-intro{color:#d5d0c4}.gallery-root.theme-dark .form-input,.gallery-root.theme-dark .form-select,.gallery-root.theme-dark .order-suggestions{background:#211f1b}.gallery-root.theme-dark .order-suggestion-item:hover,.gallery-root.theme-dark .file-check-item:hover,.gallery-root.theme-dark .doc-item:hover{background:#33302a}.gallery-root.theme-dark .upload-tile:hover{background:#e8e4da0f}.gallery-root.theme-dark .upload-progress{background:#27251fc7}.gallery-root.theme-dark .form-btn.primary{color:#1e1d1a}.gallery-root.theme-dark .film-thumb.active{background:#faf8f2;border-color:#faf8f2}.gallery-root.theme-dark .round-btn,.gallery-root.theme-dark .film-arrow,.gallery-root.theme-dark .team-remove{color:#e8e4da66}.gallery-root.theme-dark .round-btn:focus-visible,.gallery-root.theme-dark .film-arrow:focus-visible,.gallery-root.theme-dark .film-thumb:focus-visible{outline-color:#e8e4da80}.settings-shell{max-width:880px;padding-bottom:96px}.setting-row{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.setting-row-label{flex-direction:column;flex:none;gap:4px;min-width:0;display:flex}.setting-row-title{color:var(--ink);letter-spacing:.04em;font-size:13px}.setting-row-sub{color:var(--muted);font-size:11px}.setting-row-control{flex:none;align-items:center;gap:10px;display:flex}.setting-input{width:340px}.setting-seg{border:1px solid var(--line);display:inline-flex}.setting-seg button{color:var(--muted);cursor:pointer;letter-spacing:.06em;background:0 0;border:0;padding:8px 20px;font-size:12px;transition:background .25s,color .25s}.setting-seg button+button{border-left:1px solid var(--line)}.setting-seg button:hover{color:var(--ink)}.setting-seg button.active{background:var(--ink);color:var(--paper)}.setting-checks{border:1px solid var(--line);background:var(--paper);flex-direction:column;display:flex}.setting-check-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;transition:background .2s;display:flex}.setting-check-row:last-child{border-bottom:0}.setting-check-row:hover{background:#f4efe4}.gallery-root.theme-dark .setting-check-row:hover{background:#33302a}.setting-check-row input{accent-color:var(--wine);cursor:pointer;flex:none;width:14px;height:14px}.setting-check-label{color:var(--ink);flex:1;font-size:12.5px}.setting-check-tag{color:var(--muted);letter-spacing:.08em;flex:none;font-size:10.5px}.grant-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.grant-item{border:1px solid var(--line);background:var(--paper);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;transition:border-color .2s,background .2s;display:flex}.grant-item:hover{background:#f4efe4}.gallery-root.theme-dark .grant-item:hover{background:#33302a}.grant-item.checked{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.grant-item input{accent-color:var(--wine);cursor:pointer;flex:none;width:14px;height:14px}.grant-item span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.grant-empty{color:var(--muted);padding:6px 0;font-size:12px}.logo-preview{border:1px solid var(--line);background:var(--paper);place-items:center;width:64px;height:40px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-preview .gallery-avatar{border:0}.logo-actions{align-items:center;gap:12px;display:flex}.logo-upload-btn,.logo-remove-btn{cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;transition:color .25s}.logo-upload-btn{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.logo-upload-btn:hover{color:var(--wine)}.logo-remove-btn{color:var(--muted)}.logo-remove-btn:hover{color:var(--wine)}.logo-hint{color:var(--muted);margin-top:6px;font-size:11px}.setting-note{color:var(--muted);letter-spacing:.02em;margin:-10px 0 18px;font-size:11.5px}.settings-footer{background:var(--ivory);border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:8px;padding:14px 0;display:flex;position:sticky;bottom:0}.gallery-case-wrap{break-inside:avoid;margin:0 0 18px;position:relative}.gallery-case{margin:0}.gallery-add-btn{border:1px solid var(--line);background:var(--paper);width:34px;height:34px;color:var(--ink);cursor:pointer;opacity:0;z-index:3;border-radius:50%;place-items:center;transition:opacity .25s,transform .25s,background .2s,border-color .2s;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.gallery-case-wrap:hover .gallery-add-btn{opacity:1;transform:none}.gallery-add-btn:hover{border-color:var(--wine);color:var(--wine)}.gallery-icon-btn.has-badge{position:relative}.icon-badge{background:var(--wine);color:#faf8f2;text-align:center;min-width:15px;height:15px;font-size:9px;line-height:15px;font-family:var(--sans);pointer-events:none;border-radius:8px;padding:0 4px;position:absolute;top:-4px;right:-7px}.icon-badge.ok{background:#4a7a59;min-width:14px;padding:0}.gallery-icon-btn.share-added{color:var(--wine)}.share-panel-root{z-index:42;visibility:hidden;pointer-events:none;transition:visibility 0s .38s;position:fixed;inset:0}.share-panel-root.open{visibility:visible;pointer-events:auto;transition:none}.share-panel-mask{opacity:0;background:#29282452;transition:opacity .26s;position:absolute;inset:0}.share-panel-root.open .share-panel-mask{opacity:1}.share-panel{background:var(--paper);border-left:1px solid var(--line);flex-direction:column;width:min(480px,92vw);transition:transform .32s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-18px 0 44px #29282424}.share-panel-root.open .share-panel{transform:none}.share-panel-head{justify-content:space-between;align-items:center;padding:20px 22px 12px;display:flex}.share-panel-head h2{font:400 20px/1 var(--serif);letter-spacing:.04em;margin:0}.share-panel-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:6px;transition:color .2s;display:grid}.share-panel-close:hover{color:var(--ink)}.share-panel-close.inside{position:absolute;top:12px;right:12px}.share-panel-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 22px;display:flex}.share-panel-tabs button{cursor:pointer;font-size:13px;font-family:var(--sans);color:var(--muted);background:0 0;border:0;padding:10px 12px;transition:color .2s;position:relative}.share-panel-tabs button.active{color:var(--ink)}.share-panel-tabs button.active:after{content:"";background:var(--wine);height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.share-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.share-tab-scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding:18px 22px;display:flex;overflow-y:auto}.share-empty{text-align:center;color:var(--muted);letter-spacing:.03em;flex:1;place-content:center;padding:60px 0;font-size:13px;line-height:2;display:grid}.share-empty small{color:var(--muted);opacity:.8;font-size:11px}.share-toolbar{justify-content:space-between;align-items:center;display:flex}.share-toolbar-count{color:var(--muted);letter-spacing:.02em;font-size:12px}.share-text-btn{font-size:12px;font-family:var(--sans);color:var(--wine);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:2px 4px;transition:border-color .2s}.share-text-btn:hover{border-bottom-color:var(--wine)}.share-text-btn.danger{color:#a05252}.share-text-btn.danger:hover{border-bottom-color:#a05252}.share-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.share-card-wrap{position:relative}.share-card-wrap.dragging{z-index:5}.share-card{border:1px solid var(--line);background:var(--ivory);cursor:grab;touch-action:none;position:relative}.share-card-wrap.dragging .share-card{cursor:grabbing;border-color:var(--wine);box-shadow:0 10px 26px #2928242e}.share-card-photo{aspect-ratio:4/3;background-color:var(--line);overflow:hidden}.share-card-photo img{object-fit:cover;width:100%;height:100%;display:block}.share-card-photo.placeholder{background:linear-gradient(135deg, #8c96822e, transparent 60%), linear-gradient(90deg, var(--line) 0 22%, var(--ivory) 22% 76%, var(--line) 76%)}.share-card-meta{padding:8px 10px 9px}.share-card-title{font:400 12.5px/1.45 var(--serif);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.share-card-sub{color:var(--muted);margin:3px 0 0;font-size:10.5px}.share-card.hidden-case{filter:grayscale();opacity:.62}.share-card-badge{letter-spacing:.06em;background:var(--ink);color:var(--ivory);border-radius:2px;padding:2px 8px;font-size:10px;position:absolute;top:8px;left:8px}.share-card-grip{color:#faf8f2;opacity:0;background:#29282480;border-radius:4px;place-items:center;width:24px;height:24px;transition:opacity .2s;display:grid;position:absolute;bottom:8px;right:8px}.share-card-wrap:hover .share-card-grip{opacity:1}.share-card-remove{border:1px solid var(--line);background:var(--paper);width:20px;height:20px;color:var(--muted);cursor:pointer;opacity:0;z-index:2;border-radius:50%;place-items:center;padding:0;transition:opacity .2s,color .2s,border-color .2s;display:grid;position:absolute;top:-7px;right:-7px}.share-card-wrap:hover .share-card-remove{opacity:1}.share-card-remove:hover{color:#a05252;border-color:#a05252}.share-panel-footer{border-top:1px solid var(--line);background:var(--paper);padding:14px 22px}.share-primary-btn{border:1px solid var(--wine);background:var(--wine);color:#faf8f2;width:100%;font:400 14px/1 var(--serif);letter-spacing:.14em;cursor:pointer;padding:12px 0;transition:background .2s}.share-primary-btn:hover:not(:disabled){background:#6b3532}.share-primary-btn:disabled{opacity:.4;cursor:not-allowed}.share-footer-hint{text-align:center;color:var(--muted);margin:8px 0 0;font-size:11px}.share-secondary-btn{border:1px solid var(--line);width:100%;color:var(--ink);font:400 13px/1 var(--sans);letter-spacing:.1em;cursor:pointer;background:0 0;padding:10px 0;transition:border-color .2s}.share-secondary-btn:hover{border-color:var(--ink)}.share-dialog-root{z-index:43;place-items:center;display:grid;position:fixed;inset:0}.share-dialog-mask{background:#29282466;position:absolute;inset:0}.share-dialog{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:12px;width:min(340px,88vw);padding:26px 26px 22px;animation:.28s cubic-bezier(.22,.61,.36,1) share-dialog-in;display:flex;position:relative;box-shadow:0 22px 52px #29282438}@keyframes share-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.share-dialog h3{font:400 19px/1.2 var(--serif);letter-spacing:.05em;text-align:center;margin:0}.share-dialog-label{color:var(--muted);letter-spacing:.08em;font-size:11px}.share-dialog-input{border:1px solid var(--line);background:var(--ivory);color:var(--ink);font:13px/1.4 var(--sans);outline:none;padding:9px 12px;transition:border-color .2s}.share-dialog-input:focus{border-color:var(--wine)}.share-dialog-tip{text-align:center;color:var(--muted);margin:0;font-size:11.5px}.share-qr-area{border:1px dashed var(--line);background:var(--ivory);place-items:center;min-height:220px;padding:18px;display:grid}.share-qr-status{color:var(--muted);letter-spacing:.05em;margin:0;font-size:12.5px}.share-qr-img{border:1px solid var(--line);background:#fff;width:180px;height:180px;padding:8px}.share-qr-guide{text-align:center;color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.7}.share-qr-failed{text-align:center;color:var(--muted);justify-items:center;gap:10px;font-size:12.5px;display:grid}.share-qr-failed p{margin:0}.share-history-list{flex-direction:column;gap:12px;display:flex}.share-history-item{border:1px solid var(--line);background:var(--ivory);align-items:center;gap:12px;padding:10px;display:flex}.share-history-cover{background-color:var(--line);flex:none;place-items:center;width:64px;height:48px;display:grid;overflow:hidden}.share-history-cover img{object-fit:cover;width:100%;height:100%;display:block}.share-history-cover-empty{color:var(--muted);font-size:10px}.share-history-info{flex:1;min-width:0}.share-history-title{font:400 13px/1.4 var(--serif);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.share-history-meta{color:var(--muted);margin:3px 0 0;font-size:11px}.share-pager{justify-content:center;align-items:center;gap:14px;display:flex}.share-pager button{border:1px solid var(--line);color:var(--ink);font-size:12px;font-family:var(--sans);cursor:pointer;background:0 0;padding:5px 12px;transition:border-color .2s,opacity .2s}.share-pager button:hover:not(:disabled){border-color:var(--wine);color:var(--wine)}.share-pager button:disabled{opacity:.35;cursor:not-allowed}.share-pager .mono{color:var(--muted);font-size:11.5px}.gallery-root.theme-dark .share-card-photo.placeholder{background:linear-gradient(135deg,#8c968233,#0000 60%),linear-gradient(90deg,#4a463d 0 22%,#2c2a25 22% 76%,#555a4c 76%)}.gallery-root.theme-dark .share-primary-btn{color:#1e1d1a;background:var(--wine)}.gallery-root.theme-dark .share-primary-btn:hover:not(:disabled){color:#1e1d1a}.gallery-root.theme-dark .share-card-badge{color:#1e1d1a;background:#e8e4da}.gallery-venue-section{width:min(100%,1000px);margin:0 auto;padding:36px 0 90px}.gallery-venue-group{margin-bottom:40px}.gallery-venue-group-head{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;margin-bottom:18px;padding-bottom:10px;display:flex}.gallery-venue-group-head h3{font:400 20px/1.3 var(--serif);color:var(--ink);margin:0}.gallery-venue-group-head span{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.gallery-venue-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=860px){.gallery-venue-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.gallery-venue-grid{grid-template-columns:1fr}}.gallery-venue-card{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0;padding:0;display:flex;overflow:hidden}.gallery-venue-cover{aspect-ratio:4/3;background-color:#cfc8bc;transition:transform .8s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.gallery-venue-cover img{object-fit:cover;width:100%;height:100%;display:block}.gallery-venue-cover.placeholder{background:linear-gradient(135deg,#505b4e26,#0000 60%),linear-gradient(90deg,#beb6a8 0 22%,#e8e1d6 22% 76%,#8c9184 76%)}.gallery-venue-card:hover .gallery-venue-cover{transform:scale(1.025)}.gallery-venue-type{z-index:2;letter-spacing:.1em;color:var(--paper);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#19161280;border-radius:999px;padding:3px 9px;font-size:10px;position:absolute;top:10px;left:10px}.gallery-venue-info{padding:12px 2px 0}.gallery-venue-info h4{font:400 17px/1.3 var(--serif);color:var(--ink);margin:0 0 5px}.gallery-venue-info p{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10px}.gallery-venue-intro{letter-spacing:normal;text-transform:none;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;overflow:hidden}.venue-detail-hotel{color:var(--muted);font-size:.72em;font-style:normal}.venue-meal-section{margin:0 0 34px}.venue-section-title{font:400 15px/1.4 var(--serif);letter-spacing:.18em;color:var(--ink);border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:9px}.venue-meal-table{border-collapse:collapse;width:100%;font-size:12.5px}.venue-meal-table th{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:8px 12px;font-size:10px;font-weight:400}.venue-meal-table td{border-bottom:1px solid var(--line);color:var(--ink);padding:10px 12px}.venue-meal-table td:first-child{font-family:var(--serif)}.venue-intro-text{color:var(--ink);white-space:pre-wrap;margin:0;font-size:13px;line-height:2}.venue-photo-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=860px){.venue-photo-grid{grid-template-columns:repeat(2,1fr)}}.venue-photo-item{aspect-ratio:4/3;background:#cfc8bc;border-radius:2px;display:block;overflow:hidden}.venue-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.venue-photo-item:hover img{transform:scale(1.04)}.gallery-root.theme-dark .gallery-venue-cover,.gallery-root.theme-dark .venue-photo-item{background-color:#35322b}.gallery-root.theme-dark .gallery-venue-cover.placeholder{background:linear-gradient(135deg,#8c968233,#0000 60%),linear-gradient(90deg,#4a463d 0 22%,#2c2a25 22% 76%,#555a4c 76%)}.gallery-four-section{margin:0 auto;padding:0 0 90px}.gallery-four-tabs{border-top:1px solid var(--line);justify-content:center;gap:42px;padding-top:16px;display:flex}.gallery-four-tabs button{color:var(--muted);font:11px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 0;transition:color .3s;position:relative}.gallery-four-tabs button:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .42s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.gallery-four-tabs button:hover,.gallery-four-tabs button.active{color:var(--ink)}.gallery-four-tabs button:hover:after,.gallery-four-tabs button.active:after{transform:scaleX(1)}.gallery-four-toolbar{border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:54px;display:flex}.gallery-four-toolbar .gallery-search{width:min(380px,60vw)}.gallery-four-empty{text-align:center;color:var(--muted);letter-spacing:.06em;padding:90px 0;font-size:13px}html:has(.gallery-root){scrollbar-gutter:stable}.gallery-four-grid{grid-template-columns:repeat(3,1fr);gap:18px;width:min(100%,1000px);margin:0 auto;padding:36px 0 0;display:grid}@media (width<=860px){.gallery-four-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.gallery-four-grid{grid-template-columns:1fr}}.venue-tier-note{color:var(--muted);font-size:11px;font-family:var(--sans);margin-top:3px;display:block}button.venue-photo-item{cursor:pointer;text-align:left;border:0;margin:0;padding:0}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2)format("woff2")}:root{--t-brand:#e11d48;--t-brand-soft:#c4537d;--t-brand-bg:#e11d4814;--t-brand-border:#e11d4833;--t-bg-layout:#f8f9fb;--t-bg-container:#fff;--t-bg-elevated:#f8fafc;--t-text-primary:#0f172a;--t-text-secondary:#64748b;--t-text-tertiary:#94a3b8;--t-text-quaternary:#cbd5e1;--t-border:#e2e8f0;--t-border-light:#f1f5f9;--t-side:#fff;--t-top-bg:#fff;--t-card-hover-shadow:0 6px 18px #0f172a1a;--t-success:#10b981;--t-success-text:#059669;--t-warning:#f59e0b;--t-warning-text:#d97706;--t-danger:#f87171;--t-danger-text:#ef4444;--t-danger-bg:#ef444414;--t-brand-gradient:linear-gradient(135deg, #fff1f2 0%, #fce7f3 50%, #fdf2f8 100%);--status-blue:#2563eb;--status-blue-bg:#2563eb14;--status-cyan:#0891b2;--status-cyan-bg:#0891b214;--status-green:#059669;--status-green-bg:#10b98114;--status-purple:#7c3aed;--status-purple-bg:#8b5cf614;--status-orange:#d97706;--status-orange-bg:#f59e0b14;--status-rose:#e11d48;--status-rose-bg:#e11d4814;--status-slate:#64748b;--status-slate-bg:#64748b14;--attr-wedding-from:#e11d48;--attr-wedding-to:#7c3aed;--attr-event-from:#2d4fa8;--attr-event-to:#0891b2;--attr-baby-from:#c45878;--attr-baby-to:#f59e0b;--attr-proposal-from:#2e6eb0;--attr-proposal-to:#7c3aed;--attr-birthday-from:#1e7a3c;--attr-birthday-to:#84cc16;--attr-engagement-from:#2e8b57;--attr-engagement-to:#10b981;--attr-badge-wedding-text:#c4537d;--attr-badge-wedding-bg:#c4537d1f;--attr-badge-event-text:#2d4fa8;--attr-badge-event-bg:#2846a01f;--attr-badge-baby-text:#c45878;--attr-badge-baby-bg:#d26e821f;--attr-badge-proposal-text:#2e6eb0;--attr-badge-proposal-bg:#3c82c81f;--attr-badge-birthday-text:#1e7a3c;--attr-badge-birthday-bg:#22783c1f;--attr-badge-engagement-text:#2e8b57;--attr-badge-engagement-bg:#48a0641f}[data-theme=dark]{--t-brand:#b85f70;--t-brand-soft:#ce7485;--t-brand-bg:#b85f7021;--t-brand-border:#b85f704d;--t-bg-layout:#101318;--t-bg-container:#171b21;--t-bg-elevated:#1b2027;--t-text-primary:#f1f3f6;--t-text-secondary:#a8b0bc;--t-text-tertiary:#707a89;--t-text-quaternary:#4d5763;--t-border:#292f39;--t-border-light:#222832;--t-side:#12161c;--t-top-bg:#12161ce6;--t-card-hover-shadow:0 0 16px #b85f7042;--t-success:#58b99a;--t-success-text:#58b99a;--t-warning:#d7a657;--t-warning-text:#d7a657;--t-danger:#c97886;--t-danger-text:#c97886;--t-danger-bg:#c9788626;--t-brand-gradient:linear-gradient(135deg, #2a1820 0%, #3d2030 50%, #2c1a26 100%);--status-blue:#6e9ed9;--status-blue-bg:#6e9ed926;--status-cyan:#6e9ed9;--status-cyan-bg:#6e9ed926;--status-green:#58b99a;--status-green-bg:#58b99a26;--status-purple:#9a7bd4;--status-purple-bg:#9a7bd426;--status-orange:#d7a657;--status-orange-bg:#d7a65726;--status-rose:#b85f70;--status-rose-bg:#b85f7026;--status-slate:#707a89;--status-slate-bg:#707a892e;--attr-wedding-from:#b85f70;--attr-wedding-to:#9a7bd4;--attr-event-from:#6e9ed9;--attr-event-to:#6e9ed9;--attr-baby-from:#ce7485;--attr-baby-to:#d7a657;--attr-proposal-from:#6e9ed9;--attr-proposal-to:#9a7bd4;--attr-birthday-from:#58b99a;--attr-birthday-to:#a9c47a;--attr-engagement-from:#58b99a;--attr-engagement-to:#58b99a;--attr-badge-wedding-text:#ce7485;--attr-badge-wedding-bg:#ce748526;--attr-badge-event-text:#6e9ed9;--attr-badge-event-bg:#6e9ed926;--attr-badge-baby-text:#d798a3;--attr-badge-baby-bg:#d798a326;--attr-badge-proposal-text:#6e9ed9;--attr-badge-proposal-bg:#6e9ed926;--attr-badge-birthday-text:#58b99a;--attr-badge-birthday-bg:#58b99a26;--attr-badge-engagement-text:#58b99a;--attr-badge-engagement-bg:#58b99a26}*,:before,:after{box-sizing:border-box}body{background:var(--t-bg-layout);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Microsoft YaHei,PingFang SC,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6,p{margin:0}.info-row:last-child{border-bottom:none!important}#root{min-height:100vh}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--t-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--t-text-quaternary)}::-webkit-scrollbar-track{background:0 0}.todo-item{border:1px solid #0000;transition:background .2s,border-color .2s}.todo-item:hover{border-color:var(--t-border);background:var(--t-bg-elevated)}.app-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex}.ant-layout-sider .ant-menu-inline .ant-menu-item{align-items:center;display:flex}.ant-layout-sider .ant-menu-inline .ant-menu-title-content{flex:1;min-width:0}.ant-layout-sider .ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-layout-sider .ant-menu-inline-collapsed>.ant-menu-item .anticon{font-size:16px}.member-card{transition:box-shadow .18s,border-color .18s}.member-card:hover{box-shadow:0 4px 16px #00000014}.member-card .member-delete{transition:opacity .15s}.member-card:hover .member-delete{opacity:1!important}.resource-card.ant-card{transition:transform .18s,box-shadow .18s}.resource-card.ant-card.ant-card-hoverable:hover{transform:translateY(-3px);box-shadow:var(--t-card-hover-shadow)!important}.outline-item{transition:background .15s}.outline-item:hover{background:#ffffff14}.ant-modal .ant-modal-close{background:var(--t-bg-container)!important;border:1px solid var(--t-border)!important;width:32px!important;height:32px!important;color:var(--t-text-secondary)!important;border-radius:50%!important;top:-16px!important;right:-16px!important;box-shadow:0 2px 6px #0f172a26!important}.ant-modal .ant-modal-close .anticon{font-size:12px!important}.ant-modal .ant-modal-close:hover,.ant-modal .ant-modal-close:focus-visible{background:var(--t-bg-container)!important;color:var(--t-text-primary)!important}[data-theme=dark] .ant-modal .ant-modal-close{box-shadow:0 0 12px #b85f7042!important}.pdf-page-input{background:0 0!important;border-color:#ffffff4d!important}.pdf-page-input .ant-input-number-input{color:#fff!important}[data-theme=dark] .ant-popover.ant-popconfirm .ant-popover-container,[data-theme=dark] .glow-confirm-modal .ant-modal-container{box-shadow:var(--t-card-hover-shadow)!important}
