@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/group-photo/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f3ef;--ink:#171717;--muted:#646064;--surface:#dfdfdf;--purple:#af77d7;--green:#b0f26f;--line:#b9b6b8;--outline:#171717;--shadow:#171717;font-family:Inter Variable,Inter,Noto Sans CJK SC,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}body.dark{--bg:#202020;--ink:#dfdfdf;--muted:#afacae;--surface:#2d2b2e;--line:#565157;--outline:#afacae;--shadow:#090909}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.app{max-width:430px;margin:auto;padding:20px 22px 110px}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.2;letter-spacing:-1.7px;font-weight:900}h2{font-size:23px;letter-spacing:-.8px;font-weight:850}h3{font-size:16px;font-weight:800}p{font-size:12px;line-height:1.65}.muted{color:var(--muted)}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.group{display:flex;align-items:center;gap:8px;border:2px solid var(--outline);box-shadow:4px 4px var(--shadow);border-radius:12px;padding:6px 10px;font-size:12px;font-weight:800}.avatar{width:30px;height:30px;border-radius:50%;background:var(--purple);border:1.5px solid var(--outline);display:grid;place-items:center;color:#171717;font-weight:900}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.iconbtn{border:0;background:none;min-width:40px;min-height:40px;display:grid;place-items:center}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.6px;margin-bottom:8px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.demo{font-size:10px;display:flex;align-items:center;gap:4px;white-space:nowrap}.demo:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);border:1px solid var(--outline)}.panel,.button{border:2px solid var(--outline);border-radius:11px;box-shadow:4px 4px 0 var(--shadow);background:var(--bg)}.autobox{display:flex;align-items:center;justify-content:space-between;padding:14px 13px;margin-bottom:14px}.autobox strong{font-size:14px}.tiny{font-size:10px;line-height:1.65}.toggle{width:52px;height:30px;border:2px solid #171717;border-radius:6px;padding:3px;background:var(--purple);box-shadow:2px 2px var(--shadow);flex-shrink:0}.toggle:after{content:"";display:block;width:20px;height:20px;background:#171717;border-radius:3px;transform:translate(20px)}.toggle.off{background:var(--surface);border-color:var(--outline)}.toggle.off:after{transform:none;background:var(--ink)}.clock{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin:17px 0 25px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mode{padding:13px 14px;display:flex;justify-content:space-between;align-items:center;background:var(--surface);margin-bottom:26px;font-size:12px;font-weight:750}.sectiontitle{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.count{font-size:11px;color:var(--muted)}.photo-row{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.thumb{width:80px;height:80px;object-fit:cover;border:2px solid var(--outline);border-radius:10px;flex-shrink:0}.details{flex:1;min-width:0}.details h3{font-size:14px;margin:5px 0}.details p{font-size:10px;color:var(--muted)}.badge{display:inline-block;padding:3px 6px;font-size:9px;font-weight:750;border:1px solid var(--outline);border-radius:4px;background:var(--green);color:#171717}.badge.purple{background:var(--purple)}.badge.neutral{background:var(--surface);color:var(--ink)}.drag{font-size:19px;color:var(--muted);margin-left:-3px}.plusrow{display:flex;align-items:center;gap:14px;margin:19px 0 12px}.plus{width:80px;height:80px;background:var(--purple);color:#171717;font-size:36px;display:grid;place-items:center}.plusrow strong{font-size:13px}.plusrow p{font-size:10px;margin-top:5px;color:var(--muted)}.nav{position:fixed;z-index:10;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:3px;width:calc(100% - 36px);max-width:394px;height:50px;background:var(--surface);border:2px solid var(--outline);border-radius:14px;box-shadow:4px 4px var(--shadow)}.nav a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:10px;line-height:12px;font-weight:800;height:40px;border:2px solid transparent;border-radius:9px}.nav a.active{background:var(--purple);color:#171717;border-color:#171717;box-shadow:2px 2px var(--shadow)}.nav .icon{width:19px;height:19px}.callout{border-left:3px solid var(--purple);padding:2px 0 2px 11px;margin:22px 0;font-size:11px;line-height:1.7;color:var(--muted)}.button{min-height:45px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800}.button.primary{background:var(--purple);color:#171717}.button.green{background:var(--green);color:#171717}.button.full{width:100%;margin-top:20px}.schedule-card{margin-top:18px;padding:14px}.schedule-card .thumb{width:76px;height:76px}.dates{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:11px}.dates strong{font-size:14px}.month{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px;font-weight:850}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:11px}.calendar span{display:grid;place-items:center;height:27px}.calendar .day{color:var(--muted);font-size:10px}.calendar .today{border:1.5px solid var(--outline);border-radius:5px}.calendar .special{background:var(--purple);border:1.5px solid #171717;color:#171717;border-radius:5px;font-weight:800}.timeline{margin-top:20px;padding-left:15px}.event{position:relative;border-left:2px solid var(--line);padding:0 0 23px 22px}.event:before{content:"";position:absolute;left:-7px;top:4px;width:10px;height:10px;border:2px solid var(--outline);background:var(--bg);border-radius:50%}.event.active:before{background:var(--green)}.event.special:before{background:var(--purple)}.event time{font-size:12px;font-weight:800;display:block;margin-bottom:10px}.event .thumb{width:57px;height:57px}.event h3{font-size:13px;margin-bottom:4px}.event p{font-size:10px}.event .row{justify-content:flex-start;align-items:center}.event .note{font-size:10px;color:var(--muted);margin-top:10px}.form-section{margin:24px 0;border-top:1px solid var(--line);padding-top:22px}.form-section h2{font-size:20px;margin-bottom:17px}.label{display:block;font-size:12px;font-weight:750;margin:15px 0 9px}.field{width:100%;padding:12px;border:1.5px solid var(--outline);border-radius:8px;background:var(--bg);font-size:12px;min-height:44px}.selectfield{display:flex;align-items:center;justify-content:space-between}.chips{display:flex;gap:7px}.chips span{font-size:11px;flex:1;padding:11px 1px;border:1.5px solid var(--outline);border-radius:7px;text-align:center;font-weight:700}.chips .selected{background:var(--green);color:#171717;box-shadow:2px 2px var(--shadow)}.default{display:flex;align-items:center;gap:13px;padding:14px}.default .thumb{width:64px;height:64px}.default p{font-size:10px}.default strong{font-size:12px}.preview{background:var(--surface);padding:15px;border:1.5px solid var(--outline);border-radius:9px;margin-top:14px}.preview p{font-size:12px;white-space:pre-line}.preview small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.empty{text-align:center;padding:36px 13px}.empty-icon{display:grid;place-items:center;margin:0 auto 24px;width:90px;height:90px;border:2px solid var(--outline);border-radius:18px;background:var(--surface);box-shadow:5px 5px var(--shadow);transform:rotate(-5deg)}.empty-icon .icon{width:40px;height:40px}.empty h2{font-size:21px;margin-bottom:13px}.empty p{color:var(--muted);font-size:12px}.empty .button{margin-top:25px}.scrim{position:fixed;inset:0;background:#17171799;z-index:20}.sheet{position:fixed;z-index:21;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:var(--bg);border:2px solid var(--outline);border-bottom:0;border-radius:20px 20px 0 0;padding:12px 22px 28px;max-height:94vh;overflow:auto;box-shadow:0 -5px #17171720}.handle{height:4px;background:var(--line);width:34px;margin:0 auto 16px;border-radius:4px}.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.sheethead h2{font-size:23px}.sheethead .iconbtn{margin-right:-10px}.steps{display:flex;gap:6px;margin:0 0 20px}.steps span{height:3px;background:var(--line);flex:1}.steps .on{background:var(--purple)}.uploadzone{border:2px dashed var(--outline);border-radius:12px;min-height:190px;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center}.uploadzone .icon{width:35px;height:35px}.uploadzone strong{font-size:15px}.actions{display:flex;gap:12px;margin-top:22px}.actions .button{flex:1}.crop{position:relative;aspect-ratio:1;background:#171717;border:2px solid var(--outline);overflow:hidden;border-radius:10px}.crop img{width:100%;height:100%;object-fit:cover}.circle-mask{position:absolute;inset:9%;border:2px solid white;border-radius:50%;box-shadow:0 0 0 80px #17171788}.crop-grid{position:absolute;inset:9%;border-radius:50%;overflow:hidden;background:linear-gradient(90deg,transparent 33%,#ffffff66 33.3%,transparent 33.7%,transparent 66%,#ffffff66 66.3%,transparent 66.7%),linear-gradient(transparent 33%,#ffffff66 33.3%,transparent 33.7%,transparent 66%,#ffffff66 66.3%,transparent 66.7%)}.zoom{display:flex;align-items:center;gap:14px;margin:20px 0}.track{height:5px;flex:1;background:var(--line);border-radius:4px;position:relative}.track:before{content:"";display:block;width:42%;height:5px;background:var(--purple)}.track:after{content:"";position:absolute;left:40%;top:-6px;width:15px;height:15px;background:var(--bg);border:2px solid var(--outline);border-radius:50%}.editphoto{display:flex;gap:18px;align-items:center;margin:20px 0}.editphoto .thumb{width:84px;height:84px}.choice{padding:15px;margin-top:14px;border:1.5px solid var(--outline);border-radius:10px}.choice.selected{border:2px solid var(--outline);background:var(--purple);color:#171717;box-shadow:3px 3px var(--shadow)}.choice h3{font-size:15px}.choice p{font-size:11px;margin-top:8px}.choice small{font-size:10px}.error{border:1.5px solid var(--outline);background:var(--surface);padding:13px;border-radius:8px;font-size:11px;line-height:1.7;margin-top:15px}.error strong{display:block;font-size:13px;margin-bottom:4px}.footer-note{font-size:9px;color:var(--muted);margin-top:25px;line-height:1.6}.gallery{max-width:900px;margin:auto;padding:30px}.gallery a{display:block;padding:12px;border-bottom:1px solid var(--line)}.language{font-size:10px;font-weight:750;white-space:nowrap}.top .iconbtn{margin-left:auto;min-width:26px}.english h1{font-size:33px;letter-spacing:-1.5px}.english .title{gap:8px}.english .demo{font-size:9px}.english .details h3{font-size:12px;line-height:1.4}.english .photo-row .iconbtn{min-width:28px}.english .clock{font-size:9px}.english .empty h2{font-size:19px}.english .sheethead h2{font-size:21px}.english .choice h3{font-size:15px}.english .form-section h2{font-size:19px}.english .group{font-size:11px}.english .sheet .button{font-size:12px}body{color:var(--ink);min-height:100vh}.english.gate h1{font-size:28px}.english.gate .button{font-size:12px}.english.gate .empty h2{font-size:18px}.crop{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.crop:active{cursor:grabbing}.crop img{position:absolute;left:0;top:0;max-width:none;max-height:none;object-fit:fill;transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none}.circle-mask,.crop-grid{pointer-events:none}.zoom-step{border:0;background:none;font-size:21px;min-width:32px;min-height:36px;padding:0}.zoom-slider{appearance:none;flex:1;min-width:0;height:5px;border-radius:5px;background:linear-gradient(to right,var(--purple) var(--zoom-progress,0%),var(--line) var(--zoom-progress,0%));cursor:pointer}.zoom-slider::-webkit-slider-thumb{appearance:none;width:19px;height:19px;border:2px solid var(--outline);border-radius:50%;background:var(--bg)}.zoom-slider::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--outline);border-radius:50%;background:var(--bg)}.circle-mask,.crop-grid{inset:0}button{font:inherit;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}.full-width{width:100%;text-align:left}.text-button{background:none;border:0;padding:8px 0;min-height:36px;font-size:11px;font-weight:750;cursor:pointer}.plusrow{background:none;border:0;padding:0;text-align:left;color:var(--ink)}.nav button{flex:1;background:none;border:2px solid transparent;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px;font-weight:800;line-height:12px;height:40px;padding:0 2px;transition:background .16s,transform .16s}.nav button.active{background:var(--purple);color:#171717;border-color:#171717;box-shadow:2px 2px var(--shadow)}.chips button{flex:1;padding:10px 2px;border:1.5px solid var(--outline);border-radius:7px;background:var(--bg);font-size:11px;min-height:44px}.chips button.selected{background:var(--green);color:#171717;box-shadow:2px 2px var(--shadow)}.dialog-sheet{inset:auto 0 0;margin:0 auto;transform:none;max-height:90dvh;width:min(100%,430px);color:var(--ink)}.dialog-sheet::backdrop{background:#17171799;animation:veil-in .16s ease-out}.dialog-sheet[open]{animation:sheet-in .24s cubic-bezier(.2,.7,.2,1)}.dialog-sheet.closing{animation:sheet-out .18s ease-in}.dialog-sheet.closing::backdrop{animation:veil-out .18s ease-in}.page-enter{animation:page-in .16s ease-out}.button,.toggle{transition:transform .1s,box-shadow .1s}.button:active:not(:disabled),.toggle:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px var(--shadow)}.success-notice{white-space:pre-line;border:1.5px solid var(--outline);border-radius:8px;background:var(--green);color:#171717;padding:12px;font-size:12px;margin:0 0 20px;animation:feedback-in .18s ease-out}.permission-steps{padding:17px}.permission-steps p{margin-top:12px}.placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--surface)}.drag-handle{border:0;background:none;touch-action:none;padding:0;min-width:22px;min-height:44px;cursor:grab}.photo-row.drop-target{outline:2px dashed var(--purple);outline-offset:-3px}.danger{color:var(--muted);margin-top:18px}.loading-state{padding:60px 0;display:flex;align-items:center;justify-content:center;gap:14px}.loading-state h2{font-size:19px}.loading-state .avatar{animation:loading-step 1s ease-in-out infinite}.gate-title{font-size:29px;margin-top:26px}.field{color-scheme:light}body.dark .field{color-scheme:dark}.english .details h3{font-size:12px}input[type=date],input[type=time]{min-width:0;max-width:100%;display:block}.top .group{min-width:0;max-width:75%}.group>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top{gap:12px}.group{min-height:47px}.mode{color:var(--ink)}.english h1{font-size:33px}.english .clock{font-size:10px}.sheet .crop{width:100%}.sheet label{line-height:1.5}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@keyframes veil-out{to{opacity:0}}@keyframes page-in{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-in{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes loading-step{50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:350px){.app{padding-left:17px;padding-right:17px}.thumb{width:65px;height:65px}.photo-row{gap:9px}.details h3{font-size:12px}.clock{font-size:9px}.autobox strong{font-size:12px}.actions .button{font-size:11px;padding:10px}.sheet{padding-left:17px;padding-right:17px}}:root[data-theme=dark]{--bg:#202020;--ink:#dfdfdf;--muted:#afacae;--surface:#2d2b2e;--line:#565157;--outline:#afacae;--shadow:#090909;background:var(--bg);color:var(--ink)}.details h3,.preview p,.notice{overflow-wrap:anywhere}
