:root{--paper:#fff9f2;--ink:#1e1b16;--ink-soft:#6e655a;--border:#1e1b16;--coral:#ff6b57;--sun:#ffc24b;--mint:#3ecf8e;--sky:#4ea8ff;--grape:#9b6bff;--bubble:#ff8fc5;--lime:#c6e84e;--peach:#ffa96b;--r:20px;--spring:cubic-bezier(.34, 1.56, .64, 1);--font-display:"Bricolage Grotesque", "Inter", sans-serif;--font-ui:"Inter", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-ui);background:var(--paper);color:var(--ink);background-image:radial-gradient(#ebdfcf 1.3px,#0000 1.3px);background-size:26px 26px;font-size:16px;line-height:1.55;overflow-x:clip}h1,h2,h3,.display{font-family:var(--font-display)}.cv-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.cv-card{flex-direction:column;gap:14px;width:100%;max-width:460px;padding:24px 24px 20px;display:flex}.cv-head{align-items:center;gap:12px;display:flex}.cv-ico{background:var(--c,var(--lime));border:2.5px solid var(--border);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:inline-flex;box-shadow:inset 0 -4px #00000024}.cv-title{flex-direction:column;line-height:1.1;display:flex}.cv-title h1{letter-spacing:-.6px;font-size:24px;font-weight:800}.cv-no{font-family:var(--font-ui);letter-spacing:.4px;color:var(--ink-soft);text-transform:uppercase;font-size:12px;font-weight:800}.cv-streak{font-family:var(--font-ui);border:2px solid var(--border);box-shadow:2.5px 2.5px 0 var(--border);white-space:nowrap;background:#fff;border-radius:30px;margin-left:auto;padding:6px 13px;font-size:13.5px;font-weight:800}.cv-prompt{background:var(--paper);border:2.5px solid var(--border);box-shadow:3px 3px 0 var(--border);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.cv-prompt-emoji{border:2px solid var(--border);background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:24px;line-height:1;display:inline-flex}.cv-prompt-title{font-family:var(--font-display);letter-spacing:-.3px;font-size:17px;font-weight:800;line-height:1.2}.cv-prompt-meta{color:var(--ink-soft);margin-top:2px;font-size:12.5px;font-weight:700}.cv-chart{border:2.5px solid var(--border);width:100%;box-shadow:4px 4px 0 var(--border);background:#fff;border-radius:16px;padding:8px 8px 4px;overflow:hidden}.cv-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;display:block}.cv-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cv-actions .atelier-btn{padding:12px 22px}.cv-actions .atelier-btn.solid{background:var(--c,var(--lime));color:var(--ink)}.cv-tip{text-align:center;min-height:1.4em;color:var(--ink-soft);font-size:13px;font-weight:600}.cv-result{animation:cv-rise .35s var(--spring);flex-direction:column;gap:12px;display:flex}.cv-score-row{background:var(--c,var(--lime));border:2.5px solid var(--border);box-shadow:4px 4px 0 var(--border);border-radius:16px;align-items:center;gap:16px;padding:14px 18px;display:flex}.cv-score{font-family:var(--font-display);white-space:nowrap;line-height:1}.cv-score b{letter-spacing:-1.5px;font-size:46px;font-weight:800}.cv-score span{color:var(--ink);opacity:.7;font-size:18px;font-weight:700}.cv-verdict{flex-direction:column;gap:3px;display:flex}.cv-verdict-label{font-family:var(--font-display);letter-spacing:-.3px;font-size:19px;font-weight:800}.cv-verdict-blurb{font-size:13px;font-weight:600}.cv-source{color:var(--ink-soft);text-align:center;font-size:12.5px;font-weight:600}.cv-source a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.cv-share{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cv-share .atelier-btn{padding:11px 18px;font-size:14.5px}.cv-share .atelier-btn.solid{background:var(--c,var(--lime));color:var(--ink)}.cv-tomorrow{text-align:center;color:var(--ink-soft);font-size:12.5px;font-weight:600}.cv-yesterday{text-align:center;color:var(--ink-soft);border-top:2px dashed var(--border);padding-top:10px;font-size:12px;font-weight:600}.cv-yesterday b{color:var(--ink)}.cv-feedback{justify-content:center;margin-top:2px;display:flex}.cv-toast{background:var(--ink);color:#fff;z-index:70;font-family:var(--font-ui);border:2px solid var(--border);box-shadow:3px 3px 0 var(--border);animation:cv-toast-rise .25s var(--spring);border-radius:40px;padding:10px 18px;font-size:13.5px;font-weight:800;position:fixed;bottom:74px;left:50%;transform:translate(-50%)}@keyframes cv-rise{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cv-toast-rise{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=400px){.cv-card{padding:20px 16px 16px}.cv-prompt-title{font-size:15.5px}.cv-score b{font-size:40px}.cv-actions .atelier-btn,.cv-share .atelier-btn{flex:auto;justify-content:center}}.atelier-feedback{font-family:var(--font-ui,"Inter", sans-serif);color:var(--ink-soft,#6e655a);border:2px solid var(--border,#1e1b16);box-shadow:2.5px 2.5px 0 var(--border,#1e1b16);background:#fff;border-radius:30px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.atelier-feedback button{cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;transition:transform .12s}.atelier-feedback button:hover{transform:scale(1.25)rotate(-6deg)}.atelier-btn{font-family:var(--font-ui);color:var(--ink);border:2.5px solid var(--border);box-shadow:4px 4px 0 var(--border);cursor:pointer;background:#fff;border-radius:50px;align-items:center;gap:9px;padding:13px 26px;font-size:15.5px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.atelier-btn:hover{box-shadow:6px 6px 0 var(--border);transform:translate(-2px,-2px)}.atelier-btn:active{box-shadow:1px 1px 0 var(--border);transform:translate(2px,2px)}.atelier-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:4px 4px 0 var(--border);transform:none}.atelier-btn.solid{background:var(--coral);color:#fff}.atelier-card{border:2.5px solid var(--border);border-radius:var(--r);box-shadow:5px 5px 0 var(--border);color:var(--ink);background:#fff;position:relative}.atelier-card.hover{transition:transform .16s var(--spring), box-shadow .16s}.atelier-card.hover:hover{box-shadow:9px 9px 0 var(--c,var(--coral));transform:translate(-3px,-3px)rotate(-.7deg)}.atelier-badge{font-family:var(--font-ui);letter-spacing:.6px;border:2px solid var(--border);text-transform:uppercase;color:var(--ink);border-radius:30px;padding:4px 10px;font-size:10.5px;font-weight:800}.atelier-badge.live{background:var(--mint)}.atelier-badge.exp{background:var(--sun)}.atelier-badge.grad{background:var(--grape);color:#fff}.atelier-badge.soon{color:var(--ink-soft);background:#efe7db;border-style:dashed}.atelier-chip{font-family:var(--font-ui);border:2px solid var(--border);color:var(--ink);cursor:pointer;box-shadow:2.5px 2.5px 0 var(--border);background:#fff;border-radius:40px;padding:8px 16px;font-size:13.5px;font-weight:700;transition:transform .1s,box-shadow .1s}.atelier-chip:hover{box-shadow:4px 4px 0 var(--border);transform:translate(-1.5px,-1.5px)}.atelier-chip.on{background:var(--ink);color:#fff}.atelier-dotgrid{grid-template-columns:repeat(2, var(--dot,7px));gap:calc(var(--dot,7px) * .43);display:grid}.atelier-dotgrid i{width:var(--dot,7px);height:var(--dot,7px);border-radius:50%}.atelier-dotgrid i:first-child{background:var(--coral)}.atelier-dotgrid i:nth-child(2){background:var(--sun)}.atelier-dotgrid i:nth-child(3){background:var(--sky)}.atelier-dotgrid i:nth-child(4){background:var(--mint)}.atelier-appbadge{z-index:60;border:2px solid var(--border);font-family:var(--font-ui);color:var(--ink);box-shadow:2.5px 2.5px 0 var(--border);background:#fff;border-radius:30px;align-items:center;gap:7px;padding:6px 13px;font-size:11.5px;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex;position:fixed;bottom:16px;right:16px}.atelier-appbadge:hover{box-shadow:4.5px 4.5px 0 var(--border);transform:translate(-2px,-2px)}
