:root{--paper: #fbf7f0;--paper-2: #f3ece0;--paper-3: #fffdf8;--ink: #2b2622;--ink-soft: #6e655c;--coral: #ff7f68;--coral-soft: #ffe0d8;--mint: #8fd9c0;--mint-soft: #dff4ec;--butter: #ffd98e;--butter-soft: #fff1c9;--lilac: #c9b8e8;--lilac-soft: #eee8fb;--line: #e5dcce;--shadow: 0 18px 50px rgba(43, 38, 34, .11);--shadow-soft: 0 10px 28px rgba(43, 38, 34, .08);--font-ui: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-display: "Noto Serif KR", "Fraunces", "AppleMyungjo", serif;--font-label: "Space Mono", "Noto Sans KR", monospace;color:var(--ink);background:var(--paper);font-family:var(--font-ui);font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;margin:0;background:radial-gradient(circle at 10% 8%,rgba(143,217,192,.18),transparent 24rem),radial-gradient(circle at 92% 4%,rgba(255,217,142,.14),transparent 22rem),linear-gradient(180deg,#fffdf8 0%,var(--paper) 58%,#f8f2e8 100%)}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,127,104,.32);outline-offset:3px}img{display:block;max-width:100%}svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app{min-height:100vh;position:relative}.app:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;content:"";opacity:.42;background-image:linear-gradient(rgba(43,38,34,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(43,38,34,.025) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 80%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 80%)}.appHeader{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;max-width:1060px;margin:0 auto;padding:.95rem 1.15rem .65rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brandButton{display:inline-flex;align-items:center;gap:.85rem;min-width:0;border:0;background:transparent;cursor:pointer;text-align:left}.brandMark{display:grid;place-items:center;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;border:1px solid rgba(43,38,34,.1);border-radius:50%;background:var(--paper-3);color:var(--coral);box-shadow:var(--shadow-soft);font-family:"Fraunces",var(--font-display);font-size:1.4rem}.brandButton strong{display:block;font-family:var(--font-display);font-size:clamp(1.12rem,2.6vw,1.42rem);line-height:1.05}.brandButton small{display:block;margin-top:.22rem;color:var(--ink-soft);font-size:.76rem}.topNav{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding:.28rem;border:1px solid rgba(43,38,34,.08);border-radius:999px;background:#fffdf8d6;box-shadow:0 8px 24px #2b262212;scrollbar-width:none}.topNav::-webkit-scrollbar{display:none}.topNav button{min-width:4rem;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);cursor:pointer;padding:.58rem .82rem;font-size:.88rem;font-weight:800;white-space:nowrap;word-break:keep-all;transition:background .18s ease,color .18s ease,transform .18s ease}.topNav button:hover{transform:translateY(-1px)}.topNav button.active{background:var(--ink);color:var(--paper-3)}.authControls{display:inline-flex;align-items:center;gap:.48rem;min-width:0;padding:.25rem;border:1px solid rgba(43,38,34,.08);border-radius:999px;background:#fffdf8d6;box-shadow:0 8px 24px #2b26220f}.authControls span{max-width:11rem;overflow:hidden;padding:0 .32rem 0 .6rem;color:var(--ink-soft);font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.authControls button{border:0;border-radius:999px;background:var(--ink);color:var(--paper-3);cursor:pointer;padding:.55rem .78rem;font-size:.78rem;font-weight:900}.offlineBanner{max-width:1060px;margin:.25rem auto 0;border:1px solid rgba(255,127,104,.24);border-radius:.5rem;background:#ffe0d88a;color:#7d3d2f;padding:.72rem 1rem;font-size:.88rem;font-weight:850;line-height:1.55;word-break:keep-all}main{max-width:1060px;margin:0 auto;padding:1rem 1.15rem 6rem}.galleryShell,.timelineShell,.detailShell,.uploadShell,.archiveShell{animation:pageIn .32s ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.galleryShell{display:grid;grid-template-columns:12.6rem minmax(0,1fr);gap:1rem;align-items:start;min-height:40rem;padding:.78rem;border:1px solid rgba(43,38,34,.1);border-radius:.62rem;background:linear-gradient(90deg,#fffdf8e0,#fffdf88a),#fbf7f080;box-shadow:0 18px 44px #2b262213}.authGate{display:grid;justify-items:center;max-width:34rem;margin:4rem auto 0;padding:2rem 1.4rem;border:1px solid rgba(43,38,34,.1);border-radius:.62rem;background:#fffdf8c2;box-shadow:0 18px 44px #2b262213;text-align:center}.authGate h1{max-width:25rem;margin:.45rem 0 0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.35rem);line-height:1.18}.authGate p:not(.label){max-width:27rem;margin:.82rem 0 0;color:var(--ink-soft);font-size:.95rem;font-weight:700;line-height:1.7;word-break:keep-all}.authGateActions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.25rem}.portfolioRail{position:sticky;top:5rem;display:grid;gap:1rem;align-content:start;min-height:36.5rem;padding:1.08rem .95rem;border-right:1px solid rgba(43,38,34,.08)}.railTitle strong{display:block;font-family:var(--font-display);font-size:1.96rem;line-height:1.12}.railTitle span{display:block;width:4.65rem;height:.18rem;margin-top:.8rem;border-radius:999px;background:var(--coral)}.railNote{padding:1rem .9rem;border:1px dashed rgba(43,38,34,.2);border-radius:.45rem;background:#fffdf894}.railNote p:not(.label){margin:0;color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.65;word-break:keep-all}.railMascot{justify-self:center;margin:.4rem 0 .2rem}.railSpec{display:grid;gap:.72rem;margin:auto 0 0;padding:.92rem 0 0;border-top:1px solid rgba(43,38,34,.1)}.railSpec div{display:grid;grid-template-columns:3.9rem minmax(0,1fr);gap:.45rem;align-items:baseline}.railSpec dt,.railSpec dd{margin:0}.railSpec dt{color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.railSpec dd{color:var(--ink);font-size:.74rem;font-weight:900;line-height:1.35;white-space:nowrap}.gallerySurface{min-width:0;padding:.25rem .2rem .2rem}.galleryTitleRow{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.1rem .05rem .45rem}.galleryTitleRow h1{font-size:clamp(1.55rem,3.1vw,2.28rem)}.galleryTitleRow p:not(.label){max-width:30rem;margin:.38rem 0 0;color:var(--ink-soft);font-size:.98rem;line-height:1.56}.smallAddButton{display:inline-flex;align-items:center;justify-content:center;gap:.44rem;flex:0 0 auto;min-height:2.6rem;border:0;border-radius:999px;background:var(--coral);color:#fff;cursor:pointer;padding:.64rem .92rem;font-size:.88rem;font-weight:900;box-shadow:0 12px 26px #ff7f683d}.smallAddButton svg{width:1rem;height:1rem;stroke-width:2.6}.introPanel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:clamp(1rem,3vw,1.45rem);border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8e0;box-shadow:var(--shadow-soft)}.label{margin:0 0 .55rem;color:var(--ink-soft);font-family:var(--font-label);font-size:.74rem;font-weight:700;letter-spacing:0}h1,h2{margin:0;font-family:var(--font-display);line-height:1.12}.uploadHeader h1,.modelSheet h1{font-size:clamp(2rem,5.5vw,4.2rem)}.introPanel h1{font-size:clamp(1.55rem,3.4vw,2.3rem)}.introPanel p:not(.label){max-width:34rem;margin:.45rem 0 0;color:var(--ink-soft);font-size:clamp(.98rem,2vw,1.08rem);line-height:1.62}.mascotCard{display:grid;gap:.5rem;justify-items:center;min-width:8rem;padding:.8rem .85rem;border:1px dashed rgba(43,38,34,.18);border-radius:.5rem;background:#ffffff7a}.mascotCard small{color:var(--ink-soft);font-size:.82rem;font-weight:800}.miniMascot{position:relative;width:4.8rem;height:4.25rem;border:2px solid rgba(43,38,34,.72);border-radius:50% 50% 46% 46%;background:linear-gradient(180deg,#fff7df,#f8ead1);box-shadow:inset 0 -.5rem #ffd98e29,var(--shadow-soft)}.miniMascot.big{width:6.4rem;height:5.6rem}.miniMascot:before,.miniMascot:after{position:absolute;top:-1rem;width:1.6rem;height:1.6rem;border:2px solid rgba(43,38,34,.7);border-radius:50%;background:var(--mint);content:""}.miniMascot:before{left:.7rem}.miniMascot:after{right:.7rem}.miniMascot span:first-child,.miniMascot span:last-child{position:absolute;top:1.72rem;width:.32rem;height:.32rem;border-radius:50%;background:var(--ink)}.miniMascot span:first-child{left:1.65rem}.miniMascot span:last-child{right:1.65rem}.toolBand{display:grid;grid-template-columns:minmax(15rem,.58fr) minmax(0,1fr);gap:.85rem;align-items:center;margin:.85rem 0 1rem}.inlineNotice{margin:-.25rem 0 1rem;padding:.72rem .9rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:#fffdf8c2;color:var(--ink-soft);font-size:.86rem;font-weight:800}.inlineNotice.warning{border-color:#ff7f6842;background:#ffe0d873;color:#8b4637}.searchBox{display:flex;align-items:center;min-height:3.25rem;gap:.72rem;padding:0 1rem;border:1px solid rgba(43,38,34,.11);border-radius:.5rem;background:#fffdf8eb;box-shadow:0 10px 26px #2b26220e;color:var(--ink-soft)}.searchBox input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:700}.searchBox input::placeholder{color:#9a9084}.chips{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;overflow-x:auto;padding:.15rem .05rem;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid rgba(43,38,34,.08);border-radius:999px;background:var(--paper-3);color:var(--ink-soft);cursor:pointer;padding:.62rem .86rem;font-size:.88rem;font-weight:900;box-shadow:0 6px 18px #2b26220e}.chip:nth-child(2){background:var(--mint-soft)}.chip:nth-child(3){background:var(--butter-soft)}.chip:nth-child(4){background:var(--lilac-soft)}.chip.active{background:var(--coral);color:#fffdf8;border-color:transparent}.galleryGrid{column-count:4;column-gap:.9rem}.artCard{display:inline-block;width:100%;break-inside:avoid;margin:0 0 .9rem;padding:.58rem .58rem .72rem;border:1px solid rgba(43,38,34,.09);border-radius:.5rem;background:#fffdf8f5;box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;transition:transform .19s ease,box-shadow .19s ease}.artCard:hover{transform:translateY(-4px) rotate(-.25deg);box-shadow:var(--shadow)}.imageWrap{position:relative;display:block;overflow:hidden;border-radius:.4rem;background:var(--paper-2)}.imageWrap img{width:100%;height:100%;object-fit:cover}.countBadge{position:absolute;right:.55rem;bottom:.55rem;min-width:2.35rem;border-radius:999px;background:#2b2622c2;color:#fff;padding:.3rem .5rem;text-align:center;font-family:var(--font-label);font-size:.72rem;font-weight:700}.publicBadge{position:absolute;left:.5rem;top:.5rem;border-radius:999px;background:#fffdf8e6;color:var(--coral);box-shadow:0 8px 18px #2b26221a;padding:.26rem .48rem;font-size:.7rem;font-weight:900}.cardMeta{display:grid;gap:.22rem;padding:.62rem .12rem 0}.cardMeta strong{overflow:hidden;color:var(--ink);font-size:.94rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.cardMeta span{color:var(--ink-soft);font-family:var(--font-label);font-size:.72rem}.timelineShell{display:grid;gap:1rem}.timelineHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:clamp(1rem,3vw,1.3rem);border:1px solid rgba(43,38,34,.08);border-radius:.55rem;background:#fffdf8db;box-shadow:var(--shadow-soft)}.timelineHeader h1{font-size:clamp(1.8rem,4vw,3.2rem)}.timelineHeader p:not(.label){max-width:34rem;margin:.55rem 0 0;color:var(--ink-soft);font-size:.96rem;font-weight:700;line-height:1.65;word-break:keep-all}.timelineList{display:grid;gap:1rem}.timelineMonth{display:grid;gap:.7rem}.timelineMonth h2{position:sticky;top:4.8rem;z-index:1;width:fit-content;border:1px solid rgba(43,38,34,.08);border-radius:999px;background:#fffdf8eb;box-shadow:0 8px 22px #2b26220f;padding:.48rem .78rem;font-family:var(--font-ui);font-size:.9rem;font-weight:950}.timelineMonthItems{display:grid;gap:.72rem;padding-left:.7rem;border-left:2px solid rgba(143,217,192,.55)}.timelineCard{display:grid;grid-template-columns:7.2rem minmax(0,1fr) auto;gap:.9rem;align-items:center;width:100%;border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8e6;box-shadow:0 10px 26px #2b26220f;color:inherit;cursor:pointer;padding:.72rem;text-align:left;transition:transform .19s ease,box-shadow .19s ease}.timelineCard:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.timelineCard img{width:7.2rem;aspect-ratio:1;border-radius:.42rem;object-fit:cover;background:var(--paper-2)}.timelineCardBody{display:grid;min-width:0;gap:.24rem}.timelineCardBody strong{overflow:hidden;color:var(--ink);font-size:1.08rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.timelineCardBody em{color:#315f50;font-size:.8rem;font-style:normal;font-weight:900}.timelineCardBody span:last-child{display:-webkit-box;overflow:hidden;color:var(--ink-soft);font-size:.86rem;font-weight:700;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timelineDate,.timelineCount{color:var(--ink-soft);font-family:var(--font-label);font-size:.72rem;font-weight:700}.timelineCount{min-width:2.6rem;border-radius:999px;background:#2b2622b8;color:#fff;padding:.34rem .5rem;text-align:center}.emptyState{display:grid;justify-items:center;gap:1rem;min-height:22rem;padding:4rem 1.2rem;border:1px dashed rgba(43,38,34,.16);border-radius:.5rem;background:#fffdf8a3;text-align:center}.emptyState h2{font-size:clamp(1.4rem,4vw,2rem)}.emptyState p{max-width:22rem;margin:0;color:var(--ink-soft);line-height:1.6}.portfolioShell{display:grid;gap:1rem;animation:pageIn .32s ease both}.portfolioHero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(20rem,1fr);gap:clamp(1rem,3vw,2rem);align-items:stretch;min-height:30rem;padding:clamp(1rem,3vw,1.4rem);border:1px solid rgba(43,38,34,.08);border-radius:.62rem;background:linear-gradient(135deg,#fffdf8eb,#fbf7f09e),var(--paper);box-shadow:0 18px 44px #2b262214}.portfolioIntro{display:grid;align-content:center;gap:1rem;padding:.25rem}.portfolioIntro h1{max-width:8ch;font-size:clamp(2.4rem,5.5vw,4.8rem)}.portfolioIntro p:not(.label){max-width:28rem;margin:0;color:var(--ink-soft);font-size:1.05rem;line-height:1.7}.portfolioStats{display:flex;flex-wrap:wrap;gap:.65rem;margin:.45rem 0 0}.portfolioStats div{min-width:6.5rem;padding:.78rem .9rem;border:1px dashed rgba(43,38,34,.16);border-radius:.48rem;background:#fffdf8a3}.portfolioStats dt,.portfolioStats dd{margin:0}.portfolioStats dt{color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.portfolioStats dd{margin-top:.24rem;color:var(--ink);font-size:1.15rem;font-weight:900}.featuredArtwork,.portfolioCard{border:0;cursor:pointer;color:inherit;text-align:left}.featuredArtwork{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.85rem;min-width:0;padding:.78rem;border:1px solid rgba(43,38,34,.1);border-radius:.55rem;background:#fffdf8eb;box-shadow:var(--shadow);transition:transform .19s ease,box-shadow .19s ease}.featuredArtwork:hover,.portfolioCard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.featuredImage{display:block;overflow:hidden;border-radius:.42rem;background:var(--paper-2)}.featuredImage img{width:100%;height:100%;max-height:25rem;object-fit:contain;background:var(--paper-2)}.featuredCopy,.portfolioCard span{display:grid;gap:.32rem}.featuredCopy span{color:#315f50;font-size:.82rem;font-weight:900}.featuredCopy strong{font-family:var(--font-display);font-size:1.65rem;line-height:1.2}.featuredCopy em,.portfolioCard em{color:var(--ink-soft);font-style:normal;line-height:1.55}.portfolioGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.portfolioCard{display:grid;gap:.7rem;padding:.62rem .62rem .78rem;border:1px solid rgba(43,38,34,.09);border-radius:.5rem;background:#fffdf8f0;box-shadow:var(--shadow-soft);transition:transform .19s ease,box-shadow .19s ease}.portfolioCard img{width:100%;aspect-ratio:4 / 4.7;border-radius:.38rem;object-fit:cover;object-position:center top;background:var(--paper-2)}.portfolioCard strong{font-size:1rem;line-height:1.25}.fab{position:fixed;right:max(1.1rem,calc((100vw - 1060px)/2 + 1.1rem));bottom:1.2rem;z-index:30;display:grid;place-items:center;width:4.25rem;height:4.25rem;border:0;border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 20px 42px #ff7f685c;cursor:pointer;transition:transform .18s ease}.fab:hover{transform:translateY(-3px) scale(1.03)}.fab svg{width:1.8rem;height:1.8rem;stroke-width:2.6}.detailActions{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.ghostButton,.secondaryButton,.primaryButton,.fileButton,.moreButton{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;border-radius:.5rem;cursor:pointer;padding:.72rem 1rem;font-size:.94rem;font-weight:900;text-decoration:none}.ghostButton{border:1px solid rgba(43,38,34,.1);background:#fffdf8c2;color:var(--ink-soft)}.ghostButton.danger{border-color:#ff7f683d;color:#9c412f}.primaryButton{border:0;background:var(--coral);color:#fff;box-shadow:0 12px 26px #ff7f6842}.primaryButton:disabled,.secondaryButton:disabled,.smallAddButton:disabled{cursor:wait;opacity:.62;transform:none}.secondaryButton,.moreButton{border:1px solid rgba(43,38,34,.12);background:var(--paper-3);color:var(--ink)}.detailLayout{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(22rem,.86fr);gap:clamp(1.1rem,3vw,2rem);align-items:start;justify-content:center}.polaroidStage{position:sticky;top:6.1rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:var(--paper-3);box-shadow:var(--shadow)}.polaroidStage:after{display:none;height:0;content:""}.polaroidStage img{width:100%;max-height:72vh;border-radius:.32rem;object-fit:contain;background:var(--paper-2)}.polaroidCaption{display:grid;gap:.22rem;min-height:3.7rem;padding:.92rem 8.4rem .2rem .1rem}.polaroidCaption span{color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.polaroidCaption strong{overflow:hidden;color:var(--ink);font-size:.92rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.tape{position:absolute;top:-.45rem;left:50%;width:8.5rem;height:2.05rem;transform:translate(-50%) rotate(-3deg);border-radius:.15rem;background:repeating-linear-gradient(90deg,#ffd98ecc,#ffd98ecc 12px,#ffe5aad1 12px,#ffe5aad1 24px);opacity:.88}.carouselControls{position:absolute;right:1.6rem;bottom:1.2rem;display:inline-flex;align-items:center;gap:.35rem;padding:.32rem;border-radius:999px;background:#fffdf8e0;box-shadow:0 8px 24px #2b26221f}.carouselControls button{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:0;border-radius:50%;background:transparent;cursor:pointer}.carouselControls span{min-width:2.8rem;color:var(--ink);text-align:center;font-family:var(--font-label);font-size:.78rem;font-weight:700}.modelSheet{padding:clamp(1.15rem,3vw,1.85rem);border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8db;box-shadow:var(--shadow-soft)}.modelSheet h1{max-width:16ch;font-size:clamp(2rem,4.4vw,3.4rem)}.detailMeta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.2rem}.detailMeta span{border-radius:999px;background:var(--mint-soft);color:#315f50;padding:.45rem .72rem;font-size:.82rem;font-weight:900}.detailMeta .datePill{background:var(--butter-soft);color:#6e5423;font-family:var(--font-label)}.detailMeta .publicPill{background:var(--coral-soft);color:#9c412f}.detailVisibilityPanel{display:grid;gap:.55rem;margin:0 0 1.2rem;padding:.72rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:#fbf7f0bd}.detailVisibilityPanel>span{color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.detailVisibilityPanel div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.detailVisibilityPanel button{min-height:2.7rem;border:1px solid rgba(43,38,34,.1);border-radius:.45rem;background:var(--paper-3);color:var(--ink-soft);cursor:pointer;padding:.56rem .7rem;font-size:.86rem;font-weight:900}.detailVisibilityPanel button.active{border-color:transparent;background:var(--ink);color:var(--paper-3)}.detailVisibilityPanel button:disabled{cursor:default;opacity:1}.backupPanel{display:grid;gap:.25rem;margin:-.35rem 0 1.2rem;padding:.78rem .86rem;border:1px solid rgba(43,38,34,.1);border-left:.32rem solid var(--butter);border-radius:.5rem;background:#fbf7f0c7}.backupPanel span{color:var(--ink-soft);font-family:var(--font-label);font-size:.66rem;font-weight:700}.backupPanel strong{color:var(--ink);font-size:.95rem}.backupPanel p{margin:0;color:var(--ink-soft);font-size:.78rem;font-weight:750;line-height:1.55;overflow-wrap:anywhere}.backupPanel.backed_up{border-left-color:var(--mint)}.backupPanel.failed{border-left-color:var(--coral);background:#ffe0d83d}.backupPanel.skipped{border-left-color:#2b26222e}.editPanel{display:grid;gap:.9rem;margin:0 0 1.2rem;padding:.92rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:#fbf7f0c7}.editPanel .fieldGrid{gap:.72rem}.editPanel .fieldGrid input,.editPanel .fieldGrid textarea{background:var(--paper-3);font-size:.88rem}.editPanel .fieldGrid textarea{min-height:5rem}.editPanel .formActions{grid-column:auto;margin-top:0}.imageManagePanel{display:grid;gap:.82rem;margin:0 0 1.2rem;padding:.92rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:#fffdf8db}.imageManageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.imageManageHeader h2{font-size:1.35rem}.imageManageHeader p:not(.label){max-width:24rem;margin:.35rem 0 0;color:var(--ink-soft);font-size:.82rem;font-weight:700;line-height:1.55;word-break:keep-all}.fileButton.compact{flex:0 0 auto;min-height:2.45rem;padding:.55rem .76rem;font-size:.84rem}.limitPill{display:inline-flex;align-items:center;min-height:2.35rem;border-radius:999px;background:var(--butter-soft);color:#725621;padding:.4rem .72rem;font-size:.78rem;font-weight:900}.coverToggle{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:.82rem;font-weight:900}.coverToggle input{width:1rem;height:1rem;accent-color:var(--coral)}.imageManageList{display:grid;gap:.62rem}.imageManageItem{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:.72rem;align-items:start;padding:.68rem;border:1px solid rgba(43,38,34,.08);border-radius:.48rem;background:#fbf7f0b8}.imageManageItem.cover{border-color:#ff7f684d;background:#ffe0d838}.imageManageItem img{width:4.8rem;aspect-ratio:1;border-radius:.38rem;object-fit:cover;background:var(--paper-2)}.imageManageFields{display:grid;min-width:0;gap:.55rem}.imageManageTitle{display:flex;align-items:center;gap:.45rem}.imageManageTitle strong{color:var(--ink);font-size:.92rem}.imageManageTitle span{border-radius:999px;background:var(--coral-soft);color:#9c412f;padding:.18rem .42rem;font-size:.68rem;font-weight:900}.imageManageFields label{display:grid;gap:.3rem;color:var(--ink-soft);font-size:.72rem;font-weight:900}.imageManageFields input,.imageManageFields select{width:100%;min-width:0;border:1px solid rgba(43,38,34,.12);border-radius:.42rem;background:var(--paper-3);color:var(--ink);padding:.58rem .66rem;font-size:.84rem;font-weight:800}.imageManageActions{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:.38rem}.imageManageActions button{min-height:2.15rem;border:1px solid rgba(43,38,34,.1);border-radius:.42rem;background:#fffdf8db;color:var(--ink-soft);cursor:pointer;padding:.42rem .58rem;font-size:.76rem;font-weight:900}.imageManageActions button.danger{border-color:#ff7f683d;color:#9c412f}.imageManageActions button:disabled{cursor:default;opacity:.42}.specPanel{display:grid;gap:.52rem;margin:1.2rem 0;padding:.86rem .95rem;border:1px solid rgba(43,38,34,.12);border-left:.28rem solid var(--mint);border-radius:.5rem;background:linear-gradient(rgba(43,38,34,.035) 1px,transparent 1px),#fbf7f0cc;background-size:100% 1.85rem}.specPanel .specTitle{display:block;color:var(--ink);font-family:var(--font-label);font-size:.72rem;font-weight:700}.specPanel div{min-width:0;display:grid;grid-template-columns:5.4rem minmax(0,1fr);gap:.75rem;align-items:baseline;padding:.16rem 0}.specPanel span{display:block;color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.specPanel strong{display:block;overflow-wrap:anywhere;margin-top:0;font-size:.92rem;line-height:1.35}.imageSourceCard{display:grid;grid-template-columns:7.4rem minmax(0,1fr);gap:.24rem .75rem;align-items:baseline;margin:-.25rem 0 1rem;padding:.82rem .92rem;border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8b8}.imageSourceCard span{color:var(--ink-soft);font-family:var(--font-label);font-size:.67rem;font-weight:700}.imageSourceCard strong{color:var(--ink);font-size:.94rem}.imageSourceCard p{grid-column:2;margin:0;color:var(--ink-soft);font-size:.86rem;font-weight:750;line-height:1.5;overflow-wrap:anywhere}.imageDots{display:flex;gap:.42rem;margin:.95rem 0 1.2rem}.imageDots button{width:.6rem;height:.6rem;border:0;border-radius:50%;background:#2b26222e;cursor:pointer;padding:0}.imageDots button.active{width:1.7rem;border-radius:999px;background:var(--coral)}.notesList{display:grid;gap:.95rem;margin:0}.notesList div{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.7rem;align-items:start;padding-bottom:.92rem;border-bottom:1px solid rgba(43,38,34,.08)}.notesList div:last-child{padding-bottom:0;border-bottom:0}.notesList dt{margin:0;color:var(--ink-soft);font-family:var(--font-label);font-size:.77rem;font-weight:900}.notesList dd{margin:0;color:var(--ink);font-size:1rem;line-height:1.65}.archiveShell{display:grid;gap:1rem}.archiveHeader{padding:1.2rem 1.1rem;border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8db;box-shadow:var(--shadow-soft)}.archiveHeader h1{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem)}.archiveHeader p:not(.label){max-width:34rem;margin:.55rem 0 0;color:var(--ink-soft);font-size:.94rem;font-weight:700;line-height:1.65;word-break:keep-all}.archiveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.archiveCard{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.72rem;border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8e0;box-shadow:0 10px 28px #2b26220f}.archiveCard img{width:6.5rem;aspect-ratio:1;border-radius:.42rem;object-fit:cover;background:var(--paper-2)}.archiveCard div{min-width:0}.archiveCard span,.archiveCard em{display:block;color:var(--ink-soft);font-size:.74rem;font-style:normal;font-weight:800}.archiveCard strong{display:block;overflow:hidden;margin:.18rem 0;color:var(--ink);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.archiveCard .primaryButton{min-height:2.45rem;padding:.56rem .82rem;font-size:.86rem}.uploadHeader{display:grid;gap:.65rem;margin-bottom:1rem}.uploadHeader h1{font-size:clamp(2rem,5vw,3.4rem)}.steps{display:flex;gap:.35rem;max-width:30rem;padding:.3rem;border:1px solid rgba(43,38,34,.08);border-radius:999px;background:#fffdf8b3}.steps span{flex:1;border-radius:999px;color:var(--ink-soft);padding:.55rem .65rem;text-align:center;font-size:.78rem;font-weight:900}.steps span.active{background:var(--coral);color:#fff}.uploadGrid,.uploadForm{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(20rem,1fr);gap:1rem;align-items:start}.previewStack{display:grid;gap:.78rem}.uploadPreview,.formPreview,.savedPolaroid{position:relative;margin:0;padding:.85rem .85rem 2.4rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:var(--paper-3);box-shadow:var(--shadow-soft)}.uploadPreview:nth-child(2){transform:rotate(1.2deg)}.uploadPreview:nth-child(3){transform:rotate(-.8deg)}.uploadPreview img,.formPreview img,.savedPolaroid img{width:100%;max-height:35rem;border-radius:.35rem;object-fit:contain;background:var(--paper-2)}.uploadPreview figcaption,.savedPolaroid figcaption,.formPreview span{position:absolute;right:1.25rem;bottom:.85rem;color:var(--ink-soft);font-family:var(--font-label);font-size:.8rem;font-weight:700}.adjustControls{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem;margin-top:.72rem;padding-right:3.4rem}.adjustControls button{min-height:2.1rem;border:1px solid rgba(43,38,34,.1);border-radius:.42rem;background:#fbf7f0e6;color:var(--ink-soft);cursor:pointer;padding:.42rem .56rem;font-size:.76rem;font-weight:900}.adjustControls button:disabled{cursor:default;opacity:.48}.adjustControls span{color:var(--ink-soft);font-family:var(--font-label);font-size:.68rem;font-weight:700}.confirmPanel,.savedPanel{display:grid;justify-items:start;gap:.8rem;padding:clamp(1.2rem,4vw,2rem);border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8eb;box-shadow:var(--shadow-soft)}.confirmPanel h2,.savedPanel h2{font-size:clamp(1.6rem,4vw,2.4rem)}.fileButton{position:relative;overflow:hidden;border:1px solid rgba(43,38,34,.12);background:var(--mint-soft);color:#2d5d50}.fileButton input{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.uploadForm{padding:clamp(1rem,3vw,1.4rem);border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8e6;box-shadow:var(--shadow-soft)}.fieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.fieldGrid label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.79rem;font-weight:900}.fieldGrid label.wide{grid-column:1 / -1}.fieldGrid input,.fieldGrid select,.fieldGrid textarea{width:100%;min-width:0;border:1px solid rgba(43,38,34,.13);border-radius:.45rem;background:#fffdf8;color:var(--ink);padding:.78rem .85rem;font-size:.96rem;font-weight:700}.fieldGrid textarea{min-height:6.2rem;resize:vertical;line-height:1.55}.visibilityPanel{display:grid;gap:.55rem;margin:.85rem 0 0;padding:0;border:0}.visibilityPanel legend{color:var(--ink-soft);font-size:.79rem;font-weight:900}.visibilityOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.visibilityOptions button{display:grid;gap:.28rem;min-height:4.1rem;border:1px solid rgba(43,38,34,.12);border-radius:.48rem;background:#fffdf8db;color:var(--ink);cursor:pointer;padding:.72rem .82rem;text-align:left;font-size:.94rem;font-weight:900}.visibilityOptions button span{color:var(--ink-soft);font-size:.78rem;font-weight:800;line-height:1.35}.visibilityOptions button.active{border-color:#ff7f6861;background:var(--coral-soft);box-shadow:0 10px 24px #ff7f681f}.uploadImageMetaPanel{display:grid;gap:.62rem;grid-column:2;margin:.85rem 0 0;padding:0;border:0}.uploadImageMetaPanel legend{color:var(--ink-soft);font-size:.79rem;font-weight:900}.uploadImageMetaList{display:grid;gap:.62rem}.uploadImageMetaItem{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:.68rem;align-items:start;padding:.62rem;border:1px solid rgba(43,38,34,.1);border-radius:.5rem;background:#fffdf8b8}.uploadImageMetaItem img{width:4.6rem;aspect-ratio:1;border-radius:.42rem;object-fit:cover}.uploadImageMetaItem>div{display:grid;grid-template-columns:minmax(6rem,.42fr) minmax(0,1fr);gap:.48rem;min-width:0}.uploadImageMetaItem strong{grid-column:1 / -1;font-size:.86rem}.uploadImageMetaItem label{display:grid;gap:.3rem;color:var(--ink-soft);font-size:.74rem;font-weight:900}.uploadImageMetaItem input,.uploadImageMetaItem select{width:100%;min-width:0;border:1px solid rgba(43,38,34,.13);border-radius:.42rem;background:#fffdf8;color:var(--ink);padding:.62rem .68rem;font-size:.88rem;font-weight:800}.extraFields{grid-column:2;margin-top:.85rem}.moreButton{justify-self:start;margin-top:.85rem}.formActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;grid-column:2;margin-top:1rem}.savedPanel{justify-items:center;max-width:34rem;margin:0 auto;text-align:center}.savedPanel .formActions{grid-column:auto;justify-content:center;margin-top:.35rem}.checkMark{display:grid;place-items:center;width:4.8rem;height:4.8rem;border-radius:50%;background:var(--coral);color:#fff;font-size:2.6rem;font-weight:900;box-shadow:0 18px 38px #ff7f6852}.savedPolaroid{width:min(100%,20rem)}.toast{position:fixed;left:50%;bottom:1.4rem;z-index:40;transform:translate(-50%);border:1px solid rgba(43,38,34,.1);border-radius:999px;background:var(--ink);color:#fff;box-shadow:var(--shadow);padding:.85rem 1.05rem;font-size:.92rem;font-weight:900}@media(max-width:860px){.appHeader{align-items:center;gap:.55rem;padding:.72rem .86rem .42rem}.topNav{flex:0 0 auto;width:auto;padding:.22rem}.topNav button{flex:0 0 auto;min-width:0;min-height:2.55rem;padding:.46rem .6rem;font-size:.82rem}main{padding:.72rem .86rem 5.4rem}.galleryShell{display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.portfolioRail{display:none}.gallerySurface{padding:0}.galleryTitleRow{align-items:flex-start;padding:.78rem .9rem .8rem;border:1px solid rgba(43,38,34,.08);border-radius:.5rem;background:#fffdf8d6;box-shadow:0 10px 26px #2b26220f}.galleryTitleRow h1{font-size:1.54rem}.galleryTitleRow p:not(.label){max-width:17rem;font-size:.88rem}.timelineHeader{align-items:flex-start;padding:.9rem}.timelineMonth h2{top:4.3rem}.timelineCard{grid-template-columns:5.8rem minmax(0,1fr) auto;gap:.72rem}.timelineCard img{width:5.8rem}.smallAddButton{display:none}.introPanel{grid-template-columns:1fr}.mascotCard{display:none}.toolBand{grid-template-columns:1fr;gap:.62rem;margin:.68rem 0 .82rem}.chips{flex-wrap:nowrap;overflow-x:auto}.searchBox{min-height:2.86rem;padding:0 .85rem}.chip{padding:.54rem .75rem;font-size:.82rem}.galleryGrid{column-count:2;column-gap:.75rem}.portfolioHero{grid-template-columns:1fr;min-height:0}.portfolioIntro h1{max-width:none;font-size:2.65rem}.featuredImage img{max-height:none;aspect-ratio:4 / 4.8}.portfolioGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.artCard{padding:.5rem .5rem .62rem}.cardMeta strong{font-size:.88rem}.cardMeta span{font-size:.68rem}.countBadge{right:.4rem;bottom:.4rem;min-width:2.05rem;padding:.24rem .42rem;font-size:.68rem}.detailLayout,.uploadGrid,.uploadForm,.visibilityOptions{grid-template-columns:1fr}.polaroidStage{position:relative;top:auto}.uploadImageMetaPanel,.extraFields,.formActions{grid-column:1}.specPanel,.imageSourceCard,.notesList div{grid-template-columns:1fr}.imageSourceCard p{grid-column:1}.imageManageHeader{display:grid}.imageManageItem{grid-template-columns:4.2rem minmax(0,1fr)}.imageManageItem img{width:4.2rem}}@media(max-width:520px){.appHeader{align-items:stretch;flex-direction:column;padding-inline:.72rem}.brandButton{align-self:flex-start;gap:.55rem}.brandMark{flex-basis:2rem;width:2rem;height:2rem;font-size:1.14rem}.brandButton strong{font-size:1rem}.brandButton small{display:none}.topNav button{flex:0 0 auto;min-height:2.28rem;padding:.38rem .48rem;font-size:.76rem}.topNav{width:100%;justify-content:flex-start}main{padding-inline:.72rem}.galleryGrid{column-count:2;column-gap:.65rem}.portfolioHero{padding:.85rem}.portfolioIntro h1{font-size:2.12rem}.portfolioIntro p:not(.label){font-size:.92rem}.portfolioStats div{min-width:0;flex:1}.polaroidCaption{min-height:0;padding-right:.1rem}.carouselControls{position:static;justify-self:end;margin-top:.55rem}.galleryTitleRow{padding:.68rem .78rem .72rem}.timelineHeader{display:grid}.timelineHeader h1{font-size:1.6rem}.timelineHeader p:not(.label){font-size:.84rem}.timelineMonthItems{padding-left:.52rem}.timelineCard{grid-template-columns:4.65rem minmax(0,1fr);align-items:start}.timelineCard img{width:4.65rem}.timelineCount{grid-column:2;justify-self:start}.uploadImageMetaItem{grid-template-columns:4rem minmax(0,1fr)}.uploadImageMetaItem img{width:4rem}.uploadImageMetaItem>div{grid-template-columns:1fr}.galleryTitleRow h1,.introPanel h1{font-size:1.42rem}.galleryTitleRow p:not(.label),.introPanel p:not(.label){font-size:.82rem}.fieldGrid{grid-template-columns:1fr}.detailActions{align-items:stretch}.ghostButton{flex:1}.carouselControls{right:50%;transform:translate(50%)}.fab{width:3.8rem;height:3.8rem}}@media(max-width:360px){.galleryGrid{column-count:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
