:root{--brand:#c90c2c;--brand2:#c90c2c;--brand3:#a60b24;--bg:#faf9f6;--card:#fff;--ink:#25272a;--ink2:#55585d;--ink3:#75777c;--line:#e8e6e1;--soft:#faf0ef;--radius:12px;--shadow:0 8px 28px #28221a08;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;line-height:1.5}
button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:wait;opacity:.55}a{color:var(--brand)}img{max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #bd4e60;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #c90c2c55;outline-offset:1px;border-color:var(--brand)}[hidden]{display:none!important}
.ui-icon{display:inline-block;width:23px;height:23px;object-fit:contain;flex:none;vertical-align:middle}.on>.ui-icon,.nav-link.on .ui-icon{filter:invert(14%) sepia(93%) saturate(4134%) hue-rotate(338deg) brightness(77%) contrast(106%)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;flex:none}.icon-button:hover{background:#efede9}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:14px;color:var(--ink2)}.text-button:hover{color:var(--brand)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid transparent;border-radius:9px;padding:11px 19px;font-size:15px;font-weight:600;line-height:1.4;transition:background .15s,box-shadow .15s}.btn:hover{box-shadow:0 4px 14px #2c25100d}.btn-primary{background:var(--brand);color:#fff;width:100%}.btn-primary:hover{background:#ac0924}.btn-primary .ui-icon,.btn-dark .ui-icon{filter:invert(1)}.btn-dark{background:#2d3033;color:#fff;width:100%}.btn-dark:hover{background:#16181b}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink2)}.btn-ghost:hover{border-color:#b7b3ac}.btn-sm{min-height:40px;font-size:13px;padding:8px 13px}.btn-ai{background:#303339;color:#fff}.btn-ai .ui-icon{filter:invert(1)}
input,select,textarea{width:100%;border:1px solid #d9d7d2;border-radius:8px;background:#fff;padding:11px 12px;font-size:16px;color:var(--ink);line-height:1.5}textarea{resize:vertical;min-height:92px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);vertical-align:-3px;margin-right:6px}select:disabled{opacity:1;color:var(--ink2);background:#f5f4f0}label{display:block;font-size:14px;font-weight:500;margin:14px 0 7px}.muted{font-size:13px;line-height:1.7;color:var(--ink3)}.row{display:flex;align-items:center;gap:10px}.row>*{min-width:0}.grow{flex:1;min-width:0}h3{font-size:16px;margin-bottom:8px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:0 0 18px}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#f1eeea;margin-right:9px;color:#5e5b57;font-size:12px}.tag{display:inline-block;background:var(--soft);color:#a91b31;border-radius:5px;padding:3px 8px;font-size:12px;margin:2px 4px}.warn-box,.err-box,.ok-box{font-size:13px;line-height:1.65;border-radius:8px;padding:10px 12px;margin-top:12px}.warn-box{background:#faf4e8;color:#7b612f}.err-box{background:#fff0ef;color:#a71e32;border:1px solid #f0c4c8}.ok-box{background:#eef5f0;color:#375e45}.result-box{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85;border:1px solid var(--line);border-radius:8px;background:#faf9f6;padding:16px}.empty{padding:60px 20px;text-align:center;color:var(--ink3)}.empty h2{font-size:20px;color:var(--ink);margin:16px 0 8px}.empty p{font-size:14px;line-height:1.8}.empty .btn{margin-top:24px}.empty>.ui-icon{width:44px;height:44px;opacity:.55}.empty .big{font-size:25px;margin-bottom:10px}.spin{display:inline-block;width:15px;height:15px;border:2px solid #b7c7b9;border-top-color:#375e45;border-radius:50%;animation:spin 1s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}
.brand-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fffdf9;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.wordmark{display:flex;align-items:center;gap:13px;text-align:left}.wordmark strong{font-family:var(--serif);font-size:29px;color:var(--brand);font-weight:800;letter-spacing:-1px}.wordmark span{font-size:15px;color:var(--ink2);border-left:1px solid #bfbcb6;padding-left:13px;line-height:1.1}.header-context{display:flex;align-items:center;gap:14px}.campus-label{font-size:14px;color:var(--ink2)}.account-button .ui-icon{width:26px;height:26px}
.app-nav{position:fixed;top:80px;bottom:0;left:0;width:210px;background:#fffdf9;border-right:1px solid var(--line);padding:30px 16px;z-index:15;display:flex;flex-direction:column;gap:7px}.nav-caption{font-size:11px;letter-spacing:1px;color:#8c8780;margin:0 12px 13px}.nav-link{display:flex;align-items:center;gap:13px;font-size:14px;padding:13px 16px;border-radius:8px;text-align:left;color:var(--ink2);min-height:48px}.nav-link:hover{background:#f5f2ed}.nav-link.on{background:#faedeb;color:var(--brand);font-weight:600}.nav-divider{height:1px;background:var(--line);margin:20px 12px 12px}.nav-foot{font-size:13px;margin-top:auto;padding:15px 14px 0;color:#464646}.nav-foot span{font-size:12px;color:var(--ink3);line-height:2}.app-main{margin-left:210px;padding:36px 42px 60px;max-width:1370px}.page-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-intro h1{font-size:34px;font-family:var(--serif);letter-spacing:-1px;line-height:1.3;font-weight:800}.eyebrow{font-size:12px;color:#8b8075;letter-spacing:2px;margin-bottom:9px}.lead{font-size:15px;color:var(--ink3);margin-top:9px}.mobile-break{display:none}.desktop-context{font-size:12px;letter-spacing:1px;color:#7d7871}.secondary-intro h1{font-family:inherit;font-size:28px;font-weight:650;letter-spacing:-.4px}
.gallery-page{max-width:1140px;margin:auto}.category-tabs{display:flex;gap:3px;background:#fff;border-radius:10px;padding:4px;margin-bottom:20px;width:min(100%,520px);border:1px solid #f0ede9}.category-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:46px;font-size:15px;color:var(--ink2);border-radius:7px;white-space:nowrap}.category-tabs button.on{color:var(--brand);background:#faeae7;font-weight:600}.category-tabs button.on:after{content:"";position:absolute;bottom:0;left:42%;right:42%;height:2px;background:var(--brand)}.category-tabs .ui-icon{width:22px;height:22px}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.template-choice{display:block;min-width:0;text-align:left;position:relative;border-radius:9px}.template-cover{display:block;position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:8px;background:#f1ede4}.cover-render{width:100%;height:100%;object-fit:cover;display:block}.template-choice.selected .template-cover{outline:2px solid var(--brand);outline-offset:3px}.selected-mark{display:none;align-items:center;justify-content:center;position:absolute;top:11px;right:11px;width:27px;height:27px;background:var(--brand);border-radius:50%;box-shadow:0 1px 5px #0001}.selected-mark .ui-icon{width:18px;height:18px;filter:invert(1)}.selected .selected-mark{display:flex}.template-caption{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:15px 1px 2px}.template-caption strong{font-size:15px;font-weight:550}.template-caption>span{font-size:11px;color:var(--ink3)}.sample-note{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.5;color:var(--ink3);margin:13px 0}.sample-note .ui-icon{width:15px;height:15px;opacity:.6}.selection-bar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 0;margin-top:18px;gap:20px}.selection-bar .btn{width:235px}.selection-meta{display:flex;align-items:center;gap:13px}.selection-meta strong{font-size:18px}.selection-meta>span{font-size:13px;color:var(--ink3);border-left:1px solid #d1cec8;padding-left:13px}.more-tools{display:flex;align-items:center;gap:20px;margin-top:30px;color:var(--ink3);font-size:13px}.more-tools button{min-height:44px;color:var(--ink2);text-decoration:underline;text-underline-offset:4px}.no-cover{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:20px;font-size:13px;color:var(--ink3)}.no-cover strong{font-size:15px;color:var(--ink)}.no-cover>.ui-icon{width:34px;height:34px;opacity:.5}.admin-campus{max-width:480px;margin:0 0 24px}.admin-campus .muted{font-size:12px}
.editor-page{max-width:1000px;margin:auto}.editor-header{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:8px}.editor-header h1{font-size:19px;font-weight:650}.editor-header>.text-button{padding:0 10px}.creation-steps{display:flex;list-style:none;max-width:390px;margin:4px auto 22px;gap:22px}.creation-steps li{position:relative;display:flex;flex:1;align-items:center;flex-direction:column;gap:6px;color:var(--ink3);font-size:12px}.creation-steps li>span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#eae8e4;color:#5c5e60;font-size:14px}.creation-steps li:not(:last-child):after{content:"";position:absolute;top:13px;height:1px;background:#d6d3ce;left:calc(50% + 27px);width:calc(100% - 30px)}.creation-steps .ui-icon{width:17px;height:17px}.creation-steps .current{color:var(--brand);font-weight:600}.creation-steps .current>span{background:var(--brand);color:white}.editor-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,.85fr);gap:46px;align-items:start}.preview-area{min-width:0;width:100%;max-width:440px;justify-self:center}.poster-stage{position:relative;width:100%;aspect-ratio:3/4;box-shadow:0 8px 30px #362d1714;background:#f1eee6}.poster-stage canvas{width:100%;height:100%;display:block;border:1px solid #fff}.preview-area>.sample-note{justify-content:center;font-size:12px;margin:10px 0 17px}.preview-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;background:#fff9f4e8;color:#a71e32;font-size:14px}.control-surface{border:1px solid var(--line);border-radius:12px;padding:7px 16px 16px;background:#fff}.editor-tabs{display:flex;border-bottom:1px solid var(--line);gap:6px;margin-bottom:14px}.editor-tabs button{flex:1;display:flex;gap:7px;align-items:center;justify-content:center;font-size:14px;min-height:51px;white-space:nowrap;border-bottom:2px solid transparent}.editor-tabs button.on{color:var(--brand);font-weight:600;border-bottom-color:var(--brand)}.editor-tabs .ui-icon{width:21px;height:21px}.photo-control{display:flex;align-items:center;gap:12px;padding:4px 0 14px;flex-wrap:wrap}.photo-thumbs{display:flex;gap:5px;flex-wrap:wrap}.photo-thumbs img{width:65px;height:65px;object-fit:cover;border-radius:7px}.photo-description{flex:1;min-width:110px}.photo-description strong{font-size:14px;line-height:1.4;font-weight:500}.photo-description small{display:block;margin-top:5px;color:var(--ink3);font-size:11px}.photo-control>.btn{margin-left:auto}.photo-control>.btn .ui-icon{width:17px;height:17px}.caption-link{display:flex;align-items:center;gap:11px;width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:13px;text-align:left;min-height:45px}.caption-link>span{color:var(--ink3);white-space:nowrap}.caption-link>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.caption-link .ui-icon{width:16px;height:16px}.editing-hint{display:flex;align-items:center;gap:7px;color:var(--ink3);font-size:12px;margin:22px 0 14px}.editing-hint .ui-icon{width:18px;height:18px}.editor-bottom .btn{min-height:51px}.text-controls label{font-size:13px;margin:11px 0 6px}.text-controls label>span{display:block;color:var(--ink3);font-weight:400;font-size:11px;margin-top:2px}.title-input{font-family:var(--serif);font-size:22px;min-height:85px;line-height:1.4}.text-controls textarea:not(.title-input){font-size:15px;min-height:136px}.campus-panel{font-size:14px}.campus-panel dl>div{padding:10px 0;border-bottom:1px solid var(--line)}.campus-panel dt{font-size:12px;color:var(--ink3);margin-bottom:4px}.campus-panel .muted{margin-top:15px;font-size:12px}.review-poster{display:block;width:100%;box-shadow:0 8px 30px #362d1714}.review-heading h2{font-size:22px;font-weight:600}.review-heading p{font-size:13px;color:var(--ink3);margin-top:8px}.review-block{padding:22px 0;border-bottom:1px solid var(--line)}.review-block h3{margin-bottom:12px;font-weight:600;font-size:15px}.review-block .warn-box{font-size:12px}.review-block label{font-size:13px;line-height:1.75}.review-actions{display:flex;gap:8px;margin-top:15px}.review-actions .btn{flex:1;min-width:0;font-size:13px;padding:10px}.back-edit{margin-top:15px}.review-details>.muted{font-size:12px}
.photo-pick{border:1px dashed #c7c1b9;border-radius:9px;padding:26px 15px;text-align:center;color:#5e5c58;font-size:14px;background:#faf9f6;cursor:pointer}.tpl-card{border:1px solid var(--line);border-radius:8px;padding:13px;margin-bottom:10px;cursor:pointer}.tpl-card.on{border-color:#c90c2c;background:#fff6f4}.candidate{border:1px solid var(--line);padding:18px;border-radius:10px;margin:15px 0}.list-item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}.list-item .t{font-size:14px;font-weight:550}.list-item .d{font-size:12px;color:var(--ink3);margin-top:5px;overflow-wrap:anywhere}.qr-thumb{width:44px;height:44px;object-fit:cover;border-radius:5px}.page-me,.page-copy,.page-video{max-width:1190px}.page-me{display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-me>.page-intro,.page-me>.card:first-of-type{grid-column:1/-1}.page-me>.card{margin:0;min-width:0}.page-me>.card:nth-of-type(2){grid-column:1/-1}.page-me input,.page-me textarea{font-size:14px}.page-me .btn-primary.btn-sm{width:auto}.library-filters{display:flex;gap:8px;flex-wrap:wrap}.library-filters>.btn-primary{width:auto}.library-note{margin:20px 0;font-size:12px;color:var(--ink3);line-height:1.8}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.library-grid>.empty{grid-column:1/-1}.library-grid .card{padding:16px;margin:0}.library-grid .card img:not(.ui-icon){max-height:350px;object-fit:contain}.library-grid .card .muted{font-size:11px}.library-grid .card .row{align-items:flex-start}.library-grid .result-box{font-size:13px}.toast{position:fixed;bottom:30px;left:calc(50% + 105px);transform:translateX(-50%);max-width:calc(100% - 40px);padding:13px 20px;border-radius:10px;background:#2d3033;color:#fff;box-shadow:0 5px 20px #0002;font-size:14px;z-index:100}.login-wrap{max-width:390px;margin:12vh auto 0;padding:0 20px}.login-hero{text-align:center;margin-bottom:30px}.login-hero .logo{font-family:var(--serif);color:var(--brand);font-size:34px;font-weight:800}.login-hero h1{font-size:23px;margin-top:12px}.login-hero p{color:var(--ink3);font-size:13px;margin-top:7px}.login-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}.login-tabs button{flex:1;min-height:44px;font-size:15px;border-bottom:2px solid transparent}.login-tabs button.on{color:var(--brand);border-color:var(--brand)}
#preview-status{position:relative!important;top:auto!important;right:auto!important;max-width:none!important;padding:5px 16px!important;text-align:right;background:#f0eee8!important;color:#746e64!important;font:11px/1.5 -apple-system,sans-serif!important;z-index:0!important;pointer-events:none!important}
@media(min-width:1600px){.app-main{margin-right:auto;margin-left:calc(210px + (100vw - 1600px)/2)}}
@media(min-width:760px) and (max-width:1100px){.app-nav{width:176px;padding:25px 10px}.app-main{margin-left:176px;padding:28px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-caption{display:none}.editor-grid{gap:25px;grid-template-columns:minmax(250px,1fr) minmax(230px,.95fr)}.editor-tabs button{font-size:12px;gap:4px}.photo-control>.btn{width:100%}.library-grid{grid-template-columns:1fr 1fr}}
@media(max-width:759px){
 html{scroll-padding-top:65px}.brand-header{height:61px;padding:0 18px;border:0;background:#fffdf9;position:relative}.wordmark{gap:8px}.wordmark strong{font-size:23px;letter-spacing:-.6px}.wordmark span{font-size:12px;padding-left:8px}.header-context{gap:4px}.campus-label{font-size:11px;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-button{width:30px;height:40px}.account-button .ui-icon{width:20px;height:20px}
 .app-nav{top:auto;bottom:0;left:0;right:0;width:100%;height:calc(64px + env(safe-area-inset-bottom));padding:4px 18px calc(3px + env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:0;border-right:0;border-top:1px solid #eeebe7;background:#fffdfb;z-index:25}.nav-link{flex:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;font-size:11px;padding:3px 4px;border-radius:0}.nav-link.on{background:none}.nav-link .ui-icon{width:23px;height:23px}.nav-caption,.nav-divider,.desktop-link,.nav-foot{display:none}.app-main{padding:10px 17px 88px;margin:0;max-width:none}.page-intro{display:block;margin-bottom:21px}.page-intro h1{font-size:25px;letter-spacing:-1px;line-height:1.4;white-space:normal}.page-intro .eyebrow,.desktop-context{display:none}.lead{font-size:14px;margin-top:5px}.category-tabs{width:100%;padding:0;border:0;margin-bottom:12px;gap:0;border-radius:9px}.category-tabs button{font-size:13px;min-height:43px;gap:6px}.category-tabs .ui-icon{width:21px;height:21px}.category-tabs button.on{border-radius:8px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template-caption{display:none}.template-cover{border-radius:6px}.template-choice.selected .template-cover{outline-offset:2px;outline-width:1.5px}.selected-mark{width:22px;height:22px;top:8px;right:8px}.selected-mark .ui-icon{width:15px;height:15px}.sample-note{font-size:11px;margin:10px 0 12px}.sample-note .ui-icon{width:13px;height:13px}.selection-bar{display:block;margin-top:0;padding:10px 0 0;position:sticky;bottom:73px;background:var(--bg);z-index:8}.selection-meta{gap:9px;margin-bottom:9px}.selection-meta strong{font-size:15px}.selection-meta>span{font-size:11px;padding-left:9px}.selection-bar>.btn{width:100%;min-height:44px;font-size:15px}.selection-bar .ui-icon{width:23px;height:23px}.more-tools{margin-top:15px;justify-content:center;gap:15px;font-size:12px}.category-empty{min-height:440px;padding:90px 15px}.admin-campus{margin-bottom:18px}.admin-campus .muted{font-size:11px}.is-editing>.brand-header,.is-editing>.app-nav{display:none}.is-editing>.app-main{padding:4px 15px calc(98px + env(safe-area-inset-bottom))}.editor-header{height:48px;margin-bottom:6px}.editor-header>.icon-button{margin-left:-9px}.editor-header h1{font-size:17px}.editor-header>.text-button{font-size:13px;padding:0 4px}.creation-steps{margin:7px auto 16px;max-width:315px;gap:19px}.creation-steps li{font-size:11px;gap:5px}.creation-steps li>span{width:23px;height:23px;font-size:13px}.creation-steps li:not(:last-child):after{top:11px;left:calc(50% + 23px);width:calc(100% - 26px)}.editor-grid{display:flex;flex-direction:column;gap:0}.preview-area{max-width:302px;width:100%;align-self:center}.preview-area>.sample-note{margin:10px 0 14px;font-size:11px}.edit-controls{width:100%}.control-surface{border:0;border-radius:11px;padding:2px 12px 12px}.editor-tabs{margin-bottom:10px;gap:4px}.editor-tabs button{min-height:43px;font-size:13px;gap:7px}.editor-tabs .ui-icon{width:20px;height:20px}.photo-control{gap:8px;padding:1px 0 12px;flex-wrap:nowrap}.photo-thumbs img{width:61px;height:51px;border-radius:7px}.photo-thumbs:has(img:nth-child(2)){max-width:62px;max-height:65px;overflow:auto}.photo-thumbs:has(img:nth-child(2)) img{width:27px;height:27px}.photo-description{min-width:0}.photo-description strong{font-size:12px;white-space:nowrap}.photo-description small{font-size:10px;margin-top:3px}.photo-control>.btn{font-size:11px;min-height:34px;padding:6px 8px;gap:5px;white-space:nowrap}.photo-control>.btn .ui-icon{width:15px;height:15px}.caption-link{font-size:12px;gap:10px;min-height:43px;padding:9px 10px}.caption-link>span{font-size:11px}.editor-bottom{position:fixed;bottom:0;left:0;right:0;z-index:22;background:#faf9f6;padding:10px 15px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #f0ede8}.editor-bottom .btn{min-height:48px}.editing-hint{display:none}.text-controls label{font-size:12px;margin-top:9px}.text-controls label>span{font-size:10px}.title-input{font-size:20px;min-height:78px}.text-controls textarea:not(.title-input){font-size:16px;min-height:140px}.campus-panel{font-size:13px}.campus-panel .muted{font-size:11px}.review-page .preview-area{max-width:270px}.review-details{width:100%;padding:10px 3px}.review-heading h2{font-size:20px}.review-heading p{font-size:12px}.review-block{padding:18px 0}.review-actions .btn{min-height:46px;font-size:12px}.review-page .result-box{font-size:14px}.secondary-intro{padding:8px 2px 0;margin-bottom:22px}.secondary-intro h1{font-size:25px}.card{padding:18px;margin-bottom:14px}.page-me{display:block}.page-me>.card{margin-bottom:15px}.page-me .btn{font-size:12px}.page-me .row{flex-wrap:wrap}.page-me .list-item{flex-wrap:wrap}.library-grid{grid-template-columns:1fr;gap:14px}.library-grid .card{padding:16px}.library-grid .card img:not(.ui-icon){max-height:440px}.library-note{font-size:11px;margin:16px 0}.library-filters{gap:7px}.library-filters .btn{font-size:12px;min-height:38px;padding:7px 14px}.toast{bottom:88px;left:50%;font-size:13px;width:max-content}.login-wrap{margin-top:9vh}.page-copy .row{flex-wrap:wrap}.page-copy .row>.btn{flex:1}#preview-status{padding-bottom:78px!important;text-align:center!important}.is-editing~#preview-status{padding-bottom:90px!important}
}
@media(max-width:370px){.wordmark strong{font-size:20px}.wordmark span{font-size:11px}.campus-label{max-width:62px;font-size:10px}.page-intro h1{font-size:22px}.category-tabs button{font-size:12px;gap:4px}.photo-control{flex-wrap:wrap}.photo-description{min-width:120px}.photo-control>.btn{margin:0;width:100%}.editor-tabs button{font-size:12px;gap:5px}.preview-area{max-width:280px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:759px){.brand-header{height:57px}.app-main{padding:6px 20px 88px}.gallery-page .page-intro{margin-bottom:15px}.gallery-page .category-tabs{margin-bottom:10px}.gallery-page .sample-note{margin:8px 0 7px}.selection-bar{position:relative;bottom:auto}.is-editing>.app-main{padding:4px 15px calc(98px + env(safe-area-inset-bottom))}}

.toast{display:flex;align-items:center;gap:10px;max-width:420px}.notice-close{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:7px}.notice-close .ui-icon{width:17px;height:17px;filter:invert(1)}.notice-close:hover{background:#ffffff20}.page-me>.account-card,.page-me>.members-card{grid-column:1/-1}@media(max-width:759px){.toast{max-width:calc(100% - 28px);width:calc(100% - 28px)}}
.download-sheet{margin:auto;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 28px);padding:16px 20px 20px;overflow:auto;box-shadow:0 12px 60px #0003}.download-sheet::backdrop{background:#29272299}.download-header{display:flex;align-items:center;justify-content:space-between}.download-header h2{font-size:20px;font-weight:600}.download-sheet>p{font-size:12px;line-height:1.7;color:var(--ink2);margin:4px 0 12px}.download-poster{display:block;max-height:55dvh;width:auto;margin:0 auto 16px;object-fit:contain;user-select:auto;-webkit-touch-callout:default}.download-sheet>a{text-decoration:none}.download-sheet>.muted{margin:12px 0 0;font-size:11px}
