@font-face{
    font-family: 'Determination Mono'; font-style:normal; font-weight:400; font-display:block;
    src:url(data:font/woff2;base64,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)
    format('woff2')
}
@font-face {
    font-family: 'Determination Sans'; font-style:normal; font-weight:400; font-display:block;
    src:url(data:font/woff2;base64,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)
    format('woff2')
}
@font-face {
    font-family: 'Skeleton Sans'; font-style:normal; font-weight:400; font-display:block; size-adjust:79%;
    src:url(data:font/woff2;base64,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)
    format('woff2')
}
:root{
    --font-normal:'Determination Mono','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Courier New',monospace;
    --font-ui:'Determination Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Courier New',monospace;

    --det:#ff0000; --brv:#fca600; --jus:#ffff00; --knd:#00c000;
    --pat:#42fcff; --int:#003cff; --per:#d535d9;

    --dim-text:#9a9a9a;
    --outline-gaster-color:#7a7a7a; --outline-gaster-lit:#dcdcdc;

    --intro-soul-size:144px; --main-screen-soul-size:120px;

    --gaster-outline:3px; --gaster-neg-outline:-3px;
    --gaster-letter-spacing:0.33em;
    --gaster-font-size:min(66px, 5.8vh)
}

*{
    box-sizing:border-box; margin:0; padding:0;
    font-variant-ligatures: none;
    -webkit-font-feature-settings:"liga" 0,"clig" 0,"calt" 0,"dlig" 0;
    font-feature-settings:"liga" 0,"clig" 0,"calt" 0,"dlig" 0
}

html{height:100%; overscroll-behavior-y:none}
html.language-redirecting body{visibility:hidden}
body{
    background:#000000; color:#ffffff;
    font-family:var(--font-normal);
    font-size:30px; line-height:1.55;
    line-break:strict; overflow-wrap:anywhere;
    -webkit-font-smoothing:none;
    display:block; min-height:100%; padding:36px 30px 126px; overflow-x:hidden;
    overscroll-behavior-y:none
}

button, summary, input{font-family:inherit}

svg{image-rendering:pixelated}

#app{
    width:100%;
    max-width:1260px;
    margin:0 auto;
    position:relative;
    z-index:1
}

#background{
    position:fixed; inset:0; z-index:0;
    width:100%; height:100%; object-fit:cover;
    opacity:0%;
    transition:opacity 1.8s ease-in;
    pointer-events:none;
    background:#000000
}
#background.on{opacity:1}

#main-screen.on,#quiz-screen.on{
    min-height:calc(100vh - 126px);
    min-height:calc(100svh - 126px);
    display:flex; flex-direction:column; justify-content:center
}

.ui{font-family:var(--font-ui); letter-spacing:3px}
.dialogue-asterisk{margin-right:0.55em; color:#ffffff}

.screen{display:none;}
.screen.on{display:block;}

.box{
    border:8px solid #ffffff;
    background:#000000;
    padding:36px 33px;
    position:relative
}
.box.tinted{border-color:var(--accent,#ffffff)}

.soul{color:var(--det)}

.soul-beams{
    position:fixed;
    z-index:39;
    display:none;

    background:var(--det);
    border-style:solid; border-width:0; border-color:#9e0000
}
.soul-beams.on{display:block}

@keyframes soul-hovering{
  0%,100%{transform:translateY(5px)}
  8.3333%{transform:translateY(4px)}
  13.3333%{transform:translateY(3px)}
  18.3333%{transform:translateY(2px)}
  21.6667%{transform:translateY(1px)}
  25%{transform:translateY(0px)}
  26.6667%{transform:translateY(-1px)}
  30%{transform:translateY(-2px)}
  35%{transform:translateY(-3px)}
  38.3333%{transform:translateY(-4px)}
  43.3333%{transform:translateY(-5px)}
  58.3333%{transform:translateY(-4px)}
  63.3333%{transform:translateY(-3px)}
  68.3333%{transform:translateY(-2px)}
  71.6667%{transform:translateY(-1px)}
  75%{transform:translateY(0px)}
  76.6667%{transform:translateY(1px)}
  80%{transform:translateY(2px)}
  83.3333%{transform:translateY(3px)}
  88.3333%{transform:translateY(4px)}
  93.3333%{transform:translateY(5px)}
}
.hovering{animation:soul-hovering 2s steps(1,end) infinite;}

#floating-soul{
    position:fixed; left:50%; top:50%;

    width:var(--intro-soul-size);
    height:var(--intro-soul-size);

    margin-left:calc(var(--intro-soul-size) / -2);
    margin-top:calc(var(--intro-soul-size) / -2);

    z-index:40; opacity:0;
    pointer-events:none;
}
#floating-soul.visible{opacity:1}

#intro-screen.on{
    position:fixed; inset:0; z-index:41;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:auto;
}

#goner-intro-text,
#quiz-screen.gaster #questions-text{
    text-shadow:
        var(--gaster-neg-outline) 0 0 var(--outline-gaster-color),
        var(--gaster-outline) 0 0 var(--outline-gaster-color),
        0 var(--gaster-neg-outline) 0 var(--outline-gaster-lit),
        0 var(--gaster-outline) 0 var(--outline-gaster-lit)
}

@keyframes gaster-ahh-breathing-animation{
    0%,100%{ text-shadow:
        var(--gaster-neg-outline) 0 0 var(--outline-gaster-color),
        var(--gaster-outline) 0 0 var(--outline-gaster-color),
        0 var(--gaster-neg-outline) 0 var(--outline-gaster-color),
        0 var(--gaster-outline) 0 var(--outline-gaster-color)
    }
    50%{ text-shadow:
        var(--gaster-neg-outline) 0 0 var(--outline-gaster-lit),
        var(--gaster-outline) 0 0 var(--outline-gaster-lit),
        0 var(--gaster-neg-outline) 0 var(--outline-gaster-lit),
        0 var(--gaster-outline) 0 var(--outline-gaster-lit)
    }
}

#goner-intro-text{
    position:absolute; left:50%; top:20%; transform:translate(-50%);

    width:max-content; max-width:min(1380px, calc(100vw - 60px)); text-align:left;
    font-size:var(--gaster-font-size); line-height:1.5; min-height:3.2em; color:#ffffff;
    text-transform:uppercase;
    letter-spacing:var(--gaster-letter-spacing);
    white-space:pre-wrap;

    animation:gaster-ahh-breathing-animation 3.4s ease-in-out infinite;
    transition:opacity .24s steps(4);
}
#goner-intro-text.out{opacity:0}

#goner-footer{
    position:absolute; left:0; right:0; bottom:54px;

    display:flex;
    justify-content:center;
    gap:21px;
    align-items:center;
}
#intro-screen.fading #goner-intro-text,
#intro-screen.fading #goner-footer{opacity:0; transition:opacity .25s steps(4)}
.tiny{color:#5e5e5e; font-size:23px}

#main-screen{text-align:center}

#main-screen-soul{
    width:var(--main-screen-soul-size);
    height:var(--main-screen-soul-size);

    margin:6px auto 30px;
    opacity:0
}
#main-screen-soul.landed{opacity:1}

#main-screen-box{transition:border-color .3s steps(4)}
#main-screen.staged #main-screen-box{border-color:transparent}
#main-screen.staged h1,
#main-screen.staged .subtitle{opacity:0}
h1,.subtitle{transform:opacity .3s steps(4)}
#title-reveal{opacity:0; transition:opacity .45s steps(6)}
#title-reveal.shown{opacity:1}

h1{font-family:var(--font-ui); font-size:84px; letter-spacing:18px; margin-bottom:15px; font-weight:400}
.subtitle{color:var(--dim-text); font-size:24px; letter-spacing:6px; margin-bottom:12px}

.blurb{max-width:930px; margin:33px auto; text-align:left; color:#e4e4e4}
.blurb p{margin-bottom:18px}

details.method{margin-top:27px; color:#8a8a8a; font-size:26px; text-align:left; max-width:930px; margin-inline:auto}
details.method summary{cursor:pointer; color:#bbbbbb; text-align:center}
details.method p{margin-top:15px}

.type-line{position:relative}
.type-line .ghost{visibility:hidden}
.typewriter-off{visibility:hidden}
.type-line .typed{position:absolute; left:0; top:0; right:0}

#hud{display:flex; align-items:center; gap:21px; margin-bottom:21px}
#hud .label{
    font-family:var(--font-ui); font-size:26px; letter-spacing:3px;
    white-space:nowrap;
    text-shadow:0 3px 5px #000000
}
#completion-bar-track{flex:1; height:30px; border:5px solid #ffffff; padding:5px}
#completion-bar-fill{display:block; height:100%; width:0%; background:var(--det); transition:width .14s steps(4)}

#dialogue-box{margin-bottom:24px}
#questions-text{min-height:3.1em; font-size:39px}
#quiz-screen.altfont #questions-type{font-family:'Skeleton Sans','Determination Mono',monospace}

#answers-box{padding:33px 33px 33px 30px}
#options{position:relative}
.opt{
    display:block; width:100%; text-align:left;    
    background:none; border:none; color:#c9c9c9;
    font-family:var(--font-normal); font-size:36px; line-height:1.45;
    padding:14px 6px 14px 78px;
    cursor:pointer
}
.opt + .opt{margin-top:21px}
.opt.sel{color:#ffffff}
.opt:focus-visible{outline:none}

#soul-selector{
    position:absolute; left:18px; top:0; width:36px; height:36px;
    opacity:0;
    pointer-events:none;
    z-index:2
}
#soul-selector.on{opacity:1}
#soul-selector.leaving{opacity:0; transition:opacity .26s steps(4)}

#options.scale{padding:6px 9px 0}
.scale-extremes{
    color:#9a9a9a; font-size:24px; letter-spacing:3px; margin-bottom:24px;

    display:flex;
    justify-content:space-between;
    align-items:baseline;
}
.scale-row{display:flex; align-items:center}
.pt{
    flex:1 1 0;
    background:none; border:none; cursor:pointer;
    height:69px;
    display:flex;
    align-items:center;
    justify-content:center
}
.pt .dot{
    display:block; width:21px; height:21px;
    background:#000000;
    border:5px solid #5e5e5e
}
.pt:hover .dot{border-color:#c9c9c9}
.pt.sel .dot{opacity:0}
.pt:focus-visible{outline:none}
.scale-labels{
    text-align:center; margin-top:18px;
    min-height:1.6em;

    color:#ffffff; font-size:30px; letter-spacing:3px
}

#quiz-screen.gaster #dialogue-box,
#quiz-screen.gaster #answers-box{border-color:transparent; background:transparent}
#quiz-screen.gaster #hud{visibility:hidden}
#quiz-screen.gaster #question-asterisk{display:none}

#quiz-screen.gaster #questions-text{text-transform:uppercase; letter-spacing:var(--gaster-letter-spacing)}
#quiz-screen.gaster .opt{text-transform:uppercase; letter-spacing:normal}
#quiz-screen.gaster #dialogue-box,
#quiz-screen.gaster #answers-box{padding:0}
#quiz-screen.gaster #questions-text{
    position:fixed; left:50%; transform:translateX(-50%);
    top:calc(20% - 1.5em);

    width:max-content; max-width:min(1380px, calc(100vw - 60px));
    text-align:left;
    white-space:pre-wrap;
    font-size:var(--gaster-font-size);
    line-height:1.5;
    z-index:2;
    animation:gaster-ahh-breathing-animation 3.4s ease-in-out infinite
}

#quiz-screen.gaster #options{
    position:fixed; left:50%; top:50%;
    transform:translate(-50%, -50%);
    width:max-content;
    text-align:left;
    z-index:2;

    opacity:1; transition:opacity .26s steps(4)
}
#quiz-screen.gaster #options.entering,
#quiz-screen.gaster #options.leaving{opacity:0}
#quiz-screen.gaster .opt{
    display:block; width:100%; margin:0;
    padding:15px 9px 15px 84px;
    color:#c9c9c9;
    font-size:var(--gaster-font-size)
}
#quiz-screen.gaster .opt.sel{color:#ffffff}
#quiz-screen.gaster #soul-selector{width:52px; height:52px}
#quiz-screen.gaster #question-footer{
    position:fixed; left:0; right:0; bottom:72px; margin:0;
    justify-content:center;
    z-index:2
}

#question-footer{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:27px;
    gap:15px;
    flex-wrap:wrap
}
#controls-hint{order:1}
#back-button{order:2}
#next-button{order:3; display:none}

#results-header{text-align:center; padding:12px 0 6px}
#results-soul{width:192px; height:192px; margin:9px auto 27px}
#monster-soul{
    width:192px; height:192px; margin:21px auto 33px;
    color:#ffffff;
    transform:scaleY(-1);
    filter:drop-shadow(0 0 12px #ffffff)
}
.results-trait{font-family:var(--font-ui); font-size:60px; letter-spacing:9px; margin-bottom:9px}
.results-color{font-size:26px; letter-spacing:5px; color:var(--dim-text); margin-bottom:24px}
.results-tag{font-size:33px; color:#eeeeee; max-width:960px; margin:0 auto 9px; font-style:italic;}
.results-conf{font-size:24px; color:#8a8a8a; margin-top:21px;}
.results-conf .dialogue-asterisk{color:#8a8a8a;}

.sections{margin-top:39px; border-top:5px solid #333333; padding-top:30px}
.sections h3{
    font-family:var(--font-ui); font-size:32px; letter-spacing:5px;
    color:var(--accent,#ffffff);
    margin-bottom:18px;
    text-transform:uppercase;
    font-weight: 400px;
}
.sections p{margin-bottom:18px; color:#e2e2e2}
.sections p:last-child{margin-bottom:0}

.row{display:grid; grid-template-columns:225px 1fr 81px; align-items:center; gap:15px; margin-bottom:14px}
.row .soul-name{font-size:26px; letter-spacing:2px}
.row .trait-bar{display:block; height:29px; border:5px solid #2e2e2e; padding:3px; background:#000000}
.row .trait-bar-filling{display:block; height:100%; width:0%; transition:width .55s steps(20)}
.row .percentage{font-size:24px; text-align:right; color:#bbbbbb; font-variant-numeric:tabular-nums}
.row .soul-name-abbreviated{display:none}

#resume-note{color:#e4e4e4; font-size:26px; margin-bottom:18px}

.button{
    font-family:var(--font-ui); font-size:29px; letter-spacing:3px;

    background:#000000; color:#ffffff; border:6px solid #ffffff;
    padding:17px 36px; cursor:pointer; display:inline-block; margin:8px;
}
.button:hover, .button:focus-visible{background:#ffffff; color:#000000; outline:none}
.button.small{font-size:24px; padding:14px 24px; border-width:5px}

.button.ghost{border-color:#5e5e5e; color:#9a9a9a;}
.button.ghost:hover{background:#5e5e5e; color:#000000}

#audio-controller{
    position:fixed; top:16px; right:16px; z-index:50;
    text-align:right; font-family:var(--font-ui)
}
#audio-control-body{
    margin-top:8px; background:#000000;
    border:5px solid #ffffff;
    padding:14px 16px
}
#audio-control-body[hidden]{display:none}

#language-controller{
    position:fixed; top:16px; left:16px; z-index:50;
    text-align:left; font-family:var(--font-ui)
}
#language-controller[hidden]{display:none}
#language-control-body{
    margin:8px; background:#000000;
    border:5px solid #ffffff;
    padding:8px
}
#language-control-body[hidden]{display:none}
.language-choice{
    display:block; width:100%; min-width:148px; min-height:46px;
    border:3px solid transparent; padding:8px 12px;
    background:#000000; color:#c9c9c9;
    font-family:var(--font-ui); font-size:19px; letter-spacing:2px;
    text-align:left; cursor:pointer
}
.language-choice + .language-choice{margin-top:4px}
.language-choice:hover,
.language-choice:focus-visible{border-color:#ffffff; color:#ffffff; outline:none}
.language-choice[aria-pressed="true"]{color:#ffff00}
.language-choice[aria-pressed="true"]::before{content:"* "; color:#ffffff}

.volume{display:flex; align-items:center; gap:12px; justify-content:flex-end}
.volume + .volume{margin-top:12px}
.volume span{font-size:19px; letter-spacing:2px; color:#c9c9c9; width:5.2em; text-align:left}
.volume input[type=range]{
    -webkit-appearance:none; appearance:none;
    width:170px; height:20px; padding:0; border:4px solid #ffffff;
    background:#000000;
    cursor:pointer;
}
.volume input[type=range]:focus-visible{outline:3px solid var(--det); outline-offset:3px}
.volume input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none; width:12px; height:12px; background:#ffffff;
    border:0;
    border-radius:0
}
.volume input[type=range]::-moz-range-thumb{
    width:12px; height:12px; background:#ffffff;
    border:0;
    border-radius:0
}
.controls-hint{color:#9a9a9a; font-size:23px; text-shadow:0 3px 5px #000000, 0 0 9px #000000}

#credits{
    position:fixed; left:0; right:0; bottom:14px; z-index:3;
    text-align:center; font-size:21px; letter-spacing:1px;
    color:#b4b4b4;

    opacity:0; transition:opacity 1.2s ease-in;
    pointer-events:none;

    text-shadow:0 3px 4px #000000, 0 0 9px #000000
}
#credits.on{opacity:1}
#credits a{color:#b4b4b4; pointer-events:auto}
#credits a:hover{color:#ffffff}

#bsky-link, #mail-link{text-decoration:none}
#bsky-link svg{width:19px; height:18px; vertical-align:-3px; fill:#b4b4b4}
#bsky-link:hover svg{fill:#0085ff}

#mail-link svg{width:20px; height:15px; vertical-align:-2px; fill:#b4b4b4}
#mail-link:hover svg{fill:#ffffff}

#credits-card, #contact-card{max-width:780px; margin:auto}
#credits-card p, #contact-card p{margin-bottom:18px; color:#e4e4e4; text-align:left}
.footer{
    text-align:center; margin-top:33px; color:#a8a8a8;
    font-size:23px; line-height:1.6; text-shadow:0 3px 5px #000000, 0 0 9px #000000;
}

#share-overlay, #credits-overlay, #contact-overlay{
    position:fixed; inset:0; z-index:60;
    background:rgba(0,0,0,0.9);
    
    display:none; align-items:center; justify-content:center;
    padding:20px;
    overflow:auto
}
#share-overlay.on, #credits-overlay.on, #contact-overlay.on{display:flex}
#share-card{
    background:#000000; border:6px solid #ffffff; padding:18px 18px 14px;
    width:min(92vw, 500px);
    text-align:center;
    margin:auto
}
#share-image-card{width:100%; height:auto; display:block; image-rendering:pixelated}
#share-row{margin-top:14px; display:flex; gap:9px; justify-content:center; flex-wrap:wrap}
#share-note{color:#8a8a8a; font-size:20px; margin-top:9px; min-height:22px}

#room-between{position:fixed; inset:0; z-index:70; background:#000000; display:none}
#room-between.on{display: block;}

#room-between-art{
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    height:min(92vh, 720px); aspect-ratio:252/387
}
#room-between-art svg{width: 100%; height: 100%; display: block;}
#room-between-hitbox{position: absolute;}

#sections-spread{position: relative;}
#room-between-token{
    --egg:7px;

    position: absolute; right: 6%; bottom:calc(100% + 5px);
    width:calc(var(--egg)*6); height:calc(var(--egg)*7);
    pointer-events:none
}
#room-between-token[hidden]{display:none}
#room-between-token svg{width:100%; height:100%; display:block}

#room-between-veil{
    position:fixed; inset:0; z-index:80; background:#000000;
    opacity:0; transition:opacity .9s ease-in;

    pointer-events:none
}
#room-between-veil.on{opacity:1; pointer-events:auto}

#deltarune-text-box{
    --deltabox:min(3.05px, calc((100vw - 44px) / 289));

    position:absolute; left:50%; bottom:17vh; transform:translateX(-50%);
    width:calc(var(--deltabox)*289); height:calc(var(--deltabox)*76);

    background:#000; border:calc(var(--deltabox)*2) solid #fcfefc;
    box-shadow:inset 0 0 0 var(--deltabox) #acaeb4;
    padding:calc(var(--deltabox)*8) calc(var(--deltabox)*16);
    font-size:calc(var(--deltabox)*16);
    display:none;
}
#deltarune-text-box.on{display:block}
#him-dialogue{
    font-family:var(--font-normal); font-size:1em; line-height:1.5;

    color:#ffffff;
    white-space:pre-wrap
}
.corner-flourish{position:absolute; width:calc(var(--deltabox)*14); height:calc(var(--deltabox)*14); pointer-events:none}
.corner-flourish svg{width:100%; height:100%; display:block}

.corner-flourish-tl{left:calc(var(--deltabox)*-6); top:calc(var(--deltabox)*-6)}
.corner-flourish-tr{right:calc(var(--deltabox)*-6); top:calc(var(--deltabox)*-6); transform:scaleX(-1)}
.corner-flourish-bl{left:calc(var(--deltabox)*-6); bottom:calc(var(--deltabox)*-6); transform:scaleY(-1)}
.corner-flourish-br{right:calc(var(--deltabox)*-6); bottom:calc(var(--deltabox)*-6); transform:scale(-1)}

#gaster-blackout{position:fixed; inset:0; z-index:200; background:#000000; display:none}
#gaster-blackout.on{display:block}

#special-box{
    --accent:#c9c9c9;
    border-color:#ffffff
}
#special-trait{color:#ffffff}
#special-color, #special-tag{color:#8a8a8a}
#special-box .row .soul-name{color:#6e6e6e}
#special-box .row .percentage{color:#6e6e6e}
.special-text{display:none}
.special-text.on{display:block}

#error-screen .box{border-color:#ff4040}
#error-screen h2{
    font-family:var(--font-ui); color:#ff4040; font-size:36px;
    letter-spacing:5px; margin-bottom:24px; font-weight:400
}
#error-list{font-size:27px}
#error-list li{margin-bottom:21px; list-style:none; color:#ffd0d0}
#error-list .where{color:#ff8080; display:block; font-size:23px; letter-spacing:2px}
#error-list .line{color:#9a9a9a; display:block; margin-top:6px; white-space:pre-wrap}

@media (min-width:1021px) and (max-height:1100px){
    :root{
        --intro-soul-size:120px; --main-screen-soul-size:100px;
        --gaster-outline:2px; --gaster-neg-outline:-2px
    }
    body{font-size:25px; padding:26px 30px 100px}
    h1{font-size:66px; letter-spacing:14px}
    .subtitle{font-size:21px; letter-spacing:5px}
    .blurb{margin:26px auto}
    .blurb p{margin-bottom:14px}
    details.method{font-size:22px; margin-top:22px}
    .box{padding:28px 28px}
    .button{font-size:26px; padding:14px 30px}
    .button.small{font-size:22px; padding:12px 22px}
    #resume-note{font-size:23px}
    #hud{margin-bottom:16px}
    #questions-text{font-size:32px; min-height:3.1em}
    #dialogue-box{margin-bottom:18px}
    #answers-box{padding:26px 26px 26px 24px}
    .opt{font-size:27px}
    .opt + .opt{margin-top:18px}
    .pt{height:64px}
    .scale-labels{font-size:26px}
    .scale-extremes{font-size:17px}
    #question-footer{margin-top:20px}
    .results-trait{font-size:48px; letter-spacing:7px}
    .results-color{font-size:22px}
    .results-tag{font-size:27px}
    .results-conf{font-size:21px}
    #results-soul{width:150px; height:150px; margin:6px auto 20px}
    #monster-soul{width:150px; height:150px; margin:16px auto 26px}
    .sections{margin-top:30px; padding-top:24px}
    .sections h3{font-size:27px; letter-spacing:4px}
    .row{grid-template-columns:190px 1fr 70px; gap:13px; margin-bottom:12px}
    .row .soul-name{font-size:22px}
    .row .trait-bar{height:25px}
    .row .percentage{font-size:22px}
    .footer{font-size:21px}
    #credits{font-size:18px; bottom:11px}
    #review-list{font-size:23px}
}

@media (min-width:1021px) and (max-height:840px){
    :root{
        --intro-soul-size:100px; --main-screen-soul-size:84px;
        --gaster-outline:2px; --gaster-neg-outline:-2px
    }
    body{font-size:21px; padding:20px 26px 84px}
    h1{font-size:52px; letter-spacing:11px; margin-bottom:11px}
    .subtitle{font-size:18px; letter-spacing:4px; margin-bottom:9px}
    .blurb{margin:20px auto; max-width:820px}
    .blurb p{margin-bottom:11px}
    details.method{font-size:19px; margin-top:17px; max-width:820px}
    details.method p{margin-top:11px}
    .box{padding:22px 24px; border-width:6px}
    .button{font-size:22px; padding:11px 24px; border-width:5px}
    .button.small{font-size:19px; padding:9px 18px; border-width:4px}
    #resume-note{font-size:20px; margin-bottom:13px}
    #hud{margin-bottom:13px; gap:16px}
    #hud .label{font-size:20px}
    #completion-bar-track{height:26px; border-width:4px}
    #questions-text{font-size:27px; min-height:3.1em}
    #dialogue-box{margin-bottom:15px}
    #answers-box{padding:21px 22px 21px 20px}
    .opt{font-size:23px; padding-left:52px}
    .opt + .opt{margin-top:14px}
    .pt{height:54px}
    .scale-labels{font-size:22px; margin-top:13px}
    .scale-extremes{font-size:15px}
    #question-footer{margin-top:16px}
    #soul-selector{width:26px; height:26px}
    .results-trait{font-size:40px; letter-spacing:6px}
    .results-color{font-size:19px; letter-spacing:4px; margin-bottom:18px}
    .results-tag{font-size:23px}
    .results-conf{font-size:19px; margin-top:16px}
    #results-header{padding:8px 0 4px}
    #results-soul{width:118px; height:118px; margin:4px auto 16px}
    #monster-soul{width:118px; height:118px; margin:12px auto 20px}
    .sections{margin-top:24px; padding-top:19px}
    .sections h3{font-size:23px; letter-spacing:3px; margin-bottom:13px}
    .row{grid-template-columns:160px 1fr 62px; gap:11px; margin-bottom:10px}
    .row .soul-name{font-size:19px; letter-spacing:1px}
    .row .trait-bar{height:22px; border-width:4px}
    .row .percentage{font-size:19px}
    .footer{font-size:19px; margin-top:26px}
    #credits{font-size:16px; bottom:9px}
    #review-list{font-size:20px}
}

@media (max-width:1020px){
    :root{
        --gaster-outline:2px; --gaster-neg-outline:-2px;
        --intro-soul-size:108px; --main-screen-soul-size:96px;
        --gaster-font-size:32px
    }
    body{font-size:22px; line-height:1.5; padding:18px 16px 54px}
    .box{padding:20px 17px; border-width:5px}
    h1{font-size:40px; letter-spacing:7px}
    .subtitle{font-size:19px; letter-spacing:4px}
    #goner-intro-text{font-size:32px}
    #quiz-screen.gaster #questions-text{top:16%}
    #quiz-screen.gaster .opt{padding-left:62px}
    #quiz-screen.gaster #soul-selector{width:34px; height:34px}
    #hud .label{font-size:20px}
    #completion-bar-track{height:24px; border-width:4px; padding:4px}
    #questions-text{font-size:25px; min-height:5em}
    .opt{font-size:24px; padding-left:50px; line-height:1.4}
    .opt + .opt{margin-top:16px}
    #answers-box{padding:24px 24px 24px 22px}
    #soul-selector{left:10px; width:26px; height:26px}
    .blurb{margin:24px auto}
    .blurb p{margin-bottom:14px}
    details.method{font-size:20px; margin-top:20px}
    .button{font-size:23px; padding:13px 26px; border-width:5px; letter-spacing:2px}
    .button.small{font-size:20px; padding:11px 18px; border-width:4px}
    #resume-note{font-size:21px}
    .results-trait{font-size:32px; letter-spacing:4px}
    .results-color{font-size:19px; letter-spacing:3px}
    .results-tag{font-size:24px}
    .results-conf{font-size:19px}
    #monster-soul{width:120px; height:120px}
    #results-soul{width:120px; height:120px;}
    .sections{margin-top:28px; padding-top:22px}
    .sections h3{font-size:25px; letter-spacing:3px}
    .row{grid-template-columns:64px 1fr 56px; gap:10px; margin-bottom:11px}
    .row .soul-name{font-size:20px; letter-spacing:1px}
    .row .soul-name-full{display:none}
    .row .soul-name-abbreviated{display:inline}
    .row .trait-bar{height:24px; border-width:4px}
    .row .percentage{font-size:19px}
    .footer{font-size:19px; margin-top:26px}
    .scale-extremes{font-size:14px; letter-spacing:0}
    .scale-labels{font-size:21px}
    #credits{font-size:14px; bottom:9px; letter-spacing:0}
    .pt{height:56px}
    #options.scale{padding:0}
    #review-list{font-size:20px}
    #room-between-token{--egg:5px; right:7%}
}

@media (max-width:430px){
    :root{--gaster-outline:1px; --gaster-neg-outline:-1px;
        --intro-soul-size:96px; --main-screen-soul-size:84px;
        --gaster-font-size:27px
    }
    #goner-intro-text{font-size:27px}
    #quiz-screen.gaster .opt{padding-left:58px}
    #quiz-screen.gaster #soul-selector{width:30px; height:30px}
    h1{font-size:33px; letter-spacing:5px}
    .results-trait{font-size:27px; letter-spacing:3px}
}

@media (max-width:360px){
    :root{--intro-soul-size:84px; --main-screen-soul-size:72px; --gaster-font-size:22px}
    #goner-intro-text{font-size:24px; line-height:1.45}
    #quiz-screen.gaster #questions-text{line-height:1.45}
    #quiz-screen.gaster .opt{padding-left:52px}
    #quiz-screen.gaster #soul-selector{width:28px; height:28px}
    #quiz-screen.gaster #options{top:56%}
    .row{grid-template-columns:58px 1fr 50px; gap:8px}
}

@media (max-height:520px) and (orientation:landscape){
    :root{
        --gaster-outline:1px; --gaster-neg-outline:-1px; --gaster-font-size:25px;
        --intro-soul-size:84px; --main-screen-soul-size:72px
    }
    #goner-intro-text{font-size:26px; min-height:0}
    #quiz-screen.gaster .opt{padding-left:52px; padding-top:8px; padding-bottom:8px}
    #quiz-screen.gaster #soul-selector{width:28px; height:28px}
    #quiz-screen.gaster #question-footer{bottom:16px}
    #goner-footer{bottom:16px}
}

@media (max-width:1020px), (hover:none){
    .controls-hint{display:none}
    .tiny{display:none}
    #goner-footer{justify-content:center}
    #question-footer{justify-content:space-between}
    #back-button{order:0}
    #next-button{display:inline-block}
    #quiz-screen.gaster #question-footer{justify-content:space-between; padding:0 16px}
    #audio-controller{top:10px; right:10px}
    #language-controller{top:10px; left:10px}
    #quiz-screen.on{padding-top:66px}
    #audio-control-body{padding:11px 12px; border-width:4px}
    #language-control-body{border-width:4px}
    .language-choice{min-width:132px; min-height:44px; font-size:16px}
    .volume span{font-size:16px; width:5em}
    .volume input[type=range]{width:130px; height:18px; border-width:3px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important}}
