@import"https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Jua&display=swap";.ethicity{--bg: #eef2ec;--surface: #fbfcf8;--ink: #20312a;--sub: #66746a;--faint: #97a29a;--line: #dee4dc;--line-deep: #cdd6cb;--green: #315b49;--green-deep: #27493b;--sage: #8a9a8b;--sage-bg: #e4eae2;--amber: #b8862e;--amber-bg: #f6efdd;--red: #a14b3c;--red-bg: #f5e6e1;--blue: #3d6b8e;--blue-bg: #e6edf3;--focus: #1d6fa5;--r: 20px;--r-s: 14px;--font-body: "Gowun Dodum", "Pretendard Variable", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-game: "Jua", "Gowun Dodum", "Malgun Gothic", sans-serif;font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:url(/assets/ethicity/bg-pattern.png);background-size:344px auto;background-repeat:repeat;background-attachment:fixed;min-height:100dvh;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}.ethicity *,.ethicity *:before,.ethicity *:after{box-sizing:border-box}.ethicity :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.ex-serif{font-family:var(--font-game);font-weight:400;letter-spacing:.005em;line-height:1.32}.ex-mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.ex-wrap{max-width:560px;margin:0 auto;padding:40px 20px 88px}.ex-wrap--wide{max-width:680px}.ex-phase{animation:ex-phase-in .35s ease}@keyframes ex-phase-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.ex-card{background:var(--surface);border:1.5px solid var(--line-deep);border-radius:var(--r);padding:20px;box-shadow:0 3px 0 var(--line)}.ex-soft{background:var(--sage-bg);border-radius:var(--r);padding:16px 18px}.ex-divider{border:0;border-top:1.5px dashed var(--line-deep);margin:24px 0}.ex-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;border-radius:var(--r-s);border:1.5px solid transparent;font-family:var(--font-game);font-weight:400;font-size:17px;letter-spacing:.01em;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,background .15s ease;touch-action:manipulation}.ex-btn:disabled{opacity:.4;cursor:not-allowed}.ex-btn--primary{background:var(--green);color:#fbfcf8;box-shadow:0 4px 0 var(--green-deep)}.ex-btn--primary:hover:not(:disabled){background:#386853}.ex-btn--primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--green-deep)}.ex-btn--line{background:var(--surface);border-color:var(--line-deep);color:var(--ink);box-shadow:0 4px 0 var(--line)}.ex-btn--line:hover:not(:disabled){border-color:var(--sage)}.ex-btn--line:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--line)}.ex-btn--quiet{background:transparent;color:var(--sub);min-height:40px;padding:8px 12px}.ex-btn--quiet:hover:not(:disabled){color:var(--ink)}.ex-btn--wide{width:100%}.ex-btn--big{min-height:58px;font-size:19px}.ex-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 13px;border-radius:999px;font-family:var(--font-game);font-size:13.5px;background:var(--sage-bg);color:var(--green)}.ex-chip--time{background:var(--amber-bg);color:var(--amber)}.ex-chip--plan{background:var(--surface);border:1.5px solid var(--line-deep);color:var(--ink)}.ex-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.ex-kicker{font-family:var(--font-game);font-size:13.5px;letter-spacing:.14em;color:var(--green)}.ex-choice{display:block;width:100%;text-align:left;border:1.5px solid var(--line-deep);border-radius:var(--r-s);background:var(--surface);padding:13px 16px;font-family:var(--font-body);font-size:15.5px;font-weight:700;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--line);transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease,background .15s ease;min-height:48px}.ex-choice:hover:not(:disabled){border-color:var(--sage)}.ex-choice:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.ex-choice--selected,.ex-choice[aria-pressed=true]{border-color:var(--green);background:#f2f6f1}.ex-choice--ai{border-color:var(--blue);background:var(--blue-bg)}.ex-choice__hint{display:block;margin-top:3px;font-size:13px;font-weight:400;color:var(--sub)}.ex-input,.ex-textarea{width:100%;border:1.5px solid var(--line-deep);border-radius:var(--r-s);background:var(--surface);padding:12px 14px;font-size:16px;font-family:var(--font-body);color:var(--ink)}.ex-input::placeholder,.ex-textarea::placeholder{color:var(--faint)}.ex-textarea{min-height:68px;resize:vertical}.ex-overlay{position:fixed;inset:0;background:#20312a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60;overflow-y:auto}.ex-modal{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface);border:1.5px solid var(--line-deep);border-radius:var(--r);box-shadow:0 4px #20312a26;padding:24px;animation:ex-in .25s cubic-bezier(.2,1.2,.4,1);margin:auto}@keyframes ex-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.ex-cardback{width:168px;height:218px;margin:0 auto;border-radius:16px;border:2px solid var(--line-deep);background:repeating-linear-gradient(-45deg,#f2f4ef,#f2f4ef 10px,#e7ece4 10px 20px);animation:ex-cardback-pulse 1s ease infinite alternate}@keyframes ex-cardback-pulse{0%{transform:rotate(-2deg) scale(1)}to{transform:rotate(2deg) scale(1.04)}}.ex-cardreveal{width:min(280px,68vw);border-radius:18px;box-shadow:0 10px 24px #20312a2e;animation:ex-cardreveal .55s cubic-bezier(.2,1.3,.4,1)}@keyframes ex-cardreveal{0%{opacity:0;transform:rotateY(85deg) scale(.8)}60%{opacity:1;transform:rotateY(-8deg) scale(1.05)}to{transform:none}}.ex-omr{display:grid;gap:6px;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-s);padding:12px 14px;box-shadow:0 3px 0 var(--line)}.ex-omr__head{font-family:var(--font-game);font-size:12px;letter-spacing:.14em;color:var(--sub);border-bottom:1px solid var(--line);padding-bottom:6px}.ex-omr__row{display:flex;align-items:center;gap:8px;font-size:13px}.ex-omr__num{width:16px;font-weight:700;color:var(--sub)}.ex-omr__cell{width:20px;height:13px;border:1.2px solid var(--faint);border-radius:7px;position:relative}.ex-omr__cell--filled{background:var(--ink);border-color:var(--ink);animation:ex-fill .25s ease}.ex-omr__row--current .ex-omr__num{color:var(--green)}@keyframes ex-fill{0%{transform:scale(.5)}to{transform:scale(1)}}.ex-stamp{display:inline-block;border:3px solid var(--red);color:var(--red);border-radius:10px;padding:4px 16px;font-family:var(--font-game);font-size:20px;transform:rotate(-6deg);animation:ex-stamp .45s cubic-bezier(.2,1.6,.4,1)}@keyframes ex-stamp{0%{transform:rotate(-6deg) scale(2.4);opacity:0}60%{transform:rotate(-6deg) scale(.92);opacity:1}to{transform:rotate(-6deg) scale(1)}}.ex-report{background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;padding:22px 20px;box-shadow:0 4px 0 var(--line)}.ex-report__title{text-align:center;font-family:var(--font-game);font-size:22px;letter-spacing:.3em;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:14px}.ex-table{width:100%;border-collapse:collapse;font-size:14.5px}.ex-table th,.ex-table td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left}.ex-table th{font-family:var(--font-game);color:var(--sub);font-size:13px;font-weight:400}.ex-table tr.ex-me{background:#f2f6f1;font-weight:700}.ex-bubble{background:var(--surface);border:1.5px solid var(--line-deep);border-radius:4px 16px 16px;padding:10px 14px;font-size:14.5px}.ex-bubble--ai{background:var(--blue-bg);border-color:#c6d6e2}.ex-bubble strong{font-family:var(--font-game);font-weight:400;color:var(--green)}.ex-face{width:28px;height:28px;border-radius:50%;border:2px solid var(--sage);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-game);font-size:14px;flex:0 0 auto}.ex-dots{display:inline-flex;gap:4px}.ex-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.ex-dots i.on{background:var(--green)}.ex-bar{height:14px;border-radius:999px;background:var(--sage-bg);overflow:hidden}.ex-bar>i{display:block;height:100%;border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.3,1)}.ex-note{border:2px dashed var(--amber);background:var(--amber-bg);border-radius:var(--r-s);padding:14px 16px}details.ex-note>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}details.ex-note>summary::-webkit-details-marker{display:none}details.ex-note>summary:after{content:"펼치기";font-family:var(--font-body);font-size:12.5px;color:var(--amber);border:1px solid var(--amber);border-radius:999px;padding:1px 9px;flex:0 0 auto}details.ex-note[open]>summary:after{content:"접기"}.ex-note--locked{border-style:dashed;border-color:var(--faint);background:repeating-linear-gradient(-45deg,#efece2,#efece2 10px,#eae6da 10px 20px);color:var(--sub)}.ex-art{display:block;width:100%;border-radius:var(--r);border:1.5px solid var(--line-deep);box-shadow:0 3px 0 var(--line)}.ex-fan{display:flex;justify-content:center;padding:18px 0 10px}.ex-fan__card{width:21%;min-width:74px;border-radius:10px;margin:0 -1.5%;box-shadow:0 6px 14px #20312a29;transition:transform .18s ease}.ex-fan__card:hover{transform:translateY(-10px) rotate(0)!important;z-index:2}.ex-soundtoggle{position:fixed;top:12px;right:12px;z-index:70;min-height:38px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line-deep);background:var(--surface);font-family:var(--font-game);font-size:13.5px;color:var(--sub);cursor:pointer;box-shadow:0 2px 0 var(--line)}.ex-soundtoggle[aria-pressed=true]{color:var(--green);border-color:var(--sage)}@media(max-width:720px){.ex-exam-grid{grid-template-columns:minmax(0,1fr)!important}.ex-exam-grid aside{order:-1}.ex-omr{grid-template-columns:repeat(2,1fr)}.ex-omr .ex-omr__head{grid-column:1 / -1}}.ex-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.ethicity *,.ethicity *:before,.ethicity *:after{animation-duration:1ms!important;transition-duration:1ms!important}}@media print{.ex-no-print,.ex-soundtoggle{display:none!important}.ethicity{background:#fff}}.dg-hud{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1.5px solid var(--line-deep);border-radius:var(--r-s);box-shadow:0 3px 0 var(--line);padding:10px 14px;position:sticky;top:8px;z-index:20}.dg-tickets{display:flex;align-items:center;gap:2px}.dg-ticket{width:30px;height:38px;display:block;position:relative;border-radius:5px;border:1.5px dashed var(--line-deep);background:#ffffff59}.dg-ticket img{width:128%;height:128%;object-fit:contain;display:block;position:absolute;left:-14%;top:-14%;opacity:0;transition:opacity .15s ease}.dg-ticket.on{border-color:transparent;background:transparent;animation:dg-pop .2s ease}.dg-ticket.on img{opacity:1;filter:drop-shadow(0 1px 2px rgba(184,134,46,.4))}@keyframes dg-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.dg-timer{font-size:20px;font-weight:800;padding:2px 12px;border-radius:999px;background:var(--sage-bg);color:var(--green)}.dg-timer.hot{background:var(--red-bg);color:var(--red);animation:dg-beat .9s ease infinite}@keyframes dg-beat{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.dg-progress{height:6px;border-radius:999px;background:var(--sage-bg);overflow:hidden;margin-top:8px}.dg-progress>i{display:block;height:100%;background:var(--sage)}.dg-queue{display:grid;gap:8px;margin-top:12px;min-height:200px}.dg-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:2px solid var(--line-deep);border-radius:var(--r-s);background:var(--surface);box-shadow:0 3px 0 var(--line);padding:10px 14px;cursor:pointer;font-family:inherit;animation:dg-in .3s cubic-bezier(.2,1.3,.4,1);transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease}@keyframes dg-in{0%{opacity:0;transform:translate(-24px) scale(.96)}to{opacity:1;transform:none}}.dg-card:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.dg-card--hi{border-color:var(--green);box-shadow:0 3px 0 var(--line),0 0 0 3px #315b4929}.dg-card--hurry{border-color:var(--red);animation:dg-shake .5s ease infinite}@keyframes dg-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.dg-card--poor{opacity:.78;border-style:dashed}.dg-lack{font-family:var(--font-body);font-size:11.5px;font-weight:700;color:var(--red);background:var(--red-bg);border-radius:999px;padding:1px 8px}.dg-card--ok{border-color:var(--green);background:#eef6ec}.dg-card--no{animation:dg-nope .35s ease}@keyframes dg-nope{0%,to{transform:translate(0)}20%{transform:translate(-8px)}60%{transform:translate(8px)}}.dg-face{width:50px;height:50px;flex:0 0 auto;border-radius:50%;border:2.5px solid var(--sage);background:#fffdf7;overflow:hidden;display:block;position:relative;box-shadow:inset 0 -6px 12px #315b490f}.dg-face img{position:absolute;width:132%;left:-16%;top:-6%;display:block;pointer-events:none}.dg-body{display:grid;gap:3px;flex:1;min-width:0}.dg-name{font-family:var(--font-game);font-size:16px;display:flex;align-items:baseline;gap:8px}.dg-need{font-family:var(--font-body);font-size:12.5px;font-weight:700}.dg-say{font-size:13.5px;color:var(--sub)}.dg-bar{display:block;height:7px;border-radius:999px;background:#ecefe9;overflow:hidden}.dg-bar>i{display:block;height:100%;border-radius:999px;transition:width .12s linear}.dg-banner{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 6px 18px #315b491f;line-height:0}.dg-banner img{width:100%;display:block}.dg-banner-title{position:absolute;left:16px;bottom:12px;font-family:var(--font-game);font-size:clamp(20px,5vw,30px);color:#fff;line-height:1.1;text-shadow:0 2px 10px rgba(30,48,38,.75),0 1px 2px rgba(30,48,38,.9)}.dg-tally{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dg-tally figure{margin:0;padding:10px 8px 12px;border-radius:14px;background:linear-gradient(180deg,#f6faf3,#eef3ea);border:1px solid var(--line);text-align:center}.dg-tally figure.sad{background:linear-gradient(180deg,#fdf4f1,#f8ece7);border-color:#eddcd4}.dg-tally img{width:88px;height:88px;object-fit:contain;display:block;margin:0 auto}.dg-tally figure.sad img{filter:saturate(.75)}.dg-tally figcaption{margin-top:4px;font-size:13px;color:var(--sub);display:grid;gap:1px}.dg-tally b{font-family:var(--font-game);font-size:22px;color:var(--forest)}.dg-tally figure.sad b{color:var(--red)}
