.surface{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.block{padding:24px;display:flex;flex-direction:column;gap:14px}
.login{width:100%;max-width:380px;padding:32px;display:flex;flex-direction:column;gap:14px;text-align:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 26px;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.btn i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--lime-ink)}
.btn.dark{background:var(--ink);color:#fff;padding-left:10px}
.btn.light{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn.small{padding:10px 18px;font-size:15px}
.btn.dark.small{padding-left:18px}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.55;pointer-events:none}
.circle{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:20px;flex:none;transition:transform .2s var(--ease),background .2s}
.circle:hover{transform:translateX(-3px);background:var(--lime)}
.ghost{border:0;background:transparent;color:var(--danger);font-weight:600;border-radius:999px;padding:8px 12px;transition:background .2s}
.ghost:hover{background:#c4122f18}

.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-weight:500;transition:all .2s var(--ease)}
.chip:hover{transform:translateY(-2px)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}

.card{position:relative;text-align:left;border:0;background:var(--surface);border-radius:var(--r-lg);padding:10px 10px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;transition:transform .3s var(--ease),box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card h3{font-size:16px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
.card small{color:var(--muted);font-size:14px}
.card .go{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease),background .2s}
.card:hover .go{transform:rotate(45deg);background:var(--lime)}
.thumb{border-radius:var(--r-md);overflow:hidden;background:#d8d8de;aspect-ratio:9/12}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
#editThumb{aspect-ratio:9/14;box-shadow:var(--shadow)}
.tag{display:inline-block;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:600;background:#e4e4ea;align-self:flex-start}
.tag.Active{background:var(--lime);color:var(--lime-ink)}

.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg span{display:inline-block;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-weight:500;transition:all .25s var(--ease)}
.seg label:hover span{transform:translateY(-2px)}
.seg input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);font-weight:600}
.seg input:focus-visible+span{box-shadow:0 0 0 4px rgba(184,244,60,.55)}

.switch{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:500;user-select:none}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch i{flex:none;width:46px;height:28px;border-radius:999px;background:#c3c3cc;position:relative;transition:background .25s}
.switch i::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.switch input:checked+i{background:var(--ink)}
.switch input:checked+i::after{transform:translateX(18px);background:var(--lime)}
.switch input:focus-visible+i{box-shadow:0 0 0 4px rgba(184,244,60,.55)}

.field{display:flex;flex-direction:column;gap:6px;font-weight:500}
.field>span{display:flex;align-items:center;gap:10px;justify-content:space-between}
.field small{font-weight:400;color:var(--muted);font-size:14px}
.var{border:1.5px dashed var(--ink);background:#fff;border-radius:999px;padding:3px 12px;font-family:var(--mono);font-size:13px;font-weight:600;transition:all .2s;margin-left:auto;flex:none}
.var:hover{background:var(--lime);border-style:solid}

.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);padding:12px 22px;border-radius:999px;background:var(--ink);color:#fff;z-index:20;box-shadow:var(--shadow-lg);max-width:92vw;font-weight:500;font-size:15px}
.toast.ok::before{content:'✓ ';color:var(--lime)}
.toast.bad{background:var(--danger);border-radius:var(--r-md)}
.toast.bad::before{content:'! ';font-weight:700}

.fab{position:fixed;right:20px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:12;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:13px 20px;font-family:var(--display);font-weight:600;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease)}
.fab:hover{transform:translateY(-3px)}
.polish{position:fixed;right:20px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:12;width:min(380px,calc(100vw - 28px));max-height:80vh;overflow:auto;background:var(--surface);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-lg);transform-origin:bottom right}
.polish .ph{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:17px}
.polish .ph button{border:0;background:transparent;font-size:26px;line-height:1}

.skeleton{border-radius:var(--r-lg);aspect-ratio:9/13;background:linear-gradient(100deg,#e3e3e9 30%,#f2f2f6 50%,#e3e3e9 70%);background-size:300% 100%}

@media(max-width:600px){
  .block{padding:18px}
  .fab{width:52px;height:52px;padding:0;font-size:0;right:14px}
  .fab::before{content:'✦';font-size:20px}
  .toast{bottom:76px}
  .card .go{display:none}
}
