:root{--c-sky: #9fd8f8;--c-sky-deep: #5cb6ee;--c-sky-soft: #e4f4ff;--color-main: var(--c-sky);--color-main-dark: #86cdf4;--on-accent: #1f3b57;--color-bg: #eef8ff;--color-card: #ffffff;--color-field: #f1f8ff;--color-text: #2d4660;--color-text-sub: #6f8aa3;--color-border: #cfe9fb;--color-error: #e0574a;--dot: rgba(92, 182, 238, .28);--font-ko: "Jua", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-ja: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--font-zh: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-size-base: 17px;--radius: 28px;--radius-field: 20px;--card-padding: 28px 24px;--page-max-width: 560px;--gap: 16px}@media (prefers-color-scheme: dark){:root{--c-sky-soft: #2a4157;--color-bg: #1c2733;--color-card: #25364a;--color-field: #2e4258;--color-text: #eef6ff;--color-text-sub: #a9c0d6;--color-border: #3b5670;--dot: rgba(159, 216, 248, .12);--color-error: #ff8a7a}}*{box-sizing:border-box}:lang(ko),:lang(en){font-family:var(--font-ko)}:lang(ja){font-family:var(--font-ja)}:lang(zh){font-family:var(--font-zh)}:lang(ko){word-break:keep-all}:lang(ja),:lang(zh){word-break:normal;line-break:strict;overflow-wrap:anywhere}.card,.notice{min-width:0;overflow-wrap:break-word}body{margin:0;min-height:100vh;color:var(--color-text);font-size:var(--font-size-base);line-height:1.6;background-color:var(--color-bg);background-image:radial-gradient(circle,var(--dot) 2px,transparent 2.5px);background-size:28px 28px}.page{position:relative;z-index:1;max-width:var(--page-max-width);margin:0 auto;padding:16px 14px 48px}.page-wide{max-width:980px}.card{background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius);box-shadow:0 6px 0 var(--c-sky-soft);padding:var(--card-padding);margin-bottom:calc(var(--gap) + 6px)}.center{text-align:center}h1{font-size:26px;font-weight:400;line-height:1.35;margin:0 0 12px}h2{font-size:20px;font-weight:400;line-height:1.45;margin:0 0 8px}.sub{color:var(--color-text-sub);margin:0 0 var(--gap);line-height:1.7}.sprinkle{color:var(--c-sky-deep);font-size:22px;line-height:1.2;margin-bottom:4px}.chip{display:inline-block;background:var(--c-sky-soft);color:var(--color-text);border:2px solid var(--c-sky);border-radius:999px;padding:0 16px;font-size:15px;margin-bottom:12px}.qbadge{display:inline-block;min-width:38px;text-align:center;border-radius:999px;padding:0 10px;margin-right:8px;font-size:16px;color:var(--on-accent);background:var(--c-sky)}.tag{display:inline-block;font-size:12px;background:var(--c-sky-soft);color:var(--color-text-sub);border-radius:999px;padding:1px 10px;margin-left:6px;vertical-align:middle}.tag-required{background:var(--c-sky-deep);color:#fff}.input{width:100%;padding:13px 18px;border:2px solid transparent;border-radius:var(--radius-field);background:var(--color-field);color:inherit;font:inherit}.input:focus{outline:none;border-color:var(--c-sky-deep)}.textarea{width:100%;min-height:220px;padding:16px 18px;border:2px solid transparent;border-radius:22px;background:var(--color-field);color:inherit;font:inherit;resize:vertical}.textarea:focus{outline:none;border-color:var(--c-sky-deep)}.acrostic-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.acrostic-char{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--on-accent);background:var(--c-sky)}.counter{text-align:right;font-size:13px;color:var(--color-text-sub);margin-top:6px}.error{color:var(--color-error);margin:12px 4px 0;font-size:15px}.btn{font:inherit;padding:11px 26px;min-height:46px;border-radius:999px;cursor:pointer;border:2px solid var(--color-main);background:var(--color-main);color:var(--on-accent);box-shadow:0 4px #4696d259}.btn:hover{background:var(--color-main-dark);border-color:var(--color-main-dark)}.btn:active{transform:translateY(2px);box-shadow:0 2px #4696d259}.btn:focus-visible,.lang-btn:focus-visible{outline:3px solid var(--c-sky-deep);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--c-sky);box-shadow:none}.btn-ghost:hover{background:var(--c-sky-soft);border-color:var(--c-sky)}.btn-ghost:active{box-shadow:none}.btn-small{padding:4px 16px;min-height:34px;font-size:15px}.btn-danger{background:transparent;color:var(--color-error);border-color:var(--color-error);box-shadow:none}.btn-danger:hover{background:#fdecea;border-color:var(--color-error)}.btn-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px}.btn-row .right{display:flex;gap:8px}.topbar{display:flex;justify-content:center;margin-bottom:14px}.lang-switch{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.lang-btn{font:inherit;font-size:15px;padding:5px 14px;border:2px solid var(--c-sky);background:var(--color-card);color:var(--color-text);border-radius:999px;cursor:pointer}.lang-btn[aria-pressed=true]{background:var(--c-sky);color:var(--on-accent)}.progress-label{font-size:15px;color:var(--color-text-sub);margin:0 6px 6px}.progress{height:14px;background:var(--c-sky-soft);border-radius:999px;overflow:hidden;margin-bottom:var(--gap)}.progress>div{height:100%;background:var(--c-sky-deep);border-radius:999px}.review-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin-bottom:10px;background:var(--color-field);border-radius:20px}.review-q{font-size:14px;color:var(--color-text-sub)}.review-a{white-space:pre-wrap;word-break:break-word}.review-empty{color:var(--color-text-sub)}.resp{background:var(--color-field);border-radius:20px;padding:14px 16px;margin-bottom:10px}.resp-head{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.resp-name{font-size:19px;word-break:break-all}.resp-meta{font-size:13px;color:var(--color-text-sub)}.resp-snippet{margin-top:6px;color:var(--color-text-sub);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resp-actions{display:flex;gap:6px;margin-top:10px}.detail{background:var(--color-card);padding:12px 14px;margin-top:8px;border-radius:16px;white-space:pre-wrap;word-break:break-word}.admin-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--gap)}.admin-bar .input{flex:1;min-width:160px;border-radius:999px}@media (max-width: 480px){:root{--card-padding: 22px 18px}}
