/* Student island: rounded, readable type and anchored game controls. */
.v4-world,.v4-dialog,.v4-decor-editor,.v2-board{font-family:Maplestory,sans-serif;font-weight:700;color:#244f50}
.v4-world button,.v4-dialog button,.v4-decor-editor button,.v2-board button{font-family:Maplestory,sans-serif;font-weight:700;border-width:2px}
.v4-world{font-size:16px}.v4-brand{top:18px;left:25px}.v4-brand h1{margin:0}.v4-brand img{display:block;width:218px;height:auto;filter:drop-shadow(0 4px 5px #3d727523)}
.v4-tools button{font-size:16px;padding:12px 17px;border-color:#fffaf0;background:#fffcef;box-shadow:0 4px 0 #42766633}
.v4-bottom{display:flex;align-items:center;justify-content:center;gap:7px;bottom:max(20px,env(safe-area-inset-bottom));right:22px;padding:8px;background:#fffaf0bc;border:2px solid #fff9ea;border-radius:22px;box-shadow:0 7px 20px #376b6530}
.v4-bottom button{position:static!important;display:grid;place-items:center;width:46px;height:46px;min-width:46px;padding:10px;box-sizing:border-box;background:#fffcf2;border:2px solid #d9dfc7;border-radius:14px;color:#32635e;box-shadow:0 3px 0 #758d6d30;transition:transform .15s}
.v4-bottom button:active{transform:translateY(2px)}.v4-bottom svg{width:24px;height:24px;display:block}.v4-bottom .v4-sound{background:#e1f5ed;border-color:#acd6c4}
.v4-quest{top:123px;width:278px;padding:19px 21px;border:2px solid #fffaf0;background:#fffbecf7;box-shadow:0 8px 24px #4b78632b;transition:box-shadow .3s}
.v4-quest.is-inviting{animation:v4-quest-glow 3.4s ease-in-out infinite}.v4-quest.is-complete{border-color:#c9eed7;background:#f3fff2}
.v4-quest .v4-quest-title{font-size:14px;color:#876124;letter-spacing:0}.v4-quest h2{font-size:21px;line-height:1.5;color:#284f4b}.v4-quest p{font-size:14px;color:#486558}.v4-quest button{font-size:15px}
.v4-progress span{font-size:12px;color:#637361}.v4-progress .current{background:#c4e8d9;color:#285e55}.v4-quest.is-complete .v4-progress span{background:#d8efce;color:#376236}
.v4-quest>.v4-primary{display:block;margin:16px auto 2px;min-width:170px}.v4-quest .v4-actions{justify-content:center}.v4-quest .v4-text{font-size:13px}
.v4-world .v4-primary,.v4-dialog .v4-primary{background:#268775;border-color:#14715f;box-shadow:0 3px 0 #155d4d40;color:#fffdf0}.v4-world .v4-primary:hover,.v4-dialog .v4-primary:hover{background:#1d7665}
.v4-map{background:#fffcef;border:2px solid #fff}.v4-world .v4-map>div>button:first-child{font-size:14px}.v4-world .v4-map .v4-direct{font-size:12px;color:#356452}
.v4-beacon-label{left:0;top:0;will-change:transform;filter:drop-shadow(0 3px 6px #3a615d24)}.v4-beacon-label>span{animation:none;font-size:22px}.v4-beacon-label strong{font-size:15px;padding:7px 12px;color:#4c542f;border:2px solid #fff}.v4-beacon-label small{font-size:12px;color:#fff;background:#326459ed}.v4-beacon-label:has(+.v4-bottom){max-width:250px}
.v4-world .v4-interact{position:absolute;left:0;top:0;bottom:auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:0;border:0;background:none;box-shadow:none;white-space:nowrap;z-index:4;will-change:transform;transition:none}
.v4-world .v4-interact:hover{background:none}.v4-interact img{width:61px;height:64px;filter:drop-shadow(0 4px 5px #56472528)}.v4-interact strong{display:block;font-size:15px;line-height:1.4;color:#31564c;padding:5px 12px;background:#fffbea;border:2px solid white;border-radius:12px;box-shadow:0 3px 0 #769b6930}.v4-interact small{font-size:11px;background:#315b4dee;color:white;padding:3px 9px;border-radius:8px}.v4-interact:focus-visible{outline-offset:5px}
.v4-notice{font-size:14px;color:#31564c}.v4-world:has(.v4-shade) .v4-quest{animation-play-state:paused}
.v4-dialog{font-size:16px;line-height:1.8;background:#fffdf2}.v4-dialog.v4-activity-dialog{background:#eff8f1;color:#244f50}.v4-activity-dialog>header{background:#fffdf3;border-bottom:2px solid #d2e6d5}.v4-activity-dialog>header h2,.v4-dialog>header h2{font-size:24px;color:#205b59}.v4-dialog>header button{font-size:14px;background:#eef6e8;border:2px solid #c5d9c2}
.v4-activity-dialog .v4-place-caption{font-size:14px;color:#406557}.v4-activity-dialog .v4-section-head h3{font-size:28px;letter-spacing:0;color:#245a52}.v4-dialog .v4-section-head p,.v4-dialog .v4-activity-hero p{color:#44645a;font-size:16px}.v4-dialog .v4-section-head small,.v4-dialog .v4-label{font-size:15px;color:#47704f}
.v4-dialog textarea,.v4-dialog input,.v4-dialog select{font:700 17px/1.8 Maplestory,sans-serif;color:#294c50;border-width:2px;background:#fffef9}.v4-dialog textarea{padding:18px;min-height:160px;border-color:#a7cdbb}.v4-dialog textarea::placeholder{color:#6a8273;opacity:1}
.v4-dialog .v4-write-submit{position:sticky;bottom:-30px;z-index:2;background:#eff8f1f5;border-top:2px solid #c7decb;margin:16px -4px 0;padding:12px 4px;box-shadow:0 -8px 15px #eff8f1}.v4-dialog textarea#v4-diary{height:166px}.v4-dialog textarea#v4-thought{min-height:100px}.v4-dialog .v4-study-details[open]>summary{margin-bottom:18px;background:#e0eed6;border-radius:12px;padding:10px 15px;color:#3d6948}
.v4-dialog button{font-size:15px}.v4-dialog .v4-text{font-size:14px;color:#365f58}.v4-dialog .v4-muted{font-size:13px;color:#506c5b}.v4-restored-card{border:2px solid #cfdfca;background:#fffff8;box-shadow:0 4px 0 #4e7b5310}.v4-restored-card h3{font-size:25px}.v4-restored-card h4{font-size:21px}.v4-restored-card p,.v4-talk-detection p{font-size:16px;color:#426459}
.v4-activity-dialog .v4-fine{font-size:14px;color:#4a665a}.v4-restored-grid .v4-restored-card span{font-weight:700!important;font-size:15px}.v4-dialog .v4-chart-help{padding:8px 12px;background:#e7f2e2;border-radius:10px;color:#426748;font-size:14px}
.v4-restored-analysis .v4-segment button{font-size:14px;min-height:44px}.v4-date-range label,.v4-write-date,.v4-write-date button,.v4-custom-emotion label{font-size:15px}.v4-dialog .v4-chips button{font-size:15px;min-height:44px}.v4-word-grid p{font-size:16px;color:#466357}.v4-word-grid small{font-size:14px;color:#536c5d}.v4-word-grid h4{font-size:24px}
.v2-board h2{font-size:27px!important}.v2-board-body{font-size:16px;line-height:1.8}.v2-board-body textarea{font-family:Maplestory,sans-serif!important;font-size:17px!important;line-height:1.8;font-weight:700;color:#28545a}.v2-board-body button{min-height:44px!important;font-size:15px!important}.v2-board-body [data-tut=plz-mine]{border:2px solid #c7e2d7!important;padding:16px!important}.v2-board-body [data-tut=plz-q]{font:700 25px/1.6 Maplestory,sans-serif!important}.v2-board footer{font-size:13px;color:#466557}
.v4-completion{text-align:center;padding:6px 15px 20px;position:relative}.v4-completion-stars{color:#edb334;font-size:39px;letter-spacing:10px;animation:v4-complete-stars .9s ease-out both}.v4-completion-medal{display:grid;place-items:center;width:108px;height:108px;margin:14px auto 23px;background:linear-gradient(#ffe99a,#f9c557);color:#976616;border:7px solid #fff3c1;border-radius:50%;font:bold 65px/1 sans-serif;box-shadow:0 7px 0 #d9ab52,0 0 38px #f9dc9690;animation:v4-complete-pop .65s cubic-bezier(.2,.7,.3,1.3) both}.v4-completion h3{font-size:25px;line-height:1.5;margin:14px 0}.v4-completion p{font-size:16px;color:#4e6a5b}.v4-completion-steps{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:24px 0}.v4-completion-steps span{padding:8px 12px;background:#e2f3dc;color:#4a7354;border-radius:12px;font-size:14px}.v4-completion>button{display:block;margin:13px auto}.v4-completion .v4-primary{min-width:220px}
@keyframes v4-quest-glow{0%,100%{box-shadow:0 7px 23px #4b786328,0 0 0 3px #fff2ad70,0 0 20px #ffe8a02e}50%{box-shadow:0 7px 23px #4b786328,0 0 0 5px #ffeeb9ab,0 0 33px #ffe39a7a}}
@keyframes v4-complete-pop{from{opacity:0;transform:scale(.65) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes v4-complete-stars{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:700px){.v4-brand{top:12px;left:14px}.v4-brand img{width:157px}.v4-tools{top:15px;right:12px;gap:5px}.v4-tools button{font-size:13px;padding:8px 10px;min-height:43px}.v4-quest{top:94px;left:16px;width:250px}.v4-quest.is-collapsed{padding:7px 13px}.v4-quest .v4-quest-title{font-size:13px}.v4-bottom{right:10px;bottom:14px;gap:5px;padding:6px;border-radius:19px}.v4-bottom button{width:41px;height:43px;min-width:41px;padding:9px}.v4-bottom svg{width:22px;height:22px}.v4-interact img{width:52px;height:55px}.v4-interact strong{font-size:13px}.v4-beacon-label strong{font-size:13px}.v4-beacon-label small{font-size:11px}.v4-activity-dialog>header h2,.v4-dialog>header h2{font-size:21px}.v4-dialog>header button{font-size:13px}.v4-activity-dialog .v4-section-head h3{font-size:24px}.v4-activity-dialog .v4-place-caption{font-size:13px}.v4-restored-card p{font-size:15px}.v4-restored-card h3{font-size:23px}.v4-restored-card h4{font-size:20px}.v4-dialog textarea,.v4-dialog input,.v4-dialog select{font-size:16px}.v4-completion{padding:0 0 10px}.v4-completion h3{font-size:22px}}
@media(max-width:440px){.v4-brand img{width:140px}.v4-tools{gap:4px}.v4-tools button{font-size:12px;padding:8px}.v4-quest{top:89px}}
@media(max-width:380px){.v4-brand img{width:118px}.v4-tools button{font-size:11px;padding:7px}.v4-bottom{gap:3px;padding:5px;right:8px}.v4-bottom button{min-width:39px;width:39px}}
@media(max-width:700px){.v4-dialog .v4-write-submit{bottom:-24px;gap:6px}.v4-dialog .v4-write-submit button{font-size:13px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.v4-quest,.v4-completion *{animation:none!important;transition:none!important}}
