.perfect-workshop{--ink:#14334f;--muted:#526b80;--blue:#2059d8;--cream:#fffaf1;--line:#cedbe6;--good:#12613b;--bad:#a51e27}.perfect-workshop *{box-sizing:border-box}.perfect-workshop{scroll-behavior:smooth;background:radial-gradient(ellipse at 0 0,#f8e9b7,transparent 40rem),linear-gradient(140deg,#fffaf1,#edf6ff);color:var(--ink);font:18px/1.65 Georgia,"Times New Roman",serif}.perfect-workshop{margin:0}.perfect-workshop .top{display:flex;justify-content:space-between;gap:1rem;padding:1rem 4%;border-bottom:1px solid var(--line);font-size:.82rem}.perfect-workshop .top strong{color:var(--blue)}.perfect-workshop{max-width:1160px;margin:auto;padding:2.5rem 1.25rem}.perfect-workshop section{margin:0 0 2rem;padding:2.3rem;background:#ffffffde;border:1px solid var(--line);border-radius:26px;scroll-margin-top:1rem}.perfect-workshop .hero{padding:3.2rem;background:linear-gradient(135deg,#fffaf1 55%,#e7f0ff)}.perfect-workshop h1{font-size:clamp(2.7rem,6.8vw,5.4rem);line-height:1.02;letter-spacing:-.045em;margin:.7rem 0 1.4rem}.perfect-workshop h1 span{color:var(--blue)}.perfect-workshop h2{font-size:clamp(1.65rem,3.2vw,2.65rem);line-height:1.18;margin:.5rem 0 1.2rem;letter-spacing:-.025em}.perfect-workshop h3{font-size:1.2rem;line-height:1.3}.perfect-workshop p{margin:.8rem 0}.perfect-workshop .lead{max-width:850px;font-size:1.15rem}.perfect-workshop .eyebrow,.perfect-workshop small{font-size:.73rem;font-weight:bold;letter-spacing:.08em;color:var(--blue)}.perfect-workshop .eyebrow{text-transform:uppercase}.perfect-workshop .formula{display:flex;align-items:center;gap:1.2rem;padding:1.5rem;background:var(--ink);color:white;border-radius:18px;margin:1.6rem 0}.perfect-workshop .formula div{flex:1}.perfect-workshop .formula small{color:#f9d65c;display:block}.perfect-workshop .formula strong{font-size:clamp(1rem,2.5vw,1.6rem)}.perfect-workshop .quiet{color:var(--muted)}.perfect-workshop .routes{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}.perfect-workshop a{color:#164cb9;text-underline-offset:.18em}.perfect-workshop .routes a,.perfect-workshop button{border:1px solid var(--blue);border-radius:12px;padding:.7rem 1rem;background:white;font:inherit;font-weight:bold;color:var(--blue);cursor:pointer}.perfect-workshop .routes a{text-decoration:none}.perfect-workshop .note{padding:1.25rem 1.5rem;border-left:5px solid #d4a313;background:#fff4d4;margin:1.5rem 0 2rem;border-radius:0 14px 14px 0}.perfect-workshop .two,.perfect-workshop .three{display:grid;gap:1rem;margin:1.3rem 0}.perfect-workshop .two{grid-template-columns:repeat(2,minmax(0,1fr))}.perfect-workshop .three{grid-template-columns:repeat(3,minmax(0,1fr))}.perfect-workshop .card{padding:1.3rem;border:1px solid var(--line);border-radius:16px;background:#fff}.perfect-workshop .card h3{margin-top:0}.perfect-workshop .accent{background:#edf3ff;border-color:#9ab8f2}.perfect-workshop .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:1.2rem 0}.perfect-workshop table{width:100%;border-collapse:collapse;min-width:440px}.perfect-workshop caption{text-align:left;padding:.8rem 1rem;font-size:.85rem;color:var(--muted)}.perfect-workshop th,.perfect-workshop td{padding:.8rem 1rem;text-align:left;border-top:1px solid var(--line);vertical-align:top}.perfect-workshop th{background:#edf3ff}.perfect-workshop mark{background:#ffe8a0;color:var(--ink);padding:0 .2rem}.perfect-workshop .source{font-size:.8rem;color:var(--muted)}.perfect-workshop details{padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;margin:1rem 0;background:#fff}.perfect-workshop summary{cursor:pointer;font-weight:bold;line-height:1.4}.perfect-workshop summary:focus-visible,.perfect-workshop a:focus-visible,.perfect-workshop button:focus-visible,.perfect-workshop input:focus-visible{outline:3px solid #c57500;outline-offset:4px}.perfect-workshop .steps li{margin:.8rem 0;padding-left:.4rem}.perfect-workshop .comic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.perfect-workshop .comic figure{margin:0;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--cream)}.perfect-workshop figcaption{padding:1rem}.perfect-workshop figcaption h3{margin:.5rem 0}.perfect-workshop .scene{position:relative;display:block;height:145px;overflow:hidden;background:linear-gradient(#dfedff 76%,#d2c3a6 76%)}.perfect-workshop .person{position:absolute;left:25%;bottom:0;width:60px;height:75px;background:#2960bc;border-radius:25px 25px 0 0}.perfect-workshop .person:before{content:"";position:absolute;top:-39px;left:9px;width:42px;height:42px;border-radius:50%;background:#ac694b}.perfect-workshop .book{position:absolute;left:58%;bottom:25px;display:grid;place-content:center;width:47px;height:60px;border:3px solid #14334f;background:#fff9de;font-size:14px;line-height:1.1;transform:rotate(9deg)}.perfect-workshop .reading .book{left:42%;bottom:24px;transform:rotate(-9deg)}.perfect-workshop .speech{position:absolute;right:7%;top:10px;background:white;border:1px solid var(--ink);padding:.5rem;border-radius:14px;font-size:.7rem;max-width:54%}.perfect-workshop .now{background:linear-gradient(#e4f4dc 76%,#d2c3a6 76%)}.perfect-workshop .timeline{display:flex;align-items:center;gap:1rem;padding:1rem 0;font-size:.9rem}.perfect-workshop .timeline i{height:4px;flex:1;background:var(--blue);min-width:20px}.perfect-workshop .exercise{border:1px solid var(--line);border-radius:16px;padding:1.3rem;margin:1.1rem 0;background:white}.perfect-workshop .exercise legend{font-weight:bold;padding:0 .4rem}.perfect-workshop .exercise .english{font-size:1.2rem}.perfect-workshop .options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0}.perfect-workshop .options label{display:flex;align-items:center;gap:.6rem;border:1px solid #acbfd3;padding:.7rem;border-radius:10px;cursor:pointer;overflow-wrap:anywhere}.perfect-workshop .options label:has(input:checked){background:#e5eeff;border:2px solid var(--blue);padding:calc(.7rem - 1px)}.perfect-workshop input[type=radio]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}.perfect-workshop .feedback{padding:.9rem;border-radius:12px;margin-top:1rem}.perfect-workshop .feedback:empty{display:none}.perfect-workshop .correct{color:var(--good);background:#e1f6e9;border:1px solid #72ba91}.perfect-workshop .incorrect{color:var(--bad);background:#fff0f0;border:1px solid #d98f95}.perfect-workshop .neutral{background:#edf3ff;border:1px solid #adbee0}.perfect-workshop .endnote{padding:1rem 1.3rem;background:#edf3ff;border-radius:14px}.perfect-workshop footer{padding:1.5rem;font-size:.85rem;color:var(--muted)}.perfect-workshop .skip{position:absolute;left:1rem;top:-100px;padding:.7rem;background:white}.perfect-workshop .skip:focus{top:0}@media(max-width:680px){.perfect-workshop{font-size:17px}.perfect-workshop .top{display:block;padding:.8rem 1rem}.perfect-workshop .top strong{display:block}.perfect-workshop{padding:1rem .65rem}.perfect-workshop section,.perfect-workshop .hero{padding:1.35rem 1rem;border-radius:18px}.perfect-workshop .formula{flex-direction:column;align-items:stretch;gap:.5rem}.perfect-workshop .formula>b{display:none}.perfect-workshop .two,.perfect-workshop .three,.perfect-workshop .comic{grid-template-columns:1fr}.perfect-workshop .scene{height:125px}.perfect-workshop .timeline{flex-wrap:wrap}.perfect-workshop .timeline i{min-width:35px}.perfect-workshop .options{grid-template-columns:1fr}.perfect-workshop th,.perfect-workshop td{padding:.65rem}.perfect-workshop .note{padding:1rem}.perfect-workshop .routes a{width:100%}.perfect-workshop h1{font-size:2.85rem}}@media(prefers-reduced-motion:reduce){.perfect-workshop{scroll-behavior:auto}}@media print{.perfect-workshop{background:white;font-size:11pt}.perfect-workshop .top,.perfect-workshop .routes,.perfect-workshop .skip,.perfect-workshop button{display:none}.perfect-workshop{padding:0}.perfect-workshop section{break-inside:avoid;border:none;padding:.5rem 0}.perfect-workshop details{display:block}.perfect-workshop .comic{grid-template-columns:repeat(3,1fr)}.perfect-workshop a{color:inherit}}.perfect-workshop .locale-routes{padding:1rem;max-width:1160px;margin-inline:auto}.perfect-workshop .locale-routes a{width:auto;padding:.4rem .6rem;font-size:.85rem}.perfect-workshop .locale-routes{gap:.4rem}

.perfect-workshop .game-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1rem}.perfect-workshop .game-controls label{display:grid;gap:.4rem;flex:1 1 12rem}.perfect-workshop .game-controls select,.perfect-workshop .game-answer{font:inherit;padding:.7rem;border:1px solid #9baebf;border-radius:.65rem;max-width:100%;background:white;color:#15344e}.perfect-workshop .game-answer{width:100%;box-sizing:border-box}.perfect-workshop .token-tray,.perfect-workshop .token-answer{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;border:1px dashed #9baebf;border-radius:1rem;min-height:3.5rem;margin-block:.8rem}.perfect-workshop .token-answer{background:#eef4ff;border-style:solid}.perfect-workshop .token-tray button,.perfect-workshop .token-answer button{margin:0;padding:.65rem .8rem;min-height:44px;background:white;color:#15344e;border:1px solid #879bb0}.perfect-workshop .game-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.perfect-workshop .game-actions button{min-height:44px}.perfect-workshop .game-prompt{font-size:1.35rem}.perfect-workshop .game-feedback{overflow-wrap:anywhere}.perfect-workshop .game-progress{font-weight:bold}.perfect-workshop .game-hint{border-left:3px solid #2661d3;padding-left:1rem}.perfect-workshop #translation-games button:focus-visible,.perfect-workshop #translation-games select:focus-visible,.perfect-workshop #translation-games input:focus-visible{outline:3px solid #ae6600;outline-offset:3px}.perfect-workshop .game-controls label{min-width:0}.perfect-workshop .game-controls select{width:100%;min-width:0;box-sizing:border-box}.perfect-workshop #translation-games{min-width:0}.perfect-workshop #translation-games button{max-width:100%;overflow-wrap:anywhere}.perfect-workshop .game-decisions{min-width:0;border:1px solid #9baebf;border-radius:1rem;padding:1rem}.perfect-workshop .game-decisions label{display:flex;align-items:center;gap:.75rem;padding:.7rem;margin-block:.5rem;border:1px solid #9baebf;border-radius:.6rem;min-height:44px;box-sizing:border-box}.perfect-workshop .game-decisions input{width:1.25rem;height:1.25rem;flex-shrink:0}.perfect-workshop .game-controls select:disabled{opacity:.65}.perfect-workshop .feedback.unverified{background:#fff5d6;color:#684900;border-color:#c39824}.perfect-workshop .feedback .model-answer{color:#08643b;border-left:3px solid #08643b;padding-left:.8rem}.perfect-workshop .round-counts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem}.perfect-workshop .round-counts dd{margin:0;font-weight:bold}

.perfect-workshop #locale-picker label{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.perfect-workshop select,.perfect-workshop input{font:inherit;max-width:100%}.perfect-workshop .localized-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1rem}.perfect-workshop .localized-controls label{display:grid;gap:.5rem;flex:1 1 12rem;min-width:0}.perfect-workshop .localized-controls select,.perfect-workshop #locale-picker select{width:100%;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.perfect-workshop .localized-controls select:disabled{opacity:.6}.perfect-workshop .localized-game{min-width:0}.perfect-workshop .localized-game fieldset{min-width:0}.perfect-workshop .localized-game .game-actions button{margin:0;max-width:100%;overflow-wrap:anywhere;min-height:44px}.perfect-workshop .localized-game .token-answer button,.perfect-workshop .localized-game .token-tray button{font-family:inherit;min-height:44px}.perfect-workshop .form-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.perfect-workshop .form-list div{padding:1rem;background:#edf3ff;border-radius:14px;overflow-wrap:anywhere}.perfect-workshop .form-list strong{display:block;font-size:1.4rem}.perfect-workshop .localized-example{border-left:3px solid var(--blue);padding-left:1rem;margin-block:1.2rem}.perfect-workshop .localized-example [lang=en]{font-size:1.15rem}.perfect-workshop .localized-errors{display:grid;gap:1rem}.perfect-workshop .localized-error{border:1px solid #e8b7b7;border-radius:12px;padding:1rem}.perfect-workshop .localized-error del{display:block;color:var(--bad)}.perfect-workshop .localized-error strong{display:block;color:var(--good)}.perfect-workshop .localized-game button:focus-visible,.perfect-workshop select:focus-visible{outline:3px solid #b97808;outline-offset:3px}.perfect-workshop:lang(zh),.perfect-workshop:lang(ja){line-height:1.85}.perfect-workshop:lang(hi){line-height:1.9}.perfect-workshop .localized-feedback{overflow-wrap:anywhere}.perfect-workshop #international-content{overflow-wrap:anywhere}.perfect-workshop #locale-picker{max-width:100%}@media(max-width:680px){.perfect-workshop .form-list{grid-template-columns:1fr}.perfect-workshop .top #locale-picker{margin-top:.75rem}.perfect-workshop .localized-game .game-prompt{font-size:1.2rem}}.perfect-workshop .localized-controls [hidden]{display:none!important}.perfect-workshop .unverified{color:#6b4800;background:#fff5d8;border:1px solid #b99137}.perfect-workshop .round-counts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem}.perfect-workshop .round-counts dt,.perfect-workshop .round-counts dd{margin:0}.perfect-workshop .round-counts dd{font-weight:bold}.perfect-workshop .localized-game [data-review-id]{overflow-wrap:anywhere}.perfect-workshop #intl-extensions code{display:block;white-space:normal;overflow-wrap:anywhere}.perfect-workshop .model-answer{color:var(--good);font-weight:bold}.perfect-workshop .feedback .localized-example{border-left-color:var(--good);color:var(--ink)}.perfect-workshop .feedback .localized-example [lang=en]{color:var(--good)}

.perfect-workshop{max-width:1160px;margin:0 auto;padding:2.5rem 1.25rem;font-size:1.125rem;line-height:1.65;color:var(--color-ink);background:transparent}.perfect-workshop[hidden]{display:none!important}.perfect-workshop .hero{display:block;grid-template-columns:none}.perfect-workshop section{scroll-margin-top:7rem}.perfect-workshop .hero h1{font-size:clamp(2.45rem,5.8vw,5.2rem);max-width:20ch;line-height:1.04}.perfect-workshop button{min-height:44px}.perfect-workshop .table-wrap{max-width:100%}.perfect-workshop .table-wrap table{min-width:440px}#perfect-skip{position:absolute;top:-10rem;left:1rem;z-index:1000}#perfect-skip:focus{top:1rem;background:white;padding:1rem}@media(max-width:680px){.perfect-workshop{padding:1rem .65rem;font-size:1rem}.perfect-workshop .hero h1{font-size:2.45rem}.perfect-workshop .hero{padding:1.35rem 1rem}}

.perfect-workshop{scroll-behavior:auto}.perfect-workshop button,.perfect-workshop input,.perfect-workshop select{scroll-margin-block:6rem}
