*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#111318;--panel:#1b2029;--panel-soft:#242b36;--line:#ffffff1f;--text:#f7f7fb;--muted:#b7c0cf;--accent:#ffca3a;--accent-2:#52d1b8;--pink:#ff6b9a;--blue:#62a8ff;--shadow:0 20px 70px #00000061}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 20% 0,#ffca3a29,#0000 30%),radial-gradient(circle at 90% 20%,#52d1b824,#0000 32%),linear-gradient(145deg,#101217 0%,#171b23 52%,#101217 100%);padding:28px 16px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0}.page{width:100%;max-width:920px;margin:0 auto}.app-card{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:#1b2029eb;border-radius:8px;overflow:hidden}.hero{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#ffca3a1f,#52d1b814);padding:34px 30px 28px}.badge{color:#ffdc70;background:#ffca3a24;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;font-size:14px;font-weight:700;display:inline-flex}h1{letter-spacing:0;word-break:keep-all;margin-bottom:12px;font-size:clamp(30px,7vw,52px);line-height:1.1}.subtitle{max-width:680px;color:var(--muted);word-break:keep-all;font-size:16px;line-height:1.7}.content{gap:18px;padding:22px;display:grid}.section{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;width:100%;padding:20px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}h2{letter-spacing:0;font-size:20px;line-height:1.3}.hint{color:var(--muted);font-size:13px;line-height:1.5}.upload-box{text-align:center;background:#ffffff0d;border:2px dashed #ffffff40;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:190px;padding:22px;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.upload-box:hover,.upload-box.drag-over{border-color:var(--accent);background:#ffca3a14;transform:translateY(-1px)}.upload-icon{color:#ffffff1f;pointer-events:none;z-index:0;justify-content:center;align-items:center;width:160px;height:160px;font-size:118px;line-height:1;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.upload-box strong{word-break:keep-all;z-index:1;margin-bottom:8px;font-size:19px;display:block;position:relative}.upload-help{color:var(--muted);word-break:keep-all;z-index:1;font-size:14px;line-height:1.55;display:block;position:relative}.upload-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:146px;display:flex;position:relative}.file-input{display:none}.preview-area{grid-template-columns:180px 1fr;align-items:center;gap:18px;margin-top:16px;display:grid}.preview-img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;width:180px}.preview-copy{min-width:0}.preview-copy strong{margin-bottom:8px;font-size:18px;display:block}.preview-copy p{color:var(--muted);word-break:keep-all;font-size:14px;line-height:1.6}.actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.preview-cta{gap:10px;margin-top:16px;display:grid}.cta-analyze{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#101217;width:100%;min-height:58px;font-size:17px;box-shadow:0 16px 38px #ffca3a33}.cta-helper{color:var(--muted);text-align:center;word-break:keep-all;font-size:13px;line-height:1.55}.btn{color:#101217;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;transition:transform .2s,filter .2s,opacity .2s;display:inline-flex}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{background:var(--accent)}.btn-secondary{background:var(--accent-2)}.btn-pink{background:var(--pink);color:#fff}.btn-blue{background:var(--blue);color:#07101e}.btn-ghost{border:1px solid var(--line);color:var(--text);background:#ffffff14}.result-empty{color:var(--muted);word-break:keep-all;line-height:1.65}.result-summary{background:#ffca3a1c;border:1px solid #ffca3a33;border-radius:8px;margin-bottom:16px;padding:16px}.result-ready-label{color:var(--accent-2);margin-bottom:8px;font-size:13px;font-weight:900;display:block}.result-summary strong{color:#ffdc70;margin-bottom:6px;font-size:22px;display:block}.result-summary p{color:var(--muted);font-size:14px;line-height:1.6}.result-list{gap:12px;display:grid}.analysis-loading{background:#52d1b814;border:1px solid #52d1b833;border-radius:8px;gap:16px;padding:18px;display:grid}.analysis-loading strong{color:var(--text);word-break:keep-all;font-size:17px;line-height:1.45}.loading-dots{gap:8px;display:flex}.loading-dots span{background:var(--accent);border-radius:999px;width:10px;height:10px;animation:.9s ease-in-out infinite loadingPulse}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.skeleton-lines{gap:10px;display:grid}.skeleton-lines span{background:linear-gradient(90deg,#ffffff14,#ffffff2e,#ffffff14) 0 0/220% 100%;border-radius:999px;height:14px;animation:1.1s linear infinite skeletonMove;display:block;overflow:hidden}.skeleton-lines span:first-child{width:92%}.skeleton-lines span:nth-child(2){width:76%}.skeleton-lines span:nth-child(3){width:84%}.btn-retest{width:100%;color:var(--text);background:#52d1b81f;border:1px solid #52d1b859;margin-top:16px}@keyframes loadingPulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes skeletonMove{0%{background-position:120% 0}to{background-position:-120% 0}}.result-row{gap:8px;display:grid}.result-label{color:var(--text);justify-content:space-between;gap:12px;font-size:15px;font-weight:800;display:flex}.bar{background:#ffffff17;border-radius:8px;width:100%;height:13px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .55s}.share-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.btn-save-image{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#101217;width:100%;margin-bottom:10px}.comment-form{grid-template-columns:minmax(120px,180px) 1fr auto;gap:10px;margin-bottom:16px;display:grid}.field{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#ffffff12;border-radius:8px;outline:none;padding:0 13px}textarea.field{resize:vertical;min-height:44px;max-height:140px;padding-top:11px;line-height:1.5}.field::placeholder{color:#b7c0cfad}.comment-list{gap:10px;display:grid}.comment-item{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;gap:6px;padding:13px;display:grid}.comment-meta{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.comment-name{color:#ffdc70;font-weight:800}.comment-text{color:var(--text);word-break:break-word;line-height:1.55}.comment-delete{color:#ffb4b4;background:#ff76761a;border:1px solid #ff767647;border-radius:8px;justify-self:end;width:fit-content;min-height:34px;padding:0 12px;font-size:13px;font-weight:800}.comment-delete:hover{background:#ff76762b}.comment-delete:disabled{cursor:not-allowed;opacity:.55}.empty-comments{color:var(--muted);font-size:14px;line-height:1.6}.toast{z-index:10;border:1px solid var(--line);max-width:calc(100vw - 32px);color:var(--text);opacity:0;pointer-events:none;background:#0b0d12eb;border-radius:8px;padding:12px 16px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,14px);box-shadow:0 14px 40px #0000005c}.toast.show{opacity:1;transform:translate(-50%)}.result-card-capture-wrap{width:0;height:0;position:fixed;top:0;left:-12000px;overflow:hidden}.result-image-card{color:#f7f7fb;background:radial-gradient(circle at 20% 8%,#ffca3a40,#0000 26%),radial-gradient(circle at 82% 20%,#52d1b833,#0000 30%),linear-gradient(160deg,#111318 0%,#161d29 52%,#0d1118 100%);width:1080px;height:1920px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.capture-bg-glow{filter:blur(8px);opacity:.7;border-radius:999px;position:absolute}.capture-bg-glow-one{background:#ffca3a38;width:420px;height:420px;top:160px;left:-150px}.capture-bg-glow-two{background:#52d1b82e;width:520px;height:520px;bottom:180px;right:-180px}.capture-content{text-align:center;background:#1f2632eb;border:2px solid #ffffff21;border-radius:48px;flex-direction:column;align-items:center;width:900px;height:1640px;padding:86px 72px 74px;display:flex;position:absolute;top:140px;left:90px;box-shadow:0 42px 140px #0000007a}.capture-label{color:#ffdc70;background:#ffca3a24;border-radius:18px;align-self:flex-start;padding:18px 24px;font-size:34px;font-weight:800}.capture-emoji{background:#ffffff0f;border:3px solid #ffffff1f;border-radius:44px;justify-content:center;align-items:center;width:310px;height:310px;margin-top:92px;font-size:172px;line-height:1;display:flex;box-shadow:inset 0 0 70px #ffca3a14}.capture-content h3{color:#fff;letter-spacing:0;word-break:keep-all;max-width:760px;margin-top:62px;font-size:82px;line-height:1.14}.capture-description{color:#d7dfec;word-break:keep-all;max-width:720px;margin-top:34px;font-size:36px;font-weight:700;line-height:1.45}.capture-result-list{gap:30px;width:100%;margin-top:86px;display:grid}.capture-result-row{gap:14px;display:grid}.capture-result-label{color:#f7f7fb;justify-content:space-between;align-items:center;gap:24px;font-size:34px;font-weight:800;display:flex}.capture-result-label strong{color:#ffdc70}.capture-bar{background:#ffffff1a;border-radius:999px;width:100%;height:24px;overflow:hidden}.capture-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#ffca3a,#52d1b8);height:100%}.capture-footer{border-top:2px solid #ffffff1f;gap:14px;width:100%;margin-top:auto;padding-top:46px;display:grid}.capture-footer strong{color:#52d1b8;font-size:40px;font-weight:900}.capture-footer span{color:#cbd5e1;font-size:28px;line-height:1.35}@media (width<=760px){body{padding:14px}.hero{padding:28px 20px 24px}.content,.section{padding:16px}.preview-area{grid-template-columns:1fr}.preview-img{aspect-ratio:4/3;width:100%;max-height:360px}.share-grid,.comment-form{grid-template-columns:1fr}.btn{width:100%}.section-title .btn{flex:none;width:auto;min-width:108px}.section-title h2{white-space:nowrap;flex:auto;min-width:0}}
