@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#264643;--muted:#67817b;--orange:#f87742;--cream:#fffef8;--line:#dfe8d9;--lime:#e4f1c7;--sun:#ffdc71;--blue:#cceef9;--shadow:0 14px 38px rgba(60,100,80,.09)}*{box-sizing:border-box}body{margin:0;background:#f7fdf8;color:var(--ink);font-family:'DM Sans','PingFang SC','Microsoft Yahei',sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #fdb65f;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:1180px;margin:auto;padding:0 28px}.top{position:sticky;top:0;z-index:40;background:#fffef8eF;backdrop-filter:blur(15px);border-bottom:1px solid #e4ecdf}.top-inner{display:flex;justify-content:space-between;align-items:center;height:74px;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em}.brandmark{width:36px;height:36px;border-radius:12px;background:#f87845;display:grid;place-items:center;color:#fff;font-size:23px;transform:rotate(-8deg)}.nav{display:flex;gap:8px}.nav button{background:transparent;border:0;border-radius:999px;padding:10px 15px;color:#59766d;font-size:13px}.nav button.active{background:#e5f5e5;color:#1f6552;font-weight:800}.main{min-height:calc(100vh - 74px)}.view{display:none;animation:fade .32s ease}.view.active{display:block}@keyframes fade{from{opacity:.1;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.mini{font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:#62887a}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff9e6;padding:10px 14px;border:1px solid #fff0c7;border-radius:100px;color:#b46c22;font-size:12px;font-weight:800}.hero{padding:60px 0 28px;display:grid;grid-template-columns:1fr 1.03fr;min-height:510px;gap:50px;align-items:center}.hero h1{font-weight:900;line-height:1.18;letter-spacing:-.065em;font-size:clamp(42px,5.5vw,78px);margin:22px 0 19px}.hero h1 em{font-style:normal;color:#f47942}.hero p{font-size:16px;line-height:2;color:#617c72;max-width:490px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.btn{border:0;border-radius:13px;background:#f87946;color:white;font-weight:800;padding:15px 25px;box-shadow:0 7px 0 #e9ad82;transition:.18s}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 0 #e9ad82}.btn.secondary{background:#fff;color:#41695e;box-shadow:none;border:1px solid #d7e9de}.btn.small{padding:10px 15px;font-size:13px;box-shadow:none}.illustration{height:375px;position:relative;border-radius:34px;background:linear-gradient(140deg,#fff7c8 0%,#f1fbd7 44%,#d5f2fc 100%);overflow:hidden;border:8px solid white;box-shadow:var(--shadow)}.illustration::before{content:'';position:absolute;width:260px;height:260px;right:-55px;top:-100px;border-radius:50%;background:#ffe189}.illustration::after{content:'';position:absolute;width:290px;height:290px;left:-120px;bottom:-210px;border-radius:50%;background:#b4ddcb}.sun-doodle{position:absolute;top:30px;right:32px;font-size:24px;z-index:2;color:#ed9243}.photo{position:absolute;background:white;padding:12px 12px 42px;box-shadow:0 16px 20px #72918d30;z-index:4}.photo.one{width:205px;left:8%;top:55px;transform:rotate(-10deg)}.photo.two{width:190px;right:8%;bottom:27px;transform:rotate(9deg)}.photo .img{height:165px;display:grid;place-items:center;overflow:hidden}.photo.one .img{background:#fee3ac}.photo.two .img{background:#daf1cb}.photo .img svg{width:100%;height:100%}.photo small{color:#42615b;font-size:11px;font-weight:800;position:absolute;bottom:15px;left:15px}.tape{position:absolute;width:83px;height:27px;background:#f5b2a4ab;transform:rotate(22deg);top:43px;left:25%;z-index:5}.sticker{position:absolute;z-index:6;bottom:50px;left:36%;background:#fff;border-radius:999px;padding:12px 17px;box-shadow:0 5px 20px #829b8833;transform:rotate(-9deg);font-weight:900;font-size:14px;color:#e77e47}.section-title{margin:50px 0 20px;display:flex;align-items:end;justify-content:space-between;gap:15px}.section-title h2{font-size:29px;letter-spacing:-.045em;margin:8px 0}.section-title p{color:#6c8980;font-size:13px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:58px}.task-card{border:1px solid #e7ece4;border-radius:25px;background:white;padding:12px 12px 18px;box-shadow:0 10px 25px #40654c0c;transition:.2s;text-align:left}.task-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.art{border-radius:17px;height:195px;display:grid;place-items:center;position:relative;overflow:hidden}.art svg{height:100%;width:100%}.art.one{background:#fff0d8}.art.two{background:#fff3c8}.art.three{background:#dbf3e8}.card-text{padding:16px 10px 5px}.card-top{font-size:10px;letter-spacing:.16em;font-weight:800;color:#dd8744}.card-text h3{font-size:21px;margin:8px 0}.card-text p{margin:6px 0 16px;font-size:13px;color:#7a9189;line-height:1.7}.go{font-size:13px;color:#dc703b;font-weight:800}.foot{padding:28px 0 55px;border-top:1px solid #e4eae4;text-align:center;font-size:12px;color:#8ba098}.back{background:#fff;border:1px solid #dcebe0;padding:10px 14px;border-radius:11px;color:#436a5f;font-weight:700}.editor-head{padding:32px 0 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.editor-head h2{font-size:clamp(25px,3.5vw,39px);margin:10px 0 0;letter-spacing:-.04em}.editor{display:grid;grid-template-columns:minmax(340px,1fr) minmax(340px,.92fr);gap:26px;align-items:start;padding-bottom:64px}.form-panel,.preview-panel{background:#fff;border:1px solid #e2ece3;border-radius:24px;padding:26px;box-shadow:0 8px 25px #41644c0a}.form-panel h3,.preview-panel h3{font-size:19px;margin:0 0 8px}.helper{font-size:12px;color:#789187;line-height:1.75;margin:0 0 23px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.field label{font-size:13px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid #dfe8df;border-radius:12px;padding:13px 14px;background:#fdfffb;color:#35564b}.field textarea{resize:vertical;min-height:78px}.field small{color:#92a297;font-size:11px}.upload{border:2px dashed #bfd9c8;background:#f6fcf7;border-radius:18px;position:relative;padding:23px 14px;text-align:center;display:grid;gap:7px;cursor:pointer;margin-bottom:19px}.upload input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.upload b{color:#45685c;font-size:14px}.upload small{color:#8ca498;font-size:11px}.upload .ico{font-size:30px}.rating{display:flex;gap:6px}.rating button{font-size:29px;border:0;background:none;color:#d9e2d7;padding:2px}.rating button.sel{color:#ffb833}.battery{display:flex;gap:7px}.battery button{width:39px;height:36px;border:1px solid #d2e6d6;border-radius:10px;background:#f4f9f0;color:#9aaf9c;font-size:15px}.battery button.sel{background:#abdd7b;color:#285a39;border-color:#7cbd64}.preview-panel{position:sticky;top:96px;background:#fbfdf8}.preview-note{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px;align-items:center}.preview-note span{background:#ecf7e9;padding:7px 11px;font-weight:800;color:#5d9670;border-radius:99px;font-size:11px}.artwork{max-width:450px;margin:auto;min-height:520px;overflow:hidden;border-radius:10px;box-shadow:0 15px 45px #587b6940;position:relative;background:#fffdfa}.poster-top{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;font-size:10px;letter-spacing:.19em;color:#698679;font-weight:800}.poster-title{font-size:33px;line-height:1.3;letter-spacing:-.045em;padding:9px 26px 0;font-weight:900}.poster-sub{padding:5px 26px 20px;color:#849a8c;font-size:11px;letter-spacing:.12em}.poster-photo{margin:0 auto;width:77%;height:260px;background:#ffdda4;display:grid;place-items:center;overflow:hidden;position:relative}.poster-photo img{width:100%;height:100%;object-fit:cover}.poster-photo svg{width:100%;height:100%}.photo-caption{background:white;padding:18px 14px;min-height:75px;width:82%;margin:-1px auto 0;box-shadow:0 8px 20px #354e3d18;transform:rotate(-2deg);position:relative;z-index:2}.photo-caption b{display:block;font-size:17px}.photo-caption small{font-size:11px;color:#69877b;line-height:2}.bottom-quote{padding:32px 28px 20px;font-size:13px;line-height:1.8;color:#526f60;min-height:94px;overflow-wrap:anywhere}.poster-foot{padding:12px 25px 24px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#7e9384;font-weight:800}.fruit-art{background:linear-gradient(135deg,#fff1be,#ffdfb0)}.cook-art{background:linear-gradient(135deg,#fff4bb,#ffdfad)}.move-art{background:linear-gradient(135deg,#dff9e4,#d4f3fc)}.poster-fruit{background:#fffef5}.poster-fruit .poster-title{color:#db7542}.poster-cook{background:#fffcf0}.poster-cook .poster-title{color:#d48b28}.poster-move{background:#f7fff9}.poster-move .poster-title{color:#387a73}.chef-detail{margin:16px 26px 0;display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px dashed #e4d6ab;padding-top:15px}.chef-detail strong{font-size:17px;line-height:1.4}.chef-detail small{display:block;color:#8b987d;font-size:11px;margin-top:8px}.chef-stars{color:#e9aa36;font-size:21px;white-space:nowrap}.route-detail{display:flex;justify-content:space-around;padding:19px 22px;background:#eaf7ec;margin:14px 24px 0;border-radius:14px}.route-detail b{font-size:19px}.route-detail span{display:block;font-size:11px;margin-top:5px;color:#6d9385}.preview-buttons{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.muted-tip{color:#7c9387;font-size:12px;line-height:1.7;margin-top:14px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#35574b;color:white;padding:12px 19px;border-radius:100px;font-size:13px;z-index:99;box-shadow:var(--shadow);display:none}.mobile-note{font-size:11px;color:#839d8d} .preview-note h3{margin:0}.note-box{background:#f5faed;border:1px solid #d8ebcf;border-radius:16px;padding:15px 18px;color:#53755f;font-size:13px;line-height:1.8;margin-bottom:30px}.info-layout{max-width:670px;margin:40px auto 80px}.info-layout h2{font-size:34px}.info-layout li{margin:12px 0;color:#647a71;line-height:1.8}.tag{border-radius:99px;background:#fff0d8;color:#b57538;padding:6px 10px;font-size:11px;font-weight:800;display:inline-block}.hero-underline{text-decoration:underline;text-decoration-color:#f8d86a;text-decoration-thickness:9px;text-underline-offset:-2px}.orn{position:absolute;z-index:2;top:18px;right:16px;color:#bc8b3e;font-size:11px;font-weight:800;letter-spacing:.12em}.sample-label{background:#fff9ee;color:#b7834b;border-radius:9px;padding:7px 9px;font-size:11px}.tiny-footer{text-align:center;font-size:11px;color:#84998e;padding:4px 0 25px}
@media(max-width:830px){.shell{padding:0 17px}.hero{grid-template-columns:1fr;padding:37px 0 14px;gap:30px}.hero h1{font-size:49px}.hero p{font-size:14px}.illustration{height:310px;max-width:570px;width:100%;margin:auto}.cards{grid-template-columns:1fr;gap:14px}.task-card{display:grid;grid-template-columns:125px 1fr;padding:9px;align-items:stretch;min-height:149px}.art{height:auto;min-height:129px}.card-text{padding:9px 10px}.card-text h3{font-size:18px}.card-text p{font-size:12px;margin:5px 0 8px}.editor{grid-template-columns:1fr;gap:16px}.preview-panel{position:static}.top-inner{height:62px}.top{position:sticky}.nav{gap:0}.nav button{padding:8px;font-size:11px}.brand{font-size:13px}.brandmark{width:30px;height:30px}.editor-head{padding-top:24px}.form-panel,.preview-panel{padding:18px}.section-title h2{font-size:26px}}@media(max-width:400px){.brand{font-size:11px}.nav button{font-size:10px;padding:6px}.hero h1{font-size:43px}.photo.one{left:4%}.photo.two{right:3%}.illustration{height:292px}.poster-photo{height:225px}}

.gallery-piece.gallery-vision{background:#fffef9}.gallery-piece.gallery-taste{background:#fffdf5}.gallery-piece.gallery-move{background:#f9fffc}.gallery-series{font-size:10px;letter-spacing:.13em;font-weight:800;color:#c48b57;margin:17px 5px 0}.gallery-piece.gallery-move .gallery-series{color:#5c9aa0}.gallery-piece h3{margin-top:7px}
/* Refined editorial layout: preserve original spacious two-column upload pages. */
:root{--ink:#274d49;--muted:#71918a;--orange:#fb864c;--cream:#fffefa;--line:#e0eee5;--shadow:0 18px 44px rgba(65,112,90,.075)}
body{background:linear-gradient(180deg,#fdfffa 0%,#f8fcf9 66%,#fafffc 100%)}
.top{background:#fffffbef}.shell{max-width:1160px}.hero{padding:75px 0 68px;gap:76px}.hero h1{letter-spacing:-.048em}.section-title{margin:85px 0 30px}.cards{gap:25px;margin-bottom:100px}.task-card{border-radius:26px;padding:16px 16px 22px}.art{height:208px}.card-text{padding:22px 14px 9px}.card-text h3{margin:10px 0}.card-text p{margin-bottom:22px}.editor-head{padding:53px 0 32px}.editor{gap:38px;padding-bottom:100px}.form-panel,.preview-panel{padding:34px 32px;border-radius:26px}.field{margin-bottom:23px}.field input,.field textarea,.field select{background:white;border-color:#e0ece2;padding:15px 16px}.field textarea{min-height:100px}.upload{padding:36px 16px;margin-bottom:28px}.note-box{margin-bottom:35px;background:#f4fcf5}.preview-panel{background:#fffef9}.preview-note{margin-bottom:25px}.editor .form-panel h3{margin-bottom:13px}.helper{margin-bottom:27px}.preview-buttons{margin-top:26px}
.nav{align-items:center}.nav button{font-size:13px}.user-pill{background:#f1f9ee;color:#4d7763;border:1px solid #e1ede0;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px;white-space:nowrap}
.register-wrap{min-height:calc(100vh - 180px);display:grid;grid-template-columns:1fr .92fr;gap:70px;align-items:center;padding:55px 0 90px}.register-intro .mini{color:#d18c42}.register-intro h1{font-size:clamp(40px,5vw,70px);line-height:1.15;letter-spacing:-.06em;margin:20px 0}.register-intro h1 em{font-style:normal;color:#ef8445}.register-intro p{font-size:16px;color:#718d82;line-height:2;max-width:490px}.register-art{display:flex;gap:9px;align-items:center;margin:28px 0}.register-art span{font-size:29px;width:64px;height:64px;border-radius:20px;background:#fff4d7;display:grid;place-items:center}.register-art span:nth-child(2){background:#f7eac9}.register-art span:nth-child(3){background:#e1f5f1}.register-card{border:1px solid #e3eee6;box-shadow:0 25px 68px #497c6420;border-radius:32px;background:white;padding:38px}.register-card h2{font-size:26px;margin:8px 0}.register-card p{font-size:13px;line-height:1.9;color:#779186;margin:0 0 27px}.register-card .field{margin-bottom:20px}.register-card .field label{font-size:14px}.register-card .btn{width:100%;margin-top:13px}.privacy-opt{display:flex;gap:9px;align-items:flex-start;line-height:1.8;font-size:12px;color:#627b71;padding:13px;background:#f8fbf7;border-radius:14px}.privacy-opt input{margin-top:5px;accent-color:#ef854a}.identity-strip{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;background:#ffffff;border:1px solid #e1ebdf;border-radius:19px;margin:25px 0 18px;gap:10px;flex-wrap:wrap}.identity-strip strong{color:#315e50;font-size:14px}.identity-strip span{font-size:12px;color:#80968c}.identity-strip button{border:0;background:#f1f8ef;color:#4d7b65;border-radius:999px;padding:9px 13px;font-size:12px;cursor:pointer}
.count-band{margin:24px 0 10px;background:linear-gradient(110deg,#fff4dd,#f2fbea 59%,#e9f8fc);border:1px solid #e9efe1;border-radius:26px;padding:29px 38px;display:flex;gap:25px;justify-content:space-between;align-items:center}.count-main{font-size:clamp(27px,3.1vw,41px);font-weight:900;letter-spacing:-.045em}.count-main strong{font-size:1.22em;color:#ee8045}.count-sub{margin-top:9px;color:#71877d;font-size:13px}.count-spark{font-size:34px;letter-spacing:12px}.gallery-tools{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0 29px}.gallery-tools button{border:1px solid #e0ece3;background:white;color:#658176;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700}.gallery-tools button.sel{background:#dff3e5;border-color:#c8e8d5;color:#3d755b}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin-bottom:85px;align-items:start}.gallery-piece{background:#fff;border:1px solid #e1eee4;border-radius:24px;padding:14px 14px 17px;box-shadow:0 12px 34px #486d5d12}.gallery-thumb{height:210px;border-radius:15px;overflow:hidden;background:#f7f8eb;display:grid;place-items:center}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-emoji{font-size:70px}.gallery-piece h3{font-size:18px;margin:17px 5px 8px}.gallery-piece p{font-size:13px;color:#789186;line-height:1.7;margin:0 5px 12px;overflow-wrap:anywhere}.gallery-bottom{border-top:1px dashed #e4eee4;margin:16px 5px 0;padding-top:13px;display:flex;justify-content:space-between;gap:8px;color:#849a8e;font-size:11px}.gallery-empty{grid-column:1/-1;padding:50px 24px;background:white;border:1px dashed #d7e6d9;border-radius:24px;text-align:center;color:#80958a}
.success-backdrop{position:fixed;inset:0;background:#1e473b80;display:none;justify-content:center;align-items:center;padding:20px;z-index:200}.success-backdrop.show{display:flex}.success-card{max-width:500px;width:100%;background:#fffef8;border:8px solid white;border-radius:30px;box-shadow:0 28px 80px #183f3b38;padding:30px 25px 32px;text-align:center;position:relative;overflow:hidden}.success-art{background:linear-gradient(130deg,#ffe8ae,#f5fbd9,#e4f5ff);border-radius:23px;font-size:58px;padding:24px;margin-bottom:22px}.success-card .mini{color:#c88d46}.success-card h2{font-size:29px;letter-spacing:-.035em;margin:13px 0}.success-card p{line-height:1.9;color:#6d8b80;margin-bottom:25px}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.success-actions .btn{box-shadow:none}
.notice-public{font-size:12px;line-height:1.75;color:#7e938a;margin:15px 0 0}
@media(max-width:830px){.register-wrap{grid-template-columns:1fr;gap:24px;padding:25px 0 65px}.register-intro h1{font-size:44px}.register-card{padding:25px}.hero{padding:37px 0 20px;gap:27px}.cards{gap:15px;margin-bottom:48px}.section-title{margin:52px 0 19px}.form-panel,.preview-panel{padding:20px}.editor{gap:18px}.count-band{padding:22px 20px}.count-spark{display:none}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:13px}.gallery-thumb{height:175px}.gallery-piece{padding:9px}.gallery-piece h3{font-size:15px}.gallery-bottom{display:block}.user-pill{display:none}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.gallery-thumb{height:235px}.count-main{font-size:25px}.nav button{font-size:11px;padding:8px}}

/* VISUAL REVISION: brighter, quieter, and visibly authored artwork cards. */
.artwork{min-height:555px;}
.artwork-identity{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;row-gap:5px;margin:0 25px 0;padding:16px 0 12px;border-top:1px solid #e4e9d9;color:#456e60}
.artwork-identity .identity-mini{grid-column:1/-1;font-size:9px;letter-spacing:.17em;color:#91a69b;font-weight:800}
.artwork-identity .artwork-student-name{font-size:15px;font-weight:900;letter-spacing:.06em}
.artwork-identity .artwork-student-class{font-size:11px;color:#78958a;font-weight:700}
.artwork .bottom-quote{min-height:76px;padding-bottom:18px}
.artwork .poster-foot{padding-top:8px;padding-bottom:18px}
.editor{gap:48px}
.preview-panel{background:#fffefa}
.flowing-gallery{display:grid;gap:22px;overflow:hidden;margin:12px -30px 0;padding:18px 30px 26px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.flowing-row{overflow:hidden;padding:12px 0 18px}
.flowing-track{width:max-content;display:flex;gap:22px;align-items:stretch;animation:autumnDrift 42s linear infinite;will-change:transform}
.flowing-row-reverse .flowing-track{animation-duration:49s;animation-direction:reverse}
.flowing-row:hover .flowing-track,.flowing-row:focus-within .flowing-track{animation-play-state:paused}
.flowing-row .gallery-piece{flex:0 0 280px;width:280px;min-height:360px;transition:transform .25s ease,box-shadow .25s ease}
.flowing-row .gallery-piece:hover{transform:translateY(-7px) rotate(.6deg);box-shadow:0 19px 42px rgba(69,109,89,.16)}
.flowing-row .gallery-piece .gallery-thumb{height:168px}
.flowing-row .gallery-piece p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:40px}
@keyframes autumnDrift{to{transform:translateX(-50%)}}
.flow-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 0 16px;color:#8a9f95;font-size:12px}
.gallery-highlight{background:linear-gradient(105deg,#fff8de,#ecfae7 50%,#e9f8ff);border:1px solid #e6eee1;border-radius:18px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:#4d7868;font-size:12px;letter-spacing:.04em;margin:14px 0 32px}
.gallery-highlight span:last-child{margin-left:auto;letter-spacing:0;font-size:13px}
.gallery-masonry{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;align-items:start}
.gallery-masonry .gallery-piece{animation:galleryReveal .5s ease both;transition:transform .22s,box-shadow .22s}
.gallery-masonry .gallery-piece:nth-child(3n+2){margin-top:30px;animation-delay:.09s}
.gallery-masonry .gallery-piece:nth-child(3n){margin-top:13px;animation-delay:.16s}
.gallery-masonry .gallery-piece:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(63,107,86,.13)}
@keyframes galleryReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:830px){.editor{gap:20px}.flowing-gallery{margin:8px -17px 0;padding:10px 17px 18px}.flowing-row .gallery-piece{flex-basis:235px;width:235px;min-height:320px}.flowing-row .gallery-thumb{height:140px!important}.gallery-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-masonry .gallery-piece:nth-child(n){margin-top:0}.gallery-highlight span:last-child{margin-left:0}.flow-caption{flex-wrap:wrap}}
@media(max-width:520px){.gallery-masonry{grid-template-columns:1fr}.flowing-track{animation-duration:36s}.flowing-row-reverse .flowing-track{animation-duration:43s}.artwork-identity{padding-top:14px}}
@media(prefers-reduced-motion:reduce){.flowing-track{animation:none}.gallery-masonry .gallery-piece{animation:none}}

/* === 2026 Autumn collectible card refinements (editor and site unchanged) === */
.artwork{max-width:450px;min-height:0;border-radius:18px;box-shadow:0 18px 44px rgba(70,108,84,.13),0 2px 8px rgba(70,108,84,.07);border:1px solid rgba(213,231,215,.9);background:#fff;isolation:isolate}
.artwork::before{content:"";position:absolute;inset:0;pointer-events:none;border:7px solid rgba(255,255,255,.38);border-radius:18px;z-index:3}
.artwork .poster-top{height:42px;padding:0 23px;font-size:9px;letter-spacing:.17em;color:#688578}
.artwork .poster-title{padding:3px 24px 0;font-weight:900;font-size:clamp(25px,2.8vw,32px);line-height:1.27;letter-spacing:-.055em}
.artwork .poster-sub{padding:7px 24px 16px;font-size:10px;letter-spacing:.15em}
.artwork .poster-photo{width:calc(100% - 48px);margin:0 auto;height:250px;border-radius:8px;background:#f5f6ec;box-shadow:0 4px 10px rgba(75,109,84,.08)}
.artwork .poster-photo img{display:block;width:100%;height:100%;object-fit:cover}
.artwork .poster-photo svg{display:block}
.artwork .poster-foot{padding:8px 23px 20px;font-size:9px;letter-spacing:.14em}
.artwork .artwork-identity{display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px 10px;margin:14px 24px 0;padding:13px 0 0;border-top:1px solid #dfebdf}
.artwork .identity-mini{grid-column:1/-1;font-size:9px;letter-spacing:.13em;color:#8ba097}
.artwork .artwork-student-name{font-size:15px;letter-spacing:0;color:#294d42}
.artwork .artwork-student-class{font-size:11px;line-height:1.5;text-align:right;color:#69867a}
.artwork .bottom-quote{font-size:12px;line-height:1.85;letter-spacing:.015em;min-height:0;margin:0;padding:16px 25px 0;color:#59746a;overflow-wrap:anywhere}
/* Photo-led Polaroid: bright picture, small label and handwritten tag */
.poster-fruit{background:linear-gradient(160deg,#fffef6 0%,#ffffff 68%,#fff9e9 100%)}
.poster-fruit .poster-top{color:#9b9479}
.poster-fruit .poster-title{font-size:30px;color:#ec8245;padding-top:2px}
.poster-fruit .poster-sub{padding-bottom:11px;color:#bc9874}
.poster-fruit .poster-photo{height:295px;width:calc(100% - 36px);border:10px solid white;outline:1px solid #f1eadd;border-radius:4px;box-shadow:0 10px 24px rgba(83,90,65,.12)}
.poster-fruit .photo-caption{width:calc(100% - 55px);margin:0 auto;min-height:0;transform:none;padding:13px 15px 12px;background:white;box-shadow:0 9px 17px rgba(80,95,64,.08);border-bottom:1px solid #eee9df;border-radius:0 0 8px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.poster-fruit .photo-caption b{font-size:19px;color:#ce6f36;line-height:1.25}
.poster-fruit .photo-caption small{font-size:11px;color:#718777;line-height:1.6;text-align:right}
.poster-fruit .bottom-quote{padding-top:19px;color:#596d57}
.poster-fruit .bottom-quote::before{content:'“';font-family:Georgia,serif;font-size:28px;line-height:0;color:#efbb83;vertical-align:-.28em;margin-right:4px}
/* Chef: lighter editorial recipe layout with a strong dish title */
.poster-cook{background:linear-gradient(165deg,#fffef4 0%,#fffdf6 60%,#fff8e9 100%)}
.poster-cook .poster-title{color:#c7832f}
.poster-cook .poster-photo{height:255px;border-radius:12px 12px 4px 4px}
.poster-cook .chef-detail{margin:0 24px;display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 0 13px;border-top:0;border-bottom:1px dashed #ebdbb5;align-items:start}
.poster-cook .chef-detail strong{font-size:21px;line-height:1.3;color:#88582f}
.poster-cook .chef-detail small{font-size:11px;line-height:1.7;color:#8c8b72;margin-top:5px}
.poster-cook .chef-stars{font-size:19px;letter-spacing:0;white-space:nowrap;color:#efa72d}
.poster-cook .bottom-quote{padding-top:14px;color:#6e6d56}
.poster-cook .bottom-quote>div:last-child{margin-top:12px!important;padding:10px 12px;border-radius:10px;background:#fff4dc;color:#a66c2d!important}
/* Route: map-like cover and proper three-metric statistics row */
.poster-move{background:linear-gradient(170deg,#f8fffb 0%,#f7fdff 100%)}
.poster-move .poster-title{color:#408d80}
.poster-move .poster-sub{color:#719d91}
.poster-move .poster-photo{height:278px;border:1px solid #cfe8dc;background:#eef8f4;position:relative}
.poster-move .poster-photo::after{content:'MY AUTUMN WALK';position:absolute;right:9px;bottom:9px;padding:5px 7px;background:#fffffff0;border-radius:5px;color:#679b87;letter-spacing:.1em;font-size:8px;font-weight:900}
.poster-move .chef-detail{margin:0 24px;padding:15px 0 12px;border-top:0;border-bottom:1px solid #dcece4;grid-template-columns:1fr auto}
.poster-move .chef-detail strong{font-size:21px;color:#376e67}
.poster-move .chef-detail small{display:none}
.poster-move .route-detail{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:9px;margin:13px 24px 0;padding:0;background:transparent}
.poster-move .route-detail>div{min-width:0;text-align:center;background:#eaf8f2;border:1px solid #d6eee5;padding:12px 4px;border-radius:11px}
.poster-move .route-detail b{font-size:19px;color:#347f74}
.poster-move .route-detail span{font-size:10px;color:#75988d;line-height:1.4;margin-top:4px}
.poster-move .route-detail .mood-stat b{font-size:15px;white-space:nowrap;letter-spacing:0;color:#42968c}
.poster-move .bottom-quote{padding-top:15px;color:#557d72}
/* Consistent small-screen card scale; keep upload form untouched */
@media(max-width:560px){.artwork{width:100%}.artwork .poster-title{font-size:28px}.artwork .poster-photo{height:238px}.poster-fruit .poster-photo{height:264px}.poster-move .poster-photo{height:242px}.poster-cook .chef-detail strong{font-size:18px}.poster-cook .chef-stars{font-size:16px}.poster-move .route-detail b{font-size:17px}}


/* Autumn gallery detail refinement — keeps established editor layout unchanged */
.gallery-piece[data-work-id]{cursor:pointer;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gallery-piece[data-work-id]:hover{border-color:#f5cd9d;box-shadow:0 18px 45px rgba(74,110,90,.15)}
.gallery-piece[data-work-id]:focus-visible{outline:3px solid #faaf70;outline-offset:4px}
.gallery-open-note{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 5px 0;color:#d78c4b;font-size:12px;font-weight:800}
.gallery-open-note .hint-arrow{font-size:16px;transform:translateX(0);transition:transform .2s}
.gallery-piece:hover .hint-arrow{transform:translateX(4px)}
.flowing-gallery{position:relative;mask-image:linear-gradient(90deg,transparent 0%,black 3.5%,black 96.5%,transparent 100%)}
.flowing-gallery.is-paused .flowing-track,.flowing-gallery:focus-within .flowing-track{animation-play-state:paused}
.flow-gallery-control{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:15px 0 32px}
.flow-gallery-control .flow-gallery-text{font-size:12px;color:#7b9487;line-height:1.7}
.gallery-pause-btn{background:#fff;border:1px solid #dcebdc;border-radius:999px;padding:10px 16px;color:#55776a;font-size:12px;font-weight:800;box-shadow:0 5px 20px rgba(50,80,60,.05)}
.gallery-detail-mask{display:none;position:fixed;inset:0;z-index:200;background:rgba(27,55,46,.67);backdrop-filter:blur(8px);padding:22px;align-items:center;justify-content:center}
.gallery-detail-mask.show{display:flex}
.gallery-detail-dialog{background:linear-gradient(165deg,#fffefa,#f9fff8);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 25px 85px rgba(17,40,32,.3);max-width:960px;width:100%;max-height:min(92vh,880px);display:grid;grid-template-columns:minmax(0,1fr) 248px;overflow:hidden;position:relative}
.gallery-detail-paper{overflow:auto;padding:30px 28px 24px;background:#f6faf3;display:flex;justify-content:center;align-items:flex-start}
.gallery-detail-aside{padding:44px 25px 24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.gallery-detail-close{position:absolute;right:16px;top:13px;border:1px solid #dfede1;background:white;color:#436a5c;border-radius:50%;height:36px;width:36px;font-size:22px;line-height:1;z-index:3}
.detail-overline{font-size:11px;letter-spacing:.17em;color:#a0784b;font-weight:900}
.gallery-detail-aside h2{font-size:28px;margin:4px 0 0;line-height:1.4;letter-spacing:-.035em}
.gallery-detail-aside p{font-size:14px;line-height:1.95;color:#607f73;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.detail-person{background:#f0f8eb;padding:15px;border-radius:14px;font-size:13px;line-height:1.9;color:#477064}
.detail-counter{font-size:12px;color:#8aa097;font-weight:700}
.detail-nav{display:flex;gap:9px;margin-top:auto}
.detail-nav button{flex:1;border:1px solid #d8e8db;background:white;border-radius:12px;padding:11px 4px;color:#416c5a;font-weight:800}
.detail-nav button:hover{background:#eef8ee}
.gallery-art-card{width:min(100%,420px);background:white;border-radius:7px;box-shadow:0 17px 45px rgba(63,91,79,.16);overflow:hidden;position:relative;flex-shrink:0}
.gallery-art-head{padding:20px 25px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.15em;font-weight:900;color:#78978a}
.gallery-art-title{font-size:26px;font-weight:900;line-height:1.35;letter-spacing:-.035em;margin:0;padding:7px 25px 2px;color:#de854d}
.gallery-art-card[data-task=taste] .gallery-art-title{color:#bc8839}
.gallery-art-card[data-task=move] .gallery-art-title{color:#328c84}
.gallery-art-tag{font-size:10px;color:#8aa095;letter-spacing:.16em;padding:4px 25px 18px;font-weight:800}
.gallery-art-photo{height:310px;margin:0 25px;background:#fbe2aa;overflow:hidden;display:grid;place-items:center;position:relative}
.gallery-art-card[data-task=taste] .gallery-art-photo{background:#fff0cb}
.gallery-art-card[data-task=move] .gallery-art-photo{background:#e4f6ec}
.gallery-art-photo img{width:100%;height:100%;object-fit:cover}
.gallery-art-photo .gallery-emoji{font-size:94px}
.gallery-art-content{padding:19px 25px 16px}
.gallery-art-keyword{font-size:23px;font-weight:900;line-height:1.5;margin:0 0 6px;color:#466c5d;overflow-wrap:anywhere}
.gallery-art-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.gallery-art-tags span{font-size:11px;padding:7px 10px;border-radius:999px;background:#f4f8ee;color:#678775}
.gallery-art-note{margin:10px 0 0;color:#617e70;font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.gallery-art-card[data-task=taste] .gallery-art-note.family{background:#fff3dd;color:#a77d39;padding:11px 12px;border-radius:12px}
.gallery-art-card[data-task=move] .gallery-art-tags span{background:#e8f7f7;color:#3f8b82}
.gallery-art-sign{border-top:1px dashed #dceadd;margin:7px 25px 0;padding:13px 0 19px;display:flex;gap:8px;justify-content:space-between;align-items:center;font-weight:800;font-size:12px;color:#607f71}
.gallery-art-sign small{font-size:10px;color:#9aaca0;font-weight:700;display:block;margin-bottom:3px;letter-spacing:.08em}
.detail-example{border-radius:12px;padding:10px 12px;background:#fff5db;color:#a17c3f;font-size:12px;line-height:1.65}
body.gallery-modal-open{overflow:hidden}
@media(max-width:760px){
.gallery-detail-mask{padding:8px;align-items:flex-end}
.gallery-detail-dialog{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;max-height:95dvh;border-radius:22px 22px 0 0}
.gallery-detail-paper{padding:15px 18px;min-height:0}
.gallery-detail-aside{padding:12px 18px 16px;gap:8px}
.gallery-detail-aside h2{font-size:18px}
.gallery-detail-aside p{font-size:12px;line-height:1.55;max-height:48px;overflow:auto}
.detail-person{padding:8px 10px;font-size:12px;line-height:1.5}
.gallery-art-card{max-width:350px}
.gallery-art-photo{height:220px;margin:0 18px}
.gallery-art-title{font-size:21px;padding:6px 18px 2px}
.gallery-art-tag{padding:2px 18px 10px}
.gallery-art-head{padding:11px 18px 8px}
.gallery-art-content{padding:12px 18px 10px}
.gallery-art-keyword{font-size:18px}
.gallery-art-note{font-size:12px;line-height:1.6}
.gallery-art-sign{margin:5px 18px 0;padding:9px 0 11px}
.gallery-detail-close{right:9px;top:9px}
}
@media(prefers-reduced-motion:reduce){.flowing-track{animation:none!important}.gallery-piece{transition:none!important}}


/* Fourth task · desktop-friendly, mobile inherits responsive stack */
@media(min-width:831px){.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.task-card{min-width:0}.task-card .art{height:175px}.card-text{padding:13px 6px 5px}.card-text h3{font-size:19px}.card-text p{font-size:12px}}
.art.four{background:linear-gradient(135deg,#daf5ed,#d6eefc)}
.poster-explore{background:#f7fff9}.poster-explore .poster-title{color:#368977}.poster-explore .poster-photo{background:#e3f5e8}
.explore-caption{margin:22px 28px 14px;border-left:4px solid #8bc6a5;padding:9px 0 9px 16px;color:#426d60;font-weight:700;font-size:17px;line-height:1.7;word-break:break-word;min-height:65px}
.explore-art{background:linear-gradient(140deg,#ddf4e9,#e2f5fa)}
@media(max-width:830px){.cards{grid-template-columns:1fr}.task-card .art.four{min-height:129px}.explore-caption{margin:15px 18px}}

.demo-notice{padding:8px 17px;text-align:center;font-size:12px;line-height:1.55;background:#fff7e7;color:#815c33}

.exhibition-image{margin:0 auto 2rem;max-width:800px}
.exhibition-image img{display:block;max-width:100%;height:auto;border-radius:16px}
.gallery-piece a{color:inherit;text-decoration:none}
.editor-view .privacy-opt{margin-bottom:1rem}

.card-photo-collage { position: relative; width: 100%; height: 100%; background: #f4eee2; }
.card-photo-cell { position: absolute; box-sizing: border-box; overflow: hidden; }
.card-photo-cell-spaced { padding: 2px; }
.card-photo-cell img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card-photo-unavailable { display: grid; place-items: center; padding: 4px; text-align: center; color: #436056; font-size: 12px; }
.card-photo-unavailable img { display: none; }
